diff --git a/.dependency-cruiser.js b/.dependency-cruiser.js deleted file mode 100644 index eca47d5a..00000000 --- a/.dependency-cruiser.js +++ /dev/null @@ -1,331 +0,0 @@ -module.exports = { - 'extends': 'dependency-cruiser/configs/recommended-strict', - /* - the 'dependency-cruiser/configs/recommended-strict' preset - contains these rules: - no-circular - flags all circular dependencies - no-orphans - flags orphan modules (except typescript .d.ts files) - no-deprecated-core - flags dependencies on deprecated node 'core' modules - no-deprecated-npm - flags dependencies on deprecated npm modules - no-non-package-json - flags (npm) dependencies that don't occur in package.json - not-to-unresolvable - flags dependencies that can't be resolved` - no-duplicate-dep-types - flags dependencies that occur more than once in package.json - - If you need to, you can override these rules. E.g. to ignore the - no-duplicate-dep-types rule, you can set its severity to "ignore" by - adding this to the 'forbidden' section: - { - name: 'no-duplicate-dep-types', - severity: 'ignore' - } - - Also, by default, the preset does not follow any external modules (things in - node_modules or in yarn's plug'n'play magic). If you want to have that - differently, just override it the options.doNotFollow key. - */ - forbidden: [ - { - // https://github.com/sverweij/dependency-cruiser/issues/305 - name: "no-circular", - comment: - "This dependency is part of a circular relationship. You might want to revise " + - "your solution (i.e. use dependency inversion, make sure the modules have a " + - "single responsibility) ", - severity: "error", - from: {}, - to: { - circular: true - }, - }, - { - name: 'not-to-test', - comment: - "This module depends on code within a folder that should only contain tests. As tests don't " + - "implement functionality this is odd. Either you're writing a test outside the test folder " + - "or there's something in the test folder that isn't a test.", - severity: 'error', - from: { - pathNot: '^(tests)' - }, - to: { - path: '^(tests)' - } - }, - { - name: 'not-to-scripts', - comment: - "Script files should only be references by other script files.", - severity: 'error', - from: { - pathNot: '^(scripts)' - }, - to: { - path: '^(scripts)' - } - }, - { - name: 'not-to-iter-files', - comment: - "(FA) iterator function should only be accessed via the `src/iter/index.ts` file.", - severity: 'error', - from: { - path: '^(src/(?!iter/))' - }, - to: { - path: '^(src/iter/(?!index))' - } - }, - { - name: 'base-to-JS', - comment: - "Files from the base library should not reference the JS-specific part.", - severity: 'error', - from: { - path: '^(src/(?!js/|index))' - }, - to: { - path: '^(src/js/)' - } - }, - { - name: 'not-to-spec', - comment: - 'This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. ' + - "If there's something in a spec that's of use to other modules, it doesn't have that single " + - 'responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.', - severity: 'error', - from: {}, - to: { - path: '\\.spec\\.(js|ts|ls|coffee|litcoffee|coffee\\.md)$' - } - }, - { - name: 'not-to-dev-dep', - severity: 'error', - comment: - "This module depends on an npm package from the 'devDependencies' section of your " + - 'package.json. It looks like something that ships to production, though. To prevent problems ' + - "with npm packages that aren't there on production declare it (only!) in the 'dependencies'" + - 'section of your package.json. If this module is development only - add it to the ' + - 'from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration', - from: { - path: '^(src)', - pathNot: '\\.spec\\.(js|ts|ls|coffee|litcoffee|coffee\\.md)$' - }, - to: { - dependencyTypes: [ - 'npm-dev' - ] - } - }, - { - name: 'optional-deps-used', - severity: 'info', - comment: - "This module depends on an npm package that is declared as an optional dependency " + - "in your package.json. As this makes sense in limited situations only, it's flagged here. " + - "If you're using an optional dependency here by design - add an exception to your" + - "depdency-cruiser configuration.", - from: {}, - to: { - dependencyTypes: [ - 'npm-optional' - ] - } - }, - { - name: 'peer-deps-used', - comment: - "This module depends on an npm package that is declared as a peer dependency " + - "in your package.json. This makes sense if your package is e.g. a plugin, but in " + - "other cases - maybe not so much. If the use of a peer dependency is intentional " + - "add an exception to your dependency-cruiser configuration.", - severity: 'warn', - from: {}, - to: { - dependencyTypes: [ - 'npm-peer' - ] - } - }, - { - name: 'no-duplicate-dep-types', - severity: 'ignore' - } - ], - options: { - - /* conditions specifying which files not to follow further when encountered: - - path: a regular expression to match - - dependencyTypes: see https://github.com/sverweij/dependency-cruiser/blob/master/doc/rules-reference.md#dependencytypes - for a complete list - */ - doNotFollow: { - path: 'node_modules', - dependencyTypes: [ - 'npm', - 'npm-dev', - 'npm-optional', - 'npm-peer', - 'npm-bundled', - 'npm-no-pkg' - ] - }, - - /* conditions specifying which dependencies to exclude - - path: a regular expression to match - - dynamic: a boolean indicating whether to ignore dynamic (true) or static (false) dependencies. - leave out if you want to exclude neither (recommended!) - */ - // exclude : { - // path: '', - // dynamic: true - // }, - - /* pattern specifying which files to include (regular expression) - dependency-cruiser will skip everything not matching this pattern - */ - // includeOnly : '', - - /* dependency-cruiser will include modules matching against the focus - regular expression in its output, as well as their neighbours (direct - dependencies and dependents) - */ - // focus : '', - - /* list of module systems to cruise */ - // moduleSystems: ['amd', 'cjs', 'es6', 'tsd'], - - /* prefix for links in html and svg output (e.g. https://github.com/you/yourrepo/blob/develop/) */ - // prefix: '', - - /* false (the default): ignore dependencies that only exist before typescript-to-javascript compilation - true: also detect dependencies that only exist before typescript-to-javascript compilation - "specify": for each dependency identify whether it only exists before compilation or also after - */ - tsPreCompilationDeps: "specify", - - /* if true combines the package.jsons found from the module up to the base - folder the cruise is initiated from. Useful for how (some) mono-repos - manage dependencies & dependency definitions. - */ - // combinedDependencies: false, - - /* if true leave symlinks untouched, otherwise use the realpath */ - // preserveSymlinks: false, - - /* TypeScript project file ('tsconfig.json') to use for - (1) compilation and - (2) resolution (e.g. with the paths property) - - The (optional) fileName attribute specifies which file to take (relative to - dependency-cruiser's current working directory). When not provided - defaults to './tsconfig.json'. - */ - tsConfig: { - fileName: './tsconfig.json' - }, - - /* Webpack configuration to use to get resolve options from. - - The (optional) fileName attribute specifies which file to take (relative - to dependency-cruiser's current working directory. When not provided defaults - to './webpack.conf.js'. - - The (optional) `env` and `args` attributes contain the parameters to be passed if - your webpack config is a function and takes them (see webpack documentation - for details) - */ - // webpackConfig: { - // fileName: './webpack.config.js', - // env: {}, - // args: {}, - // }, - - /* How to resolve external modules - use "yarn-pnp" if you're using yarn's Plug'n'Play. - otherwise leave it out (or set to the default, which is 'node_modules') - */ - // externalModuleResolutionStrategy: 'node_modules', - /* List of strings you have in use in addition to cjs/ es6 requires - & imports to declare module dependencies. Use this e.g. if you've - redeclared require, use a require-wrapper or use window.require as - a hack. - */ - // exoticRequireStrings: [], - reporterOptions: { - dot: { - /* pattern of modules that can be consolidated in the detailed - graphical dependency graph. The default pattern in this configuration - collapses everything in node_modules to one folder deep so you see - the external modules, but not the innards your app depends upon. - */ - collapsePattern: 'node_modules/[^/]+', - - /* Options to tweak the appearance of your graph.See - https://github.com/sverweij/dependency-cruiser/blob/master/doc/rules-reference.md#dot - for details and some examples. If you don't specify a theme - don't worry - dependency-cruiser will fall back to the default one. - */ - // theme: { - // graph: { - // /* use splines: 'ortho' for straight lines. Be aware though - // graphviz might take a long time calculating ortho(gonal) - // routings. - // */ - // splines: "true" - // }, - // modules: [ - // { - // criteria: { source: "^src/model" }, - // attributes: { fillcolor: "#ccccff" } - // }, - // { - // criteria: { source: "^src/view" }, - // attributes: { fillcolor: "#ccffcc" } - // } - // ], - // dependencies: [ - // { - // criteria: { "rules[0].severity": "error" }, - // attributes: { fontcolor: "red", color: "red" } - // }, - // { - // criteria: { "rules[0].severity": "warn" }, - // attributes: { fontcolor: "orange", color: "orange" } - // }, - // { - // criteria: { "rules[0].severity": "info" }, - // attributes: { fontcolor: "blue", color: "blue" } - // }, - // { - // criteria: { resolved: "^src/model" }, - // attributes: { color: "#0000ff77" } - // }, - // { - // criteria: { resolved: "^src/view" }, - // attributes: { color: "#00770077" } - // } - // ] - // } - }, - archi: { - /* pattern of modules that can be consolidated in the high level - graphical dependency graph. If you use the high level graphical - dependency graph reporter (`archi`) you probably want to tweak - this collapsePattern to your situation. - */ - collapsePattern: '^(node_modules|packages|src|lib|app|bin|test(s?)|spec(s?))/[^/]+', - - /* Options to tweak the appearance of your graph.See - https://github.com/sverweij/dependency-cruiser/blob/master/doc/rules-reference.md#dot - for details and some examples. If you don't specify a theme - for 'archi' dependency-cruiser will use the one specified in the - dot section (see above), if any, and otherwise use the default one. - */ - // theme: { - // }, - } - } - } -}; -// generated: dependency-cruiser@9.3.0 on 2020-05-23T16:06:52.145Z diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 3921223f..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,123 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - env: { - browser: true, - es6: true - }, - root: true, - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:prettier/recommended" - ], - parser: "@typescript-eslint/parser", - plugins: [ - "@typescript-eslint", - "prettier", - "jsdoc" - ], - parserOptions: { - ecmaVersion: 2018, - sourceType: "module", - ecmaFeatures: { - node: true, - spread: true - }, - project: "./tsconfig.json" - }, - rules: { - "@typescript-eslint/naming-convention": [ - "error", - { - selector: "default", - format: ["camelCase"] - }, - { - selector: ["class", "interface", "typeAlias", "enum", "typeParameter"], - format: ["PascalCase"] - }, - { - selector: "enumMember", - format: ["UPPER_CASE"] - }, - { - selector: "variable", - modifiers: ["const"], - format: ["UPPER_CASE", "camelCase"] - }, - { - selector: ["classProperty", "classMethod"], - modifiers: ["private"], - format: ["camelCase"], - leadingUnderscore: "require" - }, - { - selector: ["variable", "parameter"], - modifiers: ["unused"], - format: null, - leadingUnderscore: "allow" - }, - { - selector: "typeProperty", - format: ["camelCase"], - leadingUnderscore: "allowDouble" - } - ], - - "curly": "error", - - "no-constant-condition": ["error", { checkLoops: false }], - "sort-imports": ["error", { ignoreDeclarationSort: true }], - "@typescript-eslint/no-inferrable-types": ["error", { ignoreParameters: true, ignoreProperties: true }], - "@typescript-eslint/explicit-function-return-type": ["error", { allowExpressions: true }], - "@typescript-eslint/no-unnecessary-condition": "warn", - "@typescript-eslint/strict-boolean-expressions": ["warn", { allowNullableBoolean: true }], - - "jsdoc/no-types": "error", - "jsdoc/no-bad-blocks": "error", - "jsdoc/multiline-blocks": "error", - "jsdoc/empty-tags": "error", - "jsdoc/check-param-names": ["error", { enableFixer: true }], - "jsdoc/require-param": "error", - "jsdoc/tag-lines": ["warn", "any", { startLines: 1 }], - - "no-empty-character-class": "off", - "@typescript-eslint/explicit-member-accessibility": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/indent": "off", - }, - settings: { - jsdoc: { - mode: "typescript" - } - }, - overrides: [ - { - files: ["scripts/**"], - env: { - browser: false, - node: true, - es6: true - }, - parserOptions: { - project: "./scripts/tsconfig.json" - }, - rules: { - "@typescript-eslint/no-var-requires": "off" - } - }, - { - files: ["tests/**"], - parserOptions: { - project: "./tests/tsconfig.json" - } - } - ], - ignorePatterns: [ - "*.js", - "index.d.ts", - "src/js/unicode/**" - ] -} diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml deleted file mode 100644 index df29faff..00000000 --- a/.github/workflows/deploy-docs.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Deploy docs - -on: - push: - branches: - - master - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2.3.1 - with: - fetch-depth: 0 - - - name: Install and Build - run: | - npm ci - npm run build - npm run build:docs - - - name: Deploy dev - uses: JamesIves/github-pages-deploy-action@4.0.0 - with: - branch: gh-pages # The branch the action should deploy to. - folder: docs # The folder the action should deploy. - target-folder: docs/dev # the folder in gh-pages that will be created/cleaned - clean: true # Automatically remove deleted files from the deploy branch - - - name: Find current tag - run: echo "tag=$(git tag --points-at HEAD)" >> $GITHUB_ENV - - - name: Deploy tag - if: ${{ startsWith(env.tag, 'v') }} - uses: JamesIves/github-pages-deploy-action@4.0.0 - with: - branch: gh-pages # The branch the action should deploy to. - folder: docs # The folder the action should deploy. - target-folder: docs/${{ env.tag }} # the folder in gh-pages that will be created/cleaned - clean: true # Automatically remove deleted files from the deploy branch - - - name: Deploy latest - if: ${{ startsWith(env.tag, 'v') }} - uses: JamesIves/github-pages-deploy-action@4.0.0 - with: - branch: gh-pages # The branch the action should deploy to. - folder: docs # The folder the action should deploy. - target-folder: docs/latest # the folder in gh-pages that will be created/cleaned - clean: true # Automatically remove deleted files from the deploy branch diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml deleted file mode 100644 index 40d4e848..00000000 --- a/.github/workflows/nodejs.yml +++ /dev/null @@ -1,59 +0,0 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - -name: Node.js CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [12.x, 14.x, 16.x, 18.x, 20.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm ci - - run: npm run build - env: - CI: true - - run: npx tsc index.d.ts --noEmit - env: - CI: true - - test: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [12.x, 14.x, 16.x, 18.x, 20.x] - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: npm ci - - run: npm run test:all - env: - CI: true - - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 16.x - uses: actions/setup-node@v1 - with: - node-version: 16.x - - run: npm ci - - run: npm run check - env: - CI: true diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 8e2d5908..00000000 --- a/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules/ -.out/ -.vscode/ -*.log -/**/tempCodeRunnerFile.* -.nyc_output/ -coverage/ -docs/ -/index.js -/index.mjs -/index.d.ts diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 57261671..00000000 --- a/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "printWidth": 120, - "tabWidth": 4, - "useTabs": true, - "arrowParens": "avoid", - "quoteProps": "consistent", - "semi": true -} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index f5518c95..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,448 +0,0 @@ -# Changelog - -## 0.12.1 (2023-09-13) - -### Added - -- Generally added some documentation. -- Added `CharMap#{size,entryCount}` to get the size of a map. -- Added `CharMap#copy` to create a (mapped) copy of a map. -- Added `StringSet#{is{Proper,}{Subset,Superset}Of,isDisjointWith}` for set relations. -- Added `UnicodeSet#{is{Proper,}{Subset,Superset}Of,isDisjointWith}` for set relations. -- Added `UnicodeSet#{wordSets,maximum}` for a more ergonomic API. -- `UnicodeSet#{equals,union,intersect,without}` allow `CharSet`s. - -### Fixed - -- Made `StringSet#words` private. This should have never been public in the first place. -- Made `StringSet.empty` readonly. -- Removed ignored `range` parameter from `CharMap#entries`. -- Fixed some bugs in `StringSet#{equals,union}`. -- Removed `StringSet#{filter,map}`. These methods should have never been public in the first place. - -## 0.12.0 (2023-09-04) - -### Breaking changes - -- Added support for the `v` flag. - - This significantly changes the interfaces and types around the parser. - - There are now 2 never classes `JS.UnicodeSet` and `JS.StringSet` to represent a Unicode set with strings. - - Much more. -- `combineTransformers` has been deprecated. Use `CombinedTransformer` instead. - -### Added - -- `JS.parseCharSet` and `JS.parseUnicodeSet` have been added to easily parse a character AST into a `CharSet` or `UnicodeSet`. -- `JS.toLiteral` now supports the `v` flag. -- Added `CharSet#fromCharacter` to easily create a character set from a single character. -- Allow string argument for `JS.Parser.fromLiteral`. -- Added `CombinedTransformer` class to combine multiple transformers into one. -- Added transform events which allows the caller to observe the transformation. -- Added `Transformers.makeGreedy` to make quantifiers greedy whenever possible. -- Added `Transformers.simplify` as a stable way to get the best combination of transformers to simplify a regex. - -### Changed - -- Transformers can now have an optional name. -- Major internal improvements to some transformers, especially `applyAssertions`. - -### Fixed - -- `isEmpty` has been fixed. `Transformers.moveUpEmpty` should now work correctly. -- Transformers are now guaranteed to be called with the correct `this` argument. - -## 0.11.0 (2023-03-29) - -### Breaking changes - -- Upgraded to `@eslint-community/regexpp` v4.5.0 and drop `regexpp`. -- Drop support for NodeJS 10. -- Changed default character-set-to-string function of `{DFA,ENFA,NFA}#toDot` to `CharSet#toUnicodeString`. -- Changed character-set-to-string function of `{DFA,ENFA,NFA}#toString` to `CharSet#toUnicodeString`. -- Renamed `ToDotInfo` to `NodeInfo`. -- Removed `createSimpleToDotOptions`. - -### Added - -- Added `toMermaid` as part of the `FAIterators` namespace and `FiniteAutomaton` interface. -- Added a unified interface for the namespaced `toDot` and `toMermaid` functions. -- Many DFA, ENFA, and NFA operations now take optional node factory arguments to control the number of nodes created. All operations that create nodes no take factory arguments. -- `{DFA,ENFA,NFA}.emptyWord` will create a new FA that makes exactly the empty word. -- Added `withInitial`, `withGetOut`, and `withIsFinal` to more easily derive new FA iterators. -- Added `assertions: "ignore"` to JS parser, `ENFA.fromRegex`, and `NFA.fromRegex`. This is mostly for convenience and performance. The same behavior could previously be achieved using transformers. -- Added `CharSet#toUnicodeString` to provide an easy way to convert a character set into a human-readable string. -- Added `CharSet#isProper{Subset,Superset}Of`. -- `CharSet#equals` now supports `CharRange`s. - -### Fixed - -- Fixed `ENFA#isEmpty` for non-normalized graphs. - -### Changed - -- `{DFA,NFA}.fromCharSet` and `{ENFA,NFA}.all` now use constructions with fewer states. -- `approximateRejectingWordSet` will now return `undefined` instead of throwing an error if the input character set is empty. -- Changed behavior of `ENFA#countNodes` to be consistent with NFA and DFA. -- Upgraded from Unicode 13.0.0 to Unicode 15.0.0. -- Generally added and improved documentation. - - -## 0.10.0 (2021-10-18) - -### Breaking changes - -- `CharSet`: The `intersect` and `without` methods now only take `CharSet`s and `CharRange`s as arguments. -- `{DFA,ENFA,NFA}#{isDisjointWith,getIntersectionWords,getIntersectionWordSets}` were removed. -- Removed `NodeList` API for all FA implements. This is a very significant change as to how FAs are implemented but doesn't affect the main FA APIs too much. This change gives users a lot more control over FA implements. -- Removed `{DFA,ENFA,NFA}.CreationOptions` interfaces. Use the new `NodeFactory` API instead. -- Removed `{DFA,ENFA,NFA}#options`. Just pass the FA as is instead. -- Removed `FACreationOptions` interface. -- `getIntersection{Iterator,Words,WordSets}`, `isDisjointWith`: Replaced optional `FACreationOptions` parameter with optional `maxNodes` parameter. -- DFA nodes can now only be linked using `CharSet`s. Linking with `Char`s and `CharRange`s is no longer supported. -- Removed `ENFA`'s `unorderedResolveEpsilon`. Use `resolveEpsilon` instead. -- `FAIterator.MapFABuilder`: Removed optional `kind` argument. - -### Added - -- `NodeFactory` interface. This new interface is the basis of all `FABuilder`s and FA implemented. -- `{DFA,ENFA,NFA}.nodeFactory`: This is an unlimited node factory. -- `{DFA,ENFA,NFA}.LimitedNodeFactory`: This node factory can be used to limit the number of nodes an FA operation is allowed to create. -- `CharSet#resize` -- `CharSet.fromRange` -- `FAIterator.fromWords` will create a new iterator from a list of words. -- `FAIterator.fromWordSets` will create a new iterator from a list of word sets. -- `{DFA,ENFA,NFA}.fromCharSet` will create new FAs from a given `CharSet`. -- `{DFA,ENFA,NFA}.fromWordSets` will create new FAs from a list of word sets. -- `{DFA,ENFA,NFA}#countNodes` will return the number of nodes in the FA. -- `{DFA,ENFA,NFA}#nodes` will iterate through all nodes in the FA. -- `ENFA.withoutEmptyWord` -- `ENFA#{append,prepend,union}Into` will move the nodes of the given ENFA instead of copying them. This can be used to improve performance. - -### Changed - -- `JS.toLiteral`: Setting `unicode: false` in the `flags` option will now always succeed. - -### Improved - -- `CharMap` is now implemented using a sorted array instead of an AVL tree. This is significantly faster. Most DFA operation are now 10% faster. -- `FAIterators.iterateWordSets` will now use the natural iteration order of the given FAIterator for words of the same length. This makes `ENFA#wordSets` a lot more logical. -- `ENFA`'s `resolveEpsilon` is now implemented non-recursively. -- The docs now have a dark mode thanks to TypeDoc v0.22.0. - - -## 0.9.1 (2021-07-26) - -### Fixed - -- Fixed that some ENFA operations created unnecessary states. -- Fixed internal functions used to traverse graphs. This fixes the bug that some `FAIterators` functions had trouble with falsy state values. - -### Improved - -- `JS.toLiteral`: The heuristic used to decide flags has been improved to prevent unnecessary `i` flags. - - -## 0.9.0 (2021-07-15) - -### Breaking changes - -- `FAIterators.intersection` no longer accepts options. -- Removed the `IntersectionOptions` interface. Use the new `FACreationOptions` interface or any of the FA-specific interfaces instead. -- Removed custom equality functions for `CharMap`. -- The constructor of `FAIterators.MapFABuilder` changed slightly. It now accepts arguments as parameters instead of as an object. -- Some renaming: - - `FAIterator#deterministicOut` -> `FAIterator#stableOut` - - `FAIterators.ensureDeterministicOut` -> `FAIterators.ensureStableOut` - - `CharMap#{delete,set}Every` -> `CharMap#{delete,set}Range` - -### Added - -- Added support for the new JS RegExp [`hasIndices` flag](https://github.com/tc39/proposal-regexp-match-indices). -- New `WordSet` and `ReadonlyWordSet` types. -- New `CharBase` class. This provides methods to remap alphabets. -- Added `CharMap#clear`. -- Added `CharMap#filter`. -- Added `CharMap#invert` to convert `CharMap`s to `Map`s. -- Added `CharMap#setCharSet` to more efficiently set many ranges. -- Added `CharSet#characters` to iterate over all characters in a set. -- Added `CharSet#toRangesString` to print only the ranges of a set. -- Added `CharSet.fromCharacters` to create a set from a collection of characters. -- `FAIterators.shortestAcceptingPath` returns the shortest accepting path of arbitrary iterators. -- `FAIterators.shortestWordSet` returns the shortest accepted word set of an iterator. -- `FAIterators.makeInitialFinal` and `FAIterators.makeInitialNonFinal` changes whether the initial state is also a final state. -- `FAIterators.approximateRejectingWordSet` tries to find a rejected word set. -- `FAIterators.makeDeterministic` builds a deterministic version of an iterator. This is a general DFA construction. -- `Words.wordSetsToWords` converts a collections of word sets into a collection of words. - -### Changed - -- refa is now allowed to assume all given `Char`s and `CharRange`s conform to the guarantees given by the interface. This includes guarantees that cannot be verified at compile time (e.g. `min <= max` for `CharRange`). -- `Words.pickMostReadableWord` will now always return a word. -- `{DFA,ENFA,NFA}#{isDisjointWith,getIntersectionWords,getIntersectionWordSets}` are now deprecated and will be removed in future releases. -- `Words.wordSetToWords` is now deprecated. Use `Words.wordSetsToWords` instead (mind the s). - -### Fixed - -- `ReadonlyCharMap#isEmpty` is now a readonly property. -- Fixed `JS.Parser` incorrectly caching parsed characters. -- Fixed `JS.Parser` incorrectly canonicalizing Unicode property escapes. -- Fixed `DFA.NodeList#removeUnreachable` removing reachable states sometimes. - -### Improved - -- Many, many minor improvements (code quality, documentation, etc.). -- 10x faster `wordSetToWords`. All methods iterating words will now be faster. -- Pretty much all DFA operations will be faster. DFA minimization is up to 20x faster. -- Faster NFA creation. - - -## 0.8.0 (2021-04-29) - -### Breaking changes - -- New RE AST node: `Unknown`. This node is used to represent parts of a regex that cannot be represented using RE AST. -- Removed `JS.ParseOptions.disableOptimizations`. Use `JS.ParseOptions.simplify` instead. -- Removed `TransitionIterableFA` interface. -- `TransitionIterable` is now generic over the state type. -- Renamed `{DFA,NFA}.intersectionWordSets` to `getIntersectionWordSets`. -- Renamed `{DFA,NFA}.intersectionWords` to `getIntersectionWords`. - -### Added - -- ENFA - a non-deterministic finite automaton with epsilon transitions. -- FAIterators - a new namespace containing methods can consume and produce FA iterators. -- New `toDot` method for finite automata. This will make it easier to visualize the state machines. -- New `isDisjointWith`, `getIntersectionWordSets`, and `getIntersectionWords` functions. These free functions can be used with any FA types. -- New `JS.ParseOptions.simplify` option. -- New `FAIterator.deterministicOut` property. -- New `TransitionIterator`. (This only gives an already commonly used type a name.) -- New `MaxCharacterError` for incompatible finite automata. -- New `FABuilder` interface to allow algorithms to construct FA without knowing the actual FA implementation. -- `{DFA,ENFA,NFA}.NodeList`: Added static `withLimit` method to be able to limit the number of nodes a `NodeList` is allowed to create. - -### Changed - -- `JS.Parser.parseElement` now accepts more parsable elements. -- `JS.toLiteral` now accepts any RE AST node. -- `NFA.fromRegex` now accepts any RE AST node. -- `{DFA,ENFA,NFA}.NodeList` now implement the `FABuilder` interface. -- Many, many internal changes that do not affect the API. - -### Fixed - -- `DFA.fromIntersection` now correctly computes the intersection for non-DFA arguments. -- `getBaseSets` (a util function) now guarantees _O(n*log n)_ run time. I accidentally implemented this in _O(n^2)_ before which caused some DFA operations to be extremely slow. -- `iterateWordSets` (a util function) now correctly eliminates dead states. This fixes the bug that some FA with infinite languages only yielded finitely many words when iterating over them. - - -## 0.7.1 (2021-03-09) - -### Fixed - -- Backreferences in ignore-case JS RegExps are now correctly resolved ([#25](https://github.com/RunDevelopment/refa/issues/25)). - - -## 0.7.0 (2021-02-25) - -### Breaking changes - -- `FiniteAutomaton.test` now requires a `ReadonlyArray` instead of an `Iterable`. -- `Words.wordSetToWords` now returns an `Iterable` instead of an `IterableIterator`. -- Removed `toPatternString` function. -- Removed `NFA.FromRegexOptions.disableLookarounds`. Use `NFA.FromRegexOptions.assertions` instead. -- AST format: Quantifier nodes now have a lazy property to enable non-greedy quantifiers. -- `JS.Parser` no longer implements `JS.Literal`. Use the `JS.Parser.literal` property instead. -- `JS.Parser` now resolves backreferences differently. It now supports resolving capturing groups with finite small languages. How small the language is required to be can be controlled via the new `JS.ParseOptions.maxBackreferenceWords` option (defaults to 100 words). `JS.ParseOptions.backreferences` also works differently now. See the `JS.ParseOptions` documentation for more details. -- Some renaming: - - `JS.ParseOptions.lookarounds` -> `JS.ParseOptions.assertions` - - `ToRegexOptions.maximumNodes` -> `ToRegexOptions.maxNodes` - - `ToRegexOptions.maximumOptimizationPasses` -> `ToRegexOptions.maxOptimizationPasses` - -### Fixed - -- `Words.fromStringToUTF16` now works properly. -- `JS.toLiteral` will now properly detect predefined character sets in character classes. This didn't work properly before. - -### Added - -- Documentation. A lot of code documentation and a TypeDoc-generated website have been added. -- New `Char`, `Word`, and `ReadonlyWord` types replace the old plain number and iterable types. -- AST transformers. They can efficiently modify a given AST and are used to e.g. apply assertions. -- `JS.ParseOptions` now has a `maxNodes` option to limit the size of the parsed AST. -- `JS.Parser` now has a `maxCharacter` property. - -### Changed - -- `NFA.test` now implements [Thompson's algorithm](https://swtch.com/~rsc/regexp/regexp1.html) which guarantees efficient execution. -- The `toRegex` methods of the DFA and NFA classes now use AST transformers under the hood to produce smaller ASTs. -- The default value of `ToRegexOptions.maxOptimizationPasses` is now implementation-defined. - - -## 0.6.0 (2020-12-22) - -### Breaking changes - -- `DFA#clone` has been renamed to `DFA#copy` to be compatible with `NFA#copy`. -- The `source` property of RE AST nodes is now optional. This results in the removal/change of several types and functions. The `Simple` type has been removed; use `NoParent` instead. - -### Added - -- `JS.toLiteral` now has a `flags` options to force/disallow certain flags and a `fastCharacters` options for up to 10x better performance. -- `JS.toLiteral` now detects builtin assertions. - -### Changed - -- All DFA and NFA creation methods now have safe defaults and will throw if the FA that is being created is too large. The limit can be controlled using the `maxNodes` option. - - -## 0.5.0 (2020-10-26) - -### Breaking changes - -- Remove `NFA.fromDFA` and `DFA.fromNFA`. Use `{DFA,NFA}.fromFA` instead. -- Renamed `NFA#removeEmptyWord` to `NFA#withoutEmptyWord`. -- All `NFA`/`DFA`-specific interfaces/classes now live in the `NFA`/`DFA` namespace. - -### Added - -- New `FAIterator` interface. -- New options for `#toRegex` functions. -- `NFA#reverse` will reverse the accepted language. -- `CharSet#commonCharacter` can used to return any character two sets have in common. -- New `Words` methods to pick as-readable-as-possible words or characters from a set of words or characters. - -### Changed - -- Unified `DFA`/`NFA` API. This gives `DFA` a lot of functionality that used to be `NFA`-exclusive. -- `JS.toLiteral` will now print smaller character classes. -- New build system. - -### Fixed - -- A few minor bug fixes. - - -## 0.4.1 (2020-08-29) - -### Changed - -- NFA intersection performance optimizations by using lazy data structures. `NFA#disjointWith` is now a lot faster. - -### Fixed - -- Fixed NFA intersection always discarding the empty word. The intersection can now contain the empty word. - - -## 0.4.0 (2020-08-23) - -### Breaking changes - -- Removed `JS.toSource`. Use `JS.toLiteral` instead. - -### Added - -- `NFA#suffixes()` will change the NFA to accepts all suffixes of its language. -- New options for intersection operations. -- Added a method to count the number of nodes in DFA and NFA. -- `DFA#complement()` will make the DFA match the opposite language. -- New options for the DFA creation operation. -- New `ReadonlyDFA` interface. -- New `ReadonlyCharMap` interface. -- `CharSet#compare(CharSet)` will compare two character sets. This can be used to sort character sets. -- Added regex stress test. This will check common operations on all 2.5K regexes of the PrismJS syntax highlighter. - -### Changed - -- The RE produced by the `toRegex` functions is now optimized to be as minimal as possible. -- `JS.toLiteral` will now make efficient use of flags to produce smaller literals. - -### Fixed - -- Fixed and improved `DFA.minimize()`. -- Fixed `CharMap`'s AVL tree implementation. -- Underlying implementation of the `toRegex` functions will now the correct AST and that much faster. -- Fixed `filterMut` in util. -- `toPatternString` now correctly handles quantified empty concatenations. - - -## 0.3.1 (2020-08-09) - -### Fixed - -- The prefix and suffix optimization removed final states from the graph but not from the set of final states. -- The intersection algorithm can now handle final states not reachable from the initial states of either NFAs. - - -## 0.3.0 (2020-07-11) - -### Breaking changes - -- New `JS.Parser` API. -- Removed `MutSimple` interface. - -### Added - -- `CharSet#size` returns the number of characters in the set. -- `NFA#prefixes()` will change the NFA such that it accepts all prefixes of itself. -- New `ReadonlyNFA` interface. -- New `FAIterator` interface as an abstraction over different FA representations. This is now the basis for virtually all FA operations that don't change the underlying data structure. -- New `NoParent` and `NoSource` interface for AST nodes. - -### Changed - -- Better `Flags` interface for JS functions. -- Some minor improvements. - -### Fixed - -- The prefix and suffix optimizations of the NFA construction didn't check the equivalence of states correctly. - - -## 0.2.2 (2020-05-04) - -### Fixed - -- Added a `prepublish` script to actually publish changes. - - -## 0.2.1 (2020-05-04) - -### Fixed - -- Calling `CharSet#isSubsetOf` caused a stack overflow because of infinite recursion. - - -## 0.2.0 (2020-05-03) - -### Breaking changes - -- New `CharSet` API. This renames some of `has*` methods, to instead use names based on set relations. -- `NFA#concat` is now called `append`. -- `NodeList#final` is now called `finals` for both DFA and NFA nodes lists. -- `NFANode#in` and `NFANode#out` are now of type `ReadonlyMap` instead of `Map`. - -### Added - -- New options for `NFA.fromRegex` to disable assertions instead of throwing an error and to simplify quantifiers with a huge maximum. -- New `NFA#prepend` method. -- Added changelog. - -### Changed - -- `CharSet#toString` now uses a simple hexadecimal format. - -### Fixed - -- `NFA#append` modified the given NFA. - - -## 0.1.1 (2020-04-05) - -### Fixed - -- Fixed repository link in `package.json`. - - -## 0.1.0 (2020-04-05) - -Initial release diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 44ed01df..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,117 +0,0 @@ -# Contributing - -Issues, comments, and pull requests are always welcome! - -## Writing code - -A few general rules: - -- Write unit tests. -- Strongly type everything (except what is trivially inferred). -- Document as much as possible but nothing obvious. (No `i++; // increase variable`) -- Use an IDE that supports ESLint. This will take care of formatting and give warnings and errors. - -### Naming conventions - -- Casing - - Lower camelCase for variables, functions, and parameters. - - Private methods and variables in a class must have one leading underscore (`_`). - - Unused function parameters may have a leading underscore (`_`). - - PascalCase for classes, interfaces, types, and type parameters. - - UPPER_CASE for compile-time constants. -- Maximum and minimum - - When referring to a maximum of something, call it `maxSomething` instead of `maximumSomething`. Same for "minimum" and "min". - - When referring to a maximum and minimum to describe a range, call it `max` and `min`. - - When referring to a maximum (without corresponding minimum), call it `maximum`. Same for "minimum". -- Assertion vs. Lookaround - - Always use "assertion" when referring to a lookaround (= lookbehind inclusive or lookahead). - - Use "lookbehind" and "lookahead" only when referring to either specifically, excluding the other. - -### Useful commands - -- `npm run test` - Run all tests. -- `npm run test:fast` - Run all tests except for the regex stress test that takes from 5s to 20s. -- `npm run build` - Compiles the whole project and creates the final `index.{js,d.ts}` files in the project's root directory. -- `npm run scripts:debug` - This will execute the `scripts/debug.ts` file. This is a quick way to test new or existing features with access to all files in the library. - - -## Project structure - -``` -refa/ -|-- scripts/ -| `-- ... -|-- src/ -| |-- ast/ -| | `-- ... -| |-- iter/ -| | `-- ... -| |-- js/ -| | `-- ... -| |-- transformers/ -| | `-- ... -| `-- ... -|-- tests/ -| `-- ... -|-- CONTRIBUTING.md // this file -|-- index.{ts,d.ts} // generated by `npm run build` -|-- package.json -`-- ... -``` - -### `scripts` - -This folder contains useful scripts when working on refa. Any script can be executed via `npm run scripts:`. - -The `debug` script is particularly useful. It's purpose is to be way to quickly try out things. It as access to all of refa's source files and can be run via `npm run scripts:debug`. Do not commit changes to this file. - -### `src` - -This is folder for all files which will be in the compiled build of the library. - -The most important files are: - -1. `char{set,map}.ts` defines the most important classes of refa: `CharSet` - a sorted interval set used to represent characters - and `CharMap` - a sorted interval map. -1. `finite-automaton.ts` defines interfaces all concrete FA implementations use. -1. `{dfa,nfa}.ts` define the concrete implementations of an NFA and DFA. -1. `words.ts` includes function to convert from JS strings to number arrays and vise versa among others. - -#### `src/ast` - -This directory includes the definition of refa's RE AST format and simple functions/interfaces for traversal and modification. - -#### `src/iter` - -This directory contains functions that consume and produce graph iterators. Graph iterators are one of refa's core concepts and allow us to implement different algorithms independently from one specific graph representation. - -When importing those functions from outside `src/iter`, it must be done via `src/iter/index.ts`. It's recommended to import all functions like this: - -```js -import * as Iter from "./iter"; -``` - -From inside `src/iter`, functions MUST be imported directly from the file they are defined in. - -#### `src/js` - -This is where all [JavaScript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)-specific logic lives. This is mainly includes a parser to convert RegExp to refa's RE AST format and a function to convert RE AST to JS RegExp. - -Files from `src/*` (except `index.ts`) are not allowed to import files from `src/js`. The rest of the library is supposed to be independent from this part of it because it may later be moved to its own package. - -#### `src/transformers` - -This directory contains RE AST transformers. These tools can be used to simplify and change existing RE ASTs. - -### `test` - -This folder has a similar layout to `src`. It's supposed to somewhat mirror the file structure of `src`, so it's easy to find where tests for specific files form `src` live. - -You can run all tests using `npm run test` (or just `npm test`). - -If you want to run the tests quicker, you can use `npm run test:fast`. This will run all tests except the stress test which is executed for thousands of regexes. - -The `helper` folder contains functions used to implement tests. This includes useful constant, conversions function, and sets of test regexes. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 18056b70..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Michael Schmidt - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index d0712413..00000000 --- a/README.md +++ /dev/null @@ -1,317 +0,0 @@ -# Regular Expressions and Finite Automata (refa) - -[![Actions Status](https://github.com/RunDevelopment/refa/workflows/Node.js%20CI/badge.svg)](https://github.com/RunDevelopment/refa/actions) -[![npm](https://img.shields.io/npm/v/refa)](https://www.npmjs.com/package/refa) - -A library for regular expressions (RE) and finite automata (FA) in the context of [Javascript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp). - - -## About - -refa is a general library for [DFA](https://en.wikipedia.org/wiki/Deterministic_finite_automaton), [NFA](https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton), and REs of [formal regular languages](https://en.wikipedia.org/wiki/Induction_of_regular_languages). It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa. - - -## Installation - -Get [refa from NPM](https://www.npmjs.com/package/refa): - -``` -npm i --save refa -``` - -or - -``` -yarn add refa -``` - - -## Features - -- Conversions - - * RE AST to NFA and ENFA (_assertions are not implemented yet_) - * DFA, NFA, and ENFA can all be converted into each other - * DFA, NFA, and ENFA to RE AST - -- DFA, NFA, and ENFA operations - - * Construction from other FA, the intersection of two FA, or a finite set of words - * Print as [DOT](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) or [Mermaid](https://mermaid.js.org/). - * Test whether a word is accepted - * Test whether the accepted language is the empty set/a finite set - * Accept all prefixes/suffixes of a language - -- DFA specific operations - - * Minimization - * Complement - * Structural equality - -- NFA and ENFA specific operations - - * Union and Concatenation with other FA - * Quantification - * Reverse - -- AST transformations - - * Simplify and change the AST of a regex - * Remove assertions - -- JavaScript RegExp - - * RegExp to RE AST and RE AST to RegExp - * All flags are fully supported - * Unicode properties - * Change flags - * Limited support for simple backreferences - -See the [API documentation](https://rundevelopment.github.io/refa/docs/latest/) for a complete list of all currently implemented operations. - -### RE AST format - -refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple. - -It supports: - -- Concatenation (e.g. `ab`) -- Alternation (e.g. `a|b`) -- Quantifiers (greedy and lazy) (e.g. `a{4,6}`, `a{2,}?`, `a?`, `a*`) -- Assertions (e.g. `(?=a)`, `(? false -console.log(nfa.test(Words.fromStringToUTF16("123"))); -// => true -console.log(nfa.test(Words.fromStringToUTF16("abc123"))); -// => true -console.log(nfa.test(Words.fromStringToUTF16("123abc"))); -// => false -``` - -### Finding the intersection of two JS RegExps - -```ts -const regex1 = /a+B+c+/i; -const regex2 = /Ab*C\d?/; - -const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2)); - -console.log(toRegExp(intersection)); -// => /Ab+C/ -``` - -### Finding the complement of a JS RegExp - -```ts -const regex = /a+b*/i; - -const dfa = toDFA(regex); -dfa.complement(); - -console.log(toRegExp(dfa)); -// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i -``` - -### Converting a JS RegExp to an NFA - -In the above examples, we have been using the `toNFA` helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met. - -However, the JS parser and `NFA.fromRegex` provide some options to work around and even solve this problem. - -#### Backreferences - -Firstly, the parser will automatically resolve simple backreferences. Even `toNFA` will do this since it's on by default: - -```ts -console.log(toRegExp(toNFA(/("|').*?\1/))); -// => /".*"|'.*'/i -``` - -But it will throw an error for non-trivial backreferences that cannot be resolved: - -```ts -toNFA(/(#+).*\1|foo/); -// Error: Backreferences are not supported. -``` - -The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful. - -```ts -const regex = /(#+).*\1|foo/; -const { expression } = - JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" }); - -console.log(JS.toLiteral(expression)); -// => { source: 'foo', flags: '' } -``` - -Note that the `foo` alternative is kept because it is completely unaffected by the unresolvable backreferences. - -#### Assertions - -While the parser and AST format can handle assertions, the NFA construction cannot. - -```ts -const regex = /\b(?!\d)\w+\b|->/; -const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse(); - -console.log(JS.toLiteral(expression)); -// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' } - -NFA.fromRegex(expression, { maxCharacter }); -// Error: Assertions are not supported yet. -``` - -Similarly to backreferences, we can let the parser remove them: - -```ts -const regex = /\b(?!\d)\w+\b|->/; -const { expression, maxCharacter } = - JS.Parser.fromLiteral(regex).parse({ assertions: "disable" }); - -console.log(JS.toLiteral(expression)); -// => { source: '->', flags: 'i' } - -const nfa = NFA.fromRegex(expression, { maxCharacter }); -console.log(toRegExp(nfa)); -// => /->/i -``` - -
- -Or we can let the NFA construction method remove them: - -```ts -const regex = /\b(?!\d)\w+\b|->/; -const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse(); - -console.log(JS.toLiteral(expression)); -// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' } - -const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" }); -console.log(toRegExp(nfa)); -// => /->/i -``` - -Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times. - -
- -However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task. - -The simplest transformer to remove assertions (among other things) is the `simplify` transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more. - -```ts -import { JS, NFA, Transformers, transform } from "refa"; - -const regex = /\b(?!\d)\w+\b|->/; -const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse(); -console.log(JS.toLiteral(expression)); -// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' } - -const modifiedExpression = transform(Transformers.simplify(), expression); -console.log(JS.toLiteral(modifiedExpression)); -// => { source: '(?', flags: 'i' } - -// Most assertions have been removed but the patterns are still equivalent. -// The only assertions left assert characters beyond the edge of the pattern. -// Removing those assertions is easy but slightly changes the pattern. - -const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression); -console.log(JS.toLiteral(finalExpression)); -// => { source: '[A-Z_]\\w*|->', flags: 'i' } - -const nfa = NFA.fromRegex(finalExpression, { maxCharacter }); -console.log(JS.toLiteral(nfa.toRegex())); -// => { source: '->|[A-Z_]\\w*', flags: 'i' } -``` - -AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples: - -```ts -import { JS, Transformers, transform } from "refa"; - -function simplify(regex: RegExp): void { - const { expression } = JS.Parser.fromLiteral(regex).parse(); - - const simplifiedExpression = transform(Transformers.simplify(), expression); - - const literal = JS.toLiteral(simplifiedExpression); - console.log(new RegExp(literal.source, literal.flags)); -} - -simplify(/\b(?!\d)\b\w+\b\s*\(/); -// => /(? /(?:^|@)\w+(?!\w)/ -simplify(/"""(?:(?!""").)*"""/s); -// => /"""(?:"{0,2}[^"])*"""/ -simplify(/"""((?!""")(?:[^\\]|\\"))*"""/); -// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/ -simplify(/(?:(?!<\/title>).)*<\/title>/s); -// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/ -simplify(/^```$.*?^```$/ms); -// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m -``` - -<details> -<summary> Note </summary> - -`Transformers.simplify` is *very* aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow `NFA` and `ENFA` to support many more regexes. - -</details> diff --git a/docs/dev/.nojekyll b/docs/dev/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/dev/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/dev/assets/highlight.css b/docs/dev/assets/highlight.css new file mode 100644 index 00000000..2a3e49d3 --- /dev/null +++ b/docs/dev/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-hl-13: #EE0000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/dev/assets/main.js b/docs/dev/assets/main.js new file mode 100644 index 00000000..4c8fa615 --- /dev/null +++ b/docs/dev/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var l=n.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=n[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),y=new RegExp(u),b=new RegExp(l),g=new RegExp(d),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=function(c){var v,C,T,h,x,O,F;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=E,x=f,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=p,x=w,h.test(c)){var L=h.exec(c);h=m,h.test(L[1])&&(h=S,c=c.replace(h,""))}else if(x.test(c)){var L=x.exec(c);v=L[1],x=g,x.test(v)&&(c=v,x=k,O=_,F=B,x.test(c)?c=c+"e":O.test(c)?(h=S,c=c.replace(h,"")):F.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var L=h.exec(c);v=L[1],c=v+"i"}if(h=j,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+e[C])}if(h=q,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+r[C])}if(h=V,x=$,h.test(c)){var L=h.exec(c);v=L[1],h=y,h.test(v)&&(c=v)}else if(x.test(c)){var L=x.exec(c);v=L[1]+L[2],x=y,x.test(v)&&(c=v)}if(h=I,h.test(c)){var L=h.exec(c);v=L[1],h=y,x=b,O=W,(h.test(v)||x.test(v)&&!O.test(v))&&(c=v)}return h=z,x=y,h.test(c)&&x.test(c)&&(h=S,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(H)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var l=new t.TokenSet;l.final=a,r.edges[o]=l,r=l}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],m=0;m<l;m++){var y=a[m];if(y==d||d=="*"){var b=n.node.edges[y],g=n.qNode.edges[d],E=b.final&&g.final,f=void 0;y in n.output.edges?(f=n.output.edges[y],f.final=f.final||E):(f=new t.TokenSet,f.final=E,n.output.edges[y]=f),i.push({qNode:g,output:f,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(r,r);for(var l=0;l<r.clauses.length;l++){var u=r.clauses[l],d=null,m=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var y=0;y<d.length;y++){var b=d[y];u.term=b;var g=t.TokenSet.fromClause(u),E=this.tokenSet.intersect(g).toArray();if(E.length===0&&u.presence===t.Query.presence.REQUIRED){for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],k=this.invertedIndex[S],_=k._index,f=0;f<u.fields.length;f++){var p=u.fields[f],B=k[p],A=Object.keys(B),j=S+"/"+p,q=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(m=m.union(q),o[p]===void 0&&(o[p]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union(q);continue}if(i[p].upsert(_,u.boost,function(Ee,be){return Ee+be}),!s[j]){for(var V=0;V<A.length;V++){var $=A[V],I=new t.FieldRef($,p),z=B[$],W;(W=n[I])===void 0?n[I]=new t.MatchData(S,p,z):W.add(S,p,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=o[p].intersect(m)}}for(var H=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var p=this.fields[l];o[p]&&(H=H.intersect(o[p])),a[p]&&(R=R.union(a[p]))}var c=Object.keys(n),v=[],C=Object.create(null);if(r.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var I=c[l],T=t.FieldRef.fromString(I);n[I]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(H.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),F;if((F=C[h])!==void 0)F.score+=O,F.matchData.combine(n[T]);else{var L={ref:h,score:O,matchData:n[T]};C[h]=L,v.push(L)}}}return v.sort(function(xe,Le){return Le.score-xe.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],m=d[0],y=d[1];n[m]=new t.Vector(y)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=l,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),m=new t.FieldRef(n,o),y=Object.create(null);this.fieldTermFrequencies[m]=y,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(y[g]==null&&(y[g]=0),y[g]+=1,this.invertedIndex[g]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[g]=E}this.invertedIndex[g][o][n]==null&&(this.invertedIndex[g][o][n]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=g.metadata[w];this.invertedIndex[g][o][n][w]==null&&(this.invertedIndex[g][o][n][w]=[]),this.invertedIndex[g][o][n][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];n[u]=n[u]/i[u]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),y=m.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,E=0;E<y;E++){var f=m[E],p=d[f],w=this.invertedIndex[f]._index,S,k,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],k=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+p),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(w,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],l=n.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=n.data.rows[Number(s[o].ref)],u=le(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(u+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(u=`<span class="parent">${le(l.parent,i)}.</span>${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`<b>${K(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/dev/assets/search.js b/docs/dev/assets/search.js new file mode 100644 index 00000000..af6b8729 --- /dev/null +++ b/docs/dev/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"makeGreedy\",\"url\":\"functions/Transformers.makeGreedy.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"simplify\",\"url\":\"functions/Transformers.simplify.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":4194304,\"name\":\"PropertyCharacterSet\",\"url\":\"types/JS.PropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharacterPropertyCharacterSet\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":256,\"name\":\"StringPropertyCharacterSet\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":64,\"name\":\"isFlags\",\"url\":\"functions/JS.isFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"UncheckedFlags\",\"url\":\"interfaces/JS.UncheckedFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UncheckedFlags.html#dotAll\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UncheckedFlags.html#global\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UncheckedFlags.html#hasIndices\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UncheckedFlags.html#ignoreCase\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UncheckedFlags.html#multiline\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UncheckedFlags.html#sticky\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":256,\"name\":\"NonUnicodeSetsFlags\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":256,\"name\":\"UnicodeSetsFlags\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":4194304,\"name\":\"Flags\",\"url\":\"types/JS.Flags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"classes/JS.Parser.html#flags\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":64,\"name\":\"parseUnicodeSet\",\"url\":\"functions/JS.parseUnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":64,\"name\":\"parseCharSet\",\"url\":\"functions/JS.parseCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"CharacterElement\",\"url\":\"types/JS.CharacterElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":128,\"name\":\"StringSet\",\"url\":\"classes/JS.StringSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"empty\",\"url\":\"classes/JS.StringSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.StringSet.html#from\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"fromWord\",\"url\":\"classes/JS.StringSet.html#fromWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.StringSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.StringSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasSingleCharacter\",\"url\":\"classes/JS.StringSet.html#hasSingleCharacter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.StringSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.StringSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.StringSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.StringSet.html#union\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.StringSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.StringSet.html#without\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.StringSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.StringSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.StringSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.StringSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.StringSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getSingleCharacters\",\"url\":\"classes/JS.StringSet.html#getSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutSingleCharacters\",\"url\":\"classes/JS.StringSet.html#withoutSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/JS.StringSet.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.StringSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":128,\"name\":\"UnicodeSet\",\"url\":\"classes/JS.UnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/JS.UnicodeSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"fromChars\",\"url\":\"classes/JS.UnicodeSet.html#fromChars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.UnicodeSet.html#from\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"chars\",\"url\":\"classes/JS.UnicodeSet.html#chars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"accept\",\"url\":\"classes/JS.UnicodeSet.html#accept\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"maximum\",\"url\":\"classes/JS.UnicodeSet.html#maximum\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.UnicodeSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.UnicodeSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.UnicodeSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.UnicodeSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.UnicodeSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.UnicodeSet.html#union\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.UnicodeSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.UnicodeSet.html#without\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.UnicodeSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.UnicodeSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":64,\"name\":\"getCharCaseFolding\",\"url\":\"functions/JS.getCharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharCaseFolding\",\"url\":\"interfaces/JS.CharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"canonicalize\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize.__type\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.canonicalize\"},{\"kind\":1024,\"name\":\"toCharSet\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet.__type-2\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.toCharSet\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Transformer.html#name\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":128,\"name\":\"CombinedTransformer\",\"url\":\"classes/CombinedTransformer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CombinedTransformer.html#constructor\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"classes/CombinedTransformer.html#name\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"transformers\",\"url\":\"classes/CombinedTransformer.html#transformers\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"classes/CombinedTransformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"classes/CombinedTransformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"classes/CombinedTransformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"classes/CombinedTransformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"classes/CombinedTransformer.html#onExpression\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"classes/CombinedTransformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"classes/CombinedTransformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":256,\"name\":\"TransformEvents\",\"url\":\"interfaces/TransformEvents.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"onPassStart\",\"url\":\"interfaces/TransformEvents.html#onPassStart\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onPassStart.__type-2\",\"classes\":\"\",\"parent\":\"TransformEvents.onPassStart\"},{\"kind\":1024,\"name\":\"onChange\",\"url\":\"interfaces/TransformEvents.html#onChange\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onChange.__type\",\"classes\":\"\",\"parent\":\"TransformEvents.onChange\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":1024,\"name\":\"events\",\"url\":\"interfaces/TransformOptions.html#events\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/ReadonlyCharMap.html#size\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"entryCount\",\"url\":\"interfaces/ReadonlyCharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyCharMap.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharMap.html#size\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"entryCount\",\"url\":\"classes/CharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/CharMap.html#copy\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacter\",\"url\":\"classes/CharSet.html#fromCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,57.197]],[\"comment/0\",[]],[\"name/1\",[1,62.305]],[\"comment/1\",[]],[\"name/2\",[2,53.832]],[\"comment/2\",[]],[\"name/3\",[3,53.832]],[\"comment/3\",[]],[\"name/4\",[4,62.305]],[\"comment/4\",[]],[\"name/5\",[5,62.305]],[\"comment/5\",[]],[\"name/6\",[6,57.197]],[\"comment/6\",[]],[\"name/7\",[7,62.305]],[\"comment/7\",[]],[\"name/8\",[8,62.305]],[\"comment/8\",[]],[\"name/9\",[9,62.305]],[\"comment/9\",[]],[\"name/10\",[10,62.305]],[\"comment/10\",[]],[\"name/11\",[11,62.305]],[\"comment/11\",[]],[\"name/12\",[12,62.305]],[\"comment/12\",[]],[\"name/13\",[6,57.197]],[\"comment/13\",[]],[\"name/14\",[13,62.305]],[\"comment/14\",[]],[\"name/15\",[2,53.832]],[\"comment/15\",[]],[\"name/16\",[3,53.832]],[\"comment/16\",[]],[\"name/17\",[14,62.305]],[\"comment/17\",[]],[\"name/18\",[15,62.305]],[\"comment/18\",[]],[\"name/19\",[16,62.305]],[\"comment/19\",[]],[\"name/20\",[17,62.305]],[\"comment/20\",[]],[\"name/21\",[18,62.305]],[\"comment/21\",[]],[\"name/22\",[2,53.832]],[\"comment/22\",[]],[\"name/23\",[3,53.832]],[\"comment/23\",[]],[\"name/24\",[19,62.305]],[\"comment/24\",[]],[\"name/25\",[20,62.305]],[\"comment/25\",[]],[\"name/26\",[21,57.197]],[\"comment/26\",[]],[\"name/27\",[22,62.305]],[\"comment/27\",[]],[\"name/28\",[23,51.319]],[\"comment/28\",[]],[\"name/29\",[24,51.319]],[\"comment/29\",[]],[\"name/30\",[25,62.305]],[\"comment/30\",[]],[\"name/31\",[26,62.305]],[\"comment/31\",[]],[\"name/32\",[27,62.305]],[\"comment/32\",[]],[\"name/33\",[28,62.305]],[\"comment/33\",[]],[\"name/34\",[29,62.305]],[\"comment/34\",[]],[\"name/35\",[30,62.305]],[\"comment/35\",[]],[\"name/36\",[31,62.305]],[\"comment/36\",[]],[\"name/37\",[32,53.832]],[\"comment/37\",[]],[\"name/38\",[33,62.305]],[\"comment/38\",[]],[\"name/39\",[34,62.305]],[\"comment/39\",[]],[\"name/40\",[35,62.305]],[\"comment/40\",[]],[\"name/41\",[36,62.305]],[\"comment/41\",[]],[\"name/42\",[37,62.305]],[\"comment/42\",[]],[\"name/43\",[38,62.305]],[\"comment/43\",[]],[\"name/44\",[39,62.305]],[\"comment/44\",[]],[\"name/45\",[40,62.305]],[\"comment/45\",[]],[\"name/46\",[41,62.305]],[\"comment/46\",[]],[\"name/47\",[42,62.305]],[\"comment/47\",[]],[\"name/48\",[43,62.305]],[\"comment/48\",[]],[\"name/49\",[44,40.333]],[\"comment/49\",[]],[\"name/50\",[45,41.102]],[\"comment/50\",[]],[\"name/51\",[46,46.21]],[\"comment/51\",[]],[\"name/52\",[47,49.312]],[\"comment/52\",[]],[\"name/53\",[48,46.21]],[\"comment/53\",[]],[\"name/54\",[49,43.847]],[\"comment/54\",[]],[\"name/55\",[50,49.312]],[\"comment/55\",[]],[\"name/56\",[51,62.305]],[\"comment/56\",[]],[\"name/57\",[52,62.305]],[\"comment/57\",[]],[\"name/58\",[53,44.959]],[\"comment/58\",[]],[\"name/59\",[54,62.305]],[\"comment/59\",[]],[\"name/60\",[55,62.305]],[\"comment/60\",[]],[\"name/61\",[56,57.197]],[\"comment/61\",[]],[\"name/62\",[57,34.789]],[\"comment/62\",[]],[\"name/63\",[58,62.305]],[\"comment/63\",[]],[\"name/64\",[57,34.789]],[\"comment/64\",[]],[\"name/65\",[59,57.197]],[\"comment/65\",[]],[\"name/66\",[57,34.789]],[\"comment/66\",[]],[\"name/67\",[60,44.959]],[\"comment/67\",[]],[\"name/68\",[61,62.305]],[\"comment/68\",[]],[\"name/69\",[59,57.197]],[\"comment/69\",[]],[\"name/70\",[57,34.789]],[\"comment/70\",[]],[\"name/71\",[56,57.197]],[\"comment/71\",[]],[\"name/72\",[57,34.789]],[\"comment/72\",[]],[\"name/73\",[62,62.305]],[\"comment/73\",[]],[\"name/74\",[63,57.197]],[\"comment/74\",[]],[\"name/75\",[64,62.305]],[\"comment/75\",[]],[\"name/76\",[65,62.305]],[\"comment/76\",[]],[\"name/77\",[63,57.197]],[\"comment/77\",[]],[\"name/78\",[66,62.305]],[\"comment/78\",[]],[\"name/79\",[67,62.305]],[\"comment/79\",[]],[\"name/80\",[68,62.305]],[\"comment/80\",[]],[\"name/81\",[48,46.21]],[\"comment/81\",[]],[\"name/82\",[69,62.305]],[\"comment/82\",[]],[\"name/83\",[70,62.305]],[\"comment/83\",[]],[\"name/84\",[71,62.305]],[\"comment/84\",[]],[\"name/85\",[72,62.305]],[\"comment/85\",[]],[\"name/86\",[57,34.789]],[\"comment/86\",[]],[\"name/87\",[73,62.305]],[\"comment/87\",[]],[\"name/88\",[74,44.959]],[\"comment/88\",[]],[\"name/89\",[75,43.847]],[\"comment/89\",[]],[\"name/90\",[76,62.305]],[\"comment/90\",[]],[\"name/91\",[77,62.305]],[\"comment/91\",[]],[\"name/92\",[78,62.305]],[\"comment/92\",[]],[\"name/93\",[79,62.305]],[\"comment/93\",[]],[\"name/94\",[80,62.305]],[\"comment/94\",[]],[\"name/95\",[81,62.305]],[\"comment/95\",[]],[\"name/96\",[82,62.305]],[\"comment/96\",[]],[\"name/97\",[83,43.847]],[\"comment/97\",[]],[\"name/98\",[84,44.959]],[\"comment/98\",[]],[\"name/99\",[85,62.305]],[\"comment/99\",[]],[\"name/100\",[83,43.847]],[\"comment/100\",[]],[\"name/101\",[86,62.305]],[\"comment/101\",[]],[\"name/102\",[87,62.305]],[\"comment/102\",[]],[\"name/103\",[88,62.305]],[\"comment/103\",[]],[\"name/104\",[83,43.847]],[\"comment/104\",[]],[\"name/105\",[89,62.305]],[\"comment/105\",[]],[\"name/106\",[83,43.847]],[\"comment/106\",[]],[\"name/107\",[84,44.959]],[\"comment/107\",[]],[\"name/108\",[90,62.305]],[\"comment/108\",[]],[\"name/109\",[91,62.305]],[\"comment/109\",[]],[\"name/110\",[83,43.847]],[\"comment/110\",[]],[\"name/111\",[92,57.197]],[\"comment/111\",[]],[\"name/112\",[93,57.197]],[\"comment/112\",[]],[\"name/113\",[94,57.197]],[\"comment/113\",[]],[\"name/114\",[84,44.959]],[\"comment/114\",[]],[\"name/115\",[95,62.305]],[\"comment/115\",[]],[\"name/116\",[83,43.847]],[\"comment/116\",[]],[\"name/117\",[92,57.197]],[\"comment/117\",[]],[\"name/118\",[93,57.197]],[\"comment/118\",[]],[\"name/119\",[94,57.197]],[\"comment/119\",[]],[\"name/120\",[84,44.959]],[\"comment/120\",[]],[\"name/121\",[96,62.305]],[\"comment/121\",[]],[\"name/122\",[83,43.847]],[\"comment/122\",[]],[\"name/123\",[84,44.959]],[\"comment/123\",[]],[\"name/124\",[97,62.305]],[\"comment/124\",[]],[\"name/125\",[83,43.847]],[\"comment/125\",[]],[\"name/126\",[84,44.959]],[\"comment/126\",[]],[\"name/127\",[98,62.305]],[\"comment/127\",[]],[\"name/128\",[99,62.305]],[\"comment/128\",[]],[\"name/129\",[100,49.312]],[\"comment/129\",[]],[\"name/130\",[101,62.305]],[\"comment/130\",[]],[\"name/131\",[102,62.305]],[\"comment/131\",[]],[\"name/132\",[103,62.305]],[\"comment/132\",[]],[\"name/133\",[104,53.832]],[\"comment/133\",[]],[\"name/134\",[105,53.832]],[\"comment/134\",[]],[\"name/135\",[106,53.832]],[\"comment/135\",[]],[\"name/136\",[107,53.832]],[\"comment/136\",[]],[\"name/137\",[108,53.832]],[\"comment/137\",[]],[\"name/138\",[109,53.832]],[\"comment/138\",[]],[\"name/139\",[110,53.832]],[\"comment/139\",[]],[\"name/140\",[111,53.832]],[\"comment/140\",[]],[\"name/141\",[112,62.305]],[\"comment/141\",[]],[\"name/142\",[110,53.832]],[\"comment/142\",[]],[\"name/143\",[111,53.832]],[\"comment/143\",[]],[\"name/144\",[104,53.832]],[\"comment/144\",[]],[\"name/145\",[105,53.832]],[\"comment/145\",[]],[\"name/146\",[106,53.832]],[\"comment/146\",[]],[\"name/147\",[107,53.832]],[\"comment/147\",[]],[\"name/148\",[108,53.832]],[\"comment/148\",[]],[\"name/149\",[109,53.832]],[\"comment/149\",[]],[\"name/150\",[113,62.305]],[\"comment/150\",[]],[\"name/151\",[110,53.832]],[\"comment/151\",[]],[\"name/152\",[111,53.832]],[\"comment/152\",[]],[\"name/153\",[104,53.832]],[\"comment/153\",[]],[\"name/154\",[105,53.832]],[\"comment/154\",[]],[\"name/155\",[106,53.832]],[\"comment/155\",[]],[\"name/156\",[107,53.832]],[\"comment/156\",[]],[\"name/157\",[108,53.832]],[\"comment/157\",[]],[\"name/158\",[109,53.832]],[\"comment/158\",[]],[\"name/159\",[100,49.312]],[\"comment/159\",[]],[\"name/160\",[114,57.197]],[\"comment/160\",[]],[\"name/161\",[115,44.959]],[\"comment/161\",[]],[\"name/162\",[100,49.312]],[\"comment/162\",[]],[\"name/163\",[116,62.305]],[\"comment/163\",[]],[\"name/164\",[117,62.305]],[\"comment/164\",[]],[\"name/165\",[118,62.305]],[\"comment/165\",[]],[\"name/166\",[119,53.832]],[\"comment/166\",[]],[\"name/167\",[21,57.197]],[\"comment/167\",[]],[\"name/168\",[120,57.197]],[\"comment/168\",[]],[\"name/169\",[121,62.305]],[\"comment/169\",[]],[\"name/170\",[57,34.789]],[\"comment/170\",[]],[\"name/171\",[122,62.305]],[\"comment/171\",[]],[\"name/172\",[123,62.305]],[\"comment/172\",[]],[\"name/173\",[100,49.312]],[\"comment/173\",[]],[\"name/174\",[124,62.305]],[\"comment/174\",[]],[\"name/175\",[125,62.305]],[\"comment/175\",[]],[\"name/176\",[126,57.197]],[\"comment/176\",[]],[\"name/177\",[127,39.618]],[\"comment/177\",[]],[\"name/178\",[128,62.305]],[\"comment/178\",[]],[\"name/179\",[129,62.305]],[\"comment/179\",[]],[\"name/180\",[130,62.305]],[\"comment/180\",[]],[\"name/181\",[114,57.197]],[\"comment/181\",[]],[\"name/182\",[131,62.305]],[\"comment/182\",[]],[\"name/183\",[100,49.312]],[\"comment/183\",[]],[\"name/184\",[127,39.618]],[\"comment/184\",[]],[\"name/185\",[132,62.305]],[\"comment/185\",[]],[\"name/186\",[133,62.305]],[\"comment/186\",[]],[\"name/187\",[134,62.305]],[\"comment/187\",[]],[\"name/188\",[135,62.305]],[\"comment/188\",[]],[\"name/189\",[136,62.305]],[\"comment/189\",[]],[\"name/190\",[137,62.305]],[\"comment/190\",[]],[\"name/191\",[138,47.641]],[\"comment/191\",[]],[\"name/192\",[139,57.197]],[\"comment/192\",[]],[\"name/193\",[140,62.305]],[\"comment/193\",[]],[\"name/194\",[141,41.102]],[\"comment/194\",[]],[\"name/195\",[142,57.197]],[\"comment/195\",[]],[\"name/196\",[143,62.305]],[\"comment/196\",[]],[\"name/197\",[144,43.847]],[\"comment/197\",[]],[\"name/198\",[145,57.197]],[\"comment/198\",[]],[\"name/199\",[146,53.832]],[\"comment/199\",[]],[\"name/200\",[147,49.312]],[\"comment/200\",[]],[\"name/201\",[148,53.832]],[\"comment/201\",[]],[\"name/202\",[149,53.832]],[\"comment/202\",[]],[\"name/203\",[150,53.832]],[\"comment/203\",[]],[\"name/204\",[151,53.832]],[\"comment/204\",[]],[\"name/205\",[152,53.832]],[\"comment/205\",[]],[\"name/206\",[153,53.832]],[\"comment/206\",[]],[\"name/207\",[154,51.319]],[\"comment/207\",[]],[\"name/208\",[155,62.305]],[\"comment/208\",[]],[\"name/209\",[156,62.305]],[\"comment/209\",[]],[\"name/210\",[157,53.832]],[\"comment/210\",[]],[\"name/211\",[158,57.197]],[\"comment/211\",[]],[\"name/212\",[159,62.305]],[\"comment/212\",[]],[\"name/213\",[138,47.641]],[\"comment/213\",[]],[\"name/214\",[160,62.305]],[\"comment/214\",[]],[\"name/215\",[139,57.197]],[\"comment/215\",[]],[\"name/216\",[161,62.305]],[\"comment/216\",[]],[\"name/217\",[162,62.305]],[\"comment/217\",[]],[\"name/218\",[163,57.197]],[\"comment/218\",[]],[\"name/219\",[141,41.102]],[\"comment/219\",[]],[\"name/220\",[142,57.197]],[\"comment/220\",[]],[\"name/221\",[144,43.847]],[\"comment/221\",[]],[\"name/222\",[146,53.832]],[\"comment/222\",[]],[\"name/223\",[145,57.197]],[\"comment/223\",[]],[\"name/224\",[147,49.312]],[\"comment/224\",[]],[\"name/225\",[148,53.832]],[\"comment/225\",[]],[\"name/226\",[149,53.832]],[\"comment/226\",[]],[\"name/227\",[150,53.832]],[\"comment/227\",[]],[\"name/228\",[151,53.832]],[\"comment/228\",[]],[\"name/229\",[152,53.832]],[\"comment/229\",[]],[\"name/230\",[153,53.832]],[\"comment/230\",[]],[\"name/231\",[154,51.319]],[\"comment/231\",[]],[\"name/232\",[158,57.197]],[\"comment/232\",[]],[\"name/233\",[164,62.305]],[\"comment/233\",[]],[\"name/234\",[165,62.305]],[\"comment/234\",[]],[\"name/235\",[166,62.305]],[\"comment/235\",[]],[\"name/236\",[57,34.789]],[\"comment/236\",[]],[\"name/237\",[167,62.305]],[\"comment/237\",[]],[\"name/238\",[57,34.789]],[\"comment/238\",[]],[\"name/239\",[168,44.959]],[\"comment/239\",[]],[\"name/240\",[169,62.305]],[\"comment/240\",[]],[\"name/241\",[170,62.305]],[\"comment/241\",[]],[\"name/242\",[171,62.305]],[\"comment/242\",[]],[\"name/243\",[172,62.305]],[\"comment/243\",[]],[\"name/244\",[173,62.305]],[\"comment/244\",[]],[\"name/245\",[174,62.305]],[\"comment/245\",[]],[\"name/246\",[175,62.305]],[\"comment/246\",[]],[\"name/247\",[176,62.305]],[\"comment/247\",[]],[\"name/248\",[177,62.305]],[\"comment/248\",[]],[\"name/249\",[178,62.305]],[\"comment/249\",[]],[\"name/250\",[179,62.305]],[\"comment/250\",[]],[\"name/251\",[180,62.305]],[\"comment/251\",[]],[\"name/252\",[181,44.959]],[\"comment/252\",[]],[\"name/253\",[182,51.319]],[\"comment/253\",[]],[\"name/254\",[183,62.305]],[\"comment/254\",[]],[\"name/255\",[184,46.21]],[\"comment/255\",[]],[\"name/256\",[181,44.959]],[\"comment/256\",[]],[\"name/257\",[185,51.319]],[\"comment/257\",[]],[\"name/258\",[115,44.959]],[\"comment/258\",[]],[\"name/259\",[186,62.305]],[\"comment/259\",[]],[\"name/260\",[184,46.21]],[\"comment/260\",[]],[\"name/261\",[181,44.959]],[\"comment/261\",[]],[\"name/262\",[185,51.319]],[\"comment/262\",[]],[\"name/263\",[83,43.847]],[\"comment/263\",[]],[\"name/264\",[84,44.959]],[\"comment/264\",[]],[\"name/265\",[115,44.959]],[\"comment/265\",[]],[\"name/266\",[187,62.305]],[\"comment/266\",[]],[\"name/267\",[184,46.21]],[\"comment/267\",[]],[\"name/268\",[181,44.959]],[\"comment/268\",[]],[\"name/269\",[185,51.319]],[\"comment/269\",[]],[\"name/270\",[188,62.305]],[\"comment/270\",[]],[\"name/271\",[189,57.197]],[\"comment/271\",[]],[\"name/272\",[190,57.197]],[\"comment/272\",[]],[\"name/273\",[115,44.959]],[\"comment/273\",[]],[\"name/274\",[191,62.305]],[\"comment/274\",[]],[\"name/275\",[184,46.21]],[\"comment/275\",[]],[\"name/276\",[181,44.959]],[\"comment/276\",[]],[\"name/277\",[192,57.197]],[\"comment/277\",[]],[\"name/278\",[115,44.959]],[\"comment/278\",[]],[\"name/279\",[193,62.305]],[\"comment/279\",[]],[\"name/280\",[184,46.21]],[\"comment/280\",[]],[\"name/281\",[181,44.959]],[\"comment/281\",[]],[\"name/282\",[194,62.305]],[\"comment/282\",[]],[\"name/283\",[115,44.959]],[\"comment/283\",[]],[\"name/284\",[126,57.197]],[\"comment/284\",[]],[\"name/285\",[184,46.21]],[\"comment/285\",[]],[\"name/286\",[181,44.959]],[\"comment/286\",[]],[\"name/287\",[185,51.319]],[\"comment/287\",[]],[\"name/288\",[115,44.959]],[\"comment/288\",[]],[\"name/289\",[195,62.305]],[\"comment/289\",[]],[\"name/290\",[184,46.21]],[\"comment/290\",[]],[\"name/291\",[181,44.959]],[\"comment/291\",[]],[\"name/292\",[196,62.305]],[\"comment/292\",[]],[\"name/293\",[115,44.959]],[\"comment/293\",[]],[\"name/294\",[197,62.305]],[\"comment/294\",[]],[\"name/295\",[198,62.305]],[\"comment/295\",[]],[\"name/296\",[199,62.305]],[\"comment/296\",[]],[\"name/297\",[200,62.305]],[\"comment/297\",[]],[\"name/298\",[201,62.305]],[\"comment/298\",[]],[\"name/299\",[202,57.197]],[\"comment/299\",[]],[\"name/300\",[203,57.197]],[\"comment/300\",[]],[\"name/301\",[204,57.197]],[\"comment/301\",[]],[\"name/302\",[205,57.197]],[\"comment/302\",[]],[\"name/303\",[206,57.197]],[\"comment/303\",[]],[\"name/304\",[207,57.197]],[\"comment/304\",[]],[\"name/305\",[208,57.197]],[\"comment/305\",[]],[\"name/306\",[209,57.197]],[\"comment/306\",[]],[\"name/307\",[210,57.197]],[\"comment/307\",[]],[\"name/308\",[211,57.197]],[\"comment/308\",[]],[\"name/309\",[212,57.197]],[\"comment/309\",[]],[\"name/310\",[213,57.197]],[\"comment/310\",[]],[\"name/311\",[214,57.197]],[\"comment/311\",[]],[\"name/312\",[215,57.197]],[\"comment/312\",[]],[\"name/313\",[216,62.305]],[\"comment/313\",[]],[\"name/314\",[202,57.197]],[\"comment/314\",[]],[\"name/315\",[203,57.197]],[\"comment/315\",[]],[\"name/316\",[204,57.197]],[\"comment/316\",[]],[\"name/317\",[205,57.197]],[\"comment/317\",[]],[\"name/318\",[206,57.197]],[\"comment/318\",[]],[\"name/319\",[207,57.197]],[\"comment/319\",[]],[\"name/320\",[208,57.197]],[\"comment/320\",[]],[\"name/321\",[209,57.197]],[\"comment/321\",[]],[\"name/322\",[210,57.197]],[\"comment/322\",[]],[\"name/323\",[211,57.197]],[\"comment/323\",[]],[\"name/324\",[212,57.197]],[\"comment/324\",[]],[\"name/325\",[213,57.197]],[\"comment/325\",[]],[\"name/326\",[214,57.197]],[\"comment/326\",[]],[\"name/327\",[215,57.197]],[\"comment/327\",[]],[\"name/328\",[217,62.305]],[\"comment/328\",[]],[\"name/329\",[218,62.305]],[\"comment/329\",[]],[\"name/330\",[219,62.305]],[\"comment/330\",[]],[\"name/331\",[220,57.197]],[\"comment/331\",[]],[\"name/332\",[221,57.197]],[\"comment/332\",[]],[\"name/333\",[222,57.197]],[\"comment/333\",[]],[\"name/334\",[223,57.197]],[\"comment/334\",[]],[\"name/335\",[224,57.197]],[\"comment/335\",[]],[\"name/336\",[225,57.197]],[\"comment/336\",[]],[\"name/337\",[226,57.197]],[\"comment/337\",[]],[\"name/338\",[227,57.197]],[\"comment/338\",[]],[\"name/339\",[228,62.305]],[\"comment/339\",[]],[\"name/340\",[127,39.618]],[\"comment/340\",[]],[\"name/341\",[229,62.305]],[\"comment/341\",[]],[\"name/342\",[57,34.789]],[\"comment/342\",[]],[\"name/343\",[230,62.305]],[\"comment/343\",[]],[\"name/344\",[44,40.333]],[\"comment/344\",[]],[\"name/345\",[220,57.197]],[\"comment/345\",[]],[\"name/346\",[0,57.197]],[\"comment/346\",[]],[\"name/347\",[221,57.197]],[\"comment/347\",[]],[\"name/348\",[222,57.197]],[\"comment/348\",[]],[\"name/349\",[223,57.197]],[\"comment/349\",[]],[\"name/350\",[224,57.197]],[\"comment/350\",[]],[\"name/351\",[225,57.197]],[\"comment/351\",[]],[\"name/352\",[226,57.197]],[\"comment/352\",[]],[\"name/353\",[227,57.197]],[\"comment/353\",[]],[\"name/354\",[231,62.305]],[\"comment/354\",[]],[\"name/355\",[232,62.305]],[\"comment/355\",[]],[\"name/356\",[57,34.789]],[\"comment/356\",[]],[\"name/357\",[233,62.305]],[\"comment/357\",[]],[\"name/358\",[57,34.789]],[\"comment/358\",[]],[\"name/359\",[234,62.305]],[\"comment/359\",[]],[\"name/360\",[235,62.305]],[\"comment/360\",[]],[\"name/361\",[236,62.305]],[\"comment/361\",[]],[\"name/362\",[237,62.305]],[\"comment/362\",[]],[\"name/363\",[44,40.333]],[\"comment/363\",[]],[\"name/364\",[238,62.305]],[\"comment/364\",[]],[\"name/365\",[239,62.305]],[\"comment/365\",[]],[\"name/366\",[240,62.305]],[\"comment/366\",[]],[\"name/367\",[141,41.102]],[\"comment/367\",[]],[\"name/368\",[241,53.832]],[\"comment/368\",[]],[\"name/369\",[242,57.197]],[\"comment/369\",[]],[\"name/370\",[243,53.832]],[\"comment/370\",[]],[\"name/371\",[244,57.197]],[\"comment/371\",[]],[\"name/372\",[245,57.197]],[\"comment/372\",[]],[\"name/373\",[246,57.197]],[\"comment/373\",[]],[\"name/374\",[32,53.832]],[\"comment/374\",[]],[\"name/375\",[247,57.197]],[\"comment/375\",[]],[\"name/376\",[248,57.197]],[\"comment/376\",[]],[\"name/377\",[249,57.197]],[\"comment/377\",[]],[\"name/378\",[250,57.197]],[\"comment/378\",[]],[\"name/379\",[251,44.959]],[\"comment/379\",[]],[\"name/380\",[252,62.305]],[\"comment/380\",[]],[\"name/381\",[44,40.333]],[\"comment/381\",[]],[\"name/382\",[141,41.102]],[\"comment/382\",[]],[\"name/383\",[241,53.832]],[\"comment/383\",[]],[\"name/384\",[242,57.197]],[\"comment/384\",[]],[\"name/385\",[243,53.832]],[\"comment/385\",[]],[\"name/386\",[244,57.197]],[\"comment/386\",[]],[\"name/387\",[245,57.197]],[\"comment/387\",[]],[\"name/388\",[246,57.197]],[\"comment/388\",[]],[\"name/389\",[253,62.305]],[\"comment/389\",[]],[\"name/390\",[254,62.305]],[\"comment/390\",[]],[\"name/391\",[255,62.305]],[\"comment/391\",[]],[\"name/392\",[256,62.305]],[\"comment/392\",[]],[\"name/393\",[257,62.305]],[\"comment/393\",[]],[\"name/394\",[258,62.305]],[\"comment/394\",[]],[\"name/395\",[251,44.959]],[\"comment/395\",[]],[\"name/396\",[259,62.305]],[\"comment/396\",[]],[\"name/397\",[260,62.305]],[\"comment/397\",[]],[\"name/398\",[261,62.305]],[\"comment/398\",[]],[\"name/399\",[250,57.197]],[\"comment/399\",[]],[\"name/400\",[32,53.832]],[\"comment/400\",[]],[\"name/401\",[247,57.197]],[\"comment/401\",[]],[\"name/402\",[248,57.197]],[\"comment/402\",[]],[\"name/403\",[249,57.197]],[\"comment/403\",[]],[\"name/404\",[262,62.305]],[\"comment/404\",[]],[\"name/405\",[263,62.305]],[\"comment/405\",[]],[\"name/406\",[189,57.197]],[\"comment/406\",[]],[\"name/407\",[190,57.197]],[\"comment/407\",[]],[\"name/408\",[264,62.305]],[\"comment/408\",[]],[\"name/409\",[138,47.641]],[\"comment/409\",[]],[\"name/410\",[265,51.319]],[\"comment/410\",[]],[\"name/411\",[266,62.305]],[\"comment/411\",[]],[\"name/412\",[267,62.305]],[\"comment/412\",[]],[\"name/413\",[268,62.305]],[\"comment/413\",[]],[\"name/414\",[163,57.197]],[\"comment/414\",[]],[\"name/415\",[269,62.305]],[\"comment/415\",[]],[\"name/416\",[141,41.102]],[\"comment/416\",[]],[\"name/417\",[270,62.305]],[\"comment/417\",[]],[\"name/418\",[241,53.832]],[\"comment/418\",[]],[\"name/419\",[192,57.197]],[\"comment/419\",[]],[\"name/420\",[75,43.847]],[\"comment/420\",[]],[\"name/421\",[271,62.305]],[\"comment/421\",[]],[\"name/422\",[272,62.305]],[\"comment/422\",[]],[\"name/423\",[146,53.832]],[\"comment/423\",[]],[\"name/424\",[273,62.305]],[\"comment/424\",[]],[\"name/425\",[274,62.305]],[\"comment/425\",[]],[\"name/426\",[84,44.959]],[\"comment/426\",[]],[\"name/427\",[147,49.312]],[\"comment/427\",[]],[\"name/428\",[148,53.832]],[\"comment/428\",[]],[\"name/429\",[149,53.832]],[\"comment/429\",[]],[\"name/430\",[243,53.832]],[\"comment/430\",[]],[\"name/431\",[150,53.832]],[\"comment/431\",[]],[\"name/432\",[151,53.832]],[\"comment/432\",[]],[\"name/433\",[152,53.832]],[\"comment/433\",[]],[\"name/434\",[153,53.832]],[\"comment/434\",[]],[\"name/435\",[154,51.319]],[\"comment/435\",[]],[\"name/436\",[275,62.305]],[\"comment/436\",[]],[\"name/437\",[276,62.305]],[\"comment/437\",[]],[\"name/438\",[277,62.305]],[\"comment/438\",[]],[\"name/439\",[278,62.305]],[\"comment/439\",[]],[\"name/440\",[279,62.305]],[\"comment/440\",[]],[\"name/441\",[141,41.102]],[\"comment/441\",[]],[\"name/442\",[280,46.21]],[\"comment/442\",[]],[\"name/443\",[127,39.618]],[\"comment/443\",[]],[\"name/444\",[281,46.21]],[\"comment/444\",[]],[\"name/445\",[168,44.959]],[\"comment/445\",[]],[\"name/446\",[144,43.847]],[\"comment/446\",[]],[\"name/447\",[75,43.847]],[\"comment/447\",[]],[\"name/448\",[74,44.959]],[\"comment/448\",[]],[\"name/449\",[53,44.959]],[\"comment/449\",[]],[\"name/450\",[60,44.959]],[\"comment/450\",[]],[\"name/451\",[282,62.305]],[\"comment/451\",[]],[\"name/452\",[45,41.102]],[\"comment/452\",[]],[\"name/453\",[283,62.305]],[\"comment/453\",[]],[\"name/454\",[57,34.789]],[\"comment/454\",[]],[\"name/455\",[284,62.305]],[\"comment/455\",[]],[\"name/456\",[48,46.21]],[\"comment/456\",[]],[\"name/457\",[57,34.789]],[\"comment/457\",[]],[\"name/458\",[285,51.319]],[\"comment/458\",[]],[\"name/459\",[49,43.847]],[\"comment/459\",[]],[\"name/460\",[57,34.789]],[\"comment/460\",[]],[\"name/461\",[286,62.305]],[\"comment/461\",[]],[\"name/462\",[45,41.102]],[\"comment/462\",[]],[\"name/463\",[47,49.312]],[\"comment/463\",[]],[\"name/464\",[57,34.789]],[\"comment/464\",[]],[\"name/465\",[48,46.21]],[\"comment/465\",[]],[\"name/466\",[57,34.789]],[\"comment/466\",[]],[\"name/467\",[50,49.312]],[\"comment/467\",[]],[\"name/468\",[57,34.789]],[\"comment/468\",[]],[\"name/469\",[49,43.847]],[\"comment/469\",[]],[\"name/470\",[57,34.789]],[\"comment/470\",[]],[\"name/471\",[287,44.959]],[\"comment/471\",[]],[\"name/472\",[288,62.305]],[\"comment/472\",[]],[\"name/473\",[127,39.618]],[\"comment/473\",[]],[\"name/474\",[287,44.959]],[\"comment/474\",[]],[\"name/475\",[57,34.789]],[\"comment/475\",[]],[\"name/476\",[289,62.305]],[\"comment/476\",[]],[\"name/477\",[120,57.197]],[\"comment/477\",[]],[\"name/478\",[290,62.305]],[\"comment/478\",[]],[\"name/479\",[291,62.305]],[\"comment/479\",[]],[\"name/480\",[45,41.102]],[\"comment/480\",[]],[\"name/481\",[46,46.21]],[\"comment/481\",[]],[\"name/482\",[292,47.641]],[\"comment/482\",[]],[\"name/483\",[293,47.641]],[\"comment/483\",[]],[\"name/484\",[294,47.641]],[\"comment/484\",[]],[\"name/485\",[251,44.959]],[\"comment/485\",[]],[\"name/486\",[295,57.197]],[\"comment/486\",[]],[\"name/487\",[141,41.102]],[\"comment/487\",[]],[\"name/488\",[280,46.21]],[\"comment/488\",[]],[\"name/489\",[127,39.618]],[\"comment/489\",[]],[\"name/490\",[281,46.21]],[\"comment/490\",[]],[\"name/491\",[168,44.959]],[\"comment/491\",[]],[\"name/492\",[144,43.847]],[\"comment/492\",[]],[\"name/493\",[75,43.847]],[\"comment/493\",[]],[\"name/494\",[74,44.959]],[\"comment/494\",[]],[\"name/495\",[53,44.959]],[\"comment/495\",[]],[\"name/496\",[60,44.959]],[\"comment/496\",[]],[\"name/497\",[287,44.959]],[\"comment/497\",[]],[\"name/498\",[57,34.789]],[\"comment/498\",[]],[\"name/499\",[296,57.197]],[\"comment/499\",[]],[\"name/500\",[138,47.641]],[\"comment/500\",[]],[\"name/501\",[297,53.832]],[\"comment/501\",[]],[\"name/502\",[265,51.319]],[\"comment/502\",[]],[\"name/503\",[298,53.832]],[\"comment/503\",[]],[\"name/504\",[299,57.197]],[\"comment/504\",[]],[\"name/505\",[23,51.319]],[\"comment/505\",[]],[\"name/506\",[24,51.319]],[\"comment/506\",[]],[\"name/507\",[300,53.832]],[\"comment/507\",[]],[\"name/508\",[301,53.832]],[\"comment/508\",[]],[\"name/509\",[302,53.832]],[\"comment/509\",[]],[\"name/510\",[45,41.102]],[\"comment/510\",[]],[\"name/511\",[46,46.21]],[\"comment/511\",[]],[\"name/512\",[127,39.618]],[\"comment/512\",[]],[\"name/513\",[141,41.102]],[\"comment/513\",[]],[\"name/514\",[280,46.21]],[\"comment/514\",[]],[\"name/515\",[292,47.641]],[\"comment/515\",[]],[\"name/516\",[287,44.959]],[\"comment/516\",[]],[\"name/517\",[293,47.641]],[\"comment/517\",[]],[\"name/518\",[294,47.641]],[\"comment/518\",[]],[\"name/519\",[281,46.21]],[\"comment/519\",[]],[\"name/520\",[144,43.847]],[\"comment/520\",[]],[\"name/521\",[168,44.959]],[\"comment/521\",[]],[\"name/522\",[75,43.847]],[\"comment/522\",[]],[\"name/523\",[74,44.959]],[\"comment/523\",[]],[\"name/524\",[53,44.959]],[\"comment/524\",[]],[\"name/525\",[60,44.959]],[\"comment/525\",[]],[\"name/526\",[251,44.959]],[\"comment/526\",[]],[\"name/527\",[295,57.197]],[\"comment/527\",[]],[\"name/528\",[303,53.832]],[\"comment/528\",[]],[\"name/529\",[304,62.305]],[\"comment/529\",[]],[\"name/530\",[305,62.305]],[\"comment/530\",[]],[\"name/531\",[306,53.832]],[\"comment/531\",[]],[\"name/532\",[296,57.197]],[\"comment/532\",[]],[\"name/533\",[307,53.832]],[\"comment/533\",[]],[\"name/534\",[308,47.641]],[\"comment/534\",[]],[\"name/535\",[182,51.319]],[\"comment/535\",[]],[\"name/536\",[44,40.333]],[\"comment/536\",[]],[\"name/537\",[308,47.641]],[\"comment/537\",[]],[\"name/538\",[309,53.832]],[\"comment/538\",[]],[\"name/539\",[310,53.832]],[\"comment/539\",[]],[\"name/540\",[311,53.832]],[\"comment/540\",[]],[\"name/541\",[285,51.319]],[\"comment/541\",[]],[\"name/542\",[312,53.832]],[\"comment/542\",[]],[\"name/543\",[44,40.333]],[\"comment/543\",[]],[\"name/544\",[313,53.832]],[\"comment/544\",[]],[\"name/545\",[49,43.847]],[\"comment/545\",[]],[\"name/546\",[314,53.832]],[\"comment/546\",[]],[\"name/547\",[44,40.333]],[\"comment/547\",[]],[\"name/548\",[45,41.102]],[\"comment/548\",[]],[\"name/549\",[46,46.21]],[\"comment/549\",[]],[\"name/550\",[315,53.832]],[\"comment/550\",[]],[\"name/551\",[47,49.312]],[\"comment/551\",[]],[\"name/552\",[48,46.21]],[\"comment/552\",[]],[\"name/553\",[50,49.312]],[\"comment/553\",[]],[\"name/554\",[49,43.847]],[\"comment/554\",[]],[\"name/555\",[316,53.832]],[\"comment/555\",[]],[\"name/556\",[127,39.618]],[\"comment/556\",[]],[\"name/557\",[317,62.305]],[\"comment/557\",[]],[\"name/558\",[45,41.102]],[\"comment/558\",[]],[\"name/559\",[318,53.832]],[\"comment/559\",[]],[\"name/560\",[319,51.319]],[\"comment/560\",[]],[\"name/561\",[292,47.641]],[\"comment/561\",[]],[\"name/562\",[293,47.641]],[\"comment/562\",[]],[\"name/563\",[294,47.641]],[\"comment/563\",[]],[\"name/564\",[251,44.959]],[\"comment/564\",[]],[\"name/565\",[141,41.102]],[\"comment/565\",[]],[\"name/566\",[280,46.21]],[\"comment/566\",[]],[\"name/567\",[127,39.618]],[\"comment/567\",[]],[\"name/568\",[281,46.21]],[\"comment/568\",[]],[\"name/569\",[168,44.959]],[\"comment/569\",[]],[\"name/570\",[144,43.847]],[\"comment/570\",[]],[\"name/571\",[75,43.847]],[\"comment/571\",[]],[\"name/572\",[74,44.959]],[\"comment/572\",[]],[\"name/573\",[53,44.959]],[\"comment/573\",[]],[\"name/574\",[60,44.959]],[\"comment/574\",[]],[\"name/575\",[287,44.959]],[\"comment/575\",[]],[\"name/576\",[57,34.789]],[\"comment/576\",[]],[\"name/577\",[320,57.197]],[\"comment/577\",[]],[\"name/578\",[138,47.641]],[\"comment/578\",[]],[\"name/579\",[297,53.832]],[\"comment/579\",[]],[\"name/580\",[265,51.319]],[\"comment/580\",[]],[\"name/581\",[298,53.832]],[\"comment/581\",[]],[\"name/582\",[321,57.197]],[\"comment/582\",[]],[\"name/583\",[23,51.319]],[\"comment/583\",[]],[\"name/584\",[24,51.319]],[\"comment/584\",[]],[\"name/585\",[300,53.832]],[\"comment/585\",[]],[\"name/586\",[301,53.832]],[\"comment/586\",[]],[\"name/587\",[302,53.832]],[\"comment/587\",[]],[\"name/588\",[45,41.102]],[\"comment/588\",[]],[\"name/589\",[318,53.832]],[\"comment/589\",[]],[\"name/590\",[127,39.618]],[\"comment/590\",[]],[\"name/591\",[141,41.102]],[\"comment/591\",[]],[\"name/592\",[280,46.21]],[\"comment/592\",[]],[\"name/593\",[319,51.319]],[\"comment/593\",[]],[\"name/594\",[322,57.197]],[\"comment/594\",[]],[\"name/595\",[292,47.641]],[\"comment/595\",[]],[\"name/596\",[287,44.959]],[\"comment/596\",[]],[\"name/597\",[293,47.641]],[\"comment/597\",[]],[\"name/598\",[294,47.641]],[\"comment/598\",[]],[\"name/599\",[251,44.959]],[\"comment/599\",[]],[\"name/600\",[281,46.21]],[\"comment/600\",[]],[\"name/601\",[144,43.847]],[\"comment/601\",[]],[\"name/602\",[168,44.959]],[\"comment/602\",[]],[\"name/603\",[75,43.847]],[\"comment/603\",[]],[\"name/604\",[74,44.959]],[\"comment/604\",[]],[\"name/605\",[53,44.959]],[\"comment/605\",[]],[\"name/606\",[60,44.959]],[\"comment/606\",[]],[\"name/607\",[323,57.197]],[\"comment/607\",[]],[\"name/608\",[324,57.197]],[\"comment/608\",[]],[\"name/609\",[325,57.197]],[\"comment/609\",[]],[\"name/610\",[326,57.197]],[\"comment/610\",[]],[\"name/611\",[147,49.312]],[\"comment/611\",[]],[\"name/612\",[327,57.197]],[\"comment/612\",[]],[\"name/613\",[328,57.197]],[\"comment/613\",[]],[\"name/614\",[157,53.832]],[\"comment/614\",[]],[\"name/615\",[303,53.832]],[\"comment/615\",[]],[\"name/616\",[306,53.832]],[\"comment/616\",[]],[\"name/617\",[329,57.197]],[\"comment/617\",[]],[\"name/618\",[320,57.197]],[\"comment/618\",[]],[\"name/619\",[307,53.832]],[\"comment/619\",[]],[\"name/620\",[308,47.641]],[\"comment/620\",[]],[\"name/621\",[330,51.319]],[\"comment/621\",[]],[\"name/622\",[331,57.197]],[\"comment/622\",[]],[\"name/623\",[332,57.197]],[\"comment/623\",[]],[\"name/624\",[182,51.319]],[\"comment/624\",[]],[\"name/625\",[44,40.333]],[\"comment/625\",[]],[\"name/626\",[308,47.641]],[\"comment/626\",[]],[\"name/627\",[330,51.319]],[\"comment/627\",[]],[\"name/628\",[309,53.832]],[\"comment/628\",[]],[\"name/629\",[310,53.832]],[\"comment/629\",[]],[\"name/630\",[311,53.832]],[\"comment/630\",[]],[\"name/631\",[333,57.197]],[\"comment/631\",[]],[\"name/632\",[334,57.197]],[\"comment/632\",[]],[\"name/633\",[331,57.197]],[\"comment/633\",[]],[\"name/634\",[332,57.197]],[\"comment/634\",[]],[\"name/635\",[285,51.319]],[\"comment/635\",[]],[\"name/636\",[312,53.832]],[\"comment/636\",[]],[\"name/637\",[44,40.333]],[\"comment/637\",[]],[\"name/638\",[313,53.832]],[\"comment/638\",[]],[\"name/639\",[49,43.847]],[\"comment/639\",[]],[\"name/640\",[314,53.832]],[\"comment/640\",[]],[\"name/641\",[44,40.333]],[\"comment/641\",[]],[\"name/642\",[45,41.102]],[\"comment/642\",[]],[\"name/643\",[318,53.832]],[\"comment/643\",[]],[\"name/644\",[315,53.832]],[\"comment/644\",[]],[\"name/645\",[47,49.312]],[\"comment/645\",[]],[\"name/646\",[48,46.21]],[\"comment/646\",[]],[\"name/647\",[50,49.312]],[\"comment/647\",[]],[\"name/648\",[49,43.847]],[\"comment/648\",[]],[\"name/649\",[316,53.832]],[\"comment/649\",[]],[\"name/650\",[127,39.618]],[\"comment/650\",[]],[\"name/651\",[335,57.197]],[\"comment/651\",[]],[\"name/652\",[119,53.832]],[\"comment/652\",[]],[\"name/653\",[336,57.197]],[\"comment/653\",[]],[\"name/654\",[337,57.197]],[\"comment/654\",[]],[\"name/655\",[338,62.305]],[\"comment/655\",[]],[\"name/656\",[339,57.197]],[\"comment/656\",[]],[\"name/657\",[340,62.305]],[\"comment/657\",[]],[\"name/658\",[339,57.197]],[\"comment/658\",[]],[\"name/659\",[341,62.305]],[\"comment/659\",[]],[\"name/660\",[154,51.319]],[\"comment/660\",[]],[\"name/661\",[342,62.305]],[\"comment/661\",[]],[\"name/662\",[343,62.305]],[\"comment/662\",[]],[\"name/663\",[344,62.305]],[\"comment/663\",[]],[\"name/664\",[45,41.102]],[\"comment/664\",[]],[\"name/665\",[46,46.21]],[\"comment/665\",[]],[\"name/666\",[319,51.319]],[\"comment/666\",[]],[\"name/667\",[292,47.641]],[\"comment/667\",[]],[\"name/668\",[293,47.641]],[\"comment/668\",[]],[\"name/669\",[294,47.641]],[\"comment/669\",[]],[\"name/670\",[251,44.959]],[\"comment/670\",[]],[\"name/671\",[141,41.102]],[\"comment/671\",[]],[\"name/672\",[280,46.21]],[\"comment/672\",[]],[\"name/673\",[127,39.618]],[\"comment/673\",[]],[\"name/674\",[281,46.21]],[\"comment/674\",[]],[\"name/675\",[168,44.959]],[\"comment/675\",[]],[\"name/676\",[144,43.847]],[\"comment/676\",[]],[\"name/677\",[75,43.847]],[\"comment/677\",[]],[\"name/678\",[74,44.959]],[\"comment/678\",[]],[\"name/679\",[53,44.959]],[\"comment/679\",[]],[\"name/680\",[60,44.959]],[\"comment/680\",[]],[\"name/681\",[287,44.959]],[\"comment/681\",[]],[\"name/682\",[57,34.789]],[\"comment/682\",[]],[\"name/683\",[345,57.197]],[\"comment/683\",[]],[\"name/684\",[138,47.641]],[\"comment/684\",[]],[\"name/685\",[297,53.832]],[\"comment/685\",[]],[\"name/686\",[265,51.319]],[\"comment/686\",[]],[\"name/687\",[298,53.832]],[\"comment/687\",[]],[\"name/688\",[299,57.197]],[\"comment/688\",[]],[\"name/689\",[321,57.197]],[\"comment/689\",[]],[\"name/690\",[23,51.319]],[\"comment/690\",[]],[\"name/691\",[24,51.319]],[\"comment/691\",[]],[\"name/692\",[300,53.832]],[\"comment/692\",[]],[\"name/693\",[301,53.832]],[\"comment/693\",[]],[\"name/694\",[302,53.832]],[\"comment/694\",[]],[\"name/695\",[45,41.102]],[\"comment/695\",[]],[\"name/696\",[46,46.21]],[\"comment/696\",[]],[\"name/697\",[127,39.618]],[\"comment/697\",[]],[\"name/698\",[141,41.102]],[\"comment/698\",[]],[\"name/699\",[280,46.21]],[\"comment/699\",[]],[\"name/700\",[319,51.319]],[\"comment/700\",[]],[\"name/701\",[322,57.197]],[\"comment/701\",[]],[\"name/702\",[292,47.641]],[\"comment/702\",[]],[\"name/703\",[287,44.959]],[\"comment/703\",[]],[\"name/704\",[293,47.641]],[\"comment/704\",[]],[\"name/705\",[294,47.641]],[\"comment/705\",[]],[\"name/706\",[251,44.959]],[\"comment/706\",[]],[\"name/707\",[281,46.21]],[\"comment/707\",[]],[\"name/708\",[144,43.847]],[\"comment/708\",[]],[\"name/709\",[168,44.959]],[\"comment/709\",[]],[\"name/710\",[75,43.847]],[\"comment/710\",[]],[\"name/711\",[74,44.959]],[\"comment/711\",[]],[\"name/712\",[53,44.959]],[\"comment/712\",[]],[\"name/713\",[60,44.959]],[\"comment/713\",[]],[\"name/714\",[147,49.312]],[\"comment/714\",[]],[\"name/715\",[327,57.197]],[\"comment/715\",[]],[\"name/716\",[323,57.197]],[\"comment/716\",[]],[\"name/717\",[324,57.197]],[\"comment/717\",[]],[\"name/718\",[325,57.197]],[\"comment/718\",[]],[\"name/719\",[326,57.197]],[\"comment/719\",[]],[\"name/720\",[328,57.197]],[\"comment/720\",[]],[\"name/721\",[157,53.832]],[\"comment/721\",[]],[\"name/722\",[303,53.832]],[\"comment/722\",[]],[\"name/723\",[306,53.832]],[\"comment/723\",[]],[\"name/724\",[329,57.197]],[\"comment/724\",[]],[\"name/725\",[346,62.305]],[\"comment/725\",[]],[\"name/726\",[345,57.197]],[\"comment/726\",[]],[\"name/727\",[307,53.832]],[\"comment/727\",[]],[\"name/728\",[308,47.641]],[\"comment/728\",[]],[\"name/729\",[330,51.319]],[\"comment/729\",[]],[\"name/730\",[182,51.319]],[\"comment/730\",[]],[\"name/731\",[44,40.333]],[\"comment/731\",[]],[\"name/732\",[308,47.641]],[\"comment/732\",[]],[\"name/733\",[330,51.319]],[\"comment/733\",[]],[\"name/734\",[309,53.832]],[\"comment/734\",[]],[\"name/735\",[310,53.832]],[\"comment/735\",[]],[\"name/736\",[311,53.832]],[\"comment/736\",[]],[\"name/737\",[333,57.197]],[\"comment/737\",[]],[\"name/738\",[334,57.197]],[\"comment/738\",[]],[\"name/739\",[285,51.319]],[\"comment/739\",[]],[\"name/740\",[312,53.832]],[\"comment/740\",[]],[\"name/741\",[44,40.333]],[\"comment/741\",[]],[\"name/742\",[313,53.832]],[\"comment/742\",[]],[\"name/743\",[49,43.847]],[\"comment/743\",[]],[\"name/744\",[314,53.832]],[\"comment/744\",[]],[\"name/745\",[44,40.333]],[\"comment/745\",[]],[\"name/746\",[45,41.102]],[\"comment/746\",[]],[\"name/747\",[46,46.21]],[\"comment/747\",[]],[\"name/748\",[315,53.832]],[\"comment/748\",[]],[\"name/749\",[47,49.312]],[\"comment/749\",[]],[\"name/750\",[48,46.21]],[\"comment/750\",[]],[\"name/751\",[50,49.312]],[\"comment/751\",[]],[\"name/752\",[49,43.847]],[\"comment/752\",[]],[\"name/753\",[316,53.832]],[\"comment/753\",[]],[\"name/754\",[127,39.618]],[\"comment/754\",[]],[\"name/755\",[335,57.197]],[\"comment/755\",[]],[\"name/756\",[119,53.832]],[\"comment/756\",[]],[\"name/757\",[336,57.197]],[\"comment/757\",[]],[\"name/758\",[337,57.197]],[\"comment/758\",[]],[\"name/759\",[347,62.305]],[\"comment/759\",[]],[\"name/760\",[348,62.305]],[\"comment/760\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":57,\"name\":{\"62\":{},\"64\":{},\"66\":{},\"70\":{},\"72\":{},\"86\":{},\"170\":{},\"236\":{},\"238\":{},\"342\":{},\"356\":{},\"358\":{},\"454\":{},\"457\":{},\"460\":{},\"464\":{},\"466\":{},\"468\":{},\"470\":{},\"475\":{},\"498\":{},\"576\":{},\"682\":{}},\"comment\":{}}],[\"accept\",{\"_index\":162,\"name\":{\"217\":{}},\"comment\":{}}],[\"all\",{\"_index\":265,\"name\":{\"410\":{},\"502\":{},\"580\":{},\"686\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":183,\"name\":{\"254\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":185,\"name\":{\"257\":{},\"262\":{},\"269\":{},\"287\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":88,\"name\":{\"103\":{}},\"comment\":{}}],[\"append\",{\"_index\":323,\"name\":{\"607\":{},\"716\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":324,\"name\":{\"608\":{},\"717\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"assert\",{\"_index\":339,\"name\":{\"656\":{},\"658\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":186,\"name\":{\"259\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":119,\"name\":{\"166\":{},\"652\":{},\"756\":{}},\"comment\":{}}],[\"ast\",{\"_index\":131,\"name\":{\"182\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":118,\"name\":{\"165\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":81,\"name\":{\"95\":{}},\"comment\":{}}],[\"builder\",{\"_index\":314,\"name\":{\"546\":{},\"640\":{},\"744\":{}},\"comment\":{}}],[\"canonicalize\",{\"_index\":166,\"name\":{\"235\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"char\",{\"_index\":276,\"name\":{\"437\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":191,\"name\":{\"274\":{}},\"comment\":{}}],[\"characterelement\",{\"_index\":136,\"name\":{\"189\":{}},\"comment\":{}}],[\"characterpropertycharacterset\",{\"_index\":91,\"name\":{\"109\":{}},\"comment\":{}}],[\"characters\",{\"_index\":192,\"name\":{\"277\":{},\"419\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":237,\"name\":{\"362\":{}},\"comment\":{}}],[\"charcasefolding\",{\"_index\":165,\"name\":{\"234\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":252,\"name\":{\"380\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":263,\"name\":{\"405\":{}},\"comment\":{}}],[\"chars\",{\"_index\":161,\"name\":{\"216\":{}},\"comment\":{}}],[\"charset\",{\"_index\":264,\"name\":{\"408\":{}},\"comment\":{}}],[\"clear\",{\"_index\":258,\"name\":{\"394\":{}},\"comment\":{}}],[\"combinedtransformer\",{\"_index\":230,\"name\":{\"343\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":217,\"name\":{\"328\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":275,\"name\":{\"436\":{}},\"comment\":{}}],[\"compare\",{\"_index\":273,\"name\":{\"424\":{}},\"comment\":{}}],[\"complement\",{\"_index\":305,\"name\":{\"530\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":195,\"name\":{\"289\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":44,\"name\":{\"49\":{},\"344\":{},\"363\":{},\"381\":{},\"536\":{},\"543\":{},\"547\":{},\"625\":{},\"637\":{},\"641\":{},\"731\":{},\"741\":{},\"745\":{}},\"comment\":{}}],[\"copy\",{\"_index\":251,\"name\":{\"379\":{},\"395\":{},\"485\":{},\"526\":{},\"564\":{},\"599\":{},\"670\":{},\"706\":{}},\"comment\":{}}],[\"count\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":294,\"name\":{\"484\":{},\"518\":{},\"563\":{},\"598\":{},\"669\":{},\"705\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":49,\"name\":{\"54\":{},\"459\":{},\"469\":{},\"545\":{},\"554\":{},\"639\":{},\"648\":{},\"743\":{},\"752\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":256,\"name\":{\"392\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":257,\"name\":{\"393\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":296,\"name\":{\"499\":{},\"532\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":89,\"name\":{\"105\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":104,\"name\":{\"133\":{},\"144\":{},\"153\":{}},\"comment\":{}}],[\"element\",{\"_index\":180,\"name\":{\"251\":{}},\"comment\":{}}],[\"elements\",{\"_index\":196,\"name\":{\"292\":{}},\"comment\":{}}],[\"empty\",{\"_index\":138,\"name\":{\"191\":{},\"213\":{},\"409\":{},\"500\":{},\"578\":{},\"684\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":297,\"name\":{\"501\":{},\"579\":{},\"685\":{}},\"comment\":{}}],[\"end\",{\"_index\":179,\"name\":{\"250\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":320,\"name\":{\"577\":{},\"618\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"entries\",{\"_index\":249,\"name\":{\"377\":{},\"403\":{}},\"comment\":{}}],[\"entrycount\",{\"_index\":242,\"name\":{\"369\":{},\"384\":{}},\"comment\":{}}],[\"equals\",{\"_index\":146,\"name\":{\"199\":{},\"222\":{},\"423\":{}},\"comment\":{}}],[\"events\",{\"_index\":236,\"name\":{\"361\":{}},\"comment\":{}}],[\"expression\",{\"_index\":126,\"name\":{\"176\":{},\"284\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":286,\"name\":{\"461\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":315,\"name\":{\"550\":{},\"644\":{},\"748\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":282,\"name\":{\"451\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":22,\"name\":{\"27\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":101,\"name\":{\"130\":{}},\"comment\":{}}],[\"filter\",{\"_index\":261,\"name\":{\"398\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"final\",{\"_index\":318,\"name\":{\"559\":{},\"589\":{},\"643\":{}},\"comment\":{}}],[\"finals\",{\"_index\":46,\"name\":{\"51\":{},\"481\":{},\"511\":{},\"549\":{},\"665\":{},\"696\":{},\"747\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":279,\"name\":{\"440\":{}},\"comment\":{}}],[\"flags\",{\"_index\":100,\"name\":{\"129\":{},\"159\":{},\"162\":{},\"173\":{},\"183\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":32,\"name\":{\"37\":{},\"374\":{},\"400\":{}},\"comment\":{}}],[\"from\",{\"_index\":139,\"name\":{\"192\":{},\"215\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":130,\"name\":{\"180\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":302,\"name\":{\"509\":{},\"587\":{},\"694\":{}},\"comment\":{}}],[\"fromcharacter\",{\"_index\":268,\"name\":{\"413\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":266,\"name\":{\"411\":{}},\"comment\":{}}],[\"fromchars\",{\"_index\":160,\"name\":{\"214\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":298,\"name\":{\"503\":{},\"581\":{},\"687\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":300,\"name\":{\"507\":{},\"585\":{},\"692\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":299,\"name\":{\"504\":{},\"688\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":129,\"name\":{\"179\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":267,\"name\":{\"412\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":321,\"name\":{\"582\":{},\"689\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":335,\"name\":{\"651\":{},\"755\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":172,\"name\":{\"243\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":171,\"name\":{\"242\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":301,\"name\":{\"508\":{},\"586\":{},\"693\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":170,\"name\":{\"241\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":169,\"name\":{\"240\":{}},\"comment\":{}}],[\"fromword\",{\"_index\":140,\"name\":{\"193\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":23,\"name\":{\"28\":{},\"505\":{},\"583\":{},\"690\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":24,\"name\":{\"29\":{},\"506\":{},\"584\":{},\"691\":{}},\"comment\":{}}],[\"get\",{\"_index\":246,\"name\":{\"373\":{},\"388\":{}},\"comment\":{}}],[\"getcharcasefolding\",{\"_index\":164,\"name\":{\"233\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":56,\"name\":{\"61\":{},\"71\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":58,\"name\":{\"63\":{}},\"comment\":{}}],[\"getid\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":341,\"name\":{\"659\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":343,\"name\":{\"662\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":342,\"name\":{\"661\":{}},\"comment\":{}}],[\"getlengthrange\",{\"_index\":158,\"name\":{\"211\":{},\"232\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":59,\"name\":{\"65\":{},\"69\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"getout\",{\"_index\":283,\"name\":{\"453\":{}},\"comment\":{}}],[\"getsinglecharacters\",{\"_index\":155,\"name\":{\"208\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":121,\"name\":{\"169\":{}},\"comment\":{}}],[\"global\",{\"_index\":105,\"name\":{\"134\":{},\"145\":{},\"154\":{}},\"comment\":{}}],[\"has\",{\"_index\":243,\"name\":{\"370\":{},\"385\":{},\"430\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"hasemptyword\",{\"_index\":142,\"name\":{\"195\":{},\"220\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":244,\"name\":{\"371\":{},\"386\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":106,\"name\":{\"135\":{},\"146\":{},\"155\":{}},\"comment\":{}}],[\"hassinglecharacter\",{\"_index\":143,\"name\":{\"196\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":245,\"name\":{\"372\":{},\"387\":{}},\"comment\":{}}],[\"id\",{\"_index\":194,\"name\":{\"282\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"16\":{},\"23\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":107,\"name\":{\"136\":{},\"147\":{},\"156\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"in\",{\"_index\":330,\"name\":{\"621\":{},\"627\":{},\"729\":{},\"733\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":337,\"name\":{\"654\":{},\"758\":{}},\"comment\":{}}],[\"initial\",{\"_index\":45,\"name\":{\"50\":{},\"452\":{},\"462\":{},\"480\":{},\"510\":{},\"548\":{},\"558\":{},\"588\":{},\"642\":{},\"664\":{},\"695\":{},\"746\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"13\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":148,\"name\":{\"201\":{},\"225\":{},\"428\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"invert\",{\"_index\":250,\"name\":{\"378\":{},\"399\":{}},\"comment\":{}}],[\"isall\",{\"_index\":270,\"name\":{\"417\":{}},\"comment\":{}}],[\"iscompatiblewith\",{\"_index\":145,\"name\":{\"198\":{},\"223\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":154,\"name\":{\"207\":{},\"231\":{},\"435\":{},\"660\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":141,\"name\":{\"194\":{},\"219\":{},\"367\":{},\"382\":{},\"416\":{},\"441\":{},\"487\":{},\"513\":{},\"565\":{},\"591\":{},\"671\":{},\"698\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":48,\"name\":{\"53\":{},\"81\":{},\"456\":{},\"465\":{},\"552\":{},\"646\":{},\"750\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":280,\"name\":{\"442\":{},\"488\":{},\"514\":{},\"566\":{},\"592\":{},\"672\":{},\"699\":{}},\"comment\":{}}],[\"isflags\",{\"_index\":102,\"name\":{\"131\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":68,\"name\":{\"80\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":319,\"name\":{\"560\":{},\"593\":{},\"666\":{},\"700\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":153,\"name\":{\"206\":{},\"230\":{},\"434\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":152,\"name\":{\"205\":{},\"229\":{},\"433\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":151,\"name\":{\"204\":{},\"228\":{},\"432\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":150,\"name\":{\"203\":{},\"227\":{},\"431\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":262,\"name\":{\"404\":{}},\"comment\":{}}],[\"js\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"key\",{\"_index\":92,\"name\":{\"111\":{},\"117\":{}},\"comment\":{}}],[\"keys\",{\"_index\":247,\"name\":{\"375\":{},\"401\":{}},\"comment\":{}}],[\"kind\",{\"_index\":83,\"name\":{\"97\":{},\"100\":{},\"104\":{},\"106\":{},\"110\":{},\"116\":{},\"122\":{},\"125\":{},\"263\":{}},\"comment\":{}}],[\"label\",{\"_index\":63,\"name\":{\"74\":{},\"77\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":188,\"name\":{\"270\":{}},\"comment\":{}}],[\"length\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"limit\",{\"_index\":313,\"name\":{\"544\":{},\"638\":{},\"742\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":312,\"name\":{\"542\":{},\"636\":{},\"740\":{}},\"comment\":{}}],[\"link\",{\"_index\":309,\"name\":{\"538\":{},\"628\":{},\"734\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":50,\"name\":{\"55\":{},\"467\":{},\"553\":{},\"647\":{},\"751\":{}},\"comment\":{}}],[\"literal\",{\"_index\":114,\"name\":{\"160\":{},\"181\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":42,\"name\":{\"47\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":47,\"name\":{\"52\":{},\"463\":{},\"551\":{},\"645\":{},\"749\":{}},\"comment\":{}}],[\"makegreedy\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"map\",{\"_index\":259,\"name\":{\"396\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":43,\"name\":{\"48\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":51,\"name\":{\"56\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":30,\"name\":{\"35\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":260,\"name\":{\"397\":{}},\"comment\":{}}],[\"max\",{\"_index\":190,\"name\":{\"272\":{},\"407\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":117,\"name\":{\"164\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":127,\"name\":{\"177\":{},\"184\":{},\"340\":{},\"443\":{},\"473\":{},\"489\":{},\"512\":{},\"556\":{},\"567\":{},\"590\":{},\"650\":{},\"673\":{},\"697\":{},\"754\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":338,\"name\":{\"655\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":163,\"name\":{\"218\":{},\"414\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":120,\"name\":{\"168\":{},\"477\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":290,\"name\":{\"478\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":235,\"name\":{\"360\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":65,\"name\":{\"76\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"min\",{\"_index\":189,\"name\":{\"271\":{},\"406\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":304,\"name\":{\"529\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":108,\"name\":{\"137\":{},\"148\":{},\"157\":{}},\"comment\":{}}],[\"name\",{\"_index\":220,\"name\":{\"331\":{},\"345\":{}},\"comment\":{}}],[\"negate\",{\"_index\":84,\"name\":{\"98\":{},\"107\":{},\"114\":{},\"120\":{},\"123\":{},\"126\":{},\"264\":{},\"426\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":345,\"name\":{\"683\":{},\"726\":{}},\"comment\":{}}],[\"node\",{\"_index\":182,\"name\":{\"253\":{},\"535\":{},\"624\":{},\"730\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":285,\"name\":{\"458\":{},\"541\":{},\"635\":{},\"739\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":67,\"name\":{\"79\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":293,\"name\":{\"483\":{},\"517\":{},\"562\":{},\"597\":{},\"668\":{},\"704\":{}},\"comment\":{}}],[\"nonunicodesetsflags\",{\"_index\":112,\"name\":{\"141\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":197,\"name\":{\"294\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":322,\"name\":{\"594\":{},\"701\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":221,\"name\":{\"332\":{},\"347\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":202,\"name\":{\"299\":{},\"314\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":203,\"name\":{\"300\":{},\"315\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":222,\"name\":{\"333\":{},\"348\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":204,\"name\":{\"301\":{},\"316\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":205,\"name\":{\"302\":{},\"317\":{}},\"comment\":{}}],[\"onchange\",{\"_index\":233,\"name\":{\"357\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":223,\"name\":{\"334\":{},\"349\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":206,\"name\":{\"303\":{},\"318\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":207,\"name\":{\"304\":{},\"319\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":224,\"name\":{\"335\":{},\"350\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":208,\"name\":{\"305\":{},\"320\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":209,\"name\":{\"306\":{},\"321\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":225,\"name\":{\"336\":{},\"351\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":210,\"name\":{\"307\":{},\"322\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":211,\"name\":{\"308\":{},\"323\":{}},\"comment\":{}}],[\"onpassstart\",{\"_index\":232,\"name\":{\"355\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":226,\"name\":{\"337\":{},\"352\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":212,\"name\":{\"309\":{},\"324\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":213,\"name\":{\"310\":{},\"325\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":227,\"name\":{\"338\":{},\"353\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":214,\"name\":{\"311\":{},\"326\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":215,\"name\":{\"312\":{},\"327\":{}},\"comment\":{}}],[\"options\",{\"_index\":316,\"name\":{\"555\":{},\"649\":{},\"753\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":73,\"name\":{\"87\":{}},\"comment\":{}}],[\"out\",{\"_index\":308,\"name\":{\"534\":{},\"537\":{},\"620\":{},\"626\":{},\"728\":{},\"732\":{}},\"comment\":{}}],[\"parent\",{\"_index\":181,\"name\":{\"252\":{},\"256\":{},\"261\":{},\"268\":{},\"276\":{},\"281\":{},\"286\":{},\"291\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":124,\"name\":{\"174\":{}},\"comment\":{}}],[\"parse\",{\"_index\":132,\"name\":{\"185\":{}},\"comment\":{}}],[\"parsecharset\",{\"_index\":135,\"name\":{\"188\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":133,\"name\":{\"186\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":116,\"name\":{\"163\":{}},\"comment\":{}}],[\"parser\",{\"_index\":128,\"name\":{\"178\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":125,\"name\":{\"175\":{}},\"comment\":{}}],[\"parseunicodeset\",{\"_index\":134,\"name\":{\"187\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":123,\"name\":{\"172\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":173,\"name\":{\"244\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":174,\"name\":{\"245\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":87,\"name\":{\"102\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":306,\"name\":{\"531\":{},\"616\":{},\"723\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":325,\"name\":{\"609\":{},\"718\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":326,\"name\":{\"610\":{},\"719\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":90,\"name\":{\"108\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":187,\"name\":{\"266\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":328,\"name\":{\"613\":{},\"720\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":269,\"name\":{\"415\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":332,\"name\":{\"623\":{},\"634\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":240,\"name\":{\"366\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":291,\"name\":{\"479\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":317,\"name\":{\"557\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":344,\"name\":{\"663\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":307,\"name\":{\"533\":{},\"619\":{},\"727\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":278,\"name\":{\"439\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":348,\"name\":{\"760\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":122,\"name\":{\"171\":{}},\"comment\":{}}],[\"remove\",{\"_index\":13,\"name\":{\"14\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":303,\"name\":{\"528\":{},\"615\":{},\"722\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"resize\",{\"_index\":274,\"name\":{\"425\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":331,\"name\":{\"622\":{},\"633\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":346,\"name\":{\"725\":{}},\"comment\":{}}],[\"set\",{\"_index\":253,\"name\":{\"389\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":255,\"name\":{\"391\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":198,\"name\":{\"295\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":254,\"name\":{\"390\":{}},\"comment\":{}}],[\"sets\",{\"_index\":238,\"name\":{\"364\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":199,\"name\":{\"296\":{}},\"comment\":{}}],[\"shape\",{\"_index\":64,\"name\":{\"75\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":229,\"name\":{\"341\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":71,\"name\":{\"84\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":21,\"name\":{\"26\":{},\"167\":{}},\"comment\":{}}],[\"size\",{\"_index\":241,\"name\":{\"368\":{},\"383\":{},\"418\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"source\",{\"_index\":115,\"name\":{\"161\":{},\"258\":{},\"265\":{},\"273\":{},\"278\":{},\"283\":{},\"288\":{},\"293\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":177,\"name\":{\"248\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":96,\"name\":{\"121\":{}},\"comment\":{}}],[\"split\",{\"_index\":239,\"name\":{\"365\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":284,\"name\":{\"455\":{}},\"comment\":{}}],[\"start\",{\"_index\":178,\"name\":{\"249\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":292,\"name\":{\"482\":{},\"515\":{},\"561\":{},\"595\":{},\"667\":{},\"702\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":109,\"name\":{\"138\":{},\"149\":{},\"158\":{}},\"comment\":{}}],[\"stringpropertycharacterset\",{\"_index\":95,\"name\":{\"115\":{}},\"comment\":{}}],[\"strings\",{\"_index\":94,\"name\":{\"113\":{},\"119\":{}},\"comment\":{}}],[\"stringset\",{\"_index\":137,\"name\":{\"190\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":295,\"name\":{\"486\":{},\"527\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":329,\"name\":{\"617\":{},\"724\":{}},\"comment\":{}}],[\"test\",{\"_index\":281,\"name\":{\"444\":{},\"490\":{},\"519\":{},\"568\":{},\"600\":{},\"674\":{},\"707\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"tocharset\",{\"_index\":167,\"name\":{\"237\":{}},\"comment\":{}}],[\"todot\",{\"_index\":53,\"name\":{\"58\":{},\"449\":{},\"495\":{},\"524\":{},\"573\":{},\"605\":{},\"679\":{},\"712\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":54,\"name\":{\"59\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":55,\"name\":{\"60\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":98,\"name\":{\"127\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":99,\"name\":{\"128\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":60,\"name\":{\"67\":{},\"450\":{},\"496\":{},\"525\":{},\"574\":{},\"606\":{},\"680\":{},\"713\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":61,\"name\":{\"68\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":340,\"name\":{\"657\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":271,\"name\":{\"421\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":74,\"name\":{\"88\":{},\"448\":{},\"494\":{},\"523\":{},\"572\":{},\"604\":{},\"678\":{},\"711\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":289,\"name\":{\"476\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":75,\"name\":{\"89\":{},\"420\":{},\"447\":{},\"493\":{},\"522\":{},\"571\":{},\"603\":{},\"677\":{},\"710\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":272,\"name\":{\"422\":{}},\"comment\":{}}],[\"transform\",{\"_index\":218,\"name\":{\"329\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":228,\"name\":{\"339\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":219,\"name\":{\"330\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{},\"346\":{}},\"comment\":{}}],[\"transformevents\",{\"_index\":231,\"name\":{\"354\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":234,\"name\":{\"359\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":288,\"name\":{\"472\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":287,\"name\":{\"471\":{},\"474\":{},\"497\":{},\"516\":{},\"575\":{},\"596\":{},\"681\":{},\"703\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":72,\"name\":{\"85\":{}},\"comment\":{}}],[\"type\",{\"_index\":184,\"name\":{\"255\":{},\"260\":{},\"267\":{},\"275\":{},\"280\":{},\"285\":{},\"290\":{}},\"comment\":{}}],[\"uncheckedflags\",{\"_index\":103,\"name\":{\"132\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":110,\"name\":{\"139\":{},\"142\":{},\"151\":{}},\"comment\":{}}],[\"unicodeset\",{\"_index\":159,\"name\":{\"212\":{}},\"comment\":{}}],[\"unicodesets\",{\"_index\":111,\"name\":{\"140\":{},\"143\":{},\"152\":{}},\"comment\":{}}],[\"unicodesetsflags\",{\"_index\":113,\"name\":{\"150\":{}},\"comment\":{}}],[\"union\",{\"_index\":147,\"name\":{\"200\":{},\"224\":{},\"427\":{},\"611\":{},\"714\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":327,\"name\":{\"612\":{},\"715\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":193,\"name\":{\"279\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":336,\"name\":{\"653\":{},\"757\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":310,\"name\":{\"539\":{},\"629\":{},\"735\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":311,\"name\":{\"540\":{},\"630\":{},\"736\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":334,\"name\":{\"632\":{},\"738\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":333,\"name\":{\"631\":{},\"737\":{}},\"comment\":{}}],[\"value\",{\"_index\":93,\"name\":{\"112\":{},\"118\":{}},\"comment\":{}}],[\"values\",{\"_index\":248,\"name\":{\"376\":{},\"402\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":200,\"name\":{\"297\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":201,\"name\":{\"298\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":216,\"name\":{\"313\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"without\",{\"_index\":149,\"name\":{\"202\":{},\"226\":{},\"429\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":157,\"name\":{\"210\":{},\"614\":{},\"721\":{}},\"comment\":{}}],[\"withoutsinglecharacters\",{\"_index\":156,\"name\":{\"209\":{}},\"comment\":{}}],[\"word\",{\"_index\":277,\"name\":{\"438\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":82,\"name\":{\"96\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":97,\"name\":{\"124\":{}},\"comment\":{}}],[\"words\",{\"_index\":168,\"name\":{\"239\":{},\"445\":{},\"491\":{},\"521\":{},\"569\":{},\"602\":{},\"675\":{},\"709\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":347,\"name\":{\"759\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":144,\"name\":{\"197\":{},\"221\":{},\"446\":{},\"492\":{},\"520\":{},\"570\":{},\"601\":{},\"676\":{},\"708\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":175,\"name\":{\"246\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":176,\"name\":{\"247\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/dev/assets/style.css b/docs/dev/assets/style.css new file mode 100644 index 00000000..18b4f8fe --- /dev/null +++ b/docs/dev/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='10' height='10'><path fill-opacity='0' stroke='%23000' stroke-width='10' d='m43,35H5v60h60V57M45,5v10l10,10-30,30 20,20 30-30 10,10h10V5z'/></svg>"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' width='10' height='10'><path fill-opacity='0' stroke='%23fff' stroke-width='10' d='m43,35H5v60h60V57M45,5v10l10,10-30,30 20,20 30-30 10,10h10V5z'/></svg>"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/dev/classes/CharBase.html b/docs/dev/classes/CharBase.html new file mode 100644 index 00000000..d109234b --- /dev/null +++ b/docs/dev/classes/CharBase.html @@ -0,0 +1,206 @@ +<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CharBase | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+

Guarantees

    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+

Use case

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

    +
    +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/CharMap.html b/docs/dev/classes/CharMap.html new file mode 100644 index 00000000..7966eeac --- /dev/null +++ b/docs/dev/classes/CharMap.html @@ -0,0 +1,587 @@ +CharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
    +
  • get entryCount(): number
  • +
  • +

    The number of entires in this map.

    +

    This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

    +

    This is equivalent to [...this.entries()].length.

    +
    +

    Returns number

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this map is empty.

    +

    This is equivalent to this.size === 0 and this.entryCount === 0.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    The number of characters in this map. This is different from entryCount.

    +

    This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns IterableIterator<[CharRange, T]>

    +
+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<CharRange>

    +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<T>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/CharSet.html b/docs/dev/classes/CharSet.html new file mode 100644 index 00000000..f6718229 --- /dev/null +++ b/docs/dev/classes/CharSet.html @@ -0,0 +1,630 @@ +CharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

    +
+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +
    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      char: Char
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      range: CharRange
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/CombinedTransformer.html b/docs/dev/classes/CombinedTransformer.html new file mode 100644 index 00000000..b8b51906 --- /dev/null +++ b/docs/dev/classes/CombinedTransformer.html @@ -0,0 +1,275 @@ +CombinedTransformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CombinedTransformer

+
+

A transformer that runs all given transformers in sequentially order.

+

The combined transformer is a special transformer in that the transform function knows about it.

+
+
+
+

Hierarchy

+
    +
  • CombinedTransformer
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
name: "CombinedTransformer" = "CombinedTransformer"
+

An optional name useful for diagnostics.

+
+
+
+ +
transformers: readonly Transformer[]
+

The transformers that will be applied in order.

+

Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a +CombinedTransformer, then its transformers will be used instead (think of it as flattening combined +transformers).

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/DFA-1.html b/docs/dev/classes/DFA-1.html new file mode 100644 index 00000000..204d401a --- /dev/null +++ b/docs/dev/classes/DFA-1.html @@ -0,0 +1,701 @@ +DFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

    +
+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/DFA.Builder.html b/docs/dev/classes/DFA.Builder.html new file mode 100644 index 00000000..fbb6274a --- /dev/null +++ b/docs/dev/classes/DFA.Builder.html @@ -0,0 +1,247 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/DFA.LimitedNodeFactory.html b/docs/dev/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..66d404fb --- /dev/null +++ b/docs/dev/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,172 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/DFA.Node.html b/docs/dev/classes/DFA.Node.html new file mode 100644 index 00000000..145bb3cb --- /dev/null +++ b/docs/dev/classes/DFA.Node.html @@ -0,0 +1,188 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/ENFA-1.html b/docs/dev/classes/ENFA-1.html new file mode 100644 index 00000000..63f1d414 --- /dev/null +++ b/docs/dev/classes/ENFA-1.html @@ -0,0 +1,940 @@ +ENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    ENFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

    +
+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    ENFA

    +
+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/ENFA.Builder.html b/docs/dev/classes/ENFA.Builder.html new file mode 100644 index 00000000..b31d4246 --- /dev/null +++ b/docs/dev/classes/ENFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/ENFA.LimitedNodeFactory.html b/docs/dev/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..9f8bc0df --- /dev/null +++ b/docs/dev/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/ENFA.Node.html b/docs/dev/classes/ENFA.Node.html new file mode 100644 index 00000000..f0fd0559 --- /dev/null +++ b/docs/dev/classes/ENFA.Node.html @@ -0,0 +1,304 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/FAIterators.MapFABuilder.html b/docs/dev/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..899fb8c1 --- /dev/null +++ b/docs/dev/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,272 @@ +MapFABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/classes/JS.Parser.html b/docs/dev/classes/JS.Parser.html new file mode 100644 index 00000000..eec9f2d7 --- /dev/null +++ b/docs/dev/classes/JS.Parser.html @@ -0,0 +1,275 @@ +Parser | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +
flags: Required<Flags>
+

This contains the same flags as ast.flags but with a better type.

+
+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

    +
+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    If a string is given as the literal, it must be of the form /pattern/flags. If possible, use the +object form with Literal instead.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: string | Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
    +

    Returns Parser

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/classes/JS.StringSet.html b/docs/dev/classes/JS.StringSet.html new file mode 100644 index 00000000..3c127ccc --- /dev/null +++ b/docs/dev/classes/JS.StringSet.html @@ -0,0 +1,465 @@ +StringSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class StringSet

+
+

A set of words.

+

Words are stored as a sorted list of canonicalized words. The actual value of the set is wordSets.

+
+
+
+

Hierarchy

+
    +
  • StringSet
+
+
+
+ +
+
+

Properties

+
+ +
empty: StringSet = ...
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if this set contains the empty word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get hasSingleCharacter(): boolean
  • +
  • +

    true if this set contains at least one single-character word.

    +

    This is equivalent to this.getSingleCharacter() !== undefined.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if this set is empty.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    The words of this set with toCharSet applied to each character.

    +

    Word sets are guaranteed to be sorted by ascending length.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set is equal to the given set.

    +

    Equality is defined as the wordSets of both sets being the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
    + +
  • +

    Returns a set of all single-character words in this set or undefined if this set contains no single-character +words.

    +
    +

    Returns undefined | CharSet

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns whether this set is compatible with the given set. Compatibility is defined as follows:

    +
      +
    1. The empty set is compatible with all sets.
    2. +
    3. Sets with different case folding are incompatible.
    4. +
    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this ⊂ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊆ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊇ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the union of all given sets.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns this set without the strings of the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes the empty word from this set.

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes all single-character words from this set.

    +
    +

    Returns StringSet

    +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/classes/JS.UnicodeSet.html b/docs/dev/classes/JS.UnicodeSet.html new file mode 100644 index 00000000..75d52096 --- /dev/null +++ b/docs/dev/classes/JS.UnicodeSet.html @@ -0,0 +1,435 @@ +UnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class UnicodeSet

+
+

A mathematical set of characters and strings.

+

Despite the name, the characters in this set are not necessarily Unicode characters. +So chars.maximum is not necessarily 0x10FFFF.

+

The set is represented as a union of a CharSet and a StringSet.

+
+
+
+

Hierarchy

+
    +
  • UnicodeSet
+
+
+
+ +
+
+

Properties

+
+ +
accept: StringSet
+

A sorted set of words.

+

In addition to the usual guarantees of StringSet, this set is also guaranteed to not contain any +single-character words.

+
+
+
+ +
chars: CharSet
+

All single characters in the set.

+
+
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if the set contains the empty word.

    +

    This is equivalent to this.accept.hasEmptyWord.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if the set is empty (=accepts no words).

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get maximum(): Char
  • +
  • +

    The maximum character in the set.

    +

    This is equivalent to this.chars.maximum.

    +
    +

    Returns Char

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    All word sets accepted by this set.

    +

    Word sets are guaranteed to be sorted by descending length and code points. This means that word sets are in +the order in which the ECMAScript RegExp engine would try matching them.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/classes/MaxCharacterError.html b/docs/dev/classes/MaxCharacterError.html new file mode 100644 index 00000000..2a21762c --- /dev/null +++ b/docs/dev/classes/MaxCharacterError.html @@ -0,0 +1,161 @@ +MaxCharacterError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      Optional kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/NFA-1.html b/docs/dev/classes/NFA-1.html new file mode 100644 index 00000000..537affc2 --- /dev/null +++ b/docs/dev/classes/NFA-1.html @@ -0,0 +1,941 @@ +NFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    NFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

    +
+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    NFA

    +
+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/NFA.Builder.html b/docs/dev/classes/NFA.Builder.html new file mode 100644 index 00000000..eda955cf --- /dev/null +++ b/docs/dev/classes/NFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/NFA.LimitedNodeFactory.html b/docs/dev/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..32d90745 --- /dev/null +++ b/docs/dev/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/NFA.Node.html b/docs/dev/classes/NFA.Node.html new file mode 100644 index 00000000..0624a8e5 --- /dev/null +++ b/docs/dev/classes/NFA.Node.html @@ -0,0 +1,217 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/classes/TooManyNodesError.html b/docs/dev/classes/TooManyNodesError.html new file mode 100644 index 00000000..5ec6ef9b --- /dev/null +++ b/docs/dev/classes/TooManyNodesError.html @@ -0,0 +1,162 @@ +TooManyNodesError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.approximateRejectingWordSet.html b/docs/dev/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 00000000..b3337865 --- /dev/null +++ b/docs/dev/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,164 @@ +approximateRejectingWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.canReachFinal.html b/docs/dev/functions/FAIterators.canReachFinal.html new file mode 100644 index 00000000..a86ece3b --- /dev/null +++ b/docs/dev/functions/FAIterators.canReachFinal.html @@ -0,0 +1,153 @@ +canReachFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.count.html b/docs/dev/functions/FAIterators.count.html new file mode 100644 index 00000000..a5d08333 --- /dev/null +++ b/docs/dev/functions/FAIterators.count.html @@ -0,0 +1,153 @@ +count | refa - v0.12.1
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.ensureStableOut.html b/docs/dev/functions/FAIterators.ensureStableOut.html new file mode 100644 index 00000000..a3d0c8a7 --- /dev/null +++ b/docs/dev/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,155 @@ +ensureStableOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.filterOutIter.html b/docs/dev/functions/FAIterators.filterOutIter.html new file mode 100644 index 00000000..ea297817 --- /dev/null +++ b/docs/dev/functions/FAIterators.filterOutIter.html @@ -0,0 +1,169 @@ +filterOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.forEach.html b/docs/dev/functions/FAIterators.forEach.html new file mode 100644 index 00000000..d57f26b1 --- /dev/null +++ b/docs/dev/functions/FAIterators.forEach.html @@ -0,0 +1,169 @@ +forEach | refa - v0.12.1
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
      +
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.fromWordSets.html b/docs/dev/functions/FAIterators.fromWordSets.html new file mode 100644 index 00000000..3459514c --- /dev/null +++ b/docs/dev/functions/FAIterators.fromWordSets.html @@ -0,0 +1,161 @@ +fromWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.fromWords.html b/docs/dev/functions/FAIterators.fromWords.html new file mode 100644 index 00000000..81f974c9 --- /dev/null +++ b/docs/dev/functions/FAIterators.fromWords.html @@ -0,0 +1,185 @@ +fromWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
      +
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
      +
    • +
    • +
      maxCharacter: Char
      +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.hasCycle.html b/docs/dev/functions/FAIterators.hasCycle.html new file mode 100644 index 00000000..24c9d41e --- /dev/null +++ b/docs/dev/functions/FAIterators.hasCycle.html @@ -0,0 +1,153 @@ +hasCycle | refa - v0.12.1
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.intersection.html b/docs/dev/functions/FAIterators.intersection.html new file mode 100644 index 00000000..b8f5258f --- /dev/null +++ b/docs/dev/functions/FAIterators.intersection.html @@ -0,0 +1,165 @@ +intersection | refa - v0.12.1
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.iterateStates.html b/docs/dev/functions/FAIterators.iterateStates.html new file mode 100644 index 00000000..76d71a55 --- /dev/null +++ b/docs/dev/functions/FAIterators.iterateStates.html @@ -0,0 +1,154 @@ +iterateStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.iterateWordSets.html b/docs/dev/functions/FAIterators.iterateWordSets.html new file mode 100644 index 00000000..7c9e873d --- /dev/null +++ b/docs/dev/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,155 @@ +iterateWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.languageIsFinite.html b/docs/dev/functions/FAIterators.languageIsFinite.html new file mode 100644 index 00000000..4c9f5835 --- /dev/null +++ b/docs/dev/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,153 @@ +languageIsFinite | refa - v0.12.1
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.makeDeterministic.html b/docs/dev/functions/FAIterators.makeDeterministic.html new file mode 100644 index 00000000..d7a274c7 --- /dev/null +++ b/docs/dev/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,159 @@ +makeDeterministic | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
    + +
  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      B

    • +
    • +

      I

    +
    +

    Parameters

    +
    +

    Returns FAIterator<B, B>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.makeInitialFinal.html b/docs/dev/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 00000000..991e7563 --- /dev/null +++ b/docs/dev/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,156 @@ +makeInitialFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.makeInitialNonFinal.html b/docs/dev/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 00000000..426b49a9 --- /dev/null +++ b/docs/dev/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,156 @@ +makeInitialNonFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.mapOut.html b/docs/dev/functions/FAIterators.mapOut.html new file mode 100644 index 00000000..687d0722 --- /dev/null +++ b/docs/dev/functions/FAIterators.mapOut.html @@ -0,0 +1,171 @@ +mapOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.mapOutIter.html b/docs/dev/functions/FAIterators.mapOutIter.html new file mode 100644 index 00000000..81ebc85c --- /dev/null +++ b/docs/dev/functions/FAIterators.mapOutIter.html @@ -0,0 +1,171 @@ +mapOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.removeDeadStates.html b/docs/dev/functions/FAIterators.removeDeadStates.html new file mode 100644 index 00000000..acc5646e --- /dev/null +++ b/docs/dev/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,170 @@ +removeDeadStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: ((item: O) => S)
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.shortestAcceptingPath.html b/docs/dev/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 00000000..e6431b64 --- /dev/null +++ b/docs/dev/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,171 @@ +shortestAcceptingPath | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: ((item: T) => S)
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.shortestWordSet.html b/docs/dev/functions/FAIterators.shortestWordSet.html new file mode 100644 index 00000000..4efbc8e7 --- /dev/null +++ b/docs/dev/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,157 @@ +shortestWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.toDot.html b/docs/dev/functions/FAIterators.toDot.html new file mode 100644 index 00000000..4bf79d58 --- /dev/null +++ b/docs/dev/functions/FAIterators.toDot.html @@ -0,0 +1,153 @@ +toDot | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toDot

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.toMermaid.html b/docs/dev/functions/FAIterators.toMermaid.html new file mode 100644 index 00000000..167410fe --- /dev/null +++ b/docs/dev/functions/FAIterators.toMermaid.html @@ -0,0 +1,153 @@ +toMermaid | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toMermaid

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.toRegex.html b/docs/dev/functions/FAIterators.toRegex.html new file mode 100644 index 00000000..4f9afbb0 --- /dev/null +++ b/docs/dev/functions/FAIterators.toRegex.html @@ -0,0 +1,157 @@ +toRegex | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.toString.html b/docs/dev/functions/FAIterators.toString.html new file mode 100644 index 00000000..ee8bf8a0 --- /dev/null +++ b/docs/dev/functions/FAIterators.toString.html @@ -0,0 +1,190 @@ +toString | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: ((value: T) => string) = String
      +
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
      +
    +

    Returns string

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.withGetOut.html b/docs/dev/functions/FAIterators.withGetOut.html new file mode 100644 index 00000000..5106078d --- /dev/null +++ b/docs/dev/functions/FAIterators.withGetOut.html @@ -0,0 +1,174 @@ +withGetOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      getOut: ((state: S) => T)
      +
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
      +
    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.withInitial.html b/docs/dev/functions/FAIterators.withInitial.html new file mode 100644 index 00000000..bd04fa78 --- /dev/null +++ b/docs/dev/functions/FAIterators.withInitial.html @@ -0,0 +1,158 @@ +withInitial | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/FAIterators.withIsFinal.html b/docs/dev/functions/FAIterators.withIsFinal.html new file mode 100644 index 00000000..010a7f99 --- /dev/null +++ b/docs/dev/functions/FAIterators.withIsFinal.html @@ -0,0 +1,169 @@ +withIsFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.createAssertion.html b/docs/dev/functions/JS.createAssertion.html new file mode 100644 index 00000000..d4a0535b --- /dev/null +++ b/docs/dev/functions/JS.createAssertion.html @@ -0,0 +1,142 @@ +createAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.createCharSet.html b/docs/dev/functions/JS.createCharSet.html new file mode 100644 index 00000000..f9d1d0a8 --- /dev/null +++ b/docs/dev/functions/JS.createCharSet.html @@ -0,0 +1,151 @@ +createCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.getCharCaseFolding.html b/docs/dev/functions/JS.getCharCaseFolding.html new file mode 100644 index 00000000..820ecf01 --- /dev/null +++ b/docs/dev/functions/JS.getCharCaseFolding.html @@ -0,0 +1,150 @@ +getCharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getCharCaseFolding

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.isFlags.html b/docs/dev/functions/JS.isFlags.html new file mode 100644 index 00000000..5a459c45 --- /dev/null +++ b/docs/dev/functions/JS.isFlags.html @@ -0,0 +1,144 @@ +isFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isFlags

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.parseCharSet.html b/docs/dev/functions/JS.parseCharSet.html new file mode 100644 index 00000000..9212a19f --- /dev/null +++ b/docs/dev/functions/JS.parseCharSet.html @@ -0,0 +1,142 @@ +parseCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseCharSet

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      element: ClassRangesCharacterClass | CharacterClassRange | Character | AnyCharacterSet | EscapeCharacterSet | CharacterUnicodePropertyCharacterSet
    • +
    • +
      flags: Readonly<Flags>
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.parseUnicodeSet.html b/docs/dev/functions/JS.parseUnicodeSet.html new file mode 100644 index 00000000..def39f62 --- /dev/null +++ b/docs/dev/functions/JS.parseUnicodeSet.html @@ -0,0 +1,142 @@ +parseUnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseUnicodeSet

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/JS.toLiteral.html b/docs/dev/functions/JS.toLiteral.html new file mode 100644 index 00000000..af445591 --- /dev/null +++ b/docs/dev/functions/JS.toLiteral.html @@ -0,0 +1,159 @@ +toLiteral | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toLiteral

+
+
    + +
  • +

    Converts the given AST or AST subtree into a JS literal.

    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to +builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +
    +

    Parameters

    +
    +

    Returns Literal

    +
  • + +
  • +
    +

    Parameters

    +
    +

    Returns Literal

+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.applyAssertions.html b/docs/dev/functions/Transformers.applyAssertions.html new file mode 100644 index 00000000..000a52a3 --- /dev/null +++ b/docs/dev/functions/Transformers.applyAssertions.html @@ -0,0 +1,129 @@ +applyAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.factorOut.html b/docs/dev/functions/Transformers.factorOut.html new file mode 100644 index 00000000..e8cdc94a --- /dev/null +++ b/docs/dev/functions/Transformers.factorOut.html @@ -0,0 +1,137 @@ +factorOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.inline.html b/docs/dev/functions/Transformers.inline.html new file mode 100644 index 00000000..128b0368 --- /dev/null +++ b/docs/dev/functions/Transformers.inline.html @@ -0,0 +1,139 @@ +inline | refa - v0.12.1
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.makeGreedy.html b/docs/dev/functions/Transformers.makeGreedy.html new file mode 100644 index 00000000..1587627d --- /dev/null +++ b/docs/dev/functions/Transformers.makeGreedy.html @@ -0,0 +1,129 @@ +makeGreedy | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeGreedy

+
+
    + +
  • +

    This transformer will try to make quantifiers greedy whenever possible.

    +

    Note: If ignoreOrder is true, then quantifiers will always be made greedy.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.mergeWithQuantifier.html b/docs/dev/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 00000000..dd34cf49 --- /dev/null +++ b/docs/dev/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,133 @@ +mergeWithQuantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.moveUpEmpty.html b/docs/dev/functions/Transformers.moveUpEmpty.html new file mode 100644 index 00000000..9fe96526 --- /dev/null +++ b/docs/dev/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,137 @@ +moveUpEmpty | refa - v0.12.1
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.nestedQuantifiers.html b/docs/dev/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 00000000..dfa17651 --- /dev/null +++ b/docs/dev/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,137 @@ +nestedQuantifiers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.patternEdgeAssertions.html b/docs/dev/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 00000000..655ca514 --- /dev/null +++ b/docs/dev/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,136 @@ +patternEdgeAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.removeDeadBranches.html b/docs/dev/functions/Transformers.removeDeadBranches.html new file mode 100644 index 00000000..505eee4e --- /dev/null +++ b/docs/dev/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,133 @@ +removeDeadBranches | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.removeUnnecessaryAssertions.html b/docs/dev/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 00000000..33c3270d --- /dev/null +++ b/docs/dev/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,128 @@ +removeUnnecessaryAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.replaceAssertions.html b/docs/dev/functions/Transformers.replaceAssertions.html new file mode 100644 index 00000000..29a4e185 --- /dev/null +++ b/docs/dev/functions/Transformers.replaceAssertions.html @@ -0,0 +1,128 @@ +replaceAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.simplify.html b/docs/dev/functions/Transformers.simplify.html new file mode 100644 index 00000000..9c8d7481 --- /dev/null +++ b/docs/dev/functions/Transformers.simplify.html @@ -0,0 +1,134 @@ +simplify | refa - v0.12.1
+
+ +
+
+
+
+ +

Function simplify

+
+
    + +
  • +

    This transformer is a combined transformer with the goal of simplifying the AST as much as possible without +changing the semantics.

    +

    The main purpose of this transformer is to provide a stable API. The specific functionality of individual +transformers may change over time, and transformers may depend on each other. This transformer will always +provide the same functionality. Namely, it will always simplify the AST.

    +

    As with all transformers, creation option can be provided. Depending on the options, a different set of +underlying transformers may be used.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.sortAssertions.html b/docs/dev/functions/Transformers.sortAssertions.html new file mode 100644 index 00000000..d2e79533 --- /dev/null +++ b/docs/dev/functions/Transformers.sortAssertions.html @@ -0,0 +1,130 @@ +sortAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Transformers.unionCharacters.html b/docs/dev/functions/Transformers.unionCharacters.html new file mode 100644 index 00000000..ad9a9273 --- /dev/null +++ b/docs/dev/functions/Transformers.unionCharacters.html @@ -0,0 +1,130 @@ +unionCharacters | refa - v0.12.1
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Words.fromStringToUTF16.html b/docs/dev/functions/Words.fromStringToUTF16.html new file mode 100644 index 00000000..414d6f5a --- /dev/null +++ b/docs/dev/functions/Words.fromStringToUTF16.html @@ -0,0 +1,120 @@ +fromStringToUTF16 | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.fromStringToUnicode.html b/docs/dev/functions/Words.fromStringToUnicode.html new file mode 100644 index 00000000..1874ee6b --- /dev/null +++ b/docs/dev/functions/Words.fromStringToUnicode.html @@ -0,0 +1,120 @@ +fromStringToUnicode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.fromUTF16ToString.html b/docs/dev/functions/Words.fromUTF16ToString.html new file mode 100644 index 00000000..9f594a9a --- /dev/null +++ b/docs/dev/functions/Words.fromUTF16ToString.html @@ -0,0 +1,120 @@ +fromUTF16ToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.fromUnicodeToString.html b/docs/dev/functions/Words.fromUnicodeToString.html new file mode 100644 index 00000000..2143b1ce --- /dev/null +++ b/docs/dev/functions/Words.fromUnicodeToString.html @@ -0,0 +1,120 @@ +fromUnicodeToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.pickMostReadableCharacter.html b/docs/dev/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 00000000..c0532731 --- /dev/null +++ b/docs/dev/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,122 @@ +pickMostReadableCharacter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/Words.pickMostReadableWord.html b/docs/dev/functions/Words.pickMostReadableWord.html new file mode 100644 index 00000000..ccddd18b --- /dev/null +++ b/docs/dev/functions/Words.pickMostReadableWord.html @@ -0,0 +1,119 @@ +pickMostReadableWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.wordSetToWords.html b/docs/dev/functions/Words.wordSetToWords.html new file mode 100644 index 00000000..7af18334 --- /dev/null +++ b/docs/dev/functions/Words.wordSetToWords.html @@ -0,0 +1,121 @@ +wordSetToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/Words.wordSetsToWords.html b/docs/dev/functions/Words.wordSetsToWords.html new file mode 100644 index 00000000..67751640 --- /dev/null +++ b/docs/dev/functions/Words.wordSetsToWords.html @@ -0,0 +1,119 @@ +wordSetsToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/combineTransformers.html b/docs/dev/functions/combineTransformers.html new file mode 100644 index 00000000..ba57735f --- /dev/null +++ b/docs/dev/functions/combineTransformers.html @@ -0,0 +1,112 @@ +combineTransformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
    +

    Deprecated

    Use new CombinedTransformer(transformers) instead.

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/getIntersectionIterator.html b/docs/dev/functions/getIntersectionIterator.html new file mode 100644 index 00000000..1c9302db --- /dev/null +++ b/docs/dev/functions/getIntersectionIterator.html @@ -0,0 +1,121 @@ +getIntersectionIterator | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/functions/getIntersectionWordSets.html b/docs/dev/functions/getIntersectionWordSets.html new file mode 100644 index 00000000..101eb403 --- /dev/null +++ b/docs/dev/functions/getIntersectionWordSets.html @@ -0,0 +1,127 @@ +getIntersectionWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/getIntersectionWords.html b/docs/dev/functions/getIntersectionWords.html new file mode 100644 index 00000000..b7e5e8dc --- /dev/null +++ b/docs/dev/functions/getIntersectionWords.html @@ -0,0 +1,126 @@ +getIntersectionWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/isDisjointWith.html b/docs/dev/functions/isDisjointWith.html new file mode 100644 index 00000000..2bcab089 --- /dev/null +++ b/docs/dev/functions/isDisjointWith.html @@ -0,0 +1,124 @@ +isDisjointWith | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/setParent.html b/docs/dev/functions/setParent.html new file mode 100644 index 00000000..c68347e2 --- /dev/null +++ b/docs/dev/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
      +
    +

    Returns asserts node is T

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/setSource.html b/docs/dev/functions/setSource.html new file mode 100644 index 00000000..de22f07d --- /dev/null +++ b/docs/dev/functions/setSource.html @@ -0,0 +1,115 @@ +setSource | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/transform.html b/docs/dev/functions/transform.html new file mode 100644 index 00000000..a30fbd07 --- /dev/null +++ b/docs/dev/functions/transform.html @@ -0,0 +1,118 @@ +transform | refa - v0.12.1
+
+ +
+
+
+
+ +

Function transform

+
+
    + +
  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Note: This function knows about CombinedTransformer and will give it special treatment. Instead of applying +the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the +transformer, it does change which transformers the TransformEvents will see. Instead of seeing the combined +transformer, they will see the individual transformers.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParent<Expression>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/functions/visitAst.html b/docs/dev/functions/visitAst.html new file mode 100644 index 00000000..8d09a88a --- /dev/null +++ b/docs/dev/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/index.html b/docs/dev/index.html new file mode 100644 index 00000000..0ad09b8d --- /dev/null +++ b/docs/dev/index.html @@ -0,0 +1,247 @@ +refa - v0.12.1
+
+ +
+
+
+
+

refa - v0.12.1

+

Regular Expressions and Finite Automata (refa)

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+

About

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+

Installation

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+

Features

    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • AST transformations

    +
      +
    • Simplify and change the AST of a regex
    • +
    • Remove assertions
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+

RE AST format

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+

Universal characters

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+

General limitations

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+

Usage examples

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+

Testing whether a word is accepted

import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+

Finding the intersection of two JS RegExps

const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+

Finding the complement of a JS RegExp

const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+

Converting a JS RegExp to an NFA

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+

Backreferences

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+

Assertions

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The simplest transformer to remove assertions (among other things) is the simplify transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more.

+
import { JS, NFA, Transformers, transform } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' }

const modifiedExpression = transform(Transformers.simplify(), expression);
console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression);
console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples:

+
import { JS, Transformers, transform } from "refa";

function simplify(regex: RegExp): void {
const { expression } = JS.Parser.fromLiteral(regex).parse();

const simplifiedExpression = transform(Transformers.simplify(), expression);

const literal = JS.toLiteral(simplifiedExpression);
console.log(new RegExp(literal.source, literal.flags));
}

simplify(/\b(?!\d)\b\w+\b\s*\(/);
// => /(?<!\w)[A-Z_]\w*\s*\(/i
simplify(/(?:^|@)\b\w+\b/);
// => /(?:^|@)\w+(?!\w)/
simplify(/"""(?:(?!""").)*"""/s);
// => /"""(?:"{0,2}[^"])*"""/
simplify(/"""((?!""")(?:[^\\]|\\"))*"""/);
// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/
simplify(/<title>(?:(?!<\/title>).)*<\/title>/s);
// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/
simplify(/^```$.*?^```$/ms);
// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m +
+
+ Note + +

Transformers.simplify is very aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow NFA and ENFA to support many more regexes.

+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Alternation.html b/docs/dev/interfaces/Alternation.html new file mode 100644 index 00000000..4c513230 --- /dev/null +++ b/docs/dev/interfaces/Alternation.html @@ -0,0 +1,136 @@ +Alternation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Assertion.html b/docs/dev/interfaces/Assertion.html new file mode 100644 index 00000000..b1b860de --- /dev/null +++ b/docs/dev/interfaces/Assertion.html @@ -0,0 +1,146 @@ +Assertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/CharRange.html b/docs/dev/interfaces/CharRange.html new file mode 100644 index 00000000..3c7f7d93 --- /dev/null +++ b/docs/dev/interfaces/CharRange.html @@ -0,0 +1,134 @@ +CharRange | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/CharacterClass.html b/docs/dev/interfaces/CharacterClass.html new file mode 100644 index 00000000..828a6962 --- /dev/null +++ b/docs/dev/interfaces/CharacterClass.html @@ -0,0 +1,136 @@ +CharacterClass | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Concatenation.html b/docs/dev/interfaces/Concatenation.html new file mode 100644 index 00000000..c01ae127 --- /dev/null +++ b/docs/dev/interfaces/Concatenation.html @@ -0,0 +1,136 @@ +Concatenation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/DFA.Options.html b/docs/dev/interfaces/DFA.Options.html new file mode 100644 index 00000000..aa74c51f --- /dev/null +++ b/docs/dev/interfaces/DFA.Options.html @@ -0,0 +1,130 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/DFA.ReadonlyNode.html b/docs/dev/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..f73a3549 --- /dev/null +++ b/docs/dev/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,130 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/ENFA.FromRegexOptions.html b/docs/dev/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..c0d6d336 --- /dev/null +++ b/docs/dev/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/ENFA.Options.html b/docs/dev/interfaces/ENFA.Options.html new file mode 100644 index 00000000..1789da04 --- /dev/null +++ b/docs/dev/interfaces/ENFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/ENFA.ReadonlyNode.html b/docs/dev/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..a22f040f --- /dev/null +++ b/docs/dev/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,215 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Expression.html b/docs/dev/interfaces/Expression.html new file mode 100644 index 00000000..a186691b --- /dev/null +++ b/docs/dev/interfaces/Expression.html @@ -0,0 +1,136 @@ +Expression | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FABuilder.html b/docs/dev/interfaces/FABuilder.html new file mode 100644 index 00000000..6c41e958 --- /dev/null +++ b/docs/dev/interfaces/FABuilder.html @@ -0,0 +1,238 @@ +FABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

      +
+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterator.html b/docs/dev/interfaces/FAIterator.html new file mode 100644 index 00000000..ac00f2ee --- /dev/null +++ b/docs/dev/interfaces/FAIterator.html @@ -0,0 +1,203 @@ +FAIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

      +
      +

      See

      stableOut

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.MermaidEdge.html b/docs/dev/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 00000000..f07bbc2f --- /dev/null +++ b/docs/dev/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,162 @@ +MermaidEdge | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.MermaidNode.html b/docs/dev/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 00000000..c0e59828 --- /dev/null +++ b/docs/dev/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,162 @@ +MermaidNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.NodeInfo.html b/docs/dev/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 00000000..93d5c552 --- /dev/null +++ b/docs/dev/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,209 @@ +NodeInfo | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.SimplePrintOptions.html b/docs/dev/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 00000000..8dcd5d1c --- /dev/null +++ b/docs/dev/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,190 @@ +SimplePrintOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+
+
+

Default

false
+
+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      +
      +
      +

      Parameters

      +
        +
      • +
        transition: T
        +
      +

      Returns string

      +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.ToDotOptions.html b/docs/dev/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..f7c75291 --- /dev/null +++ b/docs/dev/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,218 @@ +ToDotOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FAIterators.ToMermaidOptions.html b/docs/dev/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 00000000..e3480eb1 --- /dev/null +++ b/docs/dev/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,205 @@ +ToMermaidOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/FiniteAutomaton.html b/docs/dev/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..d21bde1c --- /dev/null +++ b/docs/dev/interfaces/FiniteAutomaton.html @@ -0,0 +1,284 @@ +FiniteAutomaton | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

    +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.AnyCharacterSet.html b/docs/dev/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..2e78d64c --- /dev/null +++ b/docs/dev/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,153 @@ +AnyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.CharCaseFolding.html b/docs/dev/interfaces/JS.CharCaseFolding.html new file mode 100644 index 00000000..27383d5c --- /dev/null +++ b/docs/dev/interfaces/JS.CharCaseFolding.html @@ -0,0 +1,201 @@ +CharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharCaseFolding

+
+

A set of functions that can be used to perform case-insensitive matching.

+

It must fulfill the following conditions:

+
    +
  1. canonicalize must be idempotent, i.e. canonicalize(canonicalize(char)) === canonicalize(char).
  2. +
  3. toCharSet(canonicalize(a)) is the set of all characters c such that canonicalize(a) === canonicalize(c).
  4. +
+
+
+
+

Hierarchy

+
    +
  • CharCaseFolding
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
canonicalize?: ((char: Char) => Char)
+
+

Type declaration

+
    +
  • +
      +
    • (char: Char): Char
    • +
    • +

      The canonicalization function. This typically maps characters to their lowercase form.

      +

      If no function is given, then the identity function is used. This also implies that toCharSet must return a +set containing only the given character.

      +
      +
      +

      Parameters

      +
      +

      Returns Char

      +
      +

      Default

      char => char
      +
      +
+
+ +
toCharSet: ((char: Char) => CharSet)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.CharacterPropertyCharacterSet.html b/docs/dev/interfaces/JS.CharacterPropertyCharacterSet.html new file mode 100644 index 00000000..6dad03f7 --- /dev/null +++ b/docs/dev/interfaces/JS.CharacterPropertyCharacterSet.html @@ -0,0 +1,173 @@ +CharacterPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterPropertyCharacterSet

+
+

Hierarchy

+
    +
  • CharacterPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
strings: false
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.DigitCharacterSet.html b/docs/dev/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..9ee673bd --- /dev/null +++ b/docs/dev/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,158 @@ +DigitCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.Literal.html b/docs/dev/interfaces/JS.Literal.html new file mode 100644 index 00000000..d2f9ffc7 --- /dev/null +++ b/docs/dev/interfaces/JS.Literal.html @@ -0,0 +1,164 @@ +Literal | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.NonUnicodeSetsFlags.html b/docs/dev/interfaces/JS.NonUnicodeSetsFlags.html new file mode 100644 index 00000000..3e2e2048 --- /dev/null +++ b/docs/dev/interfaces/JS.NonUnicodeSetsFlags.html @@ -0,0 +1,234 @@ +NonUnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NonUnicodeSetsFlags

+
+

A partial set of non-Unicode-sets RegExp flags. The v flag is guaranteed to be unset.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: false
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.ParseOptions.html b/docs/dev/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..66968e4b --- /dev/null +++ b/docs/dev/interfaces/JS.ParseOptions.html @@ -0,0 +1,276 @@ +ParseOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
+
+

Default

"parse"
+
+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
+

Default

"throw"
+
+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

      +
+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
+
+

Default

100
+
+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
+

Default

10000
+
+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
+

Default

true
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.ParseResult.html b/docs/dev/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..f18ef1e8 --- /dev/null +++ b/docs/dev/interfaces/JS.ParseResult.html @@ -0,0 +1,158 @@ +ParseResult | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.RegexppAst.html b/docs/dev/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..ad14e272 --- /dev/null +++ b/docs/dev/interfaces/JS.RegexppAst.html @@ -0,0 +1,158 @@ +RegexppAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.SpaceCharacterSet.html b/docs/dev/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..ea1c8cca --- /dev/null +++ b/docs/dev/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,158 @@ +SpaceCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.StringPropertyCharacterSet.html b/docs/dev/interfaces/JS.StringPropertyCharacterSet.html new file mode 100644 index 00000000..a12dd7c2 --- /dev/null +++ b/docs/dev/interfaces/JS.StringPropertyCharacterSet.html @@ -0,0 +1,173 @@ +StringPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface StringPropertyCharacterSet

+
+

Hierarchy

+
    +
  • StringPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: false
+
+ +
strings: true
+
+ +
value: null
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.TextBoundaryAssertion.html b/docs/dev/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..bd41ed07 --- /dev/null +++ b/docs/dev/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,153 @@ +TextBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.ToLiteralOptions.html b/docs/dev/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..cfa80a7b --- /dev/null +++ b/docs/dev/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,175 @@ +ToLiteralOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
+

Default

false
+
+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.UncheckedFlags.html b/docs/dev/interfaces/JS.UncheckedFlags.html new file mode 100644 index 00000000..9ca735b0 --- /dev/null +++ b/docs/dev/interfaces/JS.UncheckedFlags.html @@ -0,0 +1,229 @@ +UncheckedFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UncheckedFlags

+
+

An unchecked partial set of RegExp flags.

+

Flags are not validated by TypeScript. You must ensure that the flags are valid. +Whenever possible, use the Flags type instead.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: boolean
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.UnicodeSetsFlags.html b/docs/dev/interfaces/JS.UnicodeSetsFlags.html new file mode 100644 index 00000000..37b32861 --- /dev/null +++ b/docs/dev/interfaces/JS.UnicodeSetsFlags.html @@ -0,0 +1,234 @@ +UnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UnicodeSetsFlags

+
+

A partial set of Unicode-sets RegExp flags. The v flag is guaranteed to be set.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: false
+
+

Default

false
+
+
+
+ +
unicodeSets: true
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.WordBoundaryAssertion.html b/docs/dev/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..7de5fc0c --- /dev/null +++ b/docs/dev/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,158 @@ +WordBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/JS.WordCharacterSet.html b/docs/dev/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..3ea9c699 --- /dev/null +++ b/docs/dev/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,158 @@ +WordCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/NFA.FromRegexOptions.html b/docs/dev/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..b902d70b --- /dev/null +++ b/docs/dev/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/NFA.Options.html b/docs/dev/interfaces/NFA.Options.html new file mode 100644 index 00000000..b041ec53 --- /dev/null +++ b/docs/dev/interfaces/NFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/NFA.ReadonlyNode.html b/docs/dev/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..eb61bbc1 --- /dev/null +++ b/docs/dev/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,136 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/NodeFactory.html b/docs/dev/interfaces/NodeFactory.html new file mode 100644 index 00000000..9316a6ca --- /dev/null +++ b/docs/dev/interfaces/NodeFactory.html @@ -0,0 +1,147 @@ +NodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Quantifier.html b/docs/dev/interfaces/Quantifier.html new file mode 100644 index 00000000..76a89860 --- /dev/null +++ b/docs/dev/interfaces/Quantifier.html @@ -0,0 +1,151 @@ +Quantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/ReadonlyCharMap.html b/docs/dev/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..622e3484 --- /dev/null +++ b/docs/dev/interfaces/ReadonlyCharMap.html @@ -0,0 +1,348 @@ +ReadonlyCharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
entryCount: number
+

The number of entires in this map.

+

This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

+

This is equivalent to [...this.entries()].length.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this map is empty.

+

This is equivalent to this.size === 0 and this.entryCount === 0.

+
+
+
+ +
size: number
+

The number of characters in this map. This is different from entryCount.

+

This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns Iterable<[CharRange, T]>

    +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<CharRange>

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<T>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/ReadonlyDFA.html b/docs/dev/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..3302035e --- /dev/null +++ b/docs/dev/interfaces/ReadonlyDFA.html @@ -0,0 +1,404 @@ +ReadonlyDFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/ReadonlyENFA.html b/docs/dev/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..18742cb5 --- /dev/null +++ b/docs/dev/interfaces/ReadonlyENFA.html @@ -0,0 +1,402 @@ +ReadonlyENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ + +

The initial state of the ENFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
+
+

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/ReadonlyNFA.html b/docs/dev/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..cde54df6 --- /dev/null +++ b/docs/dev/interfaces/ReadonlyNFA.html @@ -0,0 +1,397 @@ +ReadonlyNFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+
+
+

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/SourceLocation.html b/docs/dev/interfaces/SourceLocation.html new file mode 100644 index 00000000..c0bbabdb --- /dev/null +++ b/docs/dev/interfaces/SourceLocation.html @@ -0,0 +1,121 @@ +SourceLocation | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/interfaces/ToRegexOptions.html b/docs/dev/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..61f199b8 --- /dev/null +++ b/docs/dev/interfaces/ToRegexOptions.html @@ -0,0 +1,135 @@ +ToRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
+
+

Default

10000
+
+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/TransformContext.html b/docs/dev/interfaces/TransformContext.html new file mode 100644 index 00000000..7cffd589 --- /dev/null +++ b/docs/dev/interfaces/TransformContext.html @@ -0,0 +1,137 @@ +TransformContext | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/TransformEvents.html b/docs/dev/interfaces/TransformEvents.html new file mode 100644 index 00000000..0caa3e38 --- /dev/null +++ b/docs/dev/interfaces/TransformEvents.html @@ -0,0 +1,174 @@ +TransformEvents | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformEvents

+
+

Hierarchy

+
    +
  • TransformEvents
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
onChange?: ((ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer): void
    • +
    • +

      An optional callback that will be called every time a transformer mutates the AST.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that was transformed.

        +
        +
      • +
      • +
        node: NoParent<Node>
        +

        The node that was mutated by the transformer. Descendants of this node may have been mutated as well.

        +
        +
      • +
      • +
        transformer: Transformer
        +

        The transformer that mutated the AST.

        +
        +
      +

      Returns void

      +
+
+ +
onPassStart?: ((ast: NoParentNode<Expression>, pass: number) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, pass: number): void
    • +
    • +

      An optional callback that will be called at the start of every pass.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that will be transformed.

        +
        +
      • +
      • +
        pass: number
        +

        The number of the pass that will be performed. Starts at 1.

        +
        +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/TransformOptions.html b/docs/dev/interfaces/TransformOptions.html new file mode 100644 index 00000000..df3c59e7 --- /dev/null +++ b/docs/dev/interfaces/TransformOptions.html @@ -0,0 +1,132 @@ +TransformOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ + +

Optional events to observe the transformation process.

+
+
+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
+
+

Default

10
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Transformer.html b/docs/dev/interfaces/Transformer.html new file mode 100644 index 00000000..8a3e60f5 --- /dev/null +++ b/docs/dev/interfaces/Transformer.html @@ -0,0 +1,242 @@ +Transformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+
+

Hierarchy

+
    +
  • Transformer
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
name?: string
+

An optional name useful for diagnostics.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Transformers.CreationOptions.html b/docs/dev/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..7f110b8a --- /dev/null +++ b/docs/dev/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,158 @@ +CreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/dev/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..cf961b24 --- /dev/null +++ b/docs/dev/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,177 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
inline?: boolean
+
+

Default

true
+
+
+
+ +
remove?: boolean
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/dev/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..3e918787 --- /dev/null +++ b/docs/dev/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,168 @@ +RemoveAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"
+
+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/TransitionIterable.html b/docs/dev/interfaces/TransitionIterable.html new file mode 100644 index 00000000..f80a285f --- /dev/null +++ b/docs/dev/interfaces/TransitionIterable.html @@ -0,0 +1,142 @@ +TransitionIterable | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/Unknown.html b/docs/dev/interfaces/Unknown.html new file mode 100644 index 00000000..eadfaf86 --- /dev/null +++ b/docs/dev/interfaces/Unknown.html @@ -0,0 +1,136 @@ +Unknown | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/VisitAstHandler.html b/docs/dev/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..dfa8e6ce --- /dev/null +++ b/docs/dev/interfaces/VisitAstHandler.html @@ -0,0 +1,293 @@ +VisitAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/dev/interfaces/VisitNoParentAstHandler.html b/docs/dev/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..5a6990d2 --- /dev/null +++ b/docs/dev/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,293 @@ +VisitNoParentAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/dev/modules.html b/docs/dev/modules.html new file mode 100644 index 00000000..a4818c3d --- /dev/null +++ b/docs/dev/modules.html @@ -0,0 +1,168 @@ +refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/modules/DFA.html b/docs/dev/modules/DFA.html new file mode 100644 index 00000000..e819387f --- /dev/null +++ b/docs/dev/modules/DFA.html @@ -0,0 +1,126 @@ +DFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/modules/ENFA.html b/docs/dev/modules/ENFA.html new file mode 100644 index 00000000..bcff5438 --- /dev/null +++ b/docs/dev/modules/ENFA.html @@ -0,0 +1,128 @@ +ENFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/modules/FAIterators.html b/docs/dev/modules/FAIterators.html new file mode 100644 index 00000000..c605ee61 --- /dev/null +++ b/docs/dev/modules/FAIterators.html @@ -0,0 +1,189 @@ +FAIterators | refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/dev/modules/JS.html b/docs/dev/modules/JS.html new file mode 100644 index 00000000..7198bd01 --- /dev/null +++ b/docs/dev/modules/JS.html @@ -0,0 +1,188 @@ +JS | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
+
+

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/dev/modules/NFA.html b/docs/dev/modules/NFA.html new file mode 100644 index 00000000..c1c50740 --- /dev/null +++ b/docs/dev/modules/NFA.html @@ -0,0 +1,128 @@ +NFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/modules/Transformers.html b/docs/dev/modules/Transformers.html new file mode 100644 index 00000000..306f71a1 --- /dev/null +++ b/docs/dev/modules/Transformers.html @@ -0,0 +1,147 @@ +Transformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

For a simple transformer that applies most transformers while preserving the semantic of the given AST, +see simplify.

+
+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/dev/modules/Words.html b/docs/dev/modules/Words.html new file mode 100644 index 00000000..b1eb5efa --- /dev/null +++ b/docs/dev/modules/Words.html @@ -0,0 +1,118 @@ +Words | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/Char.html b/docs/dev/types/Char.html new file mode 100644 index 00000000..81579aa6 --- /dev/null +++ b/docs/dev/types/Char.html @@ -0,0 +1,112 @@ +Char | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+

Type declaration

+
    +
  • +
    Optional __char?: never
+
+
+
\ No newline at end of file diff --git a/docs/dev/types/Element.html b/docs/dev/types/Element.html new file mode 100644 index 00000000..9c88bda3 --- /dev/null +++ b/docs/dev/types/Element.html @@ -0,0 +1,94 @@ +Element | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/FAIterators.MapFABuilderNode.html b/docs/dev/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 00000000..53699db3 --- /dev/null +++ b/docs/dev/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,135 @@ +MapFABuilderNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/dev/types/FAIterators.ToDotAttrs.html b/docs/dev/types/FAIterators.ToDotAttrs.html new file mode 100644 index 00000000..0e19ee9d --- /dev/null +++ b/docs/dev/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,135 @@ +ToDotAttrs | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.BoundaryAssertion.html b/docs/dev/types/JS.BoundaryAssertion.html new file mode 100644 index 00000000..9209cddd --- /dev/null +++ b/docs/dev/types/JS.BoundaryAssertion.html @@ -0,0 +1,131 @@ +BoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias BoundaryAssertion

+
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.CharacterElement.html b/docs/dev/types/JS.CharacterElement.html new file mode 100644 index 00000000..76ef440a --- /dev/null +++ b/docs/dev/types/JS.CharacterElement.html @@ -0,0 +1,131 @@ +CharacterElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias CharacterElement

+
CharacterElement: AST.CharacterClass | AST.Character | AST.CharacterClassRange | AST.CharacterSet | AST.ClassSetOperand | AST.StringAlternative | AST.ExpressionCharacterClass["expression"]
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.Flags.html b/docs/dev/types/JS.Flags.html new file mode 100644 index 00000000..23a86328 --- /dev/null +++ b/docs/dev/types/JS.Flags.html @@ -0,0 +1,134 @@ +Flags | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Flags

+ +

A partial set of RegExp flags.

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.ParsableElement.html b/docs/dev/types/JS.ParsableElement.html new file mode 100644 index 00000000..2c49f59a --- /dev/null +++ b/docs/dev/types/JS.ParsableElement.html @@ -0,0 +1,131 @@ +ParsableElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.PredefinedCharacterSet.html b/docs/dev/types/JS.PredefinedCharacterSet.html new file mode 100644 index 00000000..9f02e645 --- /dev/null +++ b/docs/dev/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,131 @@ +PredefinedCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PredefinedCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/dev/types/JS.PropertyCharacterSet.html b/docs/dev/types/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..6e813fe6 --- /dev/null +++ b/docs/dev/types/JS.PropertyCharacterSet.html @@ -0,0 +1,131 @@ +PropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PropertyCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/dev/types/NoParent.html b/docs/dev/types/NoParent.html new file mode 100644 index 00000000..391b9c96 --- /dev/null +++ b/docs/dev/types/NoParent.html @@ -0,0 +1,102 @@ +NoParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias NoParent<T>

+
NoParent<T>: T extends NodeIdent
    ? NoParentNode<T>
    : T extends unknown[]
        ? NoParentArray<T>
        : T
+

A view of an AST node that hides the parent property.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/dev/types/Node.html b/docs/dev/types/Node.html new file mode 100644 index 00000000..314d8d3d --- /dev/null +++ b/docs/dev/types/Node.html @@ -0,0 +1,94 @@ +Node | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/Parent.html b/docs/dev/types/Parent.html new file mode 100644 index 00000000..d8c6556e --- /dev/null +++ b/docs/dev/types/Parent.html @@ -0,0 +1,94 @@ +Parent | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/ReadonlyWord.html b/docs/dev/types/ReadonlyWord.html new file mode 100644 index 00000000..8ae00a9e --- /dev/null +++ b/docs/dev/types/ReadonlyWord.html @@ -0,0 +1,98 @@ +ReadonlyWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/ReadonlyWordSet.html b/docs/dev/types/ReadonlyWordSet.html new file mode 100644 index 00000000..05b875b0 --- /dev/null +++ b/docs/dev/types/ReadonlyWordSet.html @@ -0,0 +1,98 @@ +ReadonlyWordSet | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/types/TransitionIterator.html b/docs/dev/types/TransitionIterator.html new file mode 100644 index 00000000..14c8e120 --- /dev/null +++ b/docs/dev/types/TransitionIterator.html @@ -0,0 +1,103 @@ +TransitionIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/dev/types/Word.html b/docs/dev/types/Word.html new file mode 100644 index 00000000..e32f7015 --- /dev/null +++ b/docs/dev/types/Word.html @@ -0,0 +1,101 @@ +Word | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/types/WordSet.html b/docs/dev/types/WordSet.html new file mode 100644 index 00000000..dda2283c --- /dev/null +++ b/docs/dev/types/WordSet.html @@ -0,0 +1,103 @@ +WordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
\ No newline at end of file diff --git a/docs/dev/variables/DFA.nodeFactory.html b/docs/dev/variables/DFA.nodeFactory.html new file mode 100644 index 00000000..fe62e89e --- /dev/null +++ b/docs/dev/variables/DFA.nodeFactory.html @@ -0,0 +1,107 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/variables/ENFA.nodeFactory.html b/docs/dev/variables/ENFA.nodeFactory.html new file mode 100644 index 00000000..77e672bc --- /dev/null +++ b/docs/dev/variables/ENFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/dev/variables/NFA.nodeFactory.html b/docs/dev/variables/NFA.nodeFactory.html new file mode 100644 index 00000000..963002d1 --- /dev/null +++ b/docs/dev/variables/NFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/.nojekyll b/docs/latest/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/latest/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/latest/assets/highlight.css b/docs/latest/assets/highlight.css new file mode 100644 index 00000000..2a3e49d3 --- /dev/null +++ b/docs/latest/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-hl-13: #EE0000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/latest/assets/main.js b/docs/latest/assets/main.js new file mode 100644 index 00000000..4c8fa615 --- /dev/null +++ b/docs/latest/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/latest/assets/search.js b/docs/latest/assets/search.js new file mode 100644 index 00000000..af6b8729 --- /dev/null +++ b/docs/latest/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"makeGreedy\",\"url\":\"functions/Transformers.makeGreedy.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"simplify\",\"url\":\"functions/Transformers.simplify.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":4194304,\"name\":\"PropertyCharacterSet\",\"url\":\"types/JS.PropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharacterPropertyCharacterSet\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":256,\"name\":\"StringPropertyCharacterSet\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":64,\"name\":\"isFlags\",\"url\":\"functions/JS.isFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"UncheckedFlags\",\"url\":\"interfaces/JS.UncheckedFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UncheckedFlags.html#dotAll\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UncheckedFlags.html#global\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UncheckedFlags.html#hasIndices\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UncheckedFlags.html#ignoreCase\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UncheckedFlags.html#multiline\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UncheckedFlags.html#sticky\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":256,\"name\":\"NonUnicodeSetsFlags\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":256,\"name\":\"UnicodeSetsFlags\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":4194304,\"name\":\"Flags\",\"url\":\"types/JS.Flags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"classes/JS.Parser.html#flags\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":64,\"name\":\"parseUnicodeSet\",\"url\":\"functions/JS.parseUnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":64,\"name\":\"parseCharSet\",\"url\":\"functions/JS.parseCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"CharacterElement\",\"url\":\"types/JS.CharacterElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":128,\"name\":\"StringSet\",\"url\":\"classes/JS.StringSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"empty\",\"url\":\"classes/JS.StringSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.StringSet.html#from\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"fromWord\",\"url\":\"classes/JS.StringSet.html#fromWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.StringSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.StringSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasSingleCharacter\",\"url\":\"classes/JS.StringSet.html#hasSingleCharacter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.StringSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.StringSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.StringSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.StringSet.html#union\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.StringSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.StringSet.html#without\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.StringSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.StringSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.StringSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.StringSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.StringSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getSingleCharacters\",\"url\":\"classes/JS.StringSet.html#getSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutSingleCharacters\",\"url\":\"classes/JS.StringSet.html#withoutSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/JS.StringSet.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.StringSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":128,\"name\":\"UnicodeSet\",\"url\":\"classes/JS.UnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/JS.UnicodeSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"fromChars\",\"url\":\"classes/JS.UnicodeSet.html#fromChars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.UnicodeSet.html#from\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"chars\",\"url\":\"classes/JS.UnicodeSet.html#chars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"accept\",\"url\":\"classes/JS.UnicodeSet.html#accept\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"maximum\",\"url\":\"classes/JS.UnicodeSet.html#maximum\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.UnicodeSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.UnicodeSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.UnicodeSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.UnicodeSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.UnicodeSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.UnicodeSet.html#union\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.UnicodeSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.UnicodeSet.html#without\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.UnicodeSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.UnicodeSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":64,\"name\":\"getCharCaseFolding\",\"url\":\"functions/JS.getCharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharCaseFolding\",\"url\":\"interfaces/JS.CharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"canonicalize\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize.__type\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.canonicalize\"},{\"kind\":1024,\"name\":\"toCharSet\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet.__type-2\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.toCharSet\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Transformer.html#name\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":128,\"name\":\"CombinedTransformer\",\"url\":\"classes/CombinedTransformer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CombinedTransformer.html#constructor\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"classes/CombinedTransformer.html#name\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"transformers\",\"url\":\"classes/CombinedTransformer.html#transformers\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"classes/CombinedTransformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"classes/CombinedTransformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"classes/CombinedTransformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"classes/CombinedTransformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"classes/CombinedTransformer.html#onExpression\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"classes/CombinedTransformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"classes/CombinedTransformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":256,\"name\":\"TransformEvents\",\"url\":\"interfaces/TransformEvents.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"onPassStart\",\"url\":\"interfaces/TransformEvents.html#onPassStart\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onPassStart.__type-2\",\"classes\":\"\",\"parent\":\"TransformEvents.onPassStart\"},{\"kind\":1024,\"name\":\"onChange\",\"url\":\"interfaces/TransformEvents.html#onChange\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onChange.__type\",\"classes\":\"\",\"parent\":\"TransformEvents.onChange\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":1024,\"name\":\"events\",\"url\":\"interfaces/TransformOptions.html#events\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/ReadonlyCharMap.html#size\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"entryCount\",\"url\":\"interfaces/ReadonlyCharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyCharMap.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharMap.html#size\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"entryCount\",\"url\":\"classes/CharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/CharMap.html#copy\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacter\",\"url\":\"classes/CharSet.html#fromCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,57.197]],[\"comment/0\",[]],[\"name/1\",[1,62.305]],[\"comment/1\",[]],[\"name/2\",[2,53.832]],[\"comment/2\",[]],[\"name/3\",[3,53.832]],[\"comment/3\",[]],[\"name/4\",[4,62.305]],[\"comment/4\",[]],[\"name/5\",[5,62.305]],[\"comment/5\",[]],[\"name/6\",[6,57.197]],[\"comment/6\",[]],[\"name/7\",[7,62.305]],[\"comment/7\",[]],[\"name/8\",[8,62.305]],[\"comment/8\",[]],[\"name/9\",[9,62.305]],[\"comment/9\",[]],[\"name/10\",[10,62.305]],[\"comment/10\",[]],[\"name/11\",[11,62.305]],[\"comment/11\",[]],[\"name/12\",[12,62.305]],[\"comment/12\",[]],[\"name/13\",[6,57.197]],[\"comment/13\",[]],[\"name/14\",[13,62.305]],[\"comment/14\",[]],[\"name/15\",[2,53.832]],[\"comment/15\",[]],[\"name/16\",[3,53.832]],[\"comment/16\",[]],[\"name/17\",[14,62.305]],[\"comment/17\",[]],[\"name/18\",[15,62.305]],[\"comment/18\",[]],[\"name/19\",[16,62.305]],[\"comment/19\",[]],[\"name/20\",[17,62.305]],[\"comment/20\",[]],[\"name/21\",[18,62.305]],[\"comment/21\",[]],[\"name/22\",[2,53.832]],[\"comment/22\",[]],[\"name/23\",[3,53.832]],[\"comment/23\",[]],[\"name/24\",[19,62.305]],[\"comment/24\",[]],[\"name/25\",[20,62.305]],[\"comment/25\",[]],[\"name/26\",[21,57.197]],[\"comment/26\",[]],[\"name/27\",[22,62.305]],[\"comment/27\",[]],[\"name/28\",[23,51.319]],[\"comment/28\",[]],[\"name/29\",[24,51.319]],[\"comment/29\",[]],[\"name/30\",[25,62.305]],[\"comment/30\",[]],[\"name/31\",[26,62.305]],[\"comment/31\",[]],[\"name/32\",[27,62.305]],[\"comment/32\",[]],[\"name/33\",[28,62.305]],[\"comment/33\",[]],[\"name/34\",[29,62.305]],[\"comment/34\",[]],[\"name/35\",[30,62.305]],[\"comment/35\",[]],[\"name/36\",[31,62.305]],[\"comment/36\",[]],[\"name/37\",[32,53.832]],[\"comment/37\",[]],[\"name/38\",[33,62.305]],[\"comment/38\",[]],[\"name/39\",[34,62.305]],[\"comment/39\",[]],[\"name/40\",[35,62.305]],[\"comment/40\",[]],[\"name/41\",[36,62.305]],[\"comment/41\",[]],[\"name/42\",[37,62.305]],[\"comment/42\",[]],[\"name/43\",[38,62.305]],[\"comment/43\",[]],[\"name/44\",[39,62.305]],[\"comment/44\",[]],[\"name/45\",[40,62.305]],[\"comment/45\",[]],[\"name/46\",[41,62.305]],[\"comment/46\",[]],[\"name/47\",[42,62.305]],[\"comment/47\",[]],[\"name/48\",[43,62.305]],[\"comment/48\",[]],[\"name/49\",[44,40.333]],[\"comment/49\",[]],[\"name/50\",[45,41.102]],[\"comment/50\",[]],[\"name/51\",[46,46.21]],[\"comment/51\",[]],[\"name/52\",[47,49.312]],[\"comment/52\",[]],[\"name/53\",[48,46.21]],[\"comment/53\",[]],[\"name/54\",[49,43.847]],[\"comment/54\",[]],[\"name/55\",[50,49.312]],[\"comment/55\",[]],[\"name/56\",[51,62.305]],[\"comment/56\",[]],[\"name/57\",[52,62.305]],[\"comment/57\",[]],[\"name/58\",[53,44.959]],[\"comment/58\",[]],[\"name/59\",[54,62.305]],[\"comment/59\",[]],[\"name/60\",[55,62.305]],[\"comment/60\",[]],[\"name/61\",[56,57.197]],[\"comment/61\",[]],[\"name/62\",[57,34.789]],[\"comment/62\",[]],[\"name/63\",[58,62.305]],[\"comment/63\",[]],[\"name/64\",[57,34.789]],[\"comment/64\",[]],[\"name/65\",[59,57.197]],[\"comment/65\",[]],[\"name/66\",[57,34.789]],[\"comment/66\",[]],[\"name/67\",[60,44.959]],[\"comment/67\",[]],[\"name/68\",[61,62.305]],[\"comment/68\",[]],[\"name/69\",[59,57.197]],[\"comment/69\",[]],[\"name/70\",[57,34.789]],[\"comment/70\",[]],[\"name/71\",[56,57.197]],[\"comment/71\",[]],[\"name/72\",[57,34.789]],[\"comment/72\",[]],[\"name/73\",[62,62.305]],[\"comment/73\",[]],[\"name/74\",[63,57.197]],[\"comment/74\",[]],[\"name/75\",[64,62.305]],[\"comment/75\",[]],[\"name/76\",[65,62.305]],[\"comment/76\",[]],[\"name/77\",[63,57.197]],[\"comment/77\",[]],[\"name/78\",[66,62.305]],[\"comment/78\",[]],[\"name/79\",[67,62.305]],[\"comment/79\",[]],[\"name/80\",[68,62.305]],[\"comment/80\",[]],[\"name/81\",[48,46.21]],[\"comment/81\",[]],[\"name/82\",[69,62.305]],[\"comment/82\",[]],[\"name/83\",[70,62.305]],[\"comment/83\",[]],[\"name/84\",[71,62.305]],[\"comment/84\",[]],[\"name/85\",[72,62.305]],[\"comment/85\",[]],[\"name/86\",[57,34.789]],[\"comment/86\",[]],[\"name/87\",[73,62.305]],[\"comment/87\",[]],[\"name/88\",[74,44.959]],[\"comment/88\",[]],[\"name/89\",[75,43.847]],[\"comment/89\",[]],[\"name/90\",[76,62.305]],[\"comment/90\",[]],[\"name/91\",[77,62.305]],[\"comment/91\",[]],[\"name/92\",[78,62.305]],[\"comment/92\",[]],[\"name/93\",[79,62.305]],[\"comment/93\",[]],[\"name/94\",[80,62.305]],[\"comment/94\",[]],[\"name/95\",[81,62.305]],[\"comment/95\",[]],[\"name/96\",[82,62.305]],[\"comment/96\",[]],[\"name/97\",[83,43.847]],[\"comment/97\",[]],[\"name/98\",[84,44.959]],[\"comment/98\",[]],[\"name/99\",[85,62.305]],[\"comment/99\",[]],[\"name/100\",[83,43.847]],[\"comment/100\",[]],[\"name/101\",[86,62.305]],[\"comment/101\",[]],[\"name/102\",[87,62.305]],[\"comment/102\",[]],[\"name/103\",[88,62.305]],[\"comment/103\",[]],[\"name/104\",[83,43.847]],[\"comment/104\",[]],[\"name/105\",[89,62.305]],[\"comment/105\",[]],[\"name/106\",[83,43.847]],[\"comment/106\",[]],[\"name/107\",[84,44.959]],[\"comment/107\",[]],[\"name/108\",[90,62.305]],[\"comment/108\",[]],[\"name/109\",[91,62.305]],[\"comment/109\",[]],[\"name/110\",[83,43.847]],[\"comment/110\",[]],[\"name/111\",[92,57.197]],[\"comment/111\",[]],[\"name/112\",[93,57.197]],[\"comment/112\",[]],[\"name/113\",[94,57.197]],[\"comment/113\",[]],[\"name/114\",[84,44.959]],[\"comment/114\",[]],[\"name/115\",[95,62.305]],[\"comment/115\",[]],[\"name/116\",[83,43.847]],[\"comment/116\",[]],[\"name/117\",[92,57.197]],[\"comment/117\",[]],[\"name/118\",[93,57.197]],[\"comment/118\",[]],[\"name/119\",[94,57.197]],[\"comment/119\",[]],[\"name/120\",[84,44.959]],[\"comment/120\",[]],[\"name/121\",[96,62.305]],[\"comment/121\",[]],[\"name/122\",[83,43.847]],[\"comment/122\",[]],[\"name/123\",[84,44.959]],[\"comment/123\",[]],[\"name/124\",[97,62.305]],[\"comment/124\",[]],[\"name/125\",[83,43.847]],[\"comment/125\",[]],[\"name/126\",[84,44.959]],[\"comment/126\",[]],[\"name/127\",[98,62.305]],[\"comment/127\",[]],[\"name/128\",[99,62.305]],[\"comment/128\",[]],[\"name/129\",[100,49.312]],[\"comment/129\",[]],[\"name/130\",[101,62.305]],[\"comment/130\",[]],[\"name/131\",[102,62.305]],[\"comment/131\",[]],[\"name/132\",[103,62.305]],[\"comment/132\",[]],[\"name/133\",[104,53.832]],[\"comment/133\",[]],[\"name/134\",[105,53.832]],[\"comment/134\",[]],[\"name/135\",[106,53.832]],[\"comment/135\",[]],[\"name/136\",[107,53.832]],[\"comment/136\",[]],[\"name/137\",[108,53.832]],[\"comment/137\",[]],[\"name/138\",[109,53.832]],[\"comment/138\",[]],[\"name/139\",[110,53.832]],[\"comment/139\",[]],[\"name/140\",[111,53.832]],[\"comment/140\",[]],[\"name/141\",[112,62.305]],[\"comment/141\",[]],[\"name/142\",[110,53.832]],[\"comment/142\",[]],[\"name/143\",[111,53.832]],[\"comment/143\",[]],[\"name/144\",[104,53.832]],[\"comment/144\",[]],[\"name/145\",[105,53.832]],[\"comment/145\",[]],[\"name/146\",[106,53.832]],[\"comment/146\",[]],[\"name/147\",[107,53.832]],[\"comment/147\",[]],[\"name/148\",[108,53.832]],[\"comment/148\",[]],[\"name/149\",[109,53.832]],[\"comment/149\",[]],[\"name/150\",[113,62.305]],[\"comment/150\",[]],[\"name/151\",[110,53.832]],[\"comment/151\",[]],[\"name/152\",[111,53.832]],[\"comment/152\",[]],[\"name/153\",[104,53.832]],[\"comment/153\",[]],[\"name/154\",[105,53.832]],[\"comment/154\",[]],[\"name/155\",[106,53.832]],[\"comment/155\",[]],[\"name/156\",[107,53.832]],[\"comment/156\",[]],[\"name/157\",[108,53.832]],[\"comment/157\",[]],[\"name/158\",[109,53.832]],[\"comment/158\",[]],[\"name/159\",[100,49.312]],[\"comment/159\",[]],[\"name/160\",[114,57.197]],[\"comment/160\",[]],[\"name/161\",[115,44.959]],[\"comment/161\",[]],[\"name/162\",[100,49.312]],[\"comment/162\",[]],[\"name/163\",[116,62.305]],[\"comment/163\",[]],[\"name/164\",[117,62.305]],[\"comment/164\",[]],[\"name/165\",[118,62.305]],[\"comment/165\",[]],[\"name/166\",[119,53.832]],[\"comment/166\",[]],[\"name/167\",[21,57.197]],[\"comment/167\",[]],[\"name/168\",[120,57.197]],[\"comment/168\",[]],[\"name/169\",[121,62.305]],[\"comment/169\",[]],[\"name/170\",[57,34.789]],[\"comment/170\",[]],[\"name/171\",[122,62.305]],[\"comment/171\",[]],[\"name/172\",[123,62.305]],[\"comment/172\",[]],[\"name/173\",[100,49.312]],[\"comment/173\",[]],[\"name/174\",[124,62.305]],[\"comment/174\",[]],[\"name/175\",[125,62.305]],[\"comment/175\",[]],[\"name/176\",[126,57.197]],[\"comment/176\",[]],[\"name/177\",[127,39.618]],[\"comment/177\",[]],[\"name/178\",[128,62.305]],[\"comment/178\",[]],[\"name/179\",[129,62.305]],[\"comment/179\",[]],[\"name/180\",[130,62.305]],[\"comment/180\",[]],[\"name/181\",[114,57.197]],[\"comment/181\",[]],[\"name/182\",[131,62.305]],[\"comment/182\",[]],[\"name/183\",[100,49.312]],[\"comment/183\",[]],[\"name/184\",[127,39.618]],[\"comment/184\",[]],[\"name/185\",[132,62.305]],[\"comment/185\",[]],[\"name/186\",[133,62.305]],[\"comment/186\",[]],[\"name/187\",[134,62.305]],[\"comment/187\",[]],[\"name/188\",[135,62.305]],[\"comment/188\",[]],[\"name/189\",[136,62.305]],[\"comment/189\",[]],[\"name/190\",[137,62.305]],[\"comment/190\",[]],[\"name/191\",[138,47.641]],[\"comment/191\",[]],[\"name/192\",[139,57.197]],[\"comment/192\",[]],[\"name/193\",[140,62.305]],[\"comment/193\",[]],[\"name/194\",[141,41.102]],[\"comment/194\",[]],[\"name/195\",[142,57.197]],[\"comment/195\",[]],[\"name/196\",[143,62.305]],[\"comment/196\",[]],[\"name/197\",[144,43.847]],[\"comment/197\",[]],[\"name/198\",[145,57.197]],[\"comment/198\",[]],[\"name/199\",[146,53.832]],[\"comment/199\",[]],[\"name/200\",[147,49.312]],[\"comment/200\",[]],[\"name/201\",[148,53.832]],[\"comment/201\",[]],[\"name/202\",[149,53.832]],[\"comment/202\",[]],[\"name/203\",[150,53.832]],[\"comment/203\",[]],[\"name/204\",[151,53.832]],[\"comment/204\",[]],[\"name/205\",[152,53.832]],[\"comment/205\",[]],[\"name/206\",[153,53.832]],[\"comment/206\",[]],[\"name/207\",[154,51.319]],[\"comment/207\",[]],[\"name/208\",[155,62.305]],[\"comment/208\",[]],[\"name/209\",[156,62.305]],[\"comment/209\",[]],[\"name/210\",[157,53.832]],[\"comment/210\",[]],[\"name/211\",[158,57.197]],[\"comment/211\",[]],[\"name/212\",[159,62.305]],[\"comment/212\",[]],[\"name/213\",[138,47.641]],[\"comment/213\",[]],[\"name/214\",[160,62.305]],[\"comment/214\",[]],[\"name/215\",[139,57.197]],[\"comment/215\",[]],[\"name/216\",[161,62.305]],[\"comment/216\",[]],[\"name/217\",[162,62.305]],[\"comment/217\",[]],[\"name/218\",[163,57.197]],[\"comment/218\",[]],[\"name/219\",[141,41.102]],[\"comment/219\",[]],[\"name/220\",[142,57.197]],[\"comment/220\",[]],[\"name/221\",[144,43.847]],[\"comment/221\",[]],[\"name/222\",[146,53.832]],[\"comment/222\",[]],[\"name/223\",[145,57.197]],[\"comment/223\",[]],[\"name/224\",[147,49.312]],[\"comment/224\",[]],[\"name/225\",[148,53.832]],[\"comment/225\",[]],[\"name/226\",[149,53.832]],[\"comment/226\",[]],[\"name/227\",[150,53.832]],[\"comment/227\",[]],[\"name/228\",[151,53.832]],[\"comment/228\",[]],[\"name/229\",[152,53.832]],[\"comment/229\",[]],[\"name/230\",[153,53.832]],[\"comment/230\",[]],[\"name/231\",[154,51.319]],[\"comment/231\",[]],[\"name/232\",[158,57.197]],[\"comment/232\",[]],[\"name/233\",[164,62.305]],[\"comment/233\",[]],[\"name/234\",[165,62.305]],[\"comment/234\",[]],[\"name/235\",[166,62.305]],[\"comment/235\",[]],[\"name/236\",[57,34.789]],[\"comment/236\",[]],[\"name/237\",[167,62.305]],[\"comment/237\",[]],[\"name/238\",[57,34.789]],[\"comment/238\",[]],[\"name/239\",[168,44.959]],[\"comment/239\",[]],[\"name/240\",[169,62.305]],[\"comment/240\",[]],[\"name/241\",[170,62.305]],[\"comment/241\",[]],[\"name/242\",[171,62.305]],[\"comment/242\",[]],[\"name/243\",[172,62.305]],[\"comment/243\",[]],[\"name/244\",[173,62.305]],[\"comment/244\",[]],[\"name/245\",[174,62.305]],[\"comment/245\",[]],[\"name/246\",[175,62.305]],[\"comment/246\",[]],[\"name/247\",[176,62.305]],[\"comment/247\",[]],[\"name/248\",[177,62.305]],[\"comment/248\",[]],[\"name/249\",[178,62.305]],[\"comment/249\",[]],[\"name/250\",[179,62.305]],[\"comment/250\",[]],[\"name/251\",[180,62.305]],[\"comment/251\",[]],[\"name/252\",[181,44.959]],[\"comment/252\",[]],[\"name/253\",[182,51.319]],[\"comment/253\",[]],[\"name/254\",[183,62.305]],[\"comment/254\",[]],[\"name/255\",[184,46.21]],[\"comment/255\",[]],[\"name/256\",[181,44.959]],[\"comment/256\",[]],[\"name/257\",[185,51.319]],[\"comment/257\",[]],[\"name/258\",[115,44.959]],[\"comment/258\",[]],[\"name/259\",[186,62.305]],[\"comment/259\",[]],[\"name/260\",[184,46.21]],[\"comment/260\",[]],[\"name/261\",[181,44.959]],[\"comment/261\",[]],[\"name/262\",[185,51.319]],[\"comment/262\",[]],[\"name/263\",[83,43.847]],[\"comment/263\",[]],[\"name/264\",[84,44.959]],[\"comment/264\",[]],[\"name/265\",[115,44.959]],[\"comment/265\",[]],[\"name/266\",[187,62.305]],[\"comment/266\",[]],[\"name/267\",[184,46.21]],[\"comment/267\",[]],[\"name/268\",[181,44.959]],[\"comment/268\",[]],[\"name/269\",[185,51.319]],[\"comment/269\",[]],[\"name/270\",[188,62.305]],[\"comment/270\",[]],[\"name/271\",[189,57.197]],[\"comment/271\",[]],[\"name/272\",[190,57.197]],[\"comment/272\",[]],[\"name/273\",[115,44.959]],[\"comment/273\",[]],[\"name/274\",[191,62.305]],[\"comment/274\",[]],[\"name/275\",[184,46.21]],[\"comment/275\",[]],[\"name/276\",[181,44.959]],[\"comment/276\",[]],[\"name/277\",[192,57.197]],[\"comment/277\",[]],[\"name/278\",[115,44.959]],[\"comment/278\",[]],[\"name/279\",[193,62.305]],[\"comment/279\",[]],[\"name/280\",[184,46.21]],[\"comment/280\",[]],[\"name/281\",[181,44.959]],[\"comment/281\",[]],[\"name/282\",[194,62.305]],[\"comment/282\",[]],[\"name/283\",[115,44.959]],[\"comment/283\",[]],[\"name/284\",[126,57.197]],[\"comment/284\",[]],[\"name/285\",[184,46.21]],[\"comment/285\",[]],[\"name/286\",[181,44.959]],[\"comment/286\",[]],[\"name/287\",[185,51.319]],[\"comment/287\",[]],[\"name/288\",[115,44.959]],[\"comment/288\",[]],[\"name/289\",[195,62.305]],[\"comment/289\",[]],[\"name/290\",[184,46.21]],[\"comment/290\",[]],[\"name/291\",[181,44.959]],[\"comment/291\",[]],[\"name/292\",[196,62.305]],[\"comment/292\",[]],[\"name/293\",[115,44.959]],[\"comment/293\",[]],[\"name/294\",[197,62.305]],[\"comment/294\",[]],[\"name/295\",[198,62.305]],[\"comment/295\",[]],[\"name/296\",[199,62.305]],[\"comment/296\",[]],[\"name/297\",[200,62.305]],[\"comment/297\",[]],[\"name/298\",[201,62.305]],[\"comment/298\",[]],[\"name/299\",[202,57.197]],[\"comment/299\",[]],[\"name/300\",[203,57.197]],[\"comment/300\",[]],[\"name/301\",[204,57.197]],[\"comment/301\",[]],[\"name/302\",[205,57.197]],[\"comment/302\",[]],[\"name/303\",[206,57.197]],[\"comment/303\",[]],[\"name/304\",[207,57.197]],[\"comment/304\",[]],[\"name/305\",[208,57.197]],[\"comment/305\",[]],[\"name/306\",[209,57.197]],[\"comment/306\",[]],[\"name/307\",[210,57.197]],[\"comment/307\",[]],[\"name/308\",[211,57.197]],[\"comment/308\",[]],[\"name/309\",[212,57.197]],[\"comment/309\",[]],[\"name/310\",[213,57.197]],[\"comment/310\",[]],[\"name/311\",[214,57.197]],[\"comment/311\",[]],[\"name/312\",[215,57.197]],[\"comment/312\",[]],[\"name/313\",[216,62.305]],[\"comment/313\",[]],[\"name/314\",[202,57.197]],[\"comment/314\",[]],[\"name/315\",[203,57.197]],[\"comment/315\",[]],[\"name/316\",[204,57.197]],[\"comment/316\",[]],[\"name/317\",[205,57.197]],[\"comment/317\",[]],[\"name/318\",[206,57.197]],[\"comment/318\",[]],[\"name/319\",[207,57.197]],[\"comment/319\",[]],[\"name/320\",[208,57.197]],[\"comment/320\",[]],[\"name/321\",[209,57.197]],[\"comment/321\",[]],[\"name/322\",[210,57.197]],[\"comment/322\",[]],[\"name/323\",[211,57.197]],[\"comment/323\",[]],[\"name/324\",[212,57.197]],[\"comment/324\",[]],[\"name/325\",[213,57.197]],[\"comment/325\",[]],[\"name/326\",[214,57.197]],[\"comment/326\",[]],[\"name/327\",[215,57.197]],[\"comment/327\",[]],[\"name/328\",[217,62.305]],[\"comment/328\",[]],[\"name/329\",[218,62.305]],[\"comment/329\",[]],[\"name/330\",[219,62.305]],[\"comment/330\",[]],[\"name/331\",[220,57.197]],[\"comment/331\",[]],[\"name/332\",[221,57.197]],[\"comment/332\",[]],[\"name/333\",[222,57.197]],[\"comment/333\",[]],[\"name/334\",[223,57.197]],[\"comment/334\",[]],[\"name/335\",[224,57.197]],[\"comment/335\",[]],[\"name/336\",[225,57.197]],[\"comment/336\",[]],[\"name/337\",[226,57.197]],[\"comment/337\",[]],[\"name/338\",[227,57.197]],[\"comment/338\",[]],[\"name/339\",[228,62.305]],[\"comment/339\",[]],[\"name/340\",[127,39.618]],[\"comment/340\",[]],[\"name/341\",[229,62.305]],[\"comment/341\",[]],[\"name/342\",[57,34.789]],[\"comment/342\",[]],[\"name/343\",[230,62.305]],[\"comment/343\",[]],[\"name/344\",[44,40.333]],[\"comment/344\",[]],[\"name/345\",[220,57.197]],[\"comment/345\",[]],[\"name/346\",[0,57.197]],[\"comment/346\",[]],[\"name/347\",[221,57.197]],[\"comment/347\",[]],[\"name/348\",[222,57.197]],[\"comment/348\",[]],[\"name/349\",[223,57.197]],[\"comment/349\",[]],[\"name/350\",[224,57.197]],[\"comment/350\",[]],[\"name/351\",[225,57.197]],[\"comment/351\",[]],[\"name/352\",[226,57.197]],[\"comment/352\",[]],[\"name/353\",[227,57.197]],[\"comment/353\",[]],[\"name/354\",[231,62.305]],[\"comment/354\",[]],[\"name/355\",[232,62.305]],[\"comment/355\",[]],[\"name/356\",[57,34.789]],[\"comment/356\",[]],[\"name/357\",[233,62.305]],[\"comment/357\",[]],[\"name/358\",[57,34.789]],[\"comment/358\",[]],[\"name/359\",[234,62.305]],[\"comment/359\",[]],[\"name/360\",[235,62.305]],[\"comment/360\",[]],[\"name/361\",[236,62.305]],[\"comment/361\",[]],[\"name/362\",[237,62.305]],[\"comment/362\",[]],[\"name/363\",[44,40.333]],[\"comment/363\",[]],[\"name/364\",[238,62.305]],[\"comment/364\",[]],[\"name/365\",[239,62.305]],[\"comment/365\",[]],[\"name/366\",[240,62.305]],[\"comment/366\",[]],[\"name/367\",[141,41.102]],[\"comment/367\",[]],[\"name/368\",[241,53.832]],[\"comment/368\",[]],[\"name/369\",[242,57.197]],[\"comment/369\",[]],[\"name/370\",[243,53.832]],[\"comment/370\",[]],[\"name/371\",[244,57.197]],[\"comment/371\",[]],[\"name/372\",[245,57.197]],[\"comment/372\",[]],[\"name/373\",[246,57.197]],[\"comment/373\",[]],[\"name/374\",[32,53.832]],[\"comment/374\",[]],[\"name/375\",[247,57.197]],[\"comment/375\",[]],[\"name/376\",[248,57.197]],[\"comment/376\",[]],[\"name/377\",[249,57.197]],[\"comment/377\",[]],[\"name/378\",[250,57.197]],[\"comment/378\",[]],[\"name/379\",[251,44.959]],[\"comment/379\",[]],[\"name/380\",[252,62.305]],[\"comment/380\",[]],[\"name/381\",[44,40.333]],[\"comment/381\",[]],[\"name/382\",[141,41.102]],[\"comment/382\",[]],[\"name/383\",[241,53.832]],[\"comment/383\",[]],[\"name/384\",[242,57.197]],[\"comment/384\",[]],[\"name/385\",[243,53.832]],[\"comment/385\",[]],[\"name/386\",[244,57.197]],[\"comment/386\",[]],[\"name/387\",[245,57.197]],[\"comment/387\",[]],[\"name/388\",[246,57.197]],[\"comment/388\",[]],[\"name/389\",[253,62.305]],[\"comment/389\",[]],[\"name/390\",[254,62.305]],[\"comment/390\",[]],[\"name/391\",[255,62.305]],[\"comment/391\",[]],[\"name/392\",[256,62.305]],[\"comment/392\",[]],[\"name/393\",[257,62.305]],[\"comment/393\",[]],[\"name/394\",[258,62.305]],[\"comment/394\",[]],[\"name/395\",[251,44.959]],[\"comment/395\",[]],[\"name/396\",[259,62.305]],[\"comment/396\",[]],[\"name/397\",[260,62.305]],[\"comment/397\",[]],[\"name/398\",[261,62.305]],[\"comment/398\",[]],[\"name/399\",[250,57.197]],[\"comment/399\",[]],[\"name/400\",[32,53.832]],[\"comment/400\",[]],[\"name/401\",[247,57.197]],[\"comment/401\",[]],[\"name/402\",[248,57.197]],[\"comment/402\",[]],[\"name/403\",[249,57.197]],[\"comment/403\",[]],[\"name/404\",[262,62.305]],[\"comment/404\",[]],[\"name/405\",[263,62.305]],[\"comment/405\",[]],[\"name/406\",[189,57.197]],[\"comment/406\",[]],[\"name/407\",[190,57.197]],[\"comment/407\",[]],[\"name/408\",[264,62.305]],[\"comment/408\",[]],[\"name/409\",[138,47.641]],[\"comment/409\",[]],[\"name/410\",[265,51.319]],[\"comment/410\",[]],[\"name/411\",[266,62.305]],[\"comment/411\",[]],[\"name/412\",[267,62.305]],[\"comment/412\",[]],[\"name/413\",[268,62.305]],[\"comment/413\",[]],[\"name/414\",[163,57.197]],[\"comment/414\",[]],[\"name/415\",[269,62.305]],[\"comment/415\",[]],[\"name/416\",[141,41.102]],[\"comment/416\",[]],[\"name/417\",[270,62.305]],[\"comment/417\",[]],[\"name/418\",[241,53.832]],[\"comment/418\",[]],[\"name/419\",[192,57.197]],[\"comment/419\",[]],[\"name/420\",[75,43.847]],[\"comment/420\",[]],[\"name/421\",[271,62.305]],[\"comment/421\",[]],[\"name/422\",[272,62.305]],[\"comment/422\",[]],[\"name/423\",[146,53.832]],[\"comment/423\",[]],[\"name/424\",[273,62.305]],[\"comment/424\",[]],[\"name/425\",[274,62.305]],[\"comment/425\",[]],[\"name/426\",[84,44.959]],[\"comment/426\",[]],[\"name/427\",[147,49.312]],[\"comment/427\",[]],[\"name/428\",[148,53.832]],[\"comment/428\",[]],[\"name/429\",[149,53.832]],[\"comment/429\",[]],[\"name/430\",[243,53.832]],[\"comment/430\",[]],[\"name/431\",[150,53.832]],[\"comment/431\",[]],[\"name/432\",[151,53.832]],[\"comment/432\",[]],[\"name/433\",[152,53.832]],[\"comment/433\",[]],[\"name/434\",[153,53.832]],[\"comment/434\",[]],[\"name/435\",[154,51.319]],[\"comment/435\",[]],[\"name/436\",[275,62.305]],[\"comment/436\",[]],[\"name/437\",[276,62.305]],[\"comment/437\",[]],[\"name/438\",[277,62.305]],[\"comment/438\",[]],[\"name/439\",[278,62.305]],[\"comment/439\",[]],[\"name/440\",[279,62.305]],[\"comment/440\",[]],[\"name/441\",[141,41.102]],[\"comment/441\",[]],[\"name/442\",[280,46.21]],[\"comment/442\",[]],[\"name/443\",[127,39.618]],[\"comment/443\",[]],[\"name/444\",[281,46.21]],[\"comment/444\",[]],[\"name/445\",[168,44.959]],[\"comment/445\",[]],[\"name/446\",[144,43.847]],[\"comment/446\",[]],[\"name/447\",[75,43.847]],[\"comment/447\",[]],[\"name/448\",[74,44.959]],[\"comment/448\",[]],[\"name/449\",[53,44.959]],[\"comment/449\",[]],[\"name/450\",[60,44.959]],[\"comment/450\",[]],[\"name/451\",[282,62.305]],[\"comment/451\",[]],[\"name/452\",[45,41.102]],[\"comment/452\",[]],[\"name/453\",[283,62.305]],[\"comment/453\",[]],[\"name/454\",[57,34.789]],[\"comment/454\",[]],[\"name/455\",[284,62.305]],[\"comment/455\",[]],[\"name/456\",[48,46.21]],[\"comment/456\",[]],[\"name/457\",[57,34.789]],[\"comment/457\",[]],[\"name/458\",[285,51.319]],[\"comment/458\",[]],[\"name/459\",[49,43.847]],[\"comment/459\",[]],[\"name/460\",[57,34.789]],[\"comment/460\",[]],[\"name/461\",[286,62.305]],[\"comment/461\",[]],[\"name/462\",[45,41.102]],[\"comment/462\",[]],[\"name/463\",[47,49.312]],[\"comment/463\",[]],[\"name/464\",[57,34.789]],[\"comment/464\",[]],[\"name/465\",[48,46.21]],[\"comment/465\",[]],[\"name/466\",[57,34.789]],[\"comment/466\",[]],[\"name/467\",[50,49.312]],[\"comment/467\",[]],[\"name/468\",[57,34.789]],[\"comment/468\",[]],[\"name/469\",[49,43.847]],[\"comment/469\",[]],[\"name/470\",[57,34.789]],[\"comment/470\",[]],[\"name/471\",[287,44.959]],[\"comment/471\",[]],[\"name/472\",[288,62.305]],[\"comment/472\",[]],[\"name/473\",[127,39.618]],[\"comment/473\",[]],[\"name/474\",[287,44.959]],[\"comment/474\",[]],[\"name/475\",[57,34.789]],[\"comment/475\",[]],[\"name/476\",[289,62.305]],[\"comment/476\",[]],[\"name/477\",[120,57.197]],[\"comment/477\",[]],[\"name/478\",[290,62.305]],[\"comment/478\",[]],[\"name/479\",[291,62.305]],[\"comment/479\",[]],[\"name/480\",[45,41.102]],[\"comment/480\",[]],[\"name/481\",[46,46.21]],[\"comment/481\",[]],[\"name/482\",[292,47.641]],[\"comment/482\",[]],[\"name/483\",[293,47.641]],[\"comment/483\",[]],[\"name/484\",[294,47.641]],[\"comment/484\",[]],[\"name/485\",[251,44.959]],[\"comment/485\",[]],[\"name/486\",[295,57.197]],[\"comment/486\",[]],[\"name/487\",[141,41.102]],[\"comment/487\",[]],[\"name/488\",[280,46.21]],[\"comment/488\",[]],[\"name/489\",[127,39.618]],[\"comment/489\",[]],[\"name/490\",[281,46.21]],[\"comment/490\",[]],[\"name/491\",[168,44.959]],[\"comment/491\",[]],[\"name/492\",[144,43.847]],[\"comment/492\",[]],[\"name/493\",[75,43.847]],[\"comment/493\",[]],[\"name/494\",[74,44.959]],[\"comment/494\",[]],[\"name/495\",[53,44.959]],[\"comment/495\",[]],[\"name/496\",[60,44.959]],[\"comment/496\",[]],[\"name/497\",[287,44.959]],[\"comment/497\",[]],[\"name/498\",[57,34.789]],[\"comment/498\",[]],[\"name/499\",[296,57.197]],[\"comment/499\",[]],[\"name/500\",[138,47.641]],[\"comment/500\",[]],[\"name/501\",[297,53.832]],[\"comment/501\",[]],[\"name/502\",[265,51.319]],[\"comment/502\",[]],[\"name/503\",[298,53.832]],[\"comment/503\",[]],[\"name/504\",[299,57.197]],[\"comment/504\",[]],[\"name/505\",[23,51.319]],[\"comment/505\",[]],[\"name/506\",[24,51.319]],[\"comment/506\",[]],[\"name/507\",[300,53.832]],[\"comment/507\",[]],[\"name/508\",[301,53.832]],[\"comment/508\",[]],[\"name/509\",[302,53.832]],[\"comment/509\",[]],[\"name/510\",[45,41.102]],[\"comment/510\",[]],[\"name/511\",[46,46.21]],[\"comment/511\",[]],[\"name/512\",[127,39.618]],[\"comment/512\",[]],[\"name/513\",[141,41.102]],[\"comment/513\",[]],[\"name/514\",[280,46.21]],[\"comment/514\",[]],[\"name/515\",[292,47.641]],[\"comment/515\",[]],[\"name/516\",[287,44.959]],[\"comment/516\",[]],[\"name/517\",[293,47.641]],[\"comment/517\",[]],[\"name/518\",[294,47.641]],[\"comment/518\",[]],[\"name/519\",[281,46.21]],[\"comment/519\",[]],[\"name/520\",[144,43.847]],[\"comment/520\",[]],[\"name/521\",[168,44.959]],[\"comment/521\",[]],[\"name/522\",[75,43.847]],[\"comment/522\",[]],[\"name/523\",[74,44.959]],[\"comment/523\",[]],[\"name/524\",[53,44.959]],[\"comment/524\",[]],[\"name/525\",[60,44.959]],[\"comment/525\",[]],[\"name/526\",[251,44.959]],[\"comment/526\",[]],[\"name/527\",[295,57.197]],[\"comment/527\",[]],[\"name/528\",[303,53.832]],[\"comment/528\",[]],[\"name/529\",[304,62.305]],[\"comment/529\",[]],[\"name/530\",[305,62.305]],[\"comment/530\",[]],[\"name/531\",[306,53.832]],[\"comment/531\",[]],[\"name/532\",[296,57.197]],[\"comment/532\",[]],[\"name/533\",[307,53.832]],[\"comment/533\",[]],[\"name/534\",[308,47.641]],[\"comment/534\",[]],[\"name/535\",[182,51.319]],[\"comment/535\",[]],[\"name/536\",[44,40.333]],[\"comment/536\",[]],[\"name/537\",[308,47.641]],[\"comment/537\",[]],[\"name/538\",[309,53.832]],[\"comment/538\",[]],[\"name/539\",[310,53.832]],[\"comment/539\",[]],[\"name/540\",[311,53.832]],[\"comment/540\",[]],[\"name/541\",[285,51.319]],[\"comment/541\",[]],[\"name/542\",[312,53.832]],[\"comment/542\",[]],[\"name/543\",[44,40.333]],[\"comment/543\",[]],[\"name/544\",[313,53.832]],[\"comment/544\",[]],[\"name/545\",[49,43.847]],[\"comment/545\",[]],[\"name/546\",[314,53.832]],[\"comment/546\",[]],[\"name/547\",[44,40.333]],[\"comment/547\",[]],[\"name/548\",[45,41.102]],[\"comment/548\",[]],[\"name/549\",[46,46.21]],[\"comment/549\",[]],[\"name/550\",[315,53.832]],[\"comment/550\",[]],[\"name/551\",[47,49.312]],[\"comment/551\",[]],[\"name/552\",[48,46.21]],[\"comment/552\",[]],[\"name/553\",[50,49.312]],[\"comment/553\",[]],[\"name/554\",[49,43.847]],[\"comment/554\",[]],[\"name/555\",[316,53.832]],[\"comment/555\",[]],[\"name/556\",[127,39.618]],[\"comment/556\",[]],[\"name/557\",[317,62.305]],[\"comment/557\",[]],[\"name/558\",[45,41.102]],[\"comment/558\",[]],[\"name/559\",[318,53.832]],[\"comment/559\",[]],[\"name/560\",[319,51.319]],[\"comment/560\",[]],[\"name/561\",[292,47.641]],[\"comment/561\",[]],[\"name/562\",[293,47.641]],[\"comment/562\",[]],[\"name/563\",[294,47.641]],[\"comment/563\",[]],[\"name/564\",[251,44.959]],[\"comment/564\",[]],[\"name/565\",[141,41.102]],[\"comment/565\",[]],[\"name/566\",[280,46.21]],[\"comment/566\",[]],[\"name/567\",[127,39.618]],[\"comment/567\",[]],[\"name/568\",[281,46.21]],[\"comment/568\",[]],[\"name/569\",[168,44.959]],[\"comment/569\",[]],[\"name/570\",[144,43.847]],[\"comment/570\",[]],[\"name/571\",[75,43.847]],[\"comment/571\",[]],[\"name/572\",[74,44.959]],[\"comment/572\",[]],[\"name/573\",[53,44.959]],[\"comment/573\",[]],[\"name/574\",[60,44.959]],[\"comment/574\",[]],[\"name/575\",[287,44.959]],[\"comment/575\",[]],[\"name/576\",[57,34.789]],[\"comment/576\",[]],[\"name/577\",[320,57.197]],[\"comment/577\",[]],[\"name/578\",[138,47.641]],[\"comment/578\",[]],[\"name/579\",[297,53.832]],[\"comment/579\",[]],[\"name/580\",[265,51.319]],[\"comment/580\",[]],[\"name/581\",[298,53.832]],[\"comment/581\",[]],[\"name/582\",[321,57.197]],[\"comment/582\",[]],[\"name/583\",[23,51.319]],[\"comment/583\",[]],[\"name/584\",[24,51.319]],[\"comment/584\",[]],[\"name/585\",[300,53.832]],[\"comment/585\",[]],[\"name/586\",[301,53.832]],[\"comment/586\",[]],[\"name/587\",[302,53.832]],[\"comment/587\",[]],[\"name/588\",[45,41.102]],[\"comment/588\",[]],[\"name/589\",[318,53.832]],[\"comment/589\",[]],[\"name/590\",[127,39.618]],[\"comment/590\",[]],[\"name/591\",[141,41.102]],[\"comment/591\",[]],[\"name/592\",[280,46.21]],[\"comment/592\",[]],[\"name/593\",[319,51.319]],[\"comment/593\",[]],[\"name/594\",[322,57.197]],[\"comment/594\",[]],[\"name/595\",[292,47.641]],[\"comment/595\",[]],[\"name/596\",[287,44.959]],[\"comment/596\",[]],[\"name/597\",[293,47.641]],[\"comment/597\",[]],[\"name/598\",[294,47.641]],[\"comment/598\",[]],[\"name/599\",[251,44.959]],[\"comment/599\",[]],[\"name/600\",[281,46.21]],[\"comment/600\",[]],[\"name/601\",[144,43.847]],[\"comment/601\",[]],[\"name/602\",[168,44.959]],[\"comment/602\",[]],[\"name/603\",[75,43.847]],[\"comment/603\",[]],[\"name/604\",[74,44.959]],[\"comment/604\",[]],[\"name/605\",[53,44.959]],[\"comment/605\",[]],[\"name/606\",[60,44.959]],[\"comment/606\",[]],[\"name/607\",[323,57.197]],[\"comment/607\",[]],[\"name/608\",[324,57.197]],[\"comment/608\",[]],[\"name/609\",[325,57.197]],[\"comment/609\",[]],[\"name/610\",[326,57.197]],[\"comment/610\",[]],[\"name/611\",[147,49.312]],[\"comment/611\",[]],[\"name/612\",[327,57.197]],[\"comment/612\",[]],[\"name/613\",[328,57.197]],[\"comment/613\",[]],[\"name/614\",[157,53.832]],[\"comment/614\",[]],[\"name/615\",[303,53.832]],[\"comment/615\",[]],[\"name/616\",[306,53.832]],[\"comment/616\",[]],[\"name/617\",[329,57.197]],[\"comment/617\",[]],[\"name/618\",[320,57.197]],[\"comment/618\",[]],[\"name/619\",[307,53.832]],[\"comment/619\",[]],[\"name/620\",[308,47.641]],[\"comment/620\",[]],[\"name/621\",[330,51.319]],[\"comment/621\",[]],[\"name/622\",[331,57.197]],[\"comment/622\",[]],[\"name/623\",[332,57.197]],[\"comment/623\",[]],[\"name/624\",[182,51.319]],[\"comment/624\",[]],[\"name/625\",[44,40.333]],[\"comment/625\",[]],[\"name/626\",[308,47.641]],[\"comment/626\",[]],[\"name/627\",[330,51.319]],[\"comment/627\",[]],[\"name/628\",[309,53.832]],[\"comment/628\",[]],[\"name/629\",[310,53.832]],[\"comment/629\",[]],[\"name/630\",[311,53.832]],[\"comment/630\",[]],[\"name/631\",[333,57.197]],[\"comment/631\",[]],[\"name/632\",[334,57.197]],[\"comment/632\",[]],[\"name/633\",[331,57.197]],[\"comment/633\",[]],[\"name/634\",[332,57.197]],[\"comment/634\",[]],[\"name/635\",[285,51.319]],[\"comment/635\",[]],[\"name/636\",[312,53.832]],[\"comment/636\",[]],[\"name/637\",[44,40.333]],[\"comment/637\",[]],[\"name/638\",[313,53.832]],[\"comment/638\",[]],[\"name/639\",[49,43.847]],[\"comment/639\",[]],[\"name/640\",[314,53.832]],[\"comment/640\",[]],[\"name/641\",[44,40.333]],[\"comment/641\",[]],[\"name/642\",[45,41.102]],[\"comment/642\",[]],[\"name/643\",[318,53.832]],[\"comment/643\",[]],[\"name/644\",[315,53.832]],[\"comment/644\",[]],[\"name/645\",[47,49.312]],[\"comment/645\",[]],[\"name/646\",[48,46.21]],[\"comment/646\",[]],[\"name/647\",[50,49.312]],[\"comment/647\",[]],[\"name/648\",[49,43.847]],[\"comment/648\",[]],[\"name/649\",[316,53.832]],[\"comment/649\",[]],[\"name/650\",[127,39.618]],[\"comment/650\",[]],[\"name/651\",[335,57.197]],[\"comment/651\",[]],[\"name/652\",[119,53.832]],[\"comment/652\",[]],[\"name/653\",[336,57.197]],[\"comment/653\",[]],[\"name/654\",[337,57.197]],[\"comment/654\",[]],[\"name/655\",[338,62.305]],[\"comment/655\",[]],[\"name/656\",[339,57.197]],[\"comment/656\",[]],[\"name/657\",[340,62.305]],[\"comment/657\",[]],[\"name/658\",[339,57.197]],[\"comment/658\",[]],[\"name/659\",[341,62.305]],[\"comment/659\",[]],[\"name/660\",[154,51.319]],[\"comment/660\",[]],[\"name/661\",[342,62.305]],[\"comment/661\",[]],[\"name/662\",[343,62.305]],[\"comment/662\",[]],[\"name/663\",[344,62.305]],[\"comment/663\",[]],[\"name/664\",[45,41.102]],[\"comment/664\",[]],[\"name/665\",[46,46.21]],[\"comment/665\",[]],[\"name/666\",[319,51.319]],[\"comment/666\",[]],[\"name/667\",[292,47.641]],[\"comment/667\",[]],[\"name/668\",[293,47.641]],[\"comment/668\",[]],[\"name/669\",[294,47.641]],[\"comment/669\",[]],[\"name/670\",[251,44.959]],[\"comment/670\",[]],[\"name/671\",[141,41.102]],[\"comment/671\",[]],[\"name/672\",[280,46.21]],[\"comment/672\",[]],[\"name/673\",[127,39.618]],[\"comment/673\",[]],[\"name/674\",[281,46.21]],[\"comment/674\",[]],[\"name/675\",[168,44.959]],[\"comment/675\",[]],[\"name/676\",[144,43.847]],[\"comment/676\",[]],[\"name/677\",[75,43.847]],[\"comment/677\",[]],[\"name/678\",[74,44.959]],[\"comment/678\",[]],[\"name/679\",[53,44.959]],[\"comment/679\",[]],[\"name/680\",[60,44.959]],[\"comment/680\",[]],[\"name/681\",[287,44.959]],[\"comment/681\",[]],[\"name/682\",[57,34.789]],[\"comment/682\",[]],[\"name/683\",[345,57.197]],[\"comment/683\",[]],[\"name/684\",[138,47.641]],[\"comment/684\",[]],[\"name/685\",[297,53.832]],[\"comment/685\",[]],[\"name/686\",[265,51.319]],[\"comment/686\",[]],[\"name/687\",[298,53.832]],[\"comment/687\",[]],[\"name/688\",[299,57.197]],[\"comment/688\",[]],[\"name/689\",[321,57.197]],[\"comment/689\",[]],[\"name/690\",[23,51.319]],[\"comment/690\",[]],[\"name/691\",[24,51.319]],[\"comment/691\",[]],[\"name/692\",[300,53.832]],[\"comment/692\",[]],[\"name/693\",[301,53.832]],[\"comment/693\",[]],[\"name/694\",[302,53.832]],[\"comment/694\",[]],[\"name/695\",[45,41.102]],[\"comment/695\",[]],[\"name/696\",[46,46.21]],[\"comment/696\",[]],[\"name/697\",[127,39.618]],[\"comment/697\",[]],[\"name/698\",[141,41.102]],[\"comment/698\",[]],[\"name/699\",[280,46.21]],[\"comment/699\",[]],[\"name/700\",[319,51.319]],[\"comment/700\",[]],[\"name/701\",[322,57.197]],[\"comment/701\",[]],[\"name/702\",[292,47.641]],[\"comment/702\",[]],[\"name/703\",[287,44.959]],[\"comment/703\",[]],[\"name/704\",[293,47.641]],[\"comment/704\",[]],[\"name/705\",[294,47.641]],[\"comment/705\",[]],[\"name/706\",[251,44.959]],[\"comment/706\",[]],[\"name/707\",[281,46.21]],[\"comment/707\",[]],[\"name/708\",[144,43.847]],[\"comment/708\",[]],[\"name/709\",[168,44.959]],[\"comment/709\",[]],[\"name/710\",[75,43.847]],[\"comment/710\",[]],[\"name/711\",[74,44.959]],[\"comment/711\",[]],[\"name/712\",[53,44.959]],[\"comment/712\",[]],[\"name/713\",[60,44.959]],[\"comment/713\",[]],[\"name/714\",[147,49.312]],[\"comment/714\",[]],[\"name/715\",[327,57.197]],[\"comment/715\",[]],[\"name/716\",[323,57.197]],[\"comment/716\",[]],[\"name/717\",[324,57.197]],[\"comment/717\",[]],[\"name/718\",[325,57.197]],[\"comment/718\",[]],[\"name/719\",[326,57.197]],[\"comment/719\",[]],[\"name/720\",[328,57.197]],[\"comment/720\",[]],[\"name/721\",[157,53.832]],[\"comment/721\",[]],[\"name/722\",[303,53.832]],[\"comment/722\",[]],[\"name/723\",[306,53.832]],[\"comment/723\",[]],[\"name/724\",[329,57.197]],[\"comment/724\",[]],[\"name/725\",[346,62.305]],[\"comment/725\",[]],[\"name/726\",[345,57.197]],[\"comment/726\",[]],[\"name/727\",[307,53.832]],[\"comment/727\",[]],[\"name/728\",[308,47.641]],[\"comment/728\",[]],[\"name/729\",[330,51.319]],[\"comment/729\",[]],[\"name/730\",[182,51.319]],[\"comment/730\",[]],[\"name/731\",[44,40.333]],[\"comment/731\",[]],[\"name/732\",[308,47.641]],[\"comment/732\",[]],[\"name/733\",[330,51.319]],[\"comment/733\",[]],[\"name/734\",[309,53.832]],[\"comment/734\",[]],[\"name/735\",[310,53.832]],[\"comment/735\",[]],[\"name/736\",[311,53.832]],[\"comment/736\",[]],[\"name/737\",[333,57.197]],[\"comment/737\",[]],[\"name/738\",[334,57.197]],[\"comment/738\",[]],[\"name/739\",[285,51.319]],[\"comment/739\",[]],[\"name/740\",[312,53.832]],[\"comment/740\",[]],[\"name/741\",[44,40.333]],[\"comment/741\",[]],[\"name/742\",[313,53.832]],[\"comment/742\",[]],[\"name/743\",[49,43.847]],[\"comment/743\",[]],[\"name/744\",[314,53.832]],[\"comment/744\",[]],[\"name/745\",[44,40.333]],[\"comment/745\",[]],[\"name/746\",[45,41.102]],[\"comment/746\",[]],[\"name/747\",[46,46.21]],[\"comment/747\",[]],[\"name/748\",[315,53.832]],[\"comment/748\",[]],[\"name/749\",[47,49.312]],[\"comment/749\",[]],[\"name/750\",[48,46.21]],[\"comment/750\",[]],[\"name/751\",[50,49.312]],[\"comment/751\",[]],[\"name/752\",[49,43.847]],[\"comment/752\",[]],[\"name/753\",[316,53.832]],[\"comment/753\",[]],[\"name/754\",[127,39.618]],[\"comment/754\",[]],[\"name/755\",[335,57.197]],[\"comment/755\",[]],[\"name/756\",[119,53.832]],[\"comment/756\",[]],[\"name/757\",[336,57.197]],[\"comment/757\",[]],[\"name/758\",[337,57.197]],[\"comment/758\",[]],[\"name/759\",[347,62.305]],[\"comment/759\",[]],[\"name/760\",[348,62.305]],[\"comment/760\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":57,\"name\":{\"62\":{},\"64\":{},\"66\":{},\"70\":{},\"72\":{},\"86\":{},\"170\":{},\"236\":{},\"238\":{},\"342\":{},\"356\":{},\"358\":{},\"454\":{},\"457\":{},\"460\":{},\"464\":{},\"466\":{},\"468\":{},\"470\":{},\"475\":{},\"498\":{},\"576\":{},\"682\":{}},\"comment\":{}}],[\"accept\",{\"_index\":162,\"name\":{\"217\":{}},\"comment\":{}}],[\"all\",{\"_index\":265,\"name\":{\"410\":{},\"502\":{},\"580\":{},\"686\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":183,\"name\":{\"254\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":185,\"name\":{\"257\":{},\"262\":{},\"269\":{},\"287\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":88,\"name\":{\"103\":{}},\"comment\":{}}],[\"append\",{\"_index\":323,\"name\":{\"607\":{},\"716\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":324,\"name\":{\"608\":{},\"717\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"assert\",{\"_index\":339,\"name\":{\"656\":{},\"658\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":186,\"name\":{\"259\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":119,\"name\":{\"166\":{},\"652\":{},\"756\":{}},\"comment\":{}}],[\"ast\",{\"_index\":131,\"name\":{\"182\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":118,\"name\":{\"165\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":81,\"name\":{\"95\":{}},\"comment\":{}}],[\"builder\",{\"_index\":314,\"name\":{\"546\":{},\"640\":{},\"744\":{}},\"comment\":{}}],[\"canonicalize\",{\"_index\":166,\"name\":{\"235\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"char\",{\"_index\":276,\"name\":{\"437\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":191,\"name\":{\"274\":{}},\"comment\":{}}],[\"characterelement\",{\"_index\":136,\"name\":{\"189\":{}},\"comment\":{}}],[\"characterpropertycharacterset\",{\"_index\":91,\"name\":{\"109\":{}},\"comment\":{}}],[\"characters\",{\"_index\":192,\"name\":{\"277\":{},\"419\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":237,\"name\":{\"362\":{}},\"comment\":{}}],[\"charcasefolding\",{\"_index\":165,\"name\":{\"234\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":252,\"name\":{\"380\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":263,\"name\":{\"405\":{}},\"comment\":{}}],[\"chars\",{\"_index\":161,\"name\":{\"216\":{}},\"comment\":{}}],[\"charset\",{\"_index\":264,\"name\":{\"408\":{}},\"comment\":{}}],[\"clear\",{\"_index\":258,\"name\":{\"394\":{}},\"comment\":{}}],[\"combinedtransformer\",{\"_index\":230,\"name\":{\"343\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":217,\"name\":{\"328\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":275,\"name\":{\"436\":{}},\"comment\":{}}],[\"compare\",{\"_index\":273,\"name\":{\"424\":{}},\"comment\":{}}],[\"complement\",{\"_index\":305,\"name\":{\"530\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":195,\"name\":{\"289\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":44,\"name\":{\"49\":{},\"344\":{},\"363\":{},\"381\":{},\"536\":{},\"543\":{},\"547\":{},\"625\":{},\"637\":{},\"641\":{},\"731\":{},\"741\":{},\"745\":{}},\"comment\":{}}],[\"copy\",{\"_index\":251,\"name\":{\"379\":{},\"395\":{},\"485\":{},\"526\":{},\"564\":{},\"599\":{},\"670\":{},\"706\":{}},\"comment\":{}}],[\"count\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":294,\"name\":{\"484\":{},\"518\":{},\"563\":{},\"598\":{},\"669\":{},\"705\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":49,\"name\":{\"54\":{},\"459\":{},\"469\":{},\"545\":{},\"554\":{},\"639\":{},\"648\":{},\"743\":{},\"752\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":256,\"name\":{\"392\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":257,\"name\":{\"393\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":296,\"name\":{\"499\":{},\"532\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":89,\"name\":{\"105\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":104,\"name\":{\"133\":{},\"144\":{},\"153\":{}},\"comment\":{}}],[\"element\",{\"_index\":180,\"name\":{\"251\":{}},\"comment\":{}}],[\"elements\",{\"_index\":196,\"name\":{\"292\":{}},\"comment\":{}}],[\"empty\",{\"_index\":138,\"name\":{\"191\":{},\"213\":{},\"409\":{},\"500\":{},\"578\":{},\"684\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":297,\"name\":{\"501\":{},\"579\":{},\"685\":{}},\"comment\":{}}],[\"end\",{\"_index\":179,\"name\":{\"250\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":320,\"name\":{\"577\":{},\"618\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"entries\",{\"_index\":249,\"name\":{\"377\":{},\"403\":{}},\"comment\":{}}],[\"entrycount\",{\"_index\":242,\"name\":{\"369\":{},\"384\":{}},\"comment\":{}}],[\"equals\",{\"_index\":146,\"name\":{\"199\":{},\"222\":{},\"423\":{}},\"comment\":{}}],[\"events\",{\"_index\":236,\"name\":{\"361\":{}},\"comment\":{}}],[\"expression\",{\"_index\":126,\"name\":{\"176\":{},\"284\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":286,\"name\":{\"461\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":315,\"name\":{\"550\":{},\"644\":{},\"748\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":282,\"name\":{\"451\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":22,\"name\":{\"27\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":101,\"name\":{\"130\":{}},\"comment\":{}}],[\"filter\",{\"_index\":261,\"name\":{\"398\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"final\",{\"_index\":318,\"name\":{\"559\":{},\"589\":{},\"643\":{}},\"comment\":{}}],[\"finals\",{\"_index\":46,\"name\":{\"51\":{},\"481\":{},\"511\":{},\"549\":{},\"665\":{},\"696\":{},\"747\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":279,\"name\":{\"440\":{}},\"comment\":{}}],[\"flags\",{\"_index\":100,\"name\":{\"129\":{},\"159\":{},\"162\":{},\"173\":{},\"183\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":32,\"name\":{\"37\":{},\"374\":{},\"400\":{}},\"comment\":{}}],[\"from\",{\"_index\":139,\"name\":{\"192\":{},\"215\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":130,\"name\":{\"180\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":302,\"name\":{\"509\":{},\"587\":{},\"694\":{}},\"comment\":{}}],[\"fromcharacter\",{\"_index\":268,\"name\":{\"413\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":266,\"name\":{\"411\":{}},\"comment\":{}}],[\"fromchars\",{\"_index\":160,\"name\":{\"214\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":298,\"name\":{\"503\":{},\"581\":{},\"687\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":300,\"name\":{\"507\":{},\"585\":{},\"692\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":299,\"name\":{\"504\":{},\"688\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":129,\"name\":{\"179\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":267,\"name\":{\"412\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":321,\"name\":{\"582\":{},\"689\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":335,\"name\":{\"651\":{},\"755\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":172,\"name\":{\"243\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":171,\"name\":{\"242\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":301,\"name\":{\"508\":{},\"586\":{},\"693\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":170,\"name\":{\"241\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":169,\"name\":{\"240\":{}},\"comment\":{}}],[\"fromword\",{\"_index\":140,\"name\":{\"193\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":23,\"name\":{\"28\":{},\"505\":{},\"583\":{},\"690\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":24,\"name\":{\"29\":{},\"506\":{},\"584\":{},\"691\":{}},\"comment\":{}}],[\"get\",{\"_index\":246,\"name\":{\"373\":{},\"388\":{}},\"comment\":{}}],[\"getcharcasefolding\",{\"_index\":164,\"name\":{\"233\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":56,\"name\":{\"61\":{},\"71\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":58,\"name\":{\"63\":{}},\"comment\":{}}],[\"getid\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":341,\"name\":{\"659\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":343,\"name\":{\"662\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":342,\"name\":{\"661\":{}},\"comment\":{}}],[\"getlengthrange\",{\"_index\":158,\"name\":{\"211\":{},\"232\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":59,\"name\":{\"65\":{},\"69\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"getout\",{\"_index\":283,\"name\":{\"453\":{}},\"comment\":{}}],[\"getsinglecharacters\",{\"_index\":155,\"name\":{\"208\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":121,\"name\":{\"169\":{}},\"comment\":{}}],[\"global\",{\"_index\":105,\"name\":{\"134\":{},\"145\":{},\"154\":{}},\"comment\":{}}],[\"has\",{\"_index\":243,\"name\":{\"370\":{},\"385\":{},\"430\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"hasemptyword\",{\"_index\":142,\"name\":{\"195\":{},\"220\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":244,\"name\":{\"371\":{},\"386\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":106,\"name\":{\"135\":{},\"146\":{},\"155\":{}},\"comment\":{}}],[\"hassinglecharacter\",{\"_index\":143,\"name\":{\"196\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":245,\"name\":{\"372\":{},\"387\":{}},\"comment\":{}}],[\"id\",{\"_index\":194,\"name\":{\"282\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"16\":{},\"23\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":107,\"name\":{\"136\":{},\"147\":{},\"156\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"in\",{\"_index\":330,\"name\":{\"621\":{},\"627\":{},\"729\":{},\"733\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":337,\"name\":{\"654\":{},\"758\":{}},\"comment\":{}}],[\"initial\",{\"_index\":45,\"name\":{\"50\":{},\"452\":{},\"462\":{},\"480\":{},\"510\":{},\"548\":{},\"558\":{},\"588\":{},\"642\":{},\"664\":{},\"695\":{},\"746\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"13\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":148,\"name\":{\"201\":{},\"225\":{},\"428\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"invert\",{\"_index\":250,\"name\":{\"378\":{},\"399\":{}},\"comment\":{}}],[\"isall\",{\"_index\":270,\"name\":{\"417\":{}},\"comment\":{}}],[\"iscompatiblewith\",{\"_index\":145,\"name\":{\"198\":{},\"223\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":154,\"name\":{\"207\":{},\"231\":{},\"435\":{},\"660\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":141,\"name\":{\"194\":{},\"219\":{},\"367\":{},\"382\":{},\"416\":{},\"441\":{},\"487\":{},\"513\":{},\"565\":{},\"591\":{},\"671\":{},\"698\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":48,\"name\":{\"53\":{},\"81\":{},\"456\":{},\"465\":{},\"552\":{},\"646\":{},\"750\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":280,\"name\":{\"442\":{},\"488\":{},\"514\":{},\"566\":{},\"592\":{},\"672\":{},\"699\":{}},\"comment\":{}}],[\"isflags\",{\"_index\":102,\"name\":{\"131\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":68,\"name\":{\"80\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":319,\"name\":{\"560\":{},\"593\":{},\"666\":{},\"700\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":153,\"name\":{\"206\":{},\"230\":{},\"434\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":152,\"name\":{\"205\":{},\"229\":{},\"433\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":151,\"name\":{\"204\":{},\"228\":{},\"432\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":150,\"name\":{\"203\":{},\"227\":{},\"431\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":262,\"name\":{\"404\":{}},\"comment\":{}}],[\"js\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"key\",{\"_index\":92,\"name\":{\"111\":{},\"117\":{}},\"comment\":{}}],[\"keys\",{\"_index\":247,\"name\":{\"375\":{},\"401\":{}},\"comment\":{}}],[\"kind\",{\"_index\":83,\"name\":{\"97\":{},\"100\":{},\"104\":{},\"106\":{},\"110\":{},\"116\":{},\"122\":{},\"125\":{},\"263\":{}},\"comment\":{}}],[\"label\",{\"_index\":63,\"name\":{\"74\":{},\"77\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":188,\"name\":{\"270\":{}},\"comment\":{}}],[\"length\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"limit\",{\"_index\":313,\"name\":{\"544\":{},\"638\":{},\"742\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":312,\"name\":{\"542\":{},\"636\":{},\"740\":{}},\"comment\":{}}],[\"link\",{\"_index\":309,\"name\":{\"538\":{},\"628\":{},\"734\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":50,\"name\":{\"55\":{},\"467\":{},\"553\":{},\"647\":{},\"751\":{}},\"comment\":{}}],[\"literal\",{\"_index\":114,\"name\":{\"160\":{},\"181\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":42,\"name\":{\"47\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":47,\"name\":{\"52\":{},\"463\":{},\"551\":{},\"645\":{},\"749\":{}},\"comment\":{}}],[\"makegreedy\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"map\",{\"_index\":259,\"name\":{\"396\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":43,\"name\":{\"48\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":51,\"name\":{\"56\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":30,\"name\":{\"35\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":260,\"name\":{\"397\":{}},\"comment\":{}}],[\"max\",{\"_index\":190,\"name\":{\"272\":{},\"407\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":117,\"name\":{\"164\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":127,\"name\":{\"177\":{},\"184\":{},\"340\":{},\"443\":{},\"473\":{},\"489\":{},\"512\":{},\"556\":{},\"567\":{},\"590\":{},\"650\":{},\"673\":{},\"697\":{},\"754\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":338,\"name\":{\"655\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":163,\"name\":{\"218\":{},\"414\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":120,\"name\":{\"168\":{},\"477\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":290,\"name\":{\"478\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":235,\"name\":{\"360\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":65,\"name\":{\"76\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"min\",{\"_index\":189,\"name\":{\"271\":{},\"406\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":304,\"name\":{\"529\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":108,\"name\":{\"137\":{},\"148\":{},\"157\":{}},\"comment\":{}}],[\"name\",{\"_index\":220,\"name\":{\"331\":{},\"345\":{}},\"comment\":{}}],[\"negate\",{\"_index\":84,\"name\":{\"98\":{},\"107\":{},\"114\":{},\"120\":{},\"123\":{},\"126\":{},\"264\":{},\"426\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":345,\"name\":{\"683\":{},\"726\":{}},\"comment\":{}}],[\"node\",{\"_index\":182,\"name\":{\"253\":{},\"535\":{},\"624\":{},\"730\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":285,\"name\":{\"458\":{},\"541\":{},\"635\":{},\"739\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":67,\"name\":{\"79\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":293,\"name\":{\"483\":{},\"517\":{},\"562\":{},\"597\":{},\"668\":{},\"704\":{}},\"comment\":{}}],[\"nonunicodesetsflags\",{\"_index\":112,\"name\":{\"141\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":197,\"name\":{\"294\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":322,\"name\":{\"594\":{},\"701\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":221,\"name\":{\"332\":{},\"347\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":202,\"name\":{\"299\":{},\"314\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":203,\"name\":{\"300\":{},\"315\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":222,\"name\":{\"333\":{},\"348\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":204,\"name\":{\"301\":{},\"316\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":205,\"name\":{\"302\":{},\"317\":{}},\"comment\":{}}],[\"onchange\",{\"_index\":233,\"name\":{\"357\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":223,\"name\":{\"334\":{},\"349\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":206,\"name\":{\"303\":{},\"318\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":207,\"name\":{\"304\":{},\"319\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":224,\"name\":{\"335\":{},\"350\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":208,\"name\":{\"305\":{},\"320\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":209,\"name\":{\"306\":{},\"321\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":225,\"name\":{\"336\":{},\"351\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":210,\"name\":{\"307\":{},\"322\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":211,\"name\":{\"308\":{},\"323\":{}},\"comment\":{}}],[\"onpassstart\",{\"_index\":232,\"name\":{\"355\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":226,\"name\":{\"337\":{},\"352\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":212,\"name\":{\"309\":{},\"324\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":213,\"name\":{\"310\":{},\"325\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":227,\"name\":{\"338\":{},\"353\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":214,\"name\":{\"311\":{},\"326\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":215,\"name\":{\"312\":{},\"327\":{}},\"comment\":{}}],[\"options\",{\"_index\":316,\"name\":{\"555\":{},\"649\":{},\"753\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":73,\"name\":{\"87\":{}},\"comment\":{}}],[\"out\",{\"_index\":308,\"name\":{\"534\":{},\"537\":{},\"620\":{},\"626\":{},\"728\":{},\"732\":{}},\"comment\":{}}],[\"parent\",{\"_index\":181,\"name\":{\"252\":{},\"256\":{},\"261\":{},\"268\":{},\"276\":{},\"281\":{},\"286\":{},\"291\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":124,\"name\":{\"174\":{}},\"comment\":{}}],[\"parse\",{\"_index\":132,\"name\":{\"185\":{}},\"comment\":{}}],[\"parsecharset\",{\"_index\":135,\"name\":{\"188\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":133,\"name\":{\"186\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":116,\"name\":{\"163\":{}},\"comment\":{}}],[\"parser\",{\"_index\":128,\"name\":{\"178\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":125,\"name\":{\"175\":{}},\"comment\":{}}],[\"parseunicodeset\",{\"_index\":134,\"name\":{\"187\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":123,\"name\":{\"172\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":173,\"name\":{\"244\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":174,\"name\":{\"245\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":87,\"name\":{\"102\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":306,\"name\":{\"531\":{},\"616\":{},\"723\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":325,\"name\":{\"609\":{},\"718\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":326,\"name\":{\"610\":{},\"719\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":90,\"name\":{\"108\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":187,\"name\":{\"266\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":328,\"name\":{\"613\":{},\"720\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":269,\"name\":{\"415\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":332,\"name\":{\"623\":{},\"634\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":240,\"name\":{\"366\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":291,\"name\":{\"479\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":317,\"name\":{\"557\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":344,\"name\":{\"663\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":307,\"name\":{\"533\":{},\"619\":{},\"727\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":278,\"name\":{\"439\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":348,\"name\":{\"760\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":122,\"name\":{\"171\":{}},\"comment\":{}}],[\"remove\",{\"_index\":13,\"name\":{\"14\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":303,\"name\":{\"528\":{},\"615\":{},\"722\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"resize\",{\"_index\":274,\"name\":{\"425\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":331,\"name\":{\"622\":{},\"633\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":346,\"name\":{\"725\":{}},\"comment\":{}}],[\"set\",{\"_index\":253,\"name\":{\"389\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":255,\"name\":{\"391\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":198,\"name\":{\"295\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":254,\"name\":{\"390\":{}},\"comment\":{}}],[\"sets\",{\"_index\":238,\"name\":{\"364\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":199,\"name\":{\"296\":{}},\"comment\":{}}],[\"shape\",{\"_index\":64,\"name\":{\"75\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":229,\"name\":{\"341\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":71,\"name\":{\"84\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":21,\"name\":{\"26\":{},\"167\":{}},\"comment\":{}}],[\"size\",{\"_index\":241,\"name\":{\"368\":{},\"383\":{},\"418\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"source\",{\"_index\":115,\"name\":{\"161\":{},\"258\":{},\"265\":{},\"273\":{},\"278\":{},\"283\":{},\"288\":{},\"293\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":177,\"name\":{\"248\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":96,\"name\":{\"121\":{}},\"comment\":{}}],[\"split\",{\"_index\":239,\"name\":{\"365\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":284,\"name\":{\"455\":{}},\"comment\":{}}],[\"start\",{\"_index\":178,\"name\":{\"249\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":292,\"name\":{\"482\":{},\"515\":{},\"561\":{},\"595\":{},\"667\":{},\"702\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":109,\"name\":{\"138\":{},\"149\":{},\"158\":{}},\"comment\":{}}],[\"stringpropertycharacterset\",{\"_index\":95,\"name\":{\"115\":{}},\"comment\":{}}],[\"strings\",{\"_index\":94,\"name\":{\"113\":{},\"119\":{}},\"comment\":{}}],[\"stringset\",{\"_index\":137,\"name\":{\"190\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":295,\"name\":{\"486\":{},\"527\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":329,\"name\":{\"617\":{},\"724\":{}},\"comment\":{}}],[\"test\",{\"_index\":281,\"name\":{\"444\":{},\"490\":{},\"519\":{},\"568\":{},\"600\":{},\"674\":{},\"707\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"tocharset\",{\"_index\":167,\"name\":{\"237\":{}},\"comment\":{}}],[\"todot\",{\"_index\":53,\"name\":{\"58\":{},\"449\":{},\"495\":{},\"524\":{},\"573\":{},\"605\":{},\"679\":{},\"712\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":54,\"name\":{\"59\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":55,\"name\":{\"60\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":98,\"name\":{\"127\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":99,\"name\":{\"128\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":60,\"name\":{\"67\":{},\"450\":{},\"496\":{},\"525\":{},\"574\":{},\"606\":{},\"680\":{},\"713\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":61,\"name\":{\"68\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":340,\"name\":{\"657\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":271,\"name\":{\"421\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":74,\"name\":{\"88\":{},\"448\":{},\"494\":{},\"523\":{},\"572\":{},\"604\":{},\"678\":{},\"711\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":289,\"name\":{\"476\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":75,\"name\":{\"89\":{},\"420\":{},\"447\":{},\"493\":{},\"522\":{},\"571\":{},\"603\":{},\"677\":{},\"710\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":272,\"name\":{\"422\":{}},\"comment\":{}}],[\"transform\",{\"_index\":218,\"name\":{\"329\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":228,\"name\":{\"339\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":219,\"name\":{\"330\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{},\"346\":{}},\"comment\":{}}],[\"transformevents\",{\"_index\":231,\"name\":{\"354\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":234,\"name\":{\"359\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":288,\"name\":{\"472\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":287,\"name\":{\"471\":{},\"474\":{},\"497\":{},\"516\":{},\"575\":{},\"596\":{},\"681\":{},\"703\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":72,\"name\":{\"85\":{}},\"comment\":{}}],[\"type\",{\"_index\":184,\"name\":{\"255\":{},\"260\":{},\"267\":{},\"275\":{},\"280\":{},\"285\":{},\"290\":{}},\"comment\":{}}],[\"uncheckedflags\",{\"_index\":103,\"name\":{\"132\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":110,\"name\":{\"139\":{},\"142\":{},\"151\":{}},\"comment\":{}}],[\"unicodeset\",{\"_index\":159,\"name\":{\"212\":{}},\"comment\":{}}],[\"unicodesets\",{\"_index\":111,\"name\":{\"140\":{},\"143\":{},\"152\":{}},\"comment\":{}}],[\"unicodesetsflags\",{\"_index\":113,\"name\":{\"150\":{}},\"comment\":{}}],[\"union\",{\"_index\":147,\"name\":{\"200\":{},\"224\":{},\"427\":{},\"611\":{},\"714\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":327,\"name\":{\"612\":{},\"715\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":193,\"name\":{\"279\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":336,\"name\":{\"653\":{},\"757\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":310,\"name\":{\"539\":{},\"629\":{},\"735\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":311,\"name\":{\"540\":{},\"630\":{},\"736\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":334,\"name\":{\"632\":{},\"738\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":333,\"name\":{\"631\":{},\"737\":{}},\"comment\":{}}],[\"value\",{\"_index\":93,\"name\":{\"112\":{},\"118\":{}},\"comment\":{}}],[\"values\",{\"_index\":248,\"name\":{\"376\":{},\"402\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":200,\"name\":{\"297\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":201,\"name\":{\"298\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":216,\"name\":{\"313\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"without\",{\"_index\":149,\"name\":{\"202\":{},\"226\":{},\"429\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":157,\"name\":{\"210\":{},\"614\":{},\"721\":{}},\"comment\":{}}],[\"withoutsinglecharacters\",{\"_index\":156,\"name\":{\"209\":{}},\"comment\":{}}],[\"word\",{\"_index\":277,\"name\":{\"438\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":82,\"name\":{\"96\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":97,\"name\":{\"124\":{}},\"comment\":{}}],[\"words\",{\"_index\":168,\"name\":{\"239\":{},\"445\":{},\"491\":{},\"521\":{},\"569\":{},\"602\":{},\"675\":{},\"709\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":347,\"name\":{\"759\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":144,\"name\":{\"197\":{},\"221\":{},\"446\":{},\"492\":{},\"520\":{},\"570\":{},\"601\":{},\"676\":{},\"708\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":175,\"name\":{\"246\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":176,\"name\":{\"247\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/latest/assets/style.css b/docs/latest/assets/style.css new file mode 100644 index 00000000..18b4f8fe --- /dev/null +++ b/docs/latest/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/latest/classes/CharBase.html b/docs/latest/classes/CharBase.html new file mode 100644 index 00000000..d109234b --- /dev/null +++ b/docs/latest/classes/CharBase.html @@ -0,0 +1,206 @@ +CharBase | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+

Guarantees

    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+

Use case

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

    +
    +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/CharMap.html b/docs/latest/classes/CharMap.html new file mode 100644 index 00000000..7966eeac --- /dev/null +++ b/docs/latest/classes/CharMap.html @@ -0,0 +1,587 @@ +CharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
    +
  • get entryCount(): number
  • +
  • +

    The number of entires in this map.

    +

    This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

    +

    This is equivalent to [...this.entries()].length.

    +
    +

    Returns number

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this map is empty.

    +

    This is equivalent to this.size === 0 and this.entryCount === 0.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    The number of characters in this map. This is different from entryCount.

    +

    This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns IterableIterator<[CharRange, T]>

    +
+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<CharRange>

    +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<T>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/CharSet.html b/docs/latest/classes/CharSet.html new file mode 100644 index 00000000..f6718229 --- /dev/null +++ b/docs/latest/classes/CharSet.html @@ -0,0 +1,630 @@ +CharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

    +
+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +
    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      char: Char
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      range: CharRange
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/CombinedTransformer.html b/docs/latest/classes/CombinedTransformer.html new file mode 100644 index 00000000..b8b51906 --- /dev/null +++ b/docs/latest/classes/CombinedTransformer.html @@ -0,0 +1,275 @@ +CombinedTransformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CombinedTransformer

+
+

A transformer that runs all given transformers in sequentially order.

+

The combined transformer is a special transformer in that the transform function knows about it.

+
+
+
+

Hierarchy

+
    +
  • CombinedTransformer
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
name: "CombinedTransformer" = "CombinedTransformer"
+

An optional name useful for diagnostics.

+
+
+
+ +
transformers: readonly Transformer[]
+

The transformers that will be applied in order.

+

Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a +CombinedTransformer, then its transformers will be used instead (think of it as flattening combined +transformers).

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/DFA-1.html b/docs/latest/classes/DFA-1.html new file mode 100644 index 00000000..204d401a --- /dev/null +++ b/docs/latest/classes/DFA-1.html @@ -0,0 +1,701 @@ +DFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

    +
+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/DFA.Builder.html b/docs/latest/classes/DFA.Builder.html new file mode 100644 index 00000000..fbb6274a --- /dev/null +++ b/docs/latest/classes/DFA.Builder.html @@ -0,0 +1,247 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/DFA.LimitedNodeFactory.html b/docs/latest/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..66d404fb --- /dev/null +++ b/docs/latest/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,172 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/DFA.Node.html b/docs/latest/classes/DFA.Node.html new file mode 100644 index 00000000..145bb3cb --- /dev/null +++ b/docs/latest/classes/DFA.Node.html @@ -0,0 +1,188 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/ENFA-1.html b/docs/latest/classes/ENFA-1.html new file mode 100644 index 00000000..63f1d414 --- /dev/null +++ b/docs/latest/classes/ENFA-1.html @@ -0,0 +1,940 @@ +ENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    ENFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

    +
+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    ENFA

    +
+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/ENFA.Builder.html b/docs/latest/classes/ENFA.Builder.html new file mode 100644 index 00000000..b31d4246 --- /dev/null +++ b/docs/latest/classes/ENFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/ENFA.LimitedNodeFactory.html b/docs/latest/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..9f8bc0df --- /dev/null +++ b/docs/latest/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/ENFA.Node.html b/docs/latest/classes/ENFA.Node.html new file mode 100644 index 00000000..f0fd0559 --- /dev/null +++ b/docs/latest/classes/ENFA.Node.html @@ -0,0 +1,304 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/FAIterators.MapFABuilder.html b/docs/latest/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..899fb8c1 --- /dev/null +++ b/docs/latest/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,272 @@ +MapFABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/classes/JS.Parser.html b/docs/latest/classes/JS.Parser.html new file mode 100644 index 00000000..eec9f2d7 --- /dev/null +++ b/docs/latest/classes/JS.Parser.html @@ -0,0 +1,275 @@ +Parser | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +
flags: Required<Flags>
+

This contains the same flags as ast.flags but with a better type.

+
+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

    +
+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    If a string is given as the literal, it must be of the form /pattern/flags. If possible, use the +object form with Literal instead.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: string | Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
    +

    Returns Parser

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/classes/JS.StringSet.html b/docs/latest/classes/JS.StringSet.html new file mode 100644 index 00000000..3c127ccc --- /dev/null +++ b/docs/latest/classes/JS.StringSet.html @@ -0,0 +1,465 @@ +StringSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class StringSet

+
+

A set of words.

+

Words are stored as a sorted list of canonicalized words. The actual value of the set is wordSets.

+
+
+
+

Hierarchy

+
    +
  • StringSet
+
+
+
+ +
+
+

Properties

+
+ +
empty: StringSet = ...
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if this set contains the empty word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get hasSingleCharacter(): boolean
  • +
  • +

    true if this set contains at least one single-character word.

    +

    This is equivalent to this.getSingleCharacter() !== undefined.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if this set is empty.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    The words of this set with toCharSet applied to each character.

    +

    Word sets are guaranteed to be sorted by ascending length.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set is equal to the given set.

    +

    Equality is defined as the wordSets of both sets being the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
    + +
  • +

    Returns a set of all single-character words in this set or undefined if this set contains no single-character +words.

    +
    +

    Returns undefined | CharSet

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns whether this set is compatible with the given set. Compatibility is defined as follows:

    +
      +
    1. The empty set is compatible with all sets.
    2. +
    3. Sets with different case folding are incompatible.
    4. +
    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this ⊂ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊆ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊇ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the union of all given sets.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns this set without the strings of the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes the empty word from this set.

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes all single-character words from this set.

    +
    +

    Returns StringSet

    +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/classes/JS.UnicodeSet.html b/docs/latest/classes/JS.UnicodeSet.html new file mode 100644 index 00000000..75d52096 --- /dev/null +++ b/docs/latest/classes/JS.UnicodeSet.html @@ -0,0 +1,435 @@ +UnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class UnicodeSet

+
+

A mathematical set of characters and strings.

+

Despite the name, the characters in this set are not necessarily Unicode characters. +So chars.maximum is not necessarily 0x10FFFF.

+

The set is represented as a union of a CharSet and a StringSet.

+
+
+
+

Hierarchy

+
    +
  • UnicodeSet
+
+
+
+ +
+
+

Properties

+
+ +
accept: StringSet
+

A sorted set of words.

+

In addition to the usual guarantees of StringSet, this set is also guaranteed to not contain any +single-character words.

+
+
+
+ +
chars: CharSet
+

All single characters in the set.

+
+
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if the set contains the empty word.

    +

    This is equivalent to this.accept.hasEmptyWord.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if the set is empty (=accepts no words).

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get maximum(): Char
  • +
  • +

    The maximum character in the set.

    +

    This is equivalent to this.chars.maximum.

    +
    +

    Returns Char

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    All word sets accepted by this set.

    +

    Word sets are guaranteed to be sorted by descending length and code points. This means that word sets are in +the order in which the ECMAScript RegExp engine would try matching them.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/classes/MaxCharacterError.html b/docs/latest/classes/MaxCharacterError.html new file mode 100644 index 00000000..2a21762c --- /dev/null +++ b/docs/latest/classes/MaxCharacterError.html @@ -0,0 +1,161 @@ +MaxCharacterError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      Optional kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/NFA-1.html b/docs/latest/classes/NFA-1.html new file mode 100644 index 00000000..537affc2 --- /dev/null +++ b/docs/latest/classes/NFA-1.html @@ -0,0 +1,941 @@ +NFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    NFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

    +
+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    NFA

    +
+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/NFA.Builder.html b/docs/latest/classes/NFA.Builder.html new file mode 100644 index 00000000..eda955cf --- /dev/null +++ b/docs/latest/classes/NFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/NFA.LimitedNodeFactory.html b/docs/latest/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..32d90745 --- /dev/null +++ b/docs/latest/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/NFA.Node.html b/docs/latest/classes/NFA.Node.html new file mode 100644 index 00000000..0624a8e5 --- /dev/null +++ b/docs/latest/classes/NFA.Node.html @@ -0,0 +1,217 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/classes/TooManyNodesError.html b/docs/latest/classes/TooManyNodesError.html new file mode 100644 index 00000000..5ec6ef9b --- /dev/null +++ b/docs/latest/classes/TooManyNodesError.html @@ -0,0 +1,162 @@ +TooManyNodesError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.approximateRejectingWordSet.html b/docs/latest/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 00000000..b3337865 --- /dev/null +++ b/docs/latest/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,164 @@ +approximateRejectingWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.canReachFinal.html b/docs/latest/functions/FAIterators.canReachFinal.html new file mode 100644 index 00000000..a86ece3b --- /dev/null +++ b/docs/latest/functions/FAIterators.canReachFinal.html @@ -0,0 +1,153 @@ +canReachFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.count.html b/docs/latest/functions/FAIterators.count.html new file mode 100644 index 00000000..a5d08333 --- /dev/null +++ b/docs/latest/functions/FAIterators.count.html @@ -0,0 +1,153 @@ +count | refa - v0.12.1
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.ensureStableOut.html b/docs/latest/functions/FAIterators.ensureStableOut.html new file mode 100644 index 00000000..a3d0c8a7 --- /dev/null +++ b/docs/latest/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,155 @@ +ensureStableOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.filterOutIter.html b/docs/latest/functions/FAIterators.filterOutIter.html new file mode 100644 index 00000000..ea297817 --- /dev/null +++ b/docs/latest/functions/FAIterators.filterOutIter.html @@ -0,0 +1,169 @@ +filterOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.forEach.html b/docs/latest/functions/FAIterators.forEach.html new file mode 100644 index 00000000..d57f26b1 --- /dev/null +++ b/docs/latest/functions/FAIterators.forEach.html @@ -0,0 +1,169 @@ +forEach | refa - v0.12.1
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
      +
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.fromWordSets.html b/docs/latest/functions/FAIterators.fromWordSets.html new file mode 100644 index 00000000..3459514c --- /dev/null +++ b/docs/latest/functions/FAIterators.fromWordSets.html @@ -0,0 +1,161 @@ +fromWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.fromWords.html b/docs/latest/functions/FAIterators.fromWords.html new file mode 100644 index 00000000..81f974c9 --- /dev/null +++ b/docs/latest/functions/FAIterators.fromWords.html @@ -0,0 +1,185 @@ +fromWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
      +
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
      +
    • +
    • +
      maxCharacter: Char
      +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.hasCycle.html b/docs/latest/functions/FAIterators.hasCycle.html new file mode 100644 index 00000000..24c9d41e --- /dev/null +++ b/docs/latest/functions/FAIterators.hasCycle.html @@ -0,0 +1,153 @@ +hasCycle | refa - v0.12.1
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.intersection.html b/docs/latest/functions/FAIterators.intersection.html new file mode 100644 index 00000000..b8f5258f --- /dev/null +++ b/docs/latest/functions/FAIterators.intersection.html @@ -0,0 +1,165 @@ +intersection | refa - v0.12.1
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.iterateStates.html b/docs/latest/functions/FAIterators.iterateStates.html new file mode 100644 index 00000000..76d71a55 --- /dev/null +++ b/docs/latest/functions/FAIterators.iterateStates.html @@ -0,0 +1,154 @@ +iterateStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.iterateWordSets.html b/docs/latest/functions/FAIterators.iterateWordSets.html new file mode 100644 index 00000000..7c9e873d --- /dev/null +++ b/docs/latest/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,155 @@ +iterateWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.languageIsFinite.html b/docs/latest/functions/FAIterators.languageIsFinite.html new file mode 100644 index 00000000..4c9f5835 --- /dev/null +++ b/docs/latest/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,153 @@ +languageIsFinite | refa - v0.12.1
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.makeDeterministic.html b/docs/latest/functions/FAIterators.makeDeterministic.html new file mode 100644 index 00000000..d7a274c7 --- /dev/null +++ b/docs/latest/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,159 @@ +makeDeterministic | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
    + +
  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      B

    • +
    • +

      I

    +
    +

    Parameters

    +
    +

    Returns FAIterator<B, B>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.makeInitialFinal.html b/docs/latest/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 00000000..991e7563 --- /dev/null +++ b/docs/latest/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,156 @@ +makeInitialFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.makeInitialNonFinal.html b/docs/latest/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 00000000..426b49a9 --- /dev/null +++ b/docs/latest/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,156 @@ +makeInitialNonFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.mapOut.html b/docs/latest/functions/FAIterators.mapOut.html new file mode 100644 index 00000000..687d0722 --- /dev/null +++ b/docs/latest/functions/FAIterators.mapOut.html @@ -0,0 +1,171 @@ +mapOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.mapOutIter.html b/docs/latest/functions/FAIterators.mapOutIter.html new file mode 100644 index 00000000..81ebc85c --- /dev/null +++ b/docs/latest/functions/FAIterators.mapOutIter.html @@ -0,0 +1,171 @@ +mapOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.removeDeadStates.html b/docs/latest/functions/FAIterators.removeDeadStates.html new file mode 100644 index 00000000..acc5646e --- /dev/null +++ b/docs/latest/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,170 @@ +removeDeadStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: ((item: O) => S)
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.shortestAcceptingPath.html b/docs/latest/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 00000000..e6431b64 --- /dev/null +++ b/docs/latest/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,171 @@ +shortestAcceptingPath | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: ((item: T) => S)
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.shortestWordSet.html b/docs/latest/functions/FAIterators.shortestWordSet.html new file mode 100644 index 00000000..4efbc8e7 --- /dev/null +++ b/docs/latest/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,157 @@ +shortestWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.toDot.html b/docs/latest/functions/FAIterators.toDot.html new file mode 100644 index 00000000..4bf79d58 --- /dev/null +++ b/docs/latest/functions/FAIterators.toDot.html @@ -0,0 +1,153 @@ +toDot | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toDot

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.toMermaid.html b/docs/latest/functions/FAIterators.toMermaid.html new file mode 100644 index 00000000..167410fe --- /dev/null +++ b/docs/latest/functions/FAIterators.toMermaid.html @@ -0,0 +1,153 @@ +toMermaid | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toMermaid

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.toRegex.html b/docs/latest/functions/FAIterators.toRegex.html new file mode 100644 index 00000000..4f9afbb0 --- /dev/null +++ b/docs/latest/functions/FAIterators.toRegex.html @@ -0,0 +1,157 @@ +toRegex | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.toString.html b/docs/latest/functions/FAIterators.toString.html new file mode 100644 index 00000000..ee8bf8a0 --- /dev/null +++ b/docs/latest/functions/FAIterators.toString.html @@ -0,0 +1,190 @@ +toString | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: ((value: T) => string) = String
      +
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
      +
    +

    Returns string

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.withGetOut.html b/docs/latest/functions/FAIterators.withGetOut.html new file mode 100644 index 00000000..5106078d --- /dev/null +++ b/docs/latest/functions/FAIterators.withGetOut.html @@ -0,0 +1,174 @@ +withGetOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      getOut: ((state: S) => T)
      +
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
      +
    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.withInitial.html b/docs/latest/functions/FAIterators.withInitial.html new file mode 100644 index 00000000..bd04fa78 --- /dev/null +++ b/docs/latest/functions/FAIterators.withInitial.html @@ -0,0 +1,158 @@ +withInitial | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/FAIterators.withIsFinal.html b/docs/latest/functions/FAIterators.withIsFinal.html new file mode 100644 index 00000000..010a7f99 --- /dev/null +++ b/docs/latest/functions/FAIterators.withIsFinal.html @@ -0,0 +1,169 @@ +withIsFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.createAssertion.html b/docs/latest/functions/JS.createAssertion.html new file mode 100644 index 00000000..d4a0535b --- /dev/null +++ b/docs/latest/functions/JS.createAssertion.html @@ -0,0 +1,142 @@ +createAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.createCharSet.html b/docs/latest/functions/JS.createCharSet.html new file mode 100644 index 00000000..f9d1d0a8 --- /dev/null +++ b/docs/latest/functions/JS.createCharSet.html @@ -0,0 +1,151 @@ +createCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.getCharCaseFolding.html b/docs/latest/functions/JS.getCharCaseFolding.html new file mode 100644 index 00000000..820ecf01 --- /dev/null +++ b/docs/latest/functions/JS.getCharCaseFolding.html @@ -0,0 +1,150 @@ +getCharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getCharCaseFolding

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.isFlags.html b/docs/latest/functions/JS.isFlags.html new file mode 100644 index 00000000..5a459c45 --- /dev/null +++ b/docs/latest/functions/JS.isFlags.html @@ -0,0 +1,144 @@ +isFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isFlags

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.parseCharSet.html b/docs/latest/functions/JS.parseCharSet.html new file mode 100644 index 00000000..9212a19f --- /dev/null +++ b/docs/latest/functions/JS.parseCharSet.html @@ -0,0 +1,142 @@ +parseCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseCharSet

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      element: ClassRangesCharacterClass | CharacterClassRange | Character | AnyCharacterSet | EscapeCharacterSet | CharacterUnicodePropertyCharacterSet
    • +
    • +
      flags: Readonly<Flags>
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.parseUnicodeSet.html b/docs/latest/functions/JS.parseUnicodeSet.html new file mode 100644 index 00000000..def39f62 --- /dev/null +++ b/docs/latest/functions/JS.parseUnicodeSet.html @@ -0,0 +1,142 @@ +parseUnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseUnicodeSet

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/JS.toLiteral.html b/docs/latest/functions/JS.toLiteral.html new file mode 100644 index 00000000..af445591 --- /dev/null +++ b/docs/latest/functions/JS.toLiteral.html @@ -0,0 +1,159 @@ +toLiteral | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toLiteral

+
+
    + +
  • +

    Converts the given AST or AST subtree into a JS literal.

    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to +builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +
    +

    Parameters

    +
    +

    Returns Literal

    +
  • + +
  • +
    +

    Parameters

    +
    +

    Returns Literal

+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.applyAssertions.html b/docs/latest/functions/Transformers.applyAssertions.html new file mode 100644 index 00000000..000a52a3 --- /dev/null +++ b/docs/latest/functions/Transformers.applyAssertions.html @@ -0,0 +1,129 @@ +applyAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.factorOut.html b/docs/latest/functions/Transformers.factorOut.html new file mode 100644 index 00000000..e8cdc94a --- /dev/null +++ b/docs/latest/functions/Transformers.factorOut.html @@ -0,0 +1,137 @@ +factorOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.inline.html b/docs/latest/functions/Transformers.inline.html new file mode 100644 index 00000000..128b0368 --- /dev/null +++ b/docs/latest/functions/Transformers.inline.html @@ -0,0 +1,139 @@ +inline | refa - v0.12.1
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.makeGreedy.html b/docs/latest/functions/Transformers.makeGreedy.html new file mode 100644 index 00000000..1587627d --- /dev/null +++ b/docs/latest/functions/Transformers.makeGreedy.html @@ -0,0 +1,129 @@ +makeGreedy | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeGreedy

+
+
    + +
  • +

    This transformer will try to make quantifiers greedy whenever possible.

    +

    Note: If ignoreOrder is true, then quantifiers will always be made greedy.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.mergeWithQuantifier.html b/docs/latest/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 00000000..dd34cf49 --- /dev/null +++ b/docs/latest/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,133 @@ +mergeWithQuantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.moveUpEmpty.html b/docs/latest/functions/Transformers.moveUpEmpty.html new file mode 100644 index 00000000..9fe96526 --- /dev/null +++ b/docs/latest/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,137 @@ +moveUpEmpty | refa - v0.12.1
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.nestedQuantifiers.html b/docs/latest/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 00000000..dfa17651 --- /dev/null +++ b/docs/latest/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,137 @@ +nestedQuantifiers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.patternEdgeAssertions.html b/docs/latest/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 00000000..655ca514 --- /dev/null +++ b/docs/latest/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,136 @@ +patternEdgeAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.removeDeadBranches.html b/docs/latest/functions/Transformers.removeDeadBranches.html new file mode 100644 index 00000000..505eee4e --- /dev/null +++ b/docs/latest/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,133 @@ +removeDeadBranches | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.removeUnnecessaryAssertions.html b/docs/latest/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 00000000..33c3270d --- /dev/null +++ b/docs/latest/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,128 @@ +removeUnnecessaryAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.replaceAssertions.html b/docs/latest/functions/Transformers.replaceAssertions.html new file mode 100644 index 00000000..29a4e185 --- /dev/null +++ b/docs/latest/functions/Transformers.replaceAssertions.html @@ -0,0 +1,128 @@ +replaceAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.simplify.html b/docs/latest/functions/Transformers.simplify.html new file mode 100644 index 00000000..9c8d7481 --- /dev/null +++ b/docs/latest/functions/Transformers.simplify.html @@ -0,0 +1,134 @@ +simplify | refa - v0.12.1
+
+ +
+
+
+
+ +

Function simplify

+
+
    + +
  • +

    This transformer is a combined transformer with the goal of simplifying the AST as much as possible without +changing the semantics.

    +

    The main purpose of this transformer is to provide a stable API. The specific functionality of individual +transformers may change over time, and transformers may depend on each other. This transformer will always +provide the same functionality. Namely, it will always simplify the AST.

    +

    As with all transformers, creation option can be provided. Depending on the options, a different set of +underlying transformers may be used.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.sortAssertions.html b/docs/latest/functions/Transformers.sortAssertions.html new file mode 100644 index 00000000..d2e79533 --- /dev/null +++ b/docs/latest/functions/Transformers.sortAssertions.html @@ -0,0 +1,130 @@ +sortAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Transformers.unionCharacters.html b/docs/latest/functions/Transformers.unionCharacters.html new file mode 100644 index 00000000..ad9a9273 --- /dev/null +++ b/docs/latest/functions/Transformers.unionCharacters.html @@ -0,0 +1,130 @@ +unionCharacters | refa - v0.12.1
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Words.fromStringToUTF16.html b/docs/latest/functions/Words.fromStringToUTF16.html new file mode 100644 index 00000000..414d6f5a --- /dev/null +++ b/docs/latest/functions/Words.fromStringToUTF16.html @@ -0,0 +1,120 @@ +fromStringToUTF16 | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.fromStringToUnicode.html b/docs/latest/functions/Words.fromStringToUnicode.html new file mode 100644 index 00000000..1874ee6b --- /dev/null +++ b/docs/latest/functions/Words.fromStringToUnicode.html @@ -0,0 +1,120 @@ +fromStringToUnicode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.fromUTF16ToString.html b/docs/latest/functions/Words.fromUTF16ToString.html new file mode 100644 index 00000000..9f594a9a --- /dev/null +++ b/docs/latest/functions/Words.fromUTF16ToString.html @@ -0,0 +1,120 @@ +fromUTF16ToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.fromUnicodeToString.html b/docs/latest/functions/Words.fromUnicodeToString.html new file mode 100644 index 00000000..2143b1ce --- /dev/null +++ b/docs/latest/functions/Words.fromUnicodeToString.html @@ -0,0 +1,120 @@ +fromUnicodeToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.pickMostReadableCharacter.html b/docs/latest/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 00000000..c0532731 --- /dev/null +++ b/docs/latest/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,122 @@ +pickMostReadableCharacter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/Words.pickMostReadableWord.html b/docs/latest/functions/Words.pickMostReadableWord.html new file mode 100644 index 00000000..ccddd18b --- /dev/null +++ b/docs/latest/functions/Words.pickMostReadableWord.html @@ -0,0 +1,119 @@ +pickMostReadableWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.wordSetToWords.html b/docs/latest/functions/Words.wordSetToWords.html new file mode 100644 index 00000000..7af18334 --- /dev/null +++ b/docs/latest/functions/Words.wordSetToWords.html @@ -0,0 +1,121 @@ +wordSetToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/Words.wordSetsToWords.html b/docs/latest/functions/Words.wordSetsToWords.html new file mode 100644 index 00000000..67751640 --- /dev/null +++ b/docs/latest/functions/Words.wordSetsToWords.html @@ -0,0 +1,119 @@ +wordSetsToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/combineTransformers.html b/docs/latest/functions/combineTransformers.html new file mode 100644 index 00000000..ba57735f --- /dev/null +++ b/docs/latest/functions/combineTransformers.html @@ -0,0 +1,112 @@ +combineTransformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
    +

    Deprecated

    Use new CombinedTransformer(transformers) instead.

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/getIntersectionIterator.html b/docs/latest/functions/getIntersectionIterator.html new file mode 100644 index 00000000..1c9302db --- /dev/null +++ b/docs/latest/functions/getIntersectionIterator.html @@ -0,0 +1,121 @@ +getIntersectionIterator | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/functions/getIntersectionWordSets.html b/docs/latest/functions/getIntersectionWordSets.html new file mode 100644 index 00000000..101eb403 --- /dev/null +++ b/docs/latest/functions/getIntersectionWordSets.html @@ -0,0 +1,127 @@ +getIntersectionWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/getIntersectionWords.html b/docs/latest/functions/getIntersectionWords.html new file mode 100644 index 00000000..b7e5e8dc --- /dev/null +++ b/docs/latest/functions/getIntersectionWords.html @@ -0,0 +1,126 @@ +getIntersectionWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/isDisjointWith.html b/docs/latest/functions/isDisjointWith.html new file mode 100644 index 00000000..2bcab089 --- /dev/null +++ b/docs/latest/functions/isDisjointWith.html @@ -0,0 +1,124 @@ +isDisjointWith | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/setParent.html b/docs/latest/functions/setParent.html new file mode 100644 index 00000000..c68347e2 --- /dev/null +++ b/docs/latest/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
      +
    +

    Returns asserts node is T

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/setSource.html b/docs/latest/functions/setSource.html new file mode 100644 index 00000000..de22f07d --- /dev/null +++ b/docs/latest/functions/setSource.html @@ -0,0 +1,115 @@ +setSource | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/transform.html b/docs/latest/functions/transform.html new file mode 100644 index 00000000..a30fbd07 --- /dev/null +++ b/docs/latest/functions/transform.html @@ -0,0 +1,118 @@ +transform | refa - v0.12.1
+
+ +
+
+
+
+ +

Function transform

+
+
    + +
  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Note: This function knows about CombinedTransformer and will give it special treatment. Instead of applying +the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the +transformer, it does change which transformers the TransformEvents will see. Instead of seeing the combined +transformer, they will see the individual transformers.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParent<Expression>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/functions/visitAst.html b/docs/latest/functions/visitAst.html new file mode 100644 index 00000000..8d09a88a --- /dev/null +++ b/docs/latest/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/index.html b/docs/latest/index.html new file mode 100644 index 00000000..0ad09b8d --- /dev/null +++ b/docs/latest/index.html @@ -0,0 +1,247 @@ +refa - v0.12.1
+
+ +
+
+
+
+

refa - v0.12.1

+

Regular Expressions and Finite Automata (refa)

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+

About

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+

Installation

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+

Features

    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • AST transformations

    +
      +
    • Simplify and change the AST of a regex
    • +
    • Remove assertions
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+

RE AST format

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+

Universal characters

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+

General limitations

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+

Usage examples

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+

Testing whether a word is accepted

import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+

Finding the intersection of two JS RegExps

const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+

Finding the complement of a JS RegExp

const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+

Converting a JS RegExp to an NFA

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+

Backreferences

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+

Assertions

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The simplest transformer to remove assertions (among other things) is the simplify transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more.

+
import { JS, NFA, Transformers, transform } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' }

const modifiedExpression = transform(Transformers.simplify(), expression);
console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression);
console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples:

+
import { JS, Transformers, transform } from "refa";

function simplify(regex: RegExp): void {
const { expression } = JS.Parser.fromLiteral(regex).parse();

const simplifiedExpression = transform(Transformers.simplify(), expression);

const literal = JS.toLiteral(simplifiedExpression);
console.log(new RegExp(literal.source, literal.flags));
}

simplify(/\b(?!\d)\b\w+\b\s*\(/);
// => /(?<!\w)[A-Z_]\w*\s*\(/i
simplify(/(?:^|@)\b\w+\b/);
// => /(?:^|@)\w+(?!\w)/
simplify(/"""(?:(?!""").)*"""/s);
// => /"""(?:"{0,2}[^"])*"""/
simplify(/"""((?!""")(?:[^\\]|\\"))*"""/);
// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/
simplify(/<title>(?:(?!<\/title>).)*<\/title>/s);
// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/
simplify(/^```$.*?^```$/ms);
// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m +
+
+ Note + +

Transformers.simplify is very aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow NFA and ENFA to support many more regexes.

+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Alternation.html b/docs/latest/interfaces/Alternation.html new file mode 100644 index 00000000..4c513230 --- /dev/null +++ b/docs/latest/interfaces/Alternation.html @@ -0,0 +1,136 @@ +Alternation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Assertion.html b/docs/latest/interfaces/Assertion.html new file mode 100644 index 00000000..b1b860de --- /dev/null +++ b/docs/latest/interfaces/Assertion.html @@ -0,0 +1,146 @@ +Assertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/CharRange.html b/docs/latest/interfaces/CharRange.html new file mode 100644 index 00000000..3c7f7d93 --- /dev/null +++ b/docs/latest/interfaces/CharRange.html @@ -0,0 +1,134 @@ +CharRange | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/CharacterClass.html b/docs/latest/interfaces/CharacterClass.html new file mode 100644 index 00000000..828a6962 --- /dev/null +++ b/docs/latest/interfaces/CharacterClass.html @@ -0,0 +1,136 @@ +CharacterClass | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Concatenation.html b/docs/latest/interfaces/Concatenation.html new file mode 100644 index 00000000..c01ae127 --- /dev/null +++ b/docs/latest/interfaces/Concatenation.html @@ -0,0 +1,136 @@ +Concatenation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/DFA.Options.html b/docs/latest/interfaces/DFA.Options.html new file mode 100644 index 00000000..aa74c51f --- /dev/null +++ b/docs/latest/interfaces/DFA.Options.html @@ -0,0 +1,130 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/DFA.ReadonlyNode.html b/docs/latest/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..f73a3549 --- /dev/null +++ b/docs/latest/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,130 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/ENFA.FromRegexOptions.html b/docs/latest/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..c0d6d336 --- /dev/null +++ b/docs/latest/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/ENFA.Options.html b/docs/latest/interfaces/ENFA.Options.html new file mode 100644 index 00000000..1789da04 --- /dev/null +++ b/docs/latest/interfaces/ENFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/ENFA.ReadonlyNode.html b/docs/latest/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..a22f040f --- /dev/null +++ b/docs/latest/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,215 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Expression.html b/docs/latest/interfaces/Expression.html new file mode 100644 index 00000000..a186691b --- /dev/null +++ b/docs/latest/interfaces/Expression.html @@ -0,0 +1,136 @@ +Expression | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FABuilder.html b/docs/latest/interfaces/FABuilder.html new file mode 100644 index 00000000..6c41e958 --- /dev/null +++ b/docs/latest/interfaces/FABuilder.html @@ -0,0 +1,238 @@ +FABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

      +
+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterator.html b/docs/latest/interfaces/FAIterator.html new file mode 100644 index 00000000..ac00f2ee --- /dev/null +++ b/docs/latest/interfaces/FAIterator.html @@ -0,0 +1,203 @@ +FAIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

      +
      +

      See

      stableOut

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.MermaidEdge.html b/docs/latest/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 00000000..f07bbc2f --- /dev/null +++ b/docs/latest/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,162 @@ +MermaidEdge | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.MermaidNode.html b/docs/latest/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 00000000..c0e59828 --- /dev/null +++ b/docs/latest/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,162 @@ +MermaidNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.NodeInfo.html b/docs/latest/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 00000000..93d5c552 --- /dev/null +++ b/docs/latest/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,209 @@ +NodeInfo | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.SimplePrintOptions.html b/docs/latest/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 00000000..8dcd5d1c --- /dev/null +++ b/docs/latest/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,190 @@ +SimplePrintOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+
+
+

Default

false
+
+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      +
      +
      +

      Parameters

      +
        +
      • +
        transition: T
        +
      +

      Returns string

      +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.ToDotOptions.html b/docs/latest/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..f7c75291 --- /dev/null +++ b/docs/latest/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,218 @@ +ToDotOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FAIterators.ToMermaidOptions.html b/docs/latest/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 00000000..e3480eb1 --- /dev/null +++ b/docs/latest/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,205 @@ +ToMermaidOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/FiniteAutomaton.html b/docs/latest/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..d21bde1c --- /dev/null +++ b/docs/latest/interfaces/FiniteAutomaton.html @@ -0,0 +1,284 @@ +FiniteAutomaton | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

    +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.AnyCharacterSet.html b/docs/latest/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..2e78d64c --- /dev/null +++ b/docs/latest/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,153 @@ +AnyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.CharCaseFolding.html b/docs/latest/interfaces/JS.CharCaseFolding.html new file mode 100644 index 00000000..27383d5c --- /dev/null +++ b/docs/latest/interfaces/JS.CharCaseFolding.html @@ -0,0 +1,201 @@ +CharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharCaseFolding

+
+

A set of functions that can be used to perform case-insensitive matching.

+

It must fulfill the following conditions:

+
    +
  1. canonicalize must be idempotent, i.e. canonicalize(canonicalize(char)) === canonicalize(char).
  2. +
  3. toCharSet(canonicalize(a)) is the set of all characters c such that canonicalize(a) === canonicalize(c).
  4. +
+
+
+
+

Hierarchy

+
    +
  • CharCaseFolding
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
canonicalize?: ((char: Char) => Char)
+
+

Type declaration

+
    +
  • +
      +
    • (char: Char): Char
    • +
    • +

      The canonicalization function. This typically maps characters to their lowercase form.

      +

      If no function is given, then the identity function is used. This also implies that toCharSet must return a +set containing only the given character.

      +
      +
      +

      Parameters

      +
      +

      Returns Char

      +
      +

      Default

      char => char
      +
      +
+
+ +
toCharSet: ((char: Char) => CharSet)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.CharacterPropertyCharacterSet.html b/docs/latest/interfaces/JS.CharacterPropertyCharacterSet.html new file mode 100644 index 00000000..6dad03f7 --- /dev/null +++ b/docs/latest/interfaces/JS.CharacterPropertyCharacterSet.html @@ -0,0 +1,173 @@ +CharacterPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterPropertyCharacterSet

+
+

Hierarchy

+
    +
  • CharacterPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
strings: false
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.DigitCharacterSet.html b/docs/latest/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..9ee673bd --- /dev/null +++ b/docs/latest/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,158 @@ +DigitCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.Literal.html b/docs/latest/interfaces/JS.Literal.html new file mode 100644 index 00000000..d2f9ffc7 --- /dev/null +++ b/docs/latest/interfaces/JS.Literal.html @@ -0,0 +1,164 @@ +Literal | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.NonUnicodeSetsFlags.html b/docs/latest/interfaces/JS.NonUnicodeSetsFlags.html new file mode 100644 index 00000000..3e2e2048 --- /dev/null +++ b/docs/latest/interfaces/JS.NonUnicodeSetsFlags.html @@ -0,0 +1,234 @@ +NonUnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NonUnicodeSetsFlags

+
+

A partial set of non-Unicode-sets RegExp flags. The v flag is guaranteed to be unset.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: false
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.ParseOptions.html b/docs/latest/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..66968e4b --- /dev/null +++ b/docs/latest/interfaces/JS.ParseOptions.html @@ -0,0 +1,276 @@ +ParseOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
+
+

Default

"parse"
+
+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
+

Default

"throw"
+
+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

      +
+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
+
+

Default

100
+
+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
+

Default

10000
+
+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
+

Default

true
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.ParseResult.html b/docs/latest/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..f18ef1e8 --- /dev/null +++ b/docs/latest/interfaces/JS.ParseResult.html @@ -0,0 +1,158 @@ +ParseResult | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.RegexppAst.html b/docs/latest/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..ad14e272 --- /dev/null +++ b/docs/latest/interfaces/JS.RegexppAst.html @@ -0,0 +1,158 @@ +RegexppAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.SpaceCharacterSet.html b/docs/latest/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..ea1c8cca --- /dev/null +++ b/docs/latest/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,158 @@ +SpaceCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.StringPropertyCharacterSet.html b/docs/latest/interfaces/JS.StringPropertyCharacterSet.html new file mode 100644 index 00000000..a12dd7c2 --- /dev/null +++ b/docs/latest/interfaces/JS.StringPropertyCharacterSet.html @@ -0,0 +1,173 @@ +StringPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface StringPropertyCharacterSet

+
+

Hierarchy

+
    +
  • StringPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: false
+
+ +
strings: true
+
+ +
value: null
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.TextBoundaryAssertion.html b/docs/latest/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..bd41ed07 --- /dev/null +++ b/docs/latest/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,153 @@ +TextBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.ToLiteralOptions.html b/docs/latest/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..cfa80a7b --- /dev/null +++ b/docs/latest/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,175 @@ +ToLiteralOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
+

Default

false
+
+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.UncheckedFlags.html b/docs/latest/interfaces/JS.UncheckedFlags.html new file mode 100644 index 00000000..9ca735b0 --- /dev/null +++ b/docs/latest/interfaces/JS.UncheckedFlags.html @@ -0,0 +1,229 @@ +UncheckedFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UncheckedFlags

+
+

An unchecked partial set of RegExp flags.

+

Flags are not validated by TypeScript. You must ensure that the flags are valid. +Whenever possible, use the Flags type instead.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: boolean
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.UnicodeSetsFlags.html b/docs/latest/interfaces/JS.UnicodeSetsFlags.html new file mode 100644 index 00000000..37b32861 --- /dev/null +++ b/docs/latest/interfaces/JS.UnicodeSetsFlags.html @@ -0,0 +1,234 @@ +UnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UnicodeSetsFlags

+
+

A partial set of Unicode-sets RegExp flags. The v flag is guaranteed to be set.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: false
+
+

Default

false
+
+
+
+ +
unicodeSets: true
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.WordBoundaryAssertion.html b/docs/latest/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..7de5fc0c --- /dev/null +++ b/docs/latest/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,158 @@ +WordBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/JS.WordCharacterSet.html b/docs/latest/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..3ea9c699 --- /dev/null +++ b/docs/latest/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,158 @@ +WordCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/NFA.FromRegexOptions.html b/docs/latest/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..b902d70b --- /dev/null +++ b/docs/latest/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/NFA.Options.html b/docs/latest/interfaces/NFA.Options.html new file mode 100644 index 00000000..b041ec53 --- /dev/null +++ b/docs/latest/interfaces/NFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/NFA.ReadonlyNode.html b/docs/latest/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..eb61bbc1 --- /dev/null +++ b/docs/latest/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,136 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/NodeFactory.html b/docs/latest/interfaces/NodeFactory.html new file mode 100644 index 00000000..9316a6ca --- /dev/null +++ b/docs/latest/interfaces/NodeFactory.html @@ -0,0 +1,147 @@ +NodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Quantifier.html b/docs/latest/interfaces/Quantifier.html new file mode 100644 index 00000000..76a89860 --- /dev/null +++ b/docs/latest/interfaces/Quantifier.html @@ -0,0 +1,151 @@ +Quantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/ReadonlyCharMap.html b/docs/latest/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..622e3484 --- /dev/null +++ b/docs/latest/interfaces/ReadonlyCharMap.html @@ -0,0 +1,348 @@ +ReadonlyCharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
entryCount: number
+

The number of entires in this map.

+

This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

+

This is equivalent to [...this.entries()].length.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this map is empty.

+

This is equivalent to this.size === 0 and this.entryCount === 0.

+
+
+
+ +
size: number
+

The number of characters in this map. This is different from entryCount.

+

This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns Iterable<[CharRange, T]>

    +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<CharRange>

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<T>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/ReadonlyDFA.html b/docs/latest/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..3302035e --- /dev/null +++ b/docs/latest/interfaces/ReadonlyDFA.html @@ -0,0 +1,404 @@ +ReadonlyDFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/ReadonlyENFA.html b/docs/latest/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..18742cb5 --- /dev/null +++ b/docs/latest/interfaces/ReadonlyENFA.html @@ -0,0 +1,402 @@ +ReadonlyENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ + +

The initial state of the ENFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
+
+

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/ReadonlyNFA.html b/docs/latest/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..cde54df6 --- /dev/null +++ b/docs/latest/interfaces/ReadonlyNFA.html @@ -0,0 +1,397 @@ +ReadonlyNFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+
+
+

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/SourceLocation.html b/docs/latest/interfaces/SourceLocation.html new file mode 100644 index 00000000..c0bbabdb --- /dev/null +++ b/docs/latest/interfaces/SourceLocation.html @@ -0,0 +1,121 @@ +SourceLocation | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/interfaces/ToRegexOptions.html b/docs/latest/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..61f199b8 --- /dev/null +++ b/docs/latest/interfaces/ToRegexOptions.html @@ -0,0 +1,135 @@ +ToRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
+
+

Default

10000
+
+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/TransformContext.html b/docs/latest/interfaces/TransformContext.html new file mode 100644 index 00000000..7cffd589 --- /dev/null +++ b/docs/latest/interfaces/TransformContext.html @@ -0,0 +1,137 @@ +TransformContext | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/TransformEvents.html b/docs/latest/interfaces/TransformEvents.html new file mode 100644 index 00000000..0caa3e38 --- /dev/null +++ b/docs/latest/interfaces/TransformEvents.html @@ -0,0 +1,174 @@ +TransformEvents | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformEvents

+
+

Hierarchy

+
    +
  • TransformEvents
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
onChange?: ((ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer): void
    • +
    • +

      An optional callback that will be called every time a transformer mutates the AST.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that was transformed.

        +
        +
      • +
      • +
        node: NoParent<Node>
        +

        The node that was mutated by the transformer. Descendants of this node may have been mutated as well.

        +
        +
      • +
      • +
        transformer: Transformer
        +

        The transformer that mutated the AST.

        +
        +
      +

      Returns void

      +
+
+ +
onPassStart?: ((ast: NoParentNode<Expression>, pass: number) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, pass: number): void
    • +
    • +

      An optional callback that will be called at the start of every pass.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that will be transformed.

        +
        +
      • +
      • +
        pass: number
        +

        The number of the pass that will be performed. Starts at 1.

        +
        +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/TransformOptions.html b/docs/latest/interfaces/TransformOptions.html new file mode 100644 index 00000000..df3c59e7 --- /dev/null +++ b/docs/latest/interfaces/TransformOptions.html @@ -0,0 +1,132 @@ +TransformOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ + +

Optional events to observe the transformation process.

+
+
+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
+
+

Default

10
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Transformer.html b/docs/latest/interfaces/Transformer.html new file mode 100644 index 00000000..8a3e60f5 --- /dev/null +++ b/docs/latest/interfaces/Transformer.html @@ -0,0 +1,242 @@ +Transformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+
+

Hierarchy

+
    +
  • Transformer
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
name?: string
+

An optional name useful for diagnostics.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Transformers.CreationOptions.html b/docs/latest/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..7f110b8a --- /dev/null +++ b/docs/latest/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,158 @@ +CreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/latest/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..cf961b24 --- /dev/null +++ b/docs/latest/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,177 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
inline?: boolean
+
+

Default

true
+
+
+
+ +
remove?: boolean
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/latest/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..3e918787 --- /dev/null +++ b/docs/latest/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,168 @@ +RemoveAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"
+
+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/TransitionIterable.html b/docs/latest/interfaces/TransitionIterable.html new file mode 100644 index 00000000..f80a285f --- /dev/null +++ b/docs/latest/interfaces/TransitionIterable.html @@ -0,0 +1,142 @@ +TransitionIterable | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/Unknown.html b/docs/latest/interfaces/Unknown.html new file mode 100644 index 00000000..eadfaf86 --- /dev/null +++ b/docs/latest/interfaces/Unknown.html @@ -0,0 +1,136 @@ +Unknown | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/VisitAstHandler.html b/docs/latest/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..dfa8e6ce --- /dev/null +++ b/docs/latest/interfaces/VisitAstHandler.html @@ -0,0 +1,293 @@ +VisitAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/latest/interfaces/VisitNoParentAstHandler.html b/docs/latest/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..5a6990d2 --- /dev/null +++ b/docs/latest/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,293 @@ +VisitNoParentAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/latest/modules.html b/docs/latest/modules.html new file mode 100644 index 00000000..a4818c3d --- /dev/null +++ b/docs/latest/modules.html @@ -0,0 +1,168 @@ +refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/modules/DFA.html b/docs/latest/modules/DFA.html new file mode 100644 index 00000000..e819387f --- /dev/null +++ b/docs/latest/modules/DFA.html @@ -0,0 +1,126 @@ +DFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/modules/ENFA.html b/docs/latest/modules/ENFA.html new file mode 100644 index 00000000..bcff5438 --- /dev/null +++ b/docs/latest/modules/ENFA.html @@ -0,0 +1,128 @@ +ENFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/modules/FAIterators.html b/docs/latest/modules/FAIterators.html new file mode 100644 index 00000000..c605ee61 --- /dev/null +++ b/docs/latest/modules/FAIterators.html @@ -0,0 +1,189 @@ +FAIterators | refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/latest/modules/JS.html b/docs/latest/modules/JS.html new file mode 100644 index 00000000..7198bd01 --- /dev/null +++ b/docs/latest/modules/JS.html @@ -0,0 +1,188 @@ +JS | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
+
+

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/latest/modules/NFA.html b/docs/latest/modules/NFA.html new file mode 100644 index 00000000..c1c50740 --- /dev/null +++ b/docs/latest/modules/NFA.html @@ -0,0 +1,128 @@ +NFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/modules/Transformers.html b/docs/latest/modules/Transformers.html new file mode 100644 index 00000000..306f71a1 --- /dev/null +++ b/docs/latest/modules/Transformers.html @@ -0,0 +1,147 @@ +Transformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

For a simple transformer that applies most transformers while preserving the semantic of the given AST, +see simplify.

+
+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/latest/modules/Words.html b/docs/latest/modules/Words.html new file mode 100644 index 00000000..b1eb5efa --- /dev/null +++ b/docs/latest/modules/Words.html @@ -0,0 +1,118 @@ +Words | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/Char.html b/docs/latest/types/Char.html new file mode 100644 index 00000000..81579aa6 --- /dev/null +++ b/docs/latest/types/Char.html @@ -0,0 +1,112 @@ +Char | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+

Type declaration

+
    +
  • +
    Optional __char?: never
+
+
+
\ No newline at end of file diff --git a/docs/latest/types/Element.html b/docs/latest/types/Element.html new file mode 100644 index 00000000..9c88bda3 --- /dev/null +++ b/docs/latest/types/Element.html @@ -0,0 +1,94 @@ +Element | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/FAIterators.MapFABuilderNode.html b/docs/latest/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 00000000..53699db3 --- /dev/null +++ b/docs/latest/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,135 @@ +MapFABuilderNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/latest/types/FAIterators.ToDotAttrs.html b/docs/latest/types/FAIterators.ToDotAttrs.html new file mode 100644 index 00000000..0e19ee9d --- /dev/null +++ b/docs/latest/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,135 @@ +ToDotAttrs | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.BoundaryAssertion.html b/docs/latest/types/JS.BoundaryAssertion.html new file mode 100644 index 00000000..9209cddd --- /dev/null +++ b/docs/latest/types/JS.BoundaryAssertion.html @@ -0,0 +1,131 @@ +BoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias BoundaryAssertion

+
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.CharacterElement.html b/docs/latest/types/JS.CharacterElement.html new file mode 100644 index 00000000..76ef440a --- /dev/null +++ b/docs/latest/types/JS.CharacterElement.html @@ -0,0 +1,131 @@ +CharacterElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias CharacterElement

+
CharacterElement: AST.CharacterClass | AST.Character | AST.CharacterClassRange | AST.CharacterSet | AST.ClassSetOperand | AST.StringAlternative | AST.ExpressionCharacterClass["expression"]
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.Flags.html b/docs/latest/types/JS.Flags.html new file mode 100644 index 00000000..23a86328 --- /dev/null +++ b/docs/latest/types/JS.Flags.html @@ -0,0 +1,134 @@ +Flags | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Flags

+ +

A partial set of RegExp flags.

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.ParsableElement.html b/docs/latest/types/JS.ParsableElement.html new file mode 100644 index 00000000..2c49f59a --- /dev/null +++ b/docs/latest/types/JS.ParsableElement.html @@ -0,0 +1,131 @@ +ParsableElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.PredefinedCharacterSet.html b/docs/latest/types/JS.PredefinedCharacterSet.html new file mode 100644 index 00000000..9f02e645 --- /dev/null +++ b/docs/latest/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,131 @@ +PredefinedCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PredefinedCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/latest/types/JS.PropertyCharacterSet.html b/docs/latest/types/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..6e813fe6 --- /dev/null +++ b/docs/latest/types/JS.PropertyCharacterSet.html @@ -0,0 +1,131 @@ +PropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PropertyCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/latest/types/NoParent.html b/docs/latest/types/NoParent.html new file mode 100644 index 00000000..391b9c96 --- /dev/null +++ b/docs/latest/types/NoParent.html @@ -0,0 +1,102 @@ +NoParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias NoParent<T>

+
NoParent<T>: T extends NodeIdent
    ? NoParentNode<T>
    : T extends unknown[]
        ? NoParentArray<T>
        : T
+

A view of an AST node that hides the parent property.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/latest/types/Node.html b/docs/latest/types/Node.html new file mode 100644 index 00000000..314d8d3d --- /dev/null +++ b/docs/latest/types/Node.html @@ -0,0 +1,94 @@ +Node | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/Parent.html b/docs/latest/types/Parent.html new file mode 100644 index 00000000..d8c6556e --- /dev/null +++ b/docs/latest/types/Parent.html @@ -0,0 +1,94 @@ +Parent | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/ReadonlyWord.html b/docs/latest/types/ReadonlyWord.html new file mode 100644 index 00000000..8ae00a9e --- /dev/null +++ b/docs/latest/types/ReadonlyWord.html @@ -0,0 +1,98 @@ +ReadonlyWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/ReadonlyWordSet.html b/docs/latest/types/ReadonlyWordSet.html new file mode 100644 index 00000000..05b875b0 --- /dev/null +++ b/docs/latest/types/ReadonlyWordSet.html @@ -0,0 +1,98 @@ +ReadonlyWordSet | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/types/TransitionIterator.html b/docs/latest/types/TransitionIterator.html new file mode 100644 index 00000000..14c8e120 --- /dev/null +++ b/docs/latest/types/TransitionIterator.html @@ -0,0 +1,103 @@ +TransitionIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/latest/types/Word.html b/docs/latest/types/Word.html new file mode 100644 index 00000000..e32f7015 --- /dev/null +++ b/docs/latest/types/Word.html @@ -0,0 +1,101 @@ +Word | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/types/WordSet.html b/docs/latest/types/WordSet.html new file mode 100644 index 00000000..dda2283c --- /dev/null +++ b/docs/latest/types/WordSet.html @@ -0,0 +1,103 @@ +WordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
\ No newline at end of file diff --git a/docs/latest/variables/DFA.nodeFactory.html b/docs/latest/variables/DFA.nodeFactory.html new file mode 100644 index 00000000..fe62e89e --- /dev/null +++ b/docs/latest/variables/DFA.nodeFactory.html @@ -0,0 +1,107 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/variables/ENFA.nodeFactory.html b/docs/latest/variables/ENFA.nodeFactory.html new file mode 100644 index 00000000..77e672bc --- /dev/null +++ b/docs/latest/variables/ENFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/latest/variables/NFA.nodeFactory.html b/docs/latest/variables/NFA.nodeFactory.html new file mode 100644 index 00000000..963002d1 --- /dev/null +++ b/docs/latest/variables/NFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.10.0/.nojekyll b/docs/v0.10.0/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/v0.10.0/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/v0.10.0/assets/highlight.css b/docs/v0.10.0/assets/highlight.css new file mode 100644 index 00000000..89df10c5 --- /dev/null +++ b/docs/v0.10.0/assets/highlight.css @@ -0,0 +1,113 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} } + +body.light { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} + +body.dark { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +pre, code { background: var(--code-background); } diff --git a/docs/v0.10.0/assets/icons.css b/docs/v0.10.0/assets/icons.css new file mode 100644 index 00000000..776a3562 --- /dev/null +++ b/docs/v0.10.0/assets/icons.css @@ -0,0 +1,1043 @@ +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(./icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(./icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -187px; +} diff --git a/docs/v0.10.0/assets/icons.png b/docs/v0.10.0/assets/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.10.0/assets/icons.png differ diff --git a/docs/v0.10.0/assets/icons@2x.png b/docs/v0.10.0/assets/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.10.0/assets/icons@2x.png differ diff --git a/docs/v0.10.0/assets/main.js b/docs/v0.10.0/assets/main.js new file mode 100644 index 00000000..1cc526e6 --- /dev/null +++ b/docs/v0.10.0/assets/main.js @@ -0,0 +1,52 @@ +(()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(c.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch(e){return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/docs/v0.10.0/assets/search.js b/docs/v0.10.0/assets/search.js new file mode 100644 index 00000000..053ac498 --- /dev/null +++ b/docs/v0.10.0/assets/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"4":"Namespace","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":4,"name":"Transformers","url":"modules/Transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/Transformers.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.CreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/Transformers.html#applyAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/Transformers.html#factorOut","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/Transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/Transformers.html#mergeWithQuantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/Transformers.html#moveUpEmpty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/Transformers.html#nestedQuantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/Transformers.html#patternEdgeAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/Transformers.html#removeDeadBranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/Transformers.html#removeUnnecessaryAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/Transformers.html#replaceAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/Transformers.html#sortAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/Transformers.html#unionCharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":4,"name":"FAIterators","url":"modules/FAIterators.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"fromWords","url":"modules/FAIterators.html#fromWords","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":27,"kind":64,"name":"fromWordSets","url":"modules/FAIterators.html#fromWordSets","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":28,"kind":64,"name":"intersection","url":"modules/FAIterators.html#intersection","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":29,"kind":64,"name":"mapOut","url":"modules/FAIterators.html#mapOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":30,"kind":64,"name":"mapOutIter","url":"modules/FAIterators.html#mapOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":31,"kind":64,"name":"filterOutIter","url":"modules/FAIterators.html#filterOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":32,"kind":64,"name":"forEach","url":"modules/FAIterators.html#forEach","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":33,"kind":64,"name":"count","url":"modules/FAIterators.html#count","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":34,"kind":64,"name":"ensureStableOut","url":"modules/FAIterators.html#ensureStableOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":35,"kind":64,"name":"iterateStates","url":"modules/FAIterators.html#iterateStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":36,"kind":64,"name":"canReachFinal","url":"modules/FAIterators.html#canReachFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":37,"kind":64,"name":"hasCycle","url":"modules/FAIterators.html#hasCycle","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":38,"kind":64,"name":"languageIsFinite","url":"modules/FAIterators.html#languageIsFinite","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":39,"kind":64,"name":"makeInitialFinal","url":"modules/FAIterators.html#makeInitialFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":40,"kind":64,"name":"makeInitialNonFinal","url":"modules/FAIterators.html#makeInitialNonFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":41,"kind":64,"name":"shortestAcceptingPath","url":"modules/FAIterators.html#shortestAcceptingPath","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":42,"kind":64,"name":"makeDeterministic","url":"modules/FAIterators.html#makeDeterministic","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":43,"kind":128,"name":"MapFABuilder","url":"classes/FAIterators.MapFABuilder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"FAIterators"},{"id":44,"kind":512,"name":"constructor","url":"classes/FAIterators.MapFABuilder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":45,"kind":1024,"name":"initial","url":"classes/FAIterators.MapFABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":46,"kind":1024,"name":"finals","url":"classes/FAIterators.MapFABuilder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":47,"kind":2048,"name":"makeFinal","url":"classes/FAIterators.MapFABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":48,"kind":2048,"name":"isFinal","url":"classes/FAIterators.MapFABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":49,"kind":2048,"name":"createNode","url":"classes/FAIterators.MapFABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":50,"kind":2048,"name":"linkNodes","url":"classes/FAIterators.MapFABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":51,"kind":4194304,"name":"MapFABuilderNode","url":"modules/FAIterators.html#MapFABuilderNode","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":52,"kind":64,"name":"removeDeadStates","url":"modules/FAIterators.html#removeDeadStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":53,"kind":64,"name":"toDot","url":"modules/FAIterators.html#toDot","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":54,"kind":64,"name":"createSimpleToDotOptions","url":"modules/FAIterators.html#createSimpleToDotOptions","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":55,"kind":4194304,"name":"ToDotAttrs","url":"modules/FAIterators.html#ToDotAttrs","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":56,"kind":256,"name":"ToDotOptions","url":"interfaces/FAIterators.ToDotOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":57,"kind":2048,"name":"getEdgeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":58,"kind":2048,"name":"getGraphAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":59,"kind":2048,"name":"getNodeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":60,"kind":256,"name":"ToDotInfo","url":"interfaces/FAIterators.ToDotInfo.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":61,"kind":2048,"name":"isInitial","url":"interfaces/FAIterators.ToDotInfo.html#isInitial","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":62,"kind":2048,"name":"isFinal","url":"interfaces/FAIterators.ToDotInfo.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":63,"kind":2048,"name":"getId","url":"interfaces/FAIterators.ToDotInfo.html#getId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":64,"kind":2048,"name":"getNumberOfOutgoingEdges","url":"interfaces/FAIterators.ToDotInfo.html#getNumberOfOutgoingEdges","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":65,"kind":64,"name":"toRegex","url":"modules/FAIterators.html#toRegex","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":66,"kind":64,"name":"toString","url":"modules/FAIterators.html#toString","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":67,"kind":64,"name":"iterateWordSets","url":"modules/FAIterators.html#iterateWordSets","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":68,"kind":64,"name":"shortestWordSet","url":"modules/FAIterators.html#shortestWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":69,"kind":64,"name":"approximateRejectingWordSet","url":"modules/FAIterators.html#approximateRejectingWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":70,"kind":4,"name":"JS","url":"modules/JS.html","classes":"tsd-kind-namespace"},{"id":71,"kind":64,"name":"createAssertion","url":"modules/JS.html#createAssertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":4194304,"name":"BoundaryAssertion","url":"modules/JS.html#BoundaryAssertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":73,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/JS.WordBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":74,"kind":1024,"name":"kind","url":"interfaces/JS.WordBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":75,"kind":1024,"name":"negate","url":"interfaces/JS.WordBoundaryAssertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":76,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/JS.TextBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":77,"kind":1024,"name":"kind","url":"interfaces/JS.TextBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":78,"kind":64,"name":"createCharSet","url":"modules/JS.html#createCharSet","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/JS.html#PredefinedCharacterSet","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":80,"kind":256,"name":"AnyCharacterSet","url":"interfaces/JS.AnyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":81,"kind":1024,"name":"kind","url":"interfaces/JS.AnyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":82,"kind":256,"name":"DigitCharacterSet","url":"interfaces/JS.DigitCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":83,"kind":1024,"name":"kind","url":"interfaces/JS.DigitCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":84,"kind":1024,"name":"negate","url":"interfaces/JS.DigitCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":85,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/JS.PropertyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":86,"kind":1024,"name":"kind","url":"interfaces/JS.PropertyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":87,"kind":1024,"name":"key","url":"interfaces/JS.PropertyCharacterSet.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":88,"kind":1024,"name":"value","url":"interfaces/JS.PropertyCharacterSet.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":89,"kind":1024,"name":"negate","url":"interfaces/JS.PropertyCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":90,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/JS.SpaceCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":91,"kind":1024,"name":"kind","url":"interfaces/JS.SpaceCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":92,"kind":1024,"name":"negate","url":"interfaces/JS.SpaceCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":93,"kind":256,"name":"WordCharacterSet","url":"interfaces/JS.WordCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":94,"kind":1024,"name":"kind","url":"interfaces/JS.WordCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":95,"kind":1024,"name":"negate","url":"interfaces/JS.WordCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":96,"kind":64,"name":"toLiteral","url":"modules/JS.html#toLiteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":97,"kind":256,"name":"ToLiteralOptions","url":"interfaces/JS.ToLiteralOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":98,"kind":1024,"name":"flags","url":"interfaces/JS.ToLiteralOptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":99,"kind":1024,"name":"fastCharacters","url":"interfaces/JS.ToLiteralOptions.html#fastCharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":100,"kind":256,"name":"Flags","url":"interfaces/JS.Flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":101,"kind":1024,"name":"dotAll","url":"interfaces/JS.Flags.html#dotAll","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":102,"kind":1024,"name":"global","url":"interfaces/JS.Flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":103,"kind":1024,"name":"hasIndices","url":"interfaces/JS.Flags.html#hasIndices","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":104,"kind":1024,"name":"ignoreCase","url":"interfaces/JS.Flags.html#ignoreCase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":105,"kind":1024,"name":"multiline","url":"interfaces/JS.Flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":106,"kind":1024,"name":"sticky","url":"interfaces/JS.Flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":107,"kind":1024,"name":"unicode","url":"interfaces/JS.Flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":108,"kind":256,"name":"Literal","url":"interfaces/JS.Literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":109,"kind":1024,"name":"source","url":"interfaces/JS.Literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":110,"kind":1024,"name":"flags","url":"interfaces/JS.Literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":111,"kind":256,"name":"ParseOptions","url":"interfaces/JS.ParseOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":112,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/JS.ParseOptions.html#maxBackreferenceWords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":113,"kind":1024,"name":"backreferences","url":"interfaces/JS.ParseOptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":114,"kind":1024,"name":"assertions","url":"interfaces/JS.ParseOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":115,"kind":1024,"name":"simplify","url":"interfaces/JS.ParseOptions.html#simplify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":116,"kind":1024,"name":"maxNodes","url":"interfaces/JS.ParseOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":117,"kind":2048,"name":"getUnknownId","url":"interfaces/JS.ParseOptions.html#getUnknownId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":118,"kind":256,"name":"RegexppAst","url":"interfaces/JS.RegexppAst.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":119,"kind":1024,"name":"pattern","url":"interfaces/JS.RegexppAst.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":120,"kind":1024,"name":"flags","url":"interfaces/JS.RegexppAst.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":121,"kind":4194304,"name":"ParsableElement","url":"modules/JS.html#ParsableElement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":122,"kind":256,"name":"ParseResult","url":"interfaces/JS.ParseResult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":123,"kind":1024,"name":"expression","url":"interfaces/JS.ParseResult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":124,"kind":1024,"name":"maxCharacter","url":"interfaces/JS.ParseResult.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":125,"kind":128,"name":"Parser","url":"classes/JS.Parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":126,"kind":2048,"name":"fromLiteral","url":"classes/JS.Parser.html#fromLiteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":127,"kind":2048,"name":"fromAst","url":"classes/JS.Parser.html#fromAst","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":128,"kind":1024,"name":"literal","url":"classes/JS.Parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":129,"kind":1024,"name":"ast","url":"classes/JS.Parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":130,"kind":1024,"name":"maxCharacter","url":"classes/JS.Parser.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":131,"kind":2048,"name":"parse","url":"classes/JS.Parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":132,"kind":2048,"name":"parseElement","url":"classes/JS.Parser.html#parseElement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":133,"kind":4,"name":"Words","url":"modules/Words.html","classes":"tsd-kind-namespace"},{"id":134,"kind":64,"name":"fromUTF16ToString","url":"modules/Words.html#fromUTF16ToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":135,"kind":64,"name":"fromUnicodeToString","url":"modules/Words.html#fromUnicodeToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":136,"kind":64,"name":"fromStringToUTF16","url":"modules/Words.html#fromStringToUTF16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":137,"kind":64,"name":"fromStringToUnicode","url":"modules/Words.html#fromStringToUnicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":138,"kind":64,"name":"pickMostReadableCharacter","url":"modules/Words.html#pickMostReadableCharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":139,"kind":64,"name":"pickMostReadableWord","url":"modules/Words.html#pickMostReadableWord","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":140,"kind":64,"name":"wordSetsToWords","url":"modules/Words.html#wordSetsToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":141,"kind":64,"name":"wordSetToWords","url":"modules/Words.html#wordSetToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":142,"kind":256,"name":"SourceLocation","url":"interfaces/SourceLocation.html","classes":"tsd-kind-interface"},{"id":143,"kind":1024,"name":"start","url":"interfaces/SourceLocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":144,"kind":1024,"name":"end","url":"interfaces/SourceLocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":145,"kind":4194304,"name":"Element","url":"modules.html#Element","classes":"tsd-kind-type-alias"},{"id":146,"kind":4194304,"name":"Parent","url":"modules.html#Parent","classes":"tsd-kind-type-alias"},{"id":147,"kind":4194304,"name":"Node","url":"modules.html#Node","classes":"tsd-kind-type-alias"},{"id":148,"kind":256,"name":"Alternation","url":"interfaces/Alternation.html","classes":"tsd-kind-interface"},{"id":149,"kind":1024,"name":"type","url":"interfaces/Alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":150,"kind":1024,"name":"parent","url":"interfaces/Alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":151,"kind":1024,"name":"alternatives","url":"interfaces/Alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":152,"kind":1024,"name":"source","url":"interfaces/Alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Alternation"},{"id":153,"kind":256,"name":"Assertion","url":"interfaces/Assertion.html","classes":"tsd-kind-interface"},{"id":154,"kind":1024,"name":"type","url":"interfaces/Assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":155,"kind":1024,"name":"parent","url":"interfaces/Assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":156,"kind":1024,"name":"alternatives","url":"interfaces/Assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":157,"kind":1024,"name":"kind","url":"interfaces/Assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":158,"kind":1024,"name":"negate","url":"interfaces/Assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":159,"kind":1024,"name":"source","url":"interfaces/Assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Assertion"},{"id":160,"kind":256,"name":"Quantifier","url":"interfaces/Quantifier.html","classes":"tsd-kind-interface"},{"id":161,"kind":1024,"name":"type","url":"interfaces/Quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":162,"kind":1024,"name":"parent","url":"interfaces/Quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":163,"kind":1024,"name":"alternatives","url":"interfaces/Quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":164,"kind":1024,"name":"lazy","url":"interfaces/Quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":165,"kind":1024,"name":"min","url":"interfaces/Quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":166,"kind":1024,"name":"max","url":"interfaces/Quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":167,"kind":1024,"name":"source","url":"interfaces/Quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Quantifier"},{"id":168,"kind":256,"name":"CharacterClass","url":"interfaces/CharacterClass.html","classes":"tsd-kind-interface"},{"id":169,"kind":1024,"name":"type","url":"interfaces/CharacterClass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":170,"kind":1024,"name":"parent","url":"interfaces/CharacterClass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":171,"kind":1024,"name":"characters","url":"interfaces/CharacterClass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":172,"kind":1024,"name":"source","url":"interfaces/CharacterClass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CharacterClass"},{"id":173,"kind":256,"name":"Unknown","url":"interfaces/Unknown.html","classes":"tsd-kind-interface"},{"id":174,"kind":1024,"name":"type","url":"interfaces/Unknown.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":175,"kind":1024,"name":"parent","url":"interfaces/Unknown.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":176,"kind":1024,"name":"id","url":"interfaces/Unknown.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":177,"kind":1024,"name":"source","url":"interfaces/Unknown.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Unknown"},{"id":178,"kind":256,"name":"Expression","url":"interfaces/Expression.html","classes":"tsd-kind-interface"},{"id":179,"kind":1024,"name":"type","url":"interfaces/Expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":180,"kind":1024,"name":"parent","url":"interfaces/Expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":181,"kind":1024,"name":"alternatives","url":"interfaces/Expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":182,"kind":1024,"name":"source","url":"interfaces/Expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Expression"},{"id":183,"kind":256,"name":"Concatenation","url":"interfaces/Concatenation.html","classes":"tsd-kind-interface"},{"id":184,"kind":1024,"name":"type","url":"interfaces/Concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":185,"kind":1024,"name":"parent","url":"interfaces/Concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":186,"kind":1024,"name":"elements","url":"interfaces/Concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":187,"kind":1024,"name":"source","url":"interfaces/Concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Concatenation"},{"id":188,"kind":4194304,"name":"NoParent","url":"modules.html#NoParent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":189,"kind":64,"name":"setParent","url":"modules.html#setParent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":190,"kind":64,"name":"setSource","url":"modules.html#setSource","classes":"tsd-kind-function"},{"id":191,"kind":64,"name":"visitAst","url":"modules.html#visitAst","classes":"tsd-kind-function"},{"id":192,"kind":256,"name":"VisitAstHandler","url":"interfaces/VisitAstHandler.html","classes":"tsd-kind-interface"},{"id":193,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":194,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":195,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":196,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":197,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":198,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":199,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":200,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":201,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":202,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":203,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":204,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":205,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":206,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":207,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/VisitNoParentAstHandler.html","classes":"tsd-kind-interface"},{"id":208,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitNoParentAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":209,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitNoParentAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":210,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitNoParentAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":211,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitNoParentAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":212,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":213,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":214,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":215,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":216,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitNoParentAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":217,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitNoParentAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":218,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":219,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":220,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitNoParentAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":221,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitNoParentAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":222,"kind":64,"name":"combineTransformers","url":"modules.html#combineTransformers","classes":"tsd-kind-function"},{"id":223,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":224,"kind":256,"name":"Transformer","url":"interfaces/Transformer.html","classes":"tsd-kind-interface"},{"id":225,"kind":2048,"name":"onAlternation","url":"interfaces/Transformer.html#onAlternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":226,"kind":2048,"name":"onAssertion","url":"interfaces/Transformer.html#onAssertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":227,"kind":2048,"name":"onCharacterClass","url":"interfaces/Transformer.html#onCharacterClass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":228,"kind":2048,"name":"onConcatenation","url":"interfaces/Transformer.html#onConcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":229,"kind":2048,"name":"onExpression","url":"interfaces/Transformer.html#onExpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":230,"kind":2048,"name":"onQuantifier","url":"interfaces/Transformer.html#onQuantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":231,"kind":2048,"name":"onUnknown","url":"interfaces/Transformer.html#onUnknown","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":232,"kind":256,"name":"TransformContext","url":"interfaces/TransformContext.html","classes":"tsd-kind-interface"},{"id":233,"kind":1024,"name":"maxCharacter","url":"interfaces/TransformContext.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":234,"kind":2048,"name":"signalMutation","url":"interfaces/TransformContext.html#signalMutation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransformContext"},{"id":235,"kind":256,"name":"TransformOptions","url":"interfaces/TransformOptions.html","classes":"tsd-kind-interface"},{"id":236,"kind":1024,"name":"maxPasses","url":"interfaces/TransformOptions.html#maxPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":237,"kind":128,"name":"CharBase","url":"classes/CharBase.html","classes":"tsd-kind-class"},{"id":238,"kind":512,"name":"constructor","url":"classes/CharBase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"CharBase"},{"id":239,"kind":1024,"name":"sets","url":"classes/CharBase.html#sets","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharBase"},{"id":240,"kind":2048,"name":"split","url":"classes/CharBase.html#split","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharBase"},{"id":241,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/ReadonlyCharMap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":242,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyCharMap.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":243,"kind":2048,"name":"has","url":"interfaces/ReadonlyCharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":244,"kind":2048,"name":"hasEvery","url":"interfaces/ReadonlyCharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":245,"kind":2048,"name":"hasSome","url":"interfaces/ReadonlyCharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":246,"kind":2048,"name":"get","url":"interfaces/ReadonlyCharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":247,"kind":2048,"name":"forEach","url":"interfaces/ReadonlyCharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":248,"kind":2048,"name":"keys","url":"interfaces/ReadonlyCharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":249,"kind":2048,"name":"values","url":"interfaces/ReadonlyCharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":250,"kind":2048,"name":"entries","url":"interfaces/ReadonlyCharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":251,"kind":2048,"name":"invert","url":"interfaces/ReadonlyCharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":252,"kind":128,"name":"CharMap","url":"classes/CharMap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":253,"kind":1024,"name":"slowInsertCounter","url":"classes/CharMap.html#slowInsertCounter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-static","parent":"CharMap"},{"id":254,"kind":512,"name":"constructor","url":"classes/CharMap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":255,"kind":262144,"name":"isEmpty","url":"classes/CharMap.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":256,"kind":2048,"name":"has","url":"classes/CharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":257,"kind":2048,"name":"hasEvery","url":"classes/CharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":258,"kind":2048,"name":"hasSome","url":"classes/CharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":259,"kind":2048,"name":"get","url":"classes/CharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":260,"kind":2048,"name":"set","url":"classes/CharMap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":261,"kind":2048,"name":"setRange","url":"classes/CharMap.html#setRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":262,"kind":2048,"name":"setCharSet","url":"classes/CharMap.html#setCharSet","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":263,"kind":2048,"name":"delete","url":"classes/CharMap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":264,"kind":2048,"name":"deleteRange","url":"classes/CharMap.html#deleteRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":265,"kind":2048,"name":"clear","url":"classes/CharMap.html#clear","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":266,"kind":2048,"name":"map","url":"classes/CharMap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":267,"kind":2048,"name":"mapRange","url":"classes/CharMap.html#mapRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":268,"kind":2048,"name":"filter","url":"classes/CharMap.html#filter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":269,"kind":2048,"name":"invert","url":"classes/CharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":270,"kind":2048,"name":"forEach","url":"classes/CharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":271,"kind":2048,"name":"keys","url":"classes/CharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":272,"kind":2048,"name":"values","url":"classes/CharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":273,"kind":2048,"name":"entries","url":"classes/CharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":274,"kind":2048,"name":"[iterator]","url":"classes/CharMap.html#_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":275,"kind":256,"name":"CharRange","url":"interfaces/CharRange.html","classes":"tsd-kind-interface"},{"id":276,"kind":1024,"name":"min","url":"interfaces/CharRange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":277,"kind":1024,"name":"max","url":"interfaces/CharRange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":278,"kind":128,"name":"CharSet","url":"classes/CharSet.html","classes":"tsd-kind-class"},{"id":279,"kind":2048,"name":"empty","url":"classes/CharSet.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":280,"kind":2048,"name":"all","url":"classes/CharSet.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":281,"kind":2048,"name":"fromCharacters","url":"classes/CharSet.html#fromCharacters","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":282,"kind":2048,"name":"fromRange","url":"classes/CharSet.html#fromRange","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":283,"kind":1024,"name":"maximum","url":"classes/CharSet.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":284,"kind":1024,"name":"ranges","url":"classes/CharSet.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":285,"kind":262144,"name":"isEmpty","url":"classes/CharSet.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":286,"kind":262144,"name":"isAll","url":"classes/CharSet.html#isAll","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":287,"kind":262144,"name":"size","url":"classes/CharSet.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":288,"kind":2048,"name":"characters","url":"classes/CharSet.html#characters","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":289,"kind":2048,"name":"toString","url":"classes/CharSet.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":290,"kind":2048,"name":"toRangesString","url":"classes/CharSet.html#toRangesString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":291,"kind":2048,"name":"equals","url":"classes/CharSet.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":292,"kind":2048,"name":"compare","url":"classes/CharSet.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":293,"kind":2048,"name":"resize","url":"classes/CharSet.html#resize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":294,"kind":2048,"name":"negate","url":"classes/CharSet.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":295,"kind":2048,"name":"union","url":"classes/CharSet.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":296,"kind":2048,"name":"intersect","url":"classes/CharSet.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":297,"kind":2048,"name":"without","url":"classes/CharSet.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":298,"kind":2048,"name":"has","url":"classes/CharSet.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":299,"kind":2048,"name":"isSupersetOf","url":"classes/CharSet.html#isSupersetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":300,"kind":2048,"name":"isSubsetOf","url":"classes/CharSet.html#isSubsetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":301,"kind":2048,"name":"isDisjointWith","url":"classes/CharSet.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":302,"kind":2048,"name":"commonCharacter","url":"classes/CharSet.html#commonCharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":303,"kind":4194304,"name":"Char","url":"modules.html#Char","classes":"tsd-kind-type-alias"},{"id":304,"kind":4194304,"name":"Word","url":"modules.html#Word","classes":"tsd-kind-type-alias"},{"id":305,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#ReadonlyWord","classes":"tsd-kind-type-alias"},{"id":306,"kind":256,"name":"FiniteAutomaton","url":"interfaces/FiniteAutomaton.html","classes":"tsd-kind-interface"},{"id":307,"kind":1024,"name":"isEmpty","url":"interfaces/FiniteAutomaton.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":308,"kind":1024,"name":"isFinite","url":"interfaces/FiniteAutomaton.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":309,"kind":1024,"name":"maxCharacter","url":"interfaces/FiniteAutomaton.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":310,"kind":2048,"name":"test","url":"interfaces/FiniteAutomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":311,"kind":2048,"name":"words","url":"interfaces/FiniteAutomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":312,"kind":2048,"name":"wordSets","url":"interfaces/FiniteAutomaton.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":313,"kind":2048,"name":"toString","url":"interfaces/FiniteAutomaton.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":314,"kind":2048,"name":"toRegex","url":"interfaces/FiniteAutomaton.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":315,"kind":2048,"name":"toDot","url":"interfaces/FiniteAutomaton.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":316,"kind":256,"name":"FAIterator","url":"interfaces/FAIterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":317,"kind":1024,"name":"initial","url":"interfaces/FAIterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":318,"kind":2048,"name":"getOut","url":"interfaces/FAIterator.html#getOut","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":319,"kind":1024,"name":"stableOut","url":"interfaces/FAIterator.html#stableOut","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":320,"kind":2048,"name":"isFinal","url":"interfaces/FAIterator.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":321,"kind":256,"name":"NodeFactory","url":"interfaces/NodeFactory.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":322,"kind":2048,"name":"createNode","url":"interfaces/NodeFactory.html#createNode","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NodeFactory"},{"id":323,"kind":256,"name":"FABuilder","url":"interfaces/FABuilder.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":324,"kind":1024,"name":"initial","url":"interfaces/FABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":325,"kind":2048,"name":"makeFinal","url":"interfaces/FABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":326,"kind":2048,"name":"isFinal","url":"interfaces/FABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":327,"kind":2048,"name":"linkNodes","url":"interfaces/FABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":328,"kind":2048,"name":"createNode","url":"interfaces/FABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"FABuilder"},{"id":329,"kind":4194304,"name":"TransitionIterator","url":"modules.html#TransitionIterator","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":330,"kind":256,"name":"TransitionIterable","url":"interfaces/TransitionIterable.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":331,"kind":1024,"name":"maxCharacter","url":"interfaces/TransitionIterable.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":332,"kind":2048,"name":"transitionIterator","url":"interfaces/TransitionIterable.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":333,"kind":256,"name":"ToRegexOptions","url":"interfaces/ToRegexOptions.html","classes":"tsd-kind-interface"},{"id":334,"kind":1024,"name":"maxNodes","url":"interfaces/ToRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":335,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/ToRegexOptions.html#maxOptimizationPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":336,"kind":256,"name":"ReadonlyDFA","url":"interfaces/ReadonlyDFA.html","classes":"tsd-kind-interface"},{"id":337,"kind":1024,"name":"initial","url":"interfaces/ReadonlyDFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":338,"kind":1024,"name":"finals","url":"interfaces/ReadonlyDFA.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":339,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyDFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":340,"kind":2048,"name":"nodes","url":"interfaces/ReadonlyDFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":341,"kind":2048,"name":"countNodes","url":"interfaces/ReadonlyDFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":342,"kind":2048,"name":"copy","url":"interfaces/ReadonlyDFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":343,"kind":2048,"name":"structurallyEqual","url":"interfaces/ReadonlyDFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":344,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyDFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":345,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyDFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":346,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyDFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":347,"kind":2048,"name":"test","url":"interfaces/ReadonlyDFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":348,"kind":2048,"name":"words","url":"interfaces/ReadonlyDFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":349,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyDFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":350,"kind":2048,"name":"toString","url":"interfaces/ReadonlyDFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":351,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyDFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":352,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyDFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":353,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyDFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":354,"kind":128,"name":"DFA","url":"classes/DFA.html","classes":"tsd-kind-class"},{"id":355,"kind":2048,"name":"empty","url":"classes/DFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":356,"kind":2048,"name":"all","url":"classes/DFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":357,"kind":2048,"name":"fromCharSet","url":"classes/DFA.html#fromCharSet","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":358,"kind":2048,"name":"fromIntersection","url":"classes/DFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":359,"kind":2048,"name":"fromWords","url":"classes/DFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":360,"kind":2048,"name":"fromWordSets","url":"classes/DFA.html#fromWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":361,"kind":2048,"name":"fromFA","url":"classes/DFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":362,"kind":2048,"name":"fromTransitionIterator","url":"classes/DFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":363,"kind":2048,"name":"fromBuilder","url":"classes/DFA.html#fromBuilder","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":364,"kind":1024,"name":"initial","url":"classes/DFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":365,"kind":1024,"name":"finals","url":"classes/DFA.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":366,"kind":1024,"name":"maxCharacter","url":"classes/DFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":367,"kind":262144,"name":"isEmpty","url":"classes/DFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":368,"kind":262144,"name":"isFinite","url":"classes/DFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":369,"kind":2048,"name":"stateIterator","url":"classes/DFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":370,"kind":2048,"name":"transitionIterator","url":"classes/DFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":371,"kind":2048,"name":"nodes","url":"classes/DFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":372,"kind":2048,"name":"countNodes","url":"classes/DFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":373,"kind":2048,"name":"test","url":"classes/DFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":374,"kind":2048,"name":"wordSets","url":"classes/DFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":375,"kind":2048,"name":"words","url":"classes/DFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":376,"kind":2048,"name":"toString","url":"classes/DFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":377,"kind":2048,"name":"toRegex","url":"classes/DFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":378,"kind":2048,"name":"toDot","url":"classes/DFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":379,"kind":2048,"name":"copy","url":"classes/DFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":380,"kind":2048,"name":"structurallyEqual","url":"classes/DFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":381,"kind":2048,"name":"removeUnreachable","url":"classes/DFA.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":382,"kind":2048,"name":"minimize","url":"classes/DFA.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":383,"kind":2048,"name":"complement","url":"classes/DFA.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":384,"kind":2048,"name":"prefixes","url":"classes/DFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":385,"kind":4,"name":"DFA","url":"modules/DFA.html","classes":"tsd-kind-namespace"},{"id":386,"kind":256,"name":"ReadonlyNode","url":"interfaces/DFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":387,"kind":1024,"name":"out","url":"interfaces/DFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":388,"kind":128,"name":"Node","url":"classes/DFA.Node.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":389,"kind":512,"name":"constructor","url":"classes/DFA.Node.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.Node"},{"id":390,"kind":1024,"name":"out","url":"classes/DFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.Node"},{"id":391,"kind":2048,"name":"link","url":"classes/DFA.Node.html#link","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Node"},{"id":392,"kind":2048,"name":"unlink","url":"classes/DFA.Node.html#unlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Node"},{"id":393,"kind":2048,"name":"unlinkAll","url":"classes/DFA.Node.html#unlinkAll","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Node"},{"id":394,"kind":32,"name":"nodeFactory","url":"modules/DFA.html#nodeFactory","classes":"tsd-kind-variable tsd-parent-kind-namespace","parent":"DFA"},{"id":395,"kind":128,"name":"LimitedNodeFactory","url":"classes/DFA.LimitedNodeFactory.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":396,"kind":512,"name":"constructor","url":"classes/DFA.LimitedNodeFactory.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.LimitedNodeFactory"},{"id":397,"kind":1024,"name":"limit","url":"classes/DFA.LimitedNodeFactory.html#limit","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.LimitedNodeFactory"},{"id":398,"kind":2048,"name":"createNode","url":"classes/DFA.LimitedNodeFactory.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.LimitedNodeFactory"},{"id":399,"kind":128,"name":"Builder","url":"classes/DFA.Builder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":400,"kind":512,"name":"constructor","url":"classes/DFA.Builder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.Builder"},{"id":401,"kind":1024,"name":"initial","url":"classes/DFA.Builder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.Builder"},{"id":402,"kind":1024,"name":"finals","url":"classes/DFA.Builder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.Builder"},{"id":403,"kind":1024,"name":"factory","url":"classes/DFA.Builder.html#factory","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.Builder"},{"id":404,"kind":2048,"name":"makeFinal","url":"classes/DFA.Builder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Builder"},{"id":405,"kind":2048,"name":"isFinal","url":"classes/DFA.Builder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Builder"},{"id":406,"kind":2048,"name":"linkNodes","url":"classes/DFA.Builder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Builder"},{"id":407,"kind":2048,"name":"createNode","url":"classes/DFA.Builder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.Builder"},{"id":408,"kind":256,"name":"Options","url":"interfaces/DFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":409,"kind":1024,"name":"maxCharacter","url":"interfaces/DFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"},{"id":410,"kind":256,"name":"ReadonlyENFA","url":"interfaces/ReadonlyENFA.html","classes":"tsd-kind-interface"},{"id":411,"kind":1024,"name":"initial","url":"interfaces/ReadonlyENFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":412,"kind":1024,"name":"final","url":"interfaces/ReadonlyENFA.html#final","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":413,"kind":1024,"name":"isNormalized","url":"interfaces/ReadonlyENFA.html#isNormalized","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":414,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":415,"kind":2048,"name":"nodes","url":"interfaces/ReadonlyENFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":416,"kind":2048,"name":"countNodes","url":"interfaces/ReadonlyENFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":417,"kind":2048,"name":"copy","url":"interfaces/ReadonlyENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":418,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyENFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":419,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyENFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":420,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":421,"kind":2048,"name":"test","url":"interfaces/ReadonlyENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":422,"kind":2048,"name":"words","url":"interfaces/ReadonlyENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":423,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":424,"kind":2048,"name":"toString","url":"interfaces/ReadonlyENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":425,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":426,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":427,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":428,"kind":128,"name":"ENFA","url":"classes/ENFA.html","classes":"tsd-kind-class"},{"id":429,"kind":2048,"name":"empty","url":"classes/ENFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":430,"kind":2048,"name":"all","url":"classes/ENFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":431,"kind":2048,"name":"fromCharSet","url":"classes/ENFA.html#fromCharSet","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":432,"kind":2048,"name":"fromRegex","url":"classes/ENFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":433,"kind":2048,"name":"fromWords","url":"classes/ENFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":434,"kind":2048,"name":"fromWordSets","url":"classes/ENFA.html#fromWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":435,"kind":2048,"name":"fromFA","url":"classes/ENFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":436,"kind":2048,"name":"fromTransitionIterator","url":"classes/ENFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":437,"kind":2048,"name":"fromBuilder","url":"classes/ENFA.html#fromBuilder","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":438,"kind":1024,"name":"initial","url":"classes/ENFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":439,"kind":1024,"name":"final","url":"classes/ENFA.html#final","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":440,"kind":1024,"name":"maxCharacter","url":"classes/ENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":441,"kind":262144,"name":"isEmpty","url":"classes/ENFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":442,"kind":262144,"name":"isFinite","url":"classes/ENFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":443,"kind":262144,"name":"isNormalized","url":"classes/ENFA.html#isNormalized","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":444,"kind":2048,"name":"normalize","url":"classes/ENFA.html#normalize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":445,"kind":2048,"name":"stateIterator","url":"classes/ENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":446,"kind":2048,"name":"transitionIterator","url":"classes/ENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":447,"kind":2048,"name":"nodes","url":"classes/ENFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":448,"kind":2048,"name":"countNodes","url":"classes/ENFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":449,"kind":2048,"name":"copy","url":"classes/ENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":450,"kind":2048,"name":"test","url":"classes/ENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":451,"kind":2048,"name":"wordSets","url":"classes/ENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":452,"kind":2048,"name":"words","url":"classes/ENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":453,"kind":2048,"name":"toString","url":"classes/ENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":454,"kind":2048,"name":"toRegex","url":"classes/ENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":455,"kind":2048,"name":"toDot","url":"classes/ENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":456,"kind":2048,"name":"append","url":"classes/ENFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":457,"kind":2048,"name":"appendInto","url":"classes/ENFA.html#appendInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":458,"kind":2048,"name":"prepend","url":"classes/ENFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":459,"kind":2048,"name":"prependInto","url":"classes/ENFA.html#prependInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":460,"kind":2048,"name":"union","url":"classes/ENFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":461,"kind":2048,"name":"unionInto","url":"classes/ENFA.html#unionInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":462,"kind":2048,"name":"quantify","url":"classes/ENFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":463,"kind":2048,"name":"withoutEmptyWord","url":"classes/ENFA.html#withoutEmptyWord","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":464,"kind":2048,"name":"removeUnreachable","url":"classes/ENFA.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":465,"kind":2048,"name":"prefixes","url":"classes/ENFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":466,"kind":2048,"name":"suffixes","url":"classes/ENFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":467,"kind":4,"name":"ENFA","url":"modules/ENFA.html","classes":"tsd-kind-namespace"},{"id":468,"kind":256,"name":"ReadonlyNode","url":"interfaces/ENFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":469,"kind":1024,"name":"out","url":"interfaces/ENFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":470,"kind":1024,"name":"in","url":"interfaces/ENFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":471,"kind":2048,"name":"resolveEpsilon","url":"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":472,"kind":2048,"name":"reachableViaEpsilon","url":"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":473,"kind":128,"name":"Node","url":"classes/ENFA.Node.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":474,"kind":512,"name":"constructor","url":"classes/ENFA.Node.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.Node"},{"id":475,"kind":1024,"name":"out","url":"classes/ENFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.Node"},{"id":476,"kind":1024,"name":"in","url":"classes/ENFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.Node"},{"id":477,"kind":2048,"name":"link","url":"classes/ENFA.Node.html#link","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":478,"kind":2048,"name":"unlink","url":"classes/ENFA.Node.html#unlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":479,"kind":2048,"name":"unlinkAll","url":"classes/ENFA.Node.html#unlinkAll","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":480,"kind":2048,"name":"unlinkAllOut","url":"classes/ENFA.Node.html#unlinkAllOut","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":481,"kind":2048,"name":"unlinkAllIn","url":"classes/ENFA.Node.html#unlinkAllIn","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":482,"kind":2048,"name":"resolveEpsilon","url":"classes/ENFA.Node.html#resolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":483,"kind":2048,"name":"reachableViaEpsilon","url":"classes/ENFA.Node.html#reachableViaEpsilon","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Node"},{"id":484,"kind":32,"name":"nodeFactory","url":"modules/ENFA.html#nodeFactory","classes":"tsd-kind-variable tsd-parent-kind-namespace","parent":"ENFA"},{"id":485,"kind":128,"name":"LimitedNodeFactory","url":"classes/ENFA.LimitedNodeFactory.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":486,"kind":512,"name":"constructor","url":"classes/ENFA.LimitedNodeFactory.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.LimitedNodeFactory"},{"id":487,"kind":1024,"name":"limit","url":"classes/ENFA.LimitedNodeFactory.html#limit","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.LimitedNodeFactory"},{"id":488,"kind":2048,"name":"createNode","url":"classes/ENFA.LimitedNodeFactory.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.LimitedNodeFactory"},{"id":489,"kind":128,"name":"Builder","url":"classes/ENFA.Builder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":490,"kind":512,"name":"constructor","url":"classes/ENFA.Builder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":491,"kind":1024,"name":"initial","url":"classes/ENFA.Builder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":492,"kind":1024,"name":"final","url":"classes/ENFA.Builder.html#final","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":493,"kind":1024,"name":"factory","url":"classes/ENFA.Builder.html#factory","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":494,"kind":2048,"name":"makeFinal","url":"classes/ENFA.Builder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":495,"kind":2048,"name":"isFinal","url":"classes/ENFA.Builder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":496,"kind":2048,"name":"linkNodes","url":"classes/ENFA.Builder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":497,"kind":2048,"name":"createNode","url":"classes/ENFA.Builder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.Builder"},{"id":498,"kind":256,"name":"Options","url":"interfaces/ENFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":499,"kind":1024,"name":"maxCharacter","url":"interfaces/ENFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.Options"},{"id":500,"kind":256,"name":"FromRegexOptions","url":"interfaces/ENFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":501,"kind":1024,"name":"assertions","url":"interfaces/ENFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":502,"kind":1024,"name":"unknowns","url":"interfaces/ENFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":503,"kind":1024,"name":"infinityThreshold","url":"interfaces/ENFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":504,"kind":128,"name":"MaxCharacterError","url":"classes/MaxCharacterError.html","classes":"tsd-kind-class"},{"id":505,"kind":2048,"name":"assert","url":"classes/MaxCharacterError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"MaxCharacterError"},{"id":506,"kind":512,"name":"constructor","url":"classes/MaxCharacterError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"MaxCharacterError"},{"id":507,"kind":128,"name":"TooManyNodesError","url":"classes/TooManyNodesError.html","classes":"tsd-kind-class"},{"id":508,"kind":2048,"name":"assert","url":"classes/TooManyNodesError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"TooManyNodesError"},{"id":509,"kind":512,"name":"constructor","url":"classes/TooManyNodesError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"TooManyNodesError"},{"id":510,"kind":64,"name":"getIntersectionIterator","url":"modules.html#getIntersectionIterator","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":511,"kind":64,"name":"isDisjointWith","url":"modules.html#isDisjointWith","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":512,"kind":64,"name":"getIntersectionWordSets","url":"modules.html#getIntersectionWordSets","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":513,"kind":64,"name":"getIntersectionWords","url":"modules.html#getIntersectionWords","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":514,"kind":256,"name":"ReadonlyNFA","url":"interfaces/ReadonlyNFA.html","classes":"tsd-kind-interface"},{"id":515,"kind":1024,"name":"initial","url":"interfaces/ReadonlyNFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":516,"kind":1024,"name":"finals","url":"interfaces/ReadonlyNFA.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":517,"kind":1024,"name":"isNormalized","url":"interfaces/ReadonlyNFA.html#isNormalized","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":518,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyNFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":519,"kind":2048,"name":"nodes","url":"interfaces/ReadonlyNFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":520,"kind":2048,"name":"countNodes","url":"interfaces/ReadonlyNFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":521,"kind":2048,"name":"copy","url":"interfaces/ReadonlyNFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":522,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyNFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":523,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyNFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":524,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyNFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":525,"kind":2048,"name":"test","url":"interfaces/ReadonlyNFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":526,"kind":2048,"name":"words","url":"interfaces/ReadonlyNFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":527,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyNFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":528,"kind":2048,"name":"toString","url":"interfaces/ReadonlyNFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":529,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyNFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":530,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyNFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":531,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyNFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":532,"kind":128,"name":"NFA","url":"classes/NFA.html","classes":"tsd-kind-class"},{"id":533,"kind":2048,"name":"empty","url":"classes/NFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":534,"kind":2048,"name":"all","url":"classes/NFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":535,"kind":2048,"name":"fromCharSet","url":"classes/NFA.html#fromCharSet","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":536,"kind":2048,"name":"fromIntersection","url":"classes/NFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":537,"kind":2048,"name":"fromRegex","url":"classes/NFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":538,"kind":2048,"name":"fromWords","url":"classes/NFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":539,"kind":2048,"name":"fromWordSets","url":"classes/NFA.html#fromWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":540,"kind":2048,"name":"fromFA","url":"classes/NFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":541,"kind":2048,"name":"fromTransitionIterator","url":"classes/NFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":542,"kind":2048,"name":"fromBuilder","url":"classes/NFA.html#fromBuilder","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":543,"kind":1024,"name":"initial","url":"classes/NFA.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":544,"kind":1024,"name":"finals","url":"classes/NFA.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":545,"kind":1024,"name":"maxCharacter","url":"classes/NFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":546,"kind":262144,"name":"isEmpty","url":"classes/NFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":547,"kind":262144,"name":"isFinite","url":"classes/NFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":548,"kind":262144,"name":"isNormalized","url":"classes/NFA.html#isNormalized","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":549,"kind":2048,"name":"normalize","url":"classes/NFA.html#normalize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":550,"kind":2048,"name":"stateIterator","url":"classes/NFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":551,"kind":2048,"name":"transitionIterator","url":"classes/NFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":552,"kind":2048,"name":"nodes","url":"classes/NFA.html#nodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":553,"kind":2048,"name":"countNodes","url":"classes/NFA.html#countNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":554,"kind":2048,"name":"copy","url":"classes/NFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":555,"kind":2048,"name":"test","url":"classes/NFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":556,"kind":2048,"name":"wordSets","url":"classes/NFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":557,"kind":2048,"name":"words","url":"classes/NFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":558,"kind":2048,"name":"toString","url":"classes/NFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":559,"kind":2048,"name":"toRegex","url":"classes/NFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":560,"kind":2048,"name":"toDot","url":"classes/NFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":561,"kind":2048,"name":"union","url":"classes/NFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":562,"kind":2048,"name":"unionInto","url":"classes/NFA.html#unionInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":563,"kind":2048,"name":"append","url":"classes/NFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":564,"kind":2048,"name":"appendInto","url":"classes/NFA.html#appendInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":565,"kind":2048,"name":"prepend","url":"classes/NFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":566,"kind":2048,"name":"prependInto","url":"classes/NFA.html#prependInto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":567,"kind":2048,"name":"quantify","url":"classes/NFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":568,"kind":2048,"name":"withoutEmptyWord","url":"classes/NFA.html#withoutEmptyWord","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":569,"kind":2048,"name":"removeUnreachable","url":"classes/NFA.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":570,"kind":2048,"name":"prefixes","url":"classes/NFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":571,"kind":2048,"name":"suffixes","url":"classes/NFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":572,"kind":2048,"name":"reverse","url":"classes/NFA.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":573,"kind":4,"name":"NFA","url":"modules/NFA.html","classes":"tsd-kind-namespace"},{"id":574,"kind":256,"name":"ReadonlyNode","url":"interfaces/NFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":575,"kind":1024,"name":"out","url":"interfaces/NFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":576,"kind":1024,"name":"in","url":"interfaces/NFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":577,"kind":128,"name":"Node","url":"classes/NFA.Node.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":578,"kind":512,"name":"constructor","url":"classes/NFA.Node.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.Node"},{"id":579,"kind":1024,"name":"out","url":"classes/NFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.Node"},{"id":580,"kind":1024,"name":"in","url":"classes/NFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.Node"},{"id":581,"kind":2048,"name":"link","url":"classes/NFA.Node.html#link","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Node"},{"id":582,"kind":2048,"name":"unlink","url":"classes/NFA.Node.html#unlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Node"},{"id":583,"kind":2048,"name":"unlinkAll","url":"classes/NFA.Node.html#unlinkAll","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Node"},{"id":584,"kind":2048,"name":"unlinkAllOut","url":"classes/NFA.Node.html#unlinkAllOut","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Node"},{"id":585,"kind":2048,"name":"unlinkAllIn","url":"classes/NFA.Node.html#unlinkAllIn","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Node"},{"id":586,"kind":32,"name":"nodeFactory","url":"modules/NFA.html#nodeFactory","classes":"tsd-kind-variable tsd-parent-kind-namespace","parent":"NFA"},{"id":587,"kind":128,"name":"LimitedNodeFactory","url":"classes/NFA.LimitedNodeFactory.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":588,"kind":512,"name":"constructor","url":"classes/NFA.LimitedNodeFactory.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.LimitedNodeFactory"},{"id":589,"kind":1024,"name":"limit","url":"classes/NFA.LimitedNodeFactory.html#limit","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.LimitedNodeFactory"},{"id":590,"kind":2048,"name":"createNode","url":"classes/NFA.LimitedNodeFactory.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.LimitedNodeFactory"},{"id":591,"kind":128,"name":"Builder","url":"classes/NFA.Builder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":592,"kind":512,"name":"constructor","url":"classes/NFA.Builder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.Builder"},{"id":593,"kind":1024,"name":"initial","url":"classes/NFA.Builder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.Builder"},{"id":594,"kind":1024,"name":"finals","url":"classes/NFA.Builder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.Builder"},{"id":595,"kind":1024,"name":"factory","url":"classes/NFA.Builder.html#factory","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.Builder"},{"id":596,"kind":2048,"name":"makeFinal","url":"classes/NFA.Builder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Builder"},{"id":597,"kind":2048,"name":"isFinal","url":"classes/NFA.Builder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Builder"},{"id":598,"kind":2048,"name":"linkNodes","url":"classes/NFA.Builder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Builder"},{"id":599,"kind":2048,"name":"createNode","url":"classes/NFA.Builder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.Builder"},{"id":600,"kind":256,"name":"Options","url":"interfaces/NFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":601,"kind":1024,"name":"maxCharacter","url":"interfaces/NFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":602,"kind":256,"name":"FromRegexOptions","url":"interfaces/NFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":603,"kind":1024,"name":"assertions","url":"interfaces/NFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":604,"kind":1024,"name":"unknowns","url":"interfaces/NFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":605,"kind":1024,"name":"infinityThreshold","url":"interfaces/NFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":606,"kind":4194304,"name":"WordSet","url":"modules.html#WordSet","classes":"tsd-kind-type-alias"},{"id":607,"kind":4194304,"name":"ReadonlyWordSet","url":"modules.html#ReadonlyWordSet","classes":"tsd-kind-type-alias"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,36.085]],["parent/0",[]],["name/1",[1,60.064]],["parent/1",[0,3.459]],["name/2",[2,51.591]],["parent/2",[3,5.268]],["name/3",[4,51.591]],["parent/3",[3,5.268]],["name/4",[5,60.064]],["parent/4",[0,3.459]],["name/5",[6,60.064]],["parent/5",[0,3.459]],["name/6",[7,54.955]],["parent/6",[0,3.459]],["name/7",[8,60.064]],["parent/7",[0,3.459]],["name/8",[9,60.064]],["parent/8",[0,3.459]],["name/9",[10,60.064]],["parent/9",[0,3.459]],["name/10",[11,60.064]],["parent/10",[0,3.459]],["name/11",[12,60.064]],["parent/11",[0,3.459]],["name/12",[7,54.955]],["parent/12",[13,4.705]],["name/13",[14,60.064]],["parent/13",[13,4.705]],["name/14",[2,51.591]],["parent/14",[13,4.705]],["name/15",[4,51.591]],["parent/15",[13,4.705]],["name/16",[15,60.064]],["parent/16",[0,3.459]],["name/17",[16,60.064]],["parent/17",[0,3.459]],["name/18",[17,60.064]],["parent/18",[0,3.459]],["name/19",[18,60.064]],["parent/19",[0,3.459]],["name/20",[19,60.064]],["parent/20",[20,4.946]],["name/21",[2,51.591]],["parent/21",[20,4.946]],["name/22",[4,51.591]],["parent/22",[20,4.946]],["name/23",[21,60.064]],["parent/23",[0,3.459]],["name/24",[22,60.064]],["parent/24",[0,3.459]],["name/25",[23,29.618]],["parent/25",[]],["name/26",[24,49.077]],["parent/26",[23,2.839]],["name/27",[25,49.077]],["parent/27",[23,2.839]],["name/28",[26,60.064]],["parent/28",[23,2.839]],["name/29",[27,60.064]],["parent/29",[23,2.839]],["name/30",[28,60.064]],["parent/30",[23,2.839]],["name/31",[29,60.064]],["parent/31",[23,2.839]],["name/32",[30,51.591]],["parent/32",[23,2.839]],["name/33",[31,60.064]],["parent/33",[23,2.839]],["name/34",[32,60.064]],["parent/34",[23,2.839]],["name/35",[33,60.064]],["parent/35",[23,2.839]],["name/36",[34,60.064]],["parent/36",[23,2.839]],["name/37",[35,60.064]],["parent/37",[23,2.839]],["name/38",[36,60.064]],["parent/38",[23,2.839]],["name/39",[37,60.064]],["parent/39",[23,2.839]],["name/40",[38,60.064]],["parent/40",[23,2.839]],["name/41",[39,60.064]],["parent/41",[23,2.839]],["name/42",[40,60.064]],["parent/42",[23,2.839]],["name/43",[41,60.064]],["parent/43",[23,2.839]],["name/44",[42,37.377]],["parent/44",[43,4.215]],["name/45",[44,38.861]],["parent/45",[43,4.215]],["name/46",[45,43.969]],["parent/46",[43,4.215]],["name/47",[46,47.071]],["parent/47",[43,4.215]],["name/48",[47,43.969]],["parent/48",[43,4.215]],["name/49",[48,41.605]],["parent/49",[43,4.215]],["name/50",[49,47.071]],["parent/50",[43,4.215]],["name/51",[50,60.064]],["parent/51",[23,2.839]],["name/52",[51,60.064]],["parent/52",[23,2.839]],["name/53",[52,42.718]],["parent/53",[23,2.839]],["name/54",[53,60.064]],["parent/54",[23,2.839]],["name/55",[54,60.064]],["parent/55",[23,2.839]],["name/56",[55,60.064]],["parent/56",[23,2.839]],["name/57",[56,60.064]],["parent/57",[57,4.946]],["name/58",[58,60.064]],["parent/58",[57,4.946]],["name/59",[59,60.064]],["parent/59",[57,4.946]],["name/60",[60,60.064]],["parent/60",[23,2.839]],["name/61",[61,60.064]],["parent/61",[62,4.705]],["name/62",[47,43.969]],["parent/62",[62,4.705]],["name/63",[63,60.064]],["parent/63",[62,4.705]],["name/64",[64,60.064]],["parent/64",[62,4.705]],["name/65",[65,42.718]],["parent/65",[23,2.839]],["name/66",[66,41.605]],["parent/66",[23,2.839]],["name/67",[67,60.064]],["parent/67",[23,2.839]],["name/68",[68,60.064]],["parent/68",[23,2.839]],["name/69",[69,60.064]],["parent/69",[23,2.839]],["name/70",[70,33.438]],["parent/70",[]],["name/71",[71,60.064]],["parent/71",[70,3.205]],["name/72",[72,60.064]],["parent/72",[70,3.205]],["name/73",[73,60.064]],["parent/73",[70,3.205]],["name/74",[74,42.718]],["parent/74",[75,5.268]],["name/75",[76,43.969]],["parent/75",[75,5.268]],["name/76",[77,60.064]],["parent/76",[70,3.205]],["name/77",[74,42.718]],["parent/77",[78,5.758]],["name/78",[79,60.064]],["parent/78",[70,3.205]],["name/79",[80,60.064]],["parent/79",[70,3.205]],["name/80",[81,60.064]],["parent/80",[70,3.205]],["name/81",[74,42.718]],["parent/81",[82,5.758]],["name/82",[83,60.064]],["parent/82",[70,3.205]],["name/83",[74,42.718]],["parent/83",[84,5.268]],["name/84",[76,43.969]],["parent/84",[84,5.268]],["name/85",[85,60.064]],["parent/85",[70,3.205]],["name/86",[74,42.718]],["parent/86",[86,4.705]],["name/87",[87,60.064]],["parent/87",[86,4.705]],["name/88",[88,60.064]],["parent/88",[86,4.705]],["name/89",[76,43.969]],["parent/89",[86,4.705]],["name/90",[89,60.064]],["parent/90",[70,3.205]],["name/91",[74,42.718]],["parent/91",[90,5.268]],["name/92",[76,43.969]],["parent/92",[90,5.268]],["name/93",[91,60.064]],["parent/93",[70,3.205]],["name/94",[74,42.718]],["parent/94",[92,5.268]],["name/95",[76,43.969]],["parent/95",[92,5.268]],["name/96",[93,60.064]],["parent/96",[70,3.205]],["name/97",[94,60.064]],["parent/97",[70,3.205]],["name/98",[95,49.077]],["parent/98",[96,5.268]],["name/99",[97,60.064]],["parent/99",[96,5.268]],["name/100",[95,49.077]],["parent/100",[70,3.205]],["name/101",[98,60.064]],["parent/101",[99,4.215]],["name/102",[100,60.064]],["parent/102",[99,4.215]],["name/103",[101,60.064]],["parent/103",[99,4.215]],["name/104",[102,60.064]],["parent/104",[99,4.215]],["name/105",[103,60.064]],["parent/105",[99,4.215]],["name/106",[104,60.064]],["parent/106",[99,4.215]],["name/107",[105,60.064]],["parent/107",[99,4.215]],["name/108",[106,54.955]],["parent/108",[70,3.205]],["name/109",[107,42.718]],["parent/109",[108,5.268]],["name/110",[95,49.077]],["parent/110",[108,5.268]],["name/111",[109,60.064]],["parent/111",[70,3.205]],["name/112",[110,60.064]],["parent/112",[111,4.352]],["name/113",[112,60.064]],["parent/113",[111,4.352]],["name/114",[113,51.591]],["parent/114",[111,4.352]],["name/115",[114,60.064]],["parent/115",[111,4.352]],["name/116",[115,54.955]],["parent/116",[111,4.352]],["name/117",[116,60.064]],["parent/117",[111,4.352]],["name/118",[117,60.064]],["parent/118",[70,3.205]],["name/119",[118,60.064]],["parent/119",[119,5.268]],["name/120",[95,49.077]],["parent/120",[119,5.268]],["name/121",[120,60.064]],["parent/121",[70,3.205]],["name/122",[121,60.064]],["parent/122",[70,3.205]],["name/123",[122,45.4]],["parent/123",[123,5.268]],["name/124",[124,37.377]],["parent/124",[123,5.268]],["name/125",[125,60.064]],["parent/125",[70,3.205]],["name/126",[126,60.064]],["parent/126",[127,4.215]],["name/127",[128,60.064]],["parent/127",[127,4.215]],["name/128",[106,54.955]],["parent/128",[127,4.215]],["name/129",[129,60.064]],["parent/129",[127,4.215]],["name/130",[124,37.377]],["parent/130",[127,4.215]],["name/131",[130,60.064]],["parent/131",[127,4.215]],["name/132",[131,60.064]],["parent/132",[127,4.215]],["name/133",[132,36.085]],["parent/133",[]],["name/134",[133,60.064]],["parent/134",[132,3.459]],["name/135",[134,60.064]],["parent/135",[132,3.459]],["name/136",[135,60.064]],["parent/136",[132,3.459]],["name/137",[136,60.064]],["parent/137",[132,3.459]],["name/138",[137,60.064]],["parent/138",[132,3.459]],["name/139",[138,60.064]],["parent/139",[132,3.459]],["name/140",[139,60.064]],["parent/140",[132,3.459]],["name/141",[140,60.064]],["parent/141",[132,3.459]],["name/142",[141,51.591]],["parent/142",[]],["name/143",[142,60.064]],["parent/143",[141,4.946]],["name/144",[143,60.064]],["parent/144",[141,4.946]],["name/145",[144,60.064]],["parent/145",[]],["name/146",[145,42.718]],["parent/146",[]],["name/147",[146,49.077]],["parent/147",[]],["name/148",[147,47.071]],["parent/148",[]],["name/149",[148,43.969]],["parent/149",[147,4.512]],["name/150",[145,42.718]],["parent/150",[147,4.512]],["name/151",[149,49.077]],["parent/151",[147,4.512]],["name/152",[107,42.718]],["parent/152",[147,4.512]],["name/153",[150,43.969]],["parent/153",[]],["name/154",[148,43.969]],["parent/154",[150,4.215]],["name/155",[145,42.718]],["parent/155",[150,4.215]],["name/156",[149,49.077]],["parent/156",[150,4.215]],["name/157",[74,42.718]],["parent/157",[150,4.215]],["name/158",[76,43.969]],["parent/158",[150,4.215]],["name/159",[107,42.718]],["parent/159",[150,4.215]],["name/160",[151,42.718]],["parent/160",[]],["name/161",[148,43.969]],["parent/161",[151,4.095]],["name/162",[145,42.718]],["parent/162",[151,4.095]],["name/163",[149,49.077]],["parent/163",[151,4.095]],["name/164",[152,60.064]],["parent/164",[151,4.095]],["name/165",[153,54.955]],["parent/165",[151,4.095]],["name/166",[154,54.955]],["parent/166",[151,4.095]],["name/167",[107,42.718]],["parent/167",[151,4.095]],["name/168",[155,47.071]],["parent/168",[]],["name/169",[148,43.969]],["parent/169",[155,4.512]],["name/170",[145,42.718]],["parent/170",[155,4.512]],["name/171",[156,54.955]],["parent/171",[155,4.512]],["name/172",[107,42.718]],["parent/172",[155,4.512]],["name/173",[157,47.071]],["parent/173",[]],["name/174",[148,43.969]],["parent/174",[157,4.512]],["name/175",[145,42.718]],["parent/175",[157,4.512]],["name/176",[158,60.064]],["parent/176",[157,4.512]],["name/177",[107,42.718]],["parent/177",[157,4.512]],["name/178",[122,45.4]],["parent/178",[]],["name/179",[148,43.969]],["parent/179",[122,4.352]],["name/180",[145,42.718]],["parent/180",[122,4.352]],["name/181",[149,49.077]],["parent/181",[122,4.352]],["name/182",[107,42.718]],["parent/182",[122,4.352]],["name/183",[159,47.071]],["parent/183",[]],["name/184",[148,43.969]],["parent/184",[159,4.512]],["name/185",[145,42.718]],["parent/185",[159,4.512]],["name/186",[160,60.064]],["parent/186",[159,4.512]],["name/187",[107,42.718]],["parent/187",[159,4.512]],["name/188",[161,60.064]],["parent/188",[]],["name/189",[162,60.064]],["parent/189",[]],["name/190",[163,60.064]],["parent/190",[]],["name/191",[164,60.064]],["parent/191",[]],["name/192",[165,36.71]],["parent/192",[]],["name/193",[166,54.955]],["parent/193",[165,3.519]],["name/194",[167,54.955]],["parent/194",[165,3.519]],["name/195",[168,54.955]],["parent/195",[165,3.519]],["name/196",[169,54.955]],["parent/196",[165,3.519]],["name/197",[170,54.955]],["parent/197",[165,3.519]],["name/198",[171,54.955]],["parent/198",[165,3.519]],["name/199",[172,54.955]],["parent/199",[165,3.519]],["name/200",[173,54.955]],["parent/200",[165,3.519]],["name/201",[174,54.955]],["parent/201",[165,3.519]],["name/202",[175,54.955]],["parent/202",[165,3.519]],["name/203",[176,54.955]],["parent/203",[165,3.519]],["name/204",[177,54.955]],["parent/204",[165,3.519]],["name/205",[178,54.955]],["parent/205",[165,3.519]],["name/206",[179,54.955]],["parent/206",[165,3.519]],["name/207",[180,36.71]],["parent/207",[]],["name/208",[166,54.955]],["parent/208",[180,3.519]],["name/209",[167,54.955]],["parent/209",[180,3.519]],["name/210",[168,54.955]],["parent/210",[180,3.519]],["name/211",[169,54.955]],["parent/211",[180,3.519]],["name/212",[170,54.955]],["parent/212",[180,3.519]],["name/213",[171,54.955]],["parent/213",[180,3.519]],["name/214",[172,54.955]],["parent/214",[180,3.519]],["name/215",[173,54.955]],["parent/215",[180,3.519]],["name/216",[174,54.955]],["parent/216",[180,3.519]],["name/217",[175,54.955]],["parent/217",[180,3.519]],["name/218",[176,54.955]],["parent/218",[180,3.519]],["name/219",[177,54.955]],["parent/219",[180,3.519]],["name/220",[178,54.955]],["parent/220",[180,3.519]],["name/221",[179,54.955]],["parent/221",[180,3.519]],["name/222",[181,60.064]],["parent/222",[]],["name/223",[182,60.064]],["parent/223",[]],["name/224",[183,42.718]],["parent/224",[]],["name/225",[184,60.064]],["parent/225",[183,4.095]],["name/226",[185,60.064]],["parent/226",[183,4.095]],["name/227",[186,60.064]],["parent/227",[183,4.095]],["name/228",[187,60.064]],["parent/228",[183,4.095]],["name/229",[188,60.064]],["parent/229",[183,4.095]],["name/230",[189,60.064]],["parent/230",[183,4.095]],["name/231",[190,60.064]],["parent/231",[183,4.095]],["name/232",[191,51.591]],["parent/232",[]],["name/233",[124,37.377]],["parent/233",[191,4.946]],["name/234",[192,60.064]],["parent/234",[191,4.946]],["name/235",[193,54.955]],["parent/235",[]],["name/236",[194,60.064]],["parent/236",[193,5.268]],["name/237",[195,49.077]],["parent/237",[]],["name/238",[42,37.377]],["parent/238",[195,4.705]],["name/239",[196,60.064]],["parent/239",[195,4.705]],["name/240",[197,60.064]],["parent/240",[195,4.705]],["name/241",[198,39.695]],["parent/241",[]],["name/242",[199,40.604]],["parent/242",[198,3.805]],["name/243",[200,51.591]],["parent/243",[198,3.805]],["name/244",[201,54.955]],["parent/244",[198,3.805]],["name/245",[202,54.955]],["parent/245",[198,3.805]],["name/246",[203,54.955]],["parent/246",[198,3.805]],["name/247",[30,51.591]],["parent/247",[198,3.805]],["name/248",[204,54.955]],["parent/248",[198,3.805]],["name/249",[205,54.955]],["parent/249",[198,3.805]],["name/250",[206,54.955]],["parent/250",[198,3.805]],["name/251",[207,54.955]],["parent/251",[198,3.805]],["name/252",[208,32.548]],["parent/252",[]],["name/253",[209,60.064]],["parent/253",[208,3.12]],["name/254",[42,37.377]],["parent/254",[208,3.12]],["name/255",[199,40.604]],["parent/255",[208,3.12]],["name/256",[200,51.591]],["parent/256",[208,3.12]],["name/257",[201,54.955]],["parent/257",[208,3.12]],["name/258",[202,54.955]],["parent/258",[208,3.12]],["name/259",[203,54.955]],["parent/259",[208,3.12]],["name/260",[210,60.064]],["parent/260",[208,3.12]],["name/261",[211,60.064]],["parent/261",[208,3.12]],["name/262",[212,60.064]],["parent/262",[208,3.12]],["name/263",[213,60.064]],["parent/263",[208,3.12]],["name/264",[214,60.064]],["parent/264",[208,3.12]],["name/265",[215,60.064]],["parent/265",[208,3.12]],["name/266",[216,60.064]],["parent/266",[208,3.12]],["name/267",[217,60.064]],["parent/267",[208,3.12]],["name/268",[218,60.064]],["parent/268",[208,3.12]],["name/269",[207,54.955]],["parent/269",[208,3.12]],["name/270",[30,51.591]],["parent/270",[208,3.12]],["name/271",[204,54.955]],["parent/271",[208,3.12]],["name/272",[205,54.955]],["parent/272",[208,3.12]],["name/273",[206,54.955]],["parent/273",[208,3.12]],["name/274",[219,60.064]],["parent/274",[208,3.12]],["name/275",[220,51.591]],["parent/275",[]],["name/276",[153,54.955]],["parent/276",[220,4.946]],["name/277",[154,54.955]],["parent/277",[220,4.946]],["name/278",[221,31.731]],["parent/278",[]],["name/279",[222,49.077]],["parent/279",[221,3.042]],["name/280",[223,49.077]],["parent/280",[221,3.042]],["name/281",[224,60.064]],["parent/281",[221,3.042]],["name/282",[225,60.064]],["parent/282",[221,3.042]],["name/283",[226,60.064]],["parent/283",[221,3.042]],["name/284",[227,60.064]],["parent/284",[221,3.042]],["name/285",[199,40.604]],["parent/285",[221,3.042]],["name/286",[228,60.064]],["parent/286",[221,3.042]],["name/287",[229,60.064]],["parent/287",[221,3.042]],["name/288",[156,54.955]],["parent/288",[221,3.042]],["name/289",[66,41.605]],["parent/289",[221,3.042]],["name/290",[230,60.064]],["parent/290",[221,3.042]],["name/291",[231,60.064]],["parent/291",[221,3.042]],["name/292",[232,60.064]],["parent/292",[221,3.042]],["name/293",[233,60.064]],["parent/293",[221,3.042]],["name/294",[76,43.969]],["parent/294",[221,3.042]],["name/295",[234,51.591]],["parent/295",[221,3.042]],["name/296",[235,60.064]],["parent/296",[221,3.042]],["name/297",[236,60.064]],["parent/297",[221,3.042]],["name/298",[200,51.591]],["parent/298",[221,3.042]],["name/299",[237,60.064]],["parent/299",[221,3.042]],["name/300",[238,60.064]],["parent/300",[221,3.042]],["name/301",[239,54.955]],["parent/301",[221,3.042]],["name/302",[240,60.064]],["parent/302",[221,3.042]],["name/303",[241,60.064]],["parent/303",[]],["name/304",[242,60.064]],["parent/304",[]],["name/305",[243,60.064]],["parent/305",[]],["name/306",[244,40.604]],["parent/306",[]],["name/307",[199,40.604]],["parent/307",[244,3.893]],["name/308",[245,43.969]],["parent/308",[244,3.893]],["name/309",[124,37.377]],["parent/309",[244,3.893]],["name/310",[246,43.969]],["parent/310",[244,3.893]],["name/311",[132,36.085]],["parent/311",[244,3.893]],["name/312",[247,43.969]],["parent/312",[244,3.893]],["name/313",[66,41.605]],["parent/313",[244,3.893]],["name/314",[65,42.718]],["parent/314",[244,3.893]],["name/315",[52,42.718]],["parent/315",[244,3.893]],["name/316",[248,47.071]],["parent/316",[]],["name/317",[44,38.861]],["parent/317",[248,4.512]],["name/318",[249,60.064]],["parent/318",[248,4.512]],["name/319",[250,60.064]],["parent/319",[248,4.512]],["name/320",[47,43.969]],["parent/320",[248,4.512]],["name/321",[251,47.071]],["parent/321",[]],["name/322",[48,41.605]],["parent/322",[251,4.512]],["name/323",[252,45.4]],["parent/323",[]],["name/324",[44,38.861]],["parent/324",[252,4.352]],["name/325",[46,47.071]],["parent/325",[252,4.352]],["name/326",[47,43.969]],["parent/326",[252,4.352]],["name/327",[49,47.071]],["parent/327",[252,4.352]],["name/328",[48,41.605]],["parent/328",[252,4.352]],["name/329",[253,42.718]],["parent/329",[]],["name/330",[254,51.591]],["parent/330",[]],["name/331",[124,37.377]],["parent/331",[254,4.946]],["name/332",[253,42.718]],["parent/332",[254,4.946]],["name/333",[255,51.591]],["parent/333",[]],["name/334",[115,54.955]],["parent/334",[255,4.946]],["name/335",[256,60.064]],["parent/335",[255,4.946]],["name/336",[257,34.94]],["parent/336",[]],["name/337",[44,38.861]],["parent/337",[257,3.35]],["name/338",[45,43.969]],["parent/338",[257,3.35]],["name/339",[258,45.4]],["parent/339",[257,3.35]],["name/340",[259,45.4]],["parent/340",[257,3.35]],["name/341",[260,45.4]],["parent/341",[257,3.35]],["name/342",[261,45.4]],["parent/342",[257,3.35]],["name/343",[262,54.955]],["parent/343",[257,3.35]],["name/344",[199,40.604]],["parent/344",[257,3.35]],["name/345",[245,43.969]],["parent/345",[257,3.35]],["name/346",[124,37.377]],["parent/346",[257,3.35]],["name/347",[246,43.969]],["parent/347",[257,3.35]],["name/348",[132,36.085]],["parent/348",[257,3.35]],["name/349",[247,43.969]],["parent/349",[257,3.35]],["name/350",[66,41.605]],["parent/350",[257,3.35]],["name/351",[65,42.718]],["parent/351",[257,3.35]],["name/352",[52,42.718]],["parent/352",[257,3.35]],["name/353",[253,42.718]],["parent/353",[257,3.35]],["name/354",[263,27.612]],["parent/354",[]],["name/355",[222,49.077]],["parent/355",[263,2.647]],["name/356",[223,49.077]],["parent/356",[263,2.647]],["name/357",[264,51.591]],["parent/357",[263,2.647]],["name/358",[265,54.955]],["parent/358",[263,2.647]],["name/359",[24,49.077]],["parent/359",[263,2.647]],["name/360",[25,49.077]],["parent/360",[263,2.647]],["name/361",[266,51.591]],["parent/361",[263,2.647]],["name/362",[267,51.591]],["parent/362",[263,2.647]],["name/363",[268,51.591]],["parent/363",[263,2.647]],["name/364",[44,38.861]],["parent/364",[263,2.647]],["name/365",[45,43.969]],["parent/365",[263,2.647]],["name/366",[124,37.377]],["parent/366",[263,2.647]],["name/367",[199,40.604]],["parent/367",[263,2.647]],["name/368",[245,43.969]],["parent/368",[263,2.647]],["name/369",[258,45.4]],["parent/369",[263,2.647]],["name/370",[253,42.718]],["parent/370",[263,2.647]],["name/371",[259,45.4]],["parent/371",[263,2.647]],["name/372",[260,45.4]],["parent/372",[263,2.647]],["name/373",[246,43.969]],["parent/373",[263,2.647]],["name/374",[247,43.969]],["parent/374",[263,2.647]],["name/375",[132,36.085]],["parent/375",[263,2.647]],["name/376",[66,41.605]],["parent/376",[263,2.647]],["name/377",[65,42.718]],["parent/377",[263,2.647]],["name/378",[52,42.718]],["parent/378",[263,2.647]],["name/379",[261,45.4]],["parent/379",[263,2.647]],["name/380",[262,54.955]],["parent/380",[263,2.647]],["name/381",[269,51.591]],["parent/381",[263,2.647]],["name/382",[270,60.064]],["parent/382",[263,2.647]],["name/383",[271,60.064]],["parent/383",[263,2.647]],["name/384",[272,51.591]],["parent/384",[263,2.647]],["name/385",[263,27.612]],["parent/385",[]],["name/386",[273,51.591]],["parent/386",[263,2.647]],["name/387",[274,45.4]],["parent/387",[275,5.758]],["name/388",[146,49.077]],["parent/388",[263,2.647]],["name/389",[42,37.377]],["parent/389",[276,4.512]],["name/390",[274,45.4]],["parent/390",[276,4.512]],["name/391",[277,51.591]],["parent/391",[276,4.512]],["name/392",[278,51.591]],["parent/392",[276,4.512]],["name/393",[279,51.591]],["parent/393",[276,4.512]],["name/394",[251,47.071]],["parent/394",[263,2.647]],["name/395",[280,51.591]],["parent/395",[263,2.647]],["name/396",[42,37.377]],["parent/396",[281,4.946]],["name/397",[282,51.591]],["parent/397",[281,4.946]],["name/398",[48,41.605]],["parent/398",[281,4.946]],["name/399",[283,51.591]],["parent/399",[263,2.647]],["name/400",[42,37.377]],["parent/400",[284,4.095]],["name/401",[44,38.861]],["parent/401",[284,4.095]],["name/402",[45,43.969]],["parent/402",[284,4.095]],["name/403",[285,51.591]],["parent/403",[284,4.095]],["name/404",[46,47.071]],["parent/404",[284,4.095]],["name/405",[47,43.969]],["parent/405",[284,4.095]],["name/406",[49,47.071]],["parent/406",[284,4.095]],["name/407",[48,41.605]],["parent/407",[284,4.095]],["name/408",[286,51.591]],["parent/408",[263,2.647]],["name/409",[124,37.377]],["parent/409",[287,5.758]],["name/410",[288,34.94]],["parent/410",[]],["name/411",[44,38.861]],["parent/411",[288,3.35]],["name/412",[289,51.591]],["parent/412",[288,3.35]],["name/413",[290,49.077]],["parent/413",[288,3.35]],["name/414",[258,45.4]],["parent/414",[288,3.35]],["name/415",[259,45.4]],["parent/415",[288,3.35]],["name/416",[260,45.4]],["parent/416",[288,3.35]],["name/417",[261,45.4]],["parent/417",[288,3.35]],["name/418",[199,40.604]],["parent/418",[288,3.35]],["name/419",[245,43.969]],["parent/419",[288,3.35]],["name/420",[124,37.377]],["parent/420",[288,3.35]],["name/421",[246,43.969]],["parent/421",[288,3.35]],["name/422",[132,36.085]],["parent/422",[288,3.35]],["name/423",[247,43.969]],["parent/423",[288,3.35]],["name/424",[66,41.605]],["parent/424",[288,3.35]],["name/425",[65,42.718]],["parent/425",[288,3.35]],["name/426",[52,42.718]],["parent/426",[288,3.35]],["name/427",[253,42.718]],["parent/427",[288,3.35]],["name/428",[291,25.511]],["parent/428",[]],["name/429",[222,49.077]],["parent/429",[291,2.446]],["name/430",[223,49.077]],["parent/430",[291,2.446]],["name/431",[264,51.591]],["parent/431",[291,2.446]],["name/432",[292,54.955]],["parent/432",[291,2.446]],["name/433",[24,49.077]],["parent/433",[291,2.446]],["name/434",[25,49.077]],["parent/434",[291,2.446]],["name/435",[266,51.591]],["parent/435",[291,2.446]],["name/436",[267,51.591]],["parent/436",[291,2.446]],["name/437",[268,51.591]],["parent/437",[291,2.446]],["name/438",[44,38.861]],["parent/438",[291,2.446]],["name/439",[289,51.591]],["parent/439",[291,2.446]],["name/440",[124,37.377]],["parent/440",[291,2.446]],["name/441",[199,40.604]],["parent/441",[291,2.446]],["name/442",[245,43.969]],["parent/442",[291,2.446]],["name/443",[290,49.077]],["parent/443",[291,2.446]],["name/444",[293,54.955]],["parent/444",[291,2.446]],["name/445",[258,45.4]],["parent/445",[291,2.446]],["name/446",[253,42.718]],["parent/446",[291,2.446]],["name/447",[259,45.4]],["parent/447",[291,2.446]],["name/448",[260,45.4]],["parent/448",[291,2.446]],["name/449",[261,45.4]],["parent/449",[291,2.446]],["name/450",[246,43.969]],["parent/450",[291,2.446]],["name/451",[247,43.969]],["parent/451",[291,2.446]],["name/452",[132,36.085]],["parent/452",[291,2.446]],["name/453",[66,41.605]],["parent/453",[291,2.446]],["name/454",[65,42.718]],["parent/454",[291,2.446]],["name/455",[52,42.718]],["parent/455",[291,2.446]],["name/456",[294,54.955]],["parent/456",[291,2.446]],["name/457",[295,54.955]],["parent/457",[291,2.446]],["name/458",[296,54.955]],["parent/458",[291,2.446]],["name/459",[297,54.955]],["parent/459",[291,2.446]],["name/460",[234,51.591]],["parent/460",[291,2.446]],["name/461",[298,54.955]],["parent/461",[291,2.446]],["name/462",[299,54.955]],["parent/462",[291,2.446]],["name/463",[300,54.955]],["parent/463",[291,2.446]],["name/464",[269,51.591]],["parent/464",[291,2.446]],["name/465",[272,51.591]],["parent/465",[291,2.446]],["name/466",[301,54.955]],["parent/466",[291,2.446]],["name/467",[291,25.511]],["parent/467",[]],["name/468",[273,51.591]],["parent/468",[291,2.446]],["name/469",[274,45.4]],["parent/469",[302,4.705]],["name/470",[303,49.077]],["parent/470",[302,4.705]],["name/471",[304,54.955]],["parent/471",[302,4.705]],["name/472",[305,54.955]],["parent/472",[302,4.705]],["name/473",[146,49.077]],["parent/473",[291,2.446]],["name/474",[42,37.377]],["parent/474",[306,3.893]],["name/475",[274,45.4]],["parent/475",[306,3.893]],["name/476",[303,49.077]],["parent/476",[306,3.893]],["name/477",[277,51.591]],["parent/477",[306,3.893]],["name/478",[278,51.591]],["parent/478",[306,3.893]],["name/479",[279,51.591]],["parent/479",[306,3.893]],["name/480",[307,54.955]],["parent/480",[306,3.893]],["name/481",[308,54.955]],["parent/481",[306,3.893]],["name/482",[304,54.955]],["parent/482",[306,3.893]],["name/483",[305,54.955]],["parent/483",[306,3.893]],["name/484",[251,47.071]],["parent/484",[291,2.446]],["name/485",[280,51.591]],["parent/485",[291,2.446]],["name/486",[42,37.377]],["parent/486",[309,4.946]],["name/487",[282,51.591]],["parent/487",[309,4.946]],["name/488",[48,41.605]],["parent/488",[309,4.946]],["name/489",[283,51.591]],["parent/489",[291,2.446]],["name/490",[42,37.377]],["parent/490",[310,4.095]],["name/491",[44,38.861]],["parent/491",[310,4.095]],["name/492",[289,51.591]],["parent/492",[310,4.095]],["name/493",[285,51.591]],["parent/493",[310,4.095]],["name/494",[46,47.071]],["parent/494",[310,4.095]],["name/495",[47,43.969]],["parent/495",[310,4.095]],["name/496",[49,47.071]],["parent/496",[310,4.095]],["name/497",[48,41.605]],["parent/497",[310,4.095]],["name/498",[286,51.591]],["parent/498",[291,2.446]],["name/499",[124,37.377]],["parent/499",[311,5.758]],["name/500",[312,54.955]],["parent/500",[291,2.446]],["name/501",[113,51.591]],["parent/501",[313,4.946]],["name/502",[314,54.955]],["parent/502",[313,4.946]],["name/503",[315,54.955]],["parent/503",[313,4.946]],["name/504",[316,51.591]],["parent/504",[]],["name/505",[317,54.955]],["parent/505",[316,4.946]],["name/506",[42,37.377]],["parent/506",[316,4.946]],["name/507",[318,51.591]],["parent/507",[]],["name/508",[317,54.955]],["parent/508",[318,4.946]],["name/509",[42,37.377]],["parent/509",[318,4.946]],["name/510",[319,60.064]],["parent/510",[]],["name/511",[239,54.955]],["parent/511",[]],["name/512",[320,60.064]],["parent/512",[]],["name/513",[321,60.064]],["parent/513",[]],["name/514",[322,34.94]],["parent/514",[]],["name/515",[44,38.861]],["parent/515",[322,3.35]],["name/516",[45,43.969]],["parent/516",[322,3.35]],["name/517",[290,49.077]],["parent/517",[322,3.35]],["name/518",[258,45.4]],["parent/518",[322,3.35]],["name/519",[259,45.4]],["parent/519",[322,3.35]],["name/520",[260,45.4]],["parent/520",[322,3.35]],["name/521",[261,45.4]],["parent/521",[322,3.35]],["name/522",[199,40.604]],["parent/522",[322,3.35]],["name/523",[245,43.969]],["parent/523",[322,3.35]],["name/524",[124,37.377]],["parent/524",[322,3.35]],["name/525",[246,43.969]],["parent/525",[322,3.35]],["name/526",[132,36.085]],["parent/526",[322,3.35]],["name/527",[247,43.969]],["parent/527",[322,3.35]],["name/528",[66,41.605]],["parent/528",[322,3.35]],["name/529",[65,42.718]],["parent/529",[322,3.35]],["name/530",[52,42.718]],["parent/530",[322,3.35]],["name/531",[253,42.718]],["parent/531",[322,3.35]],["name/532",[323,25.098]],["parent/532",[]],["name/533",[222,49.077]],["parent/533",[323,2.406]],["name/534",[223,49.077]],["parent/534",[323,2.406]],["name/535",[264,51.591]],["parent/535",[323,2.406]],["name/536",[265,54.955]],["parent/536",[323,2.406]],["name/537",[292,54.955]],["parent/537",[323,2.406]],["name/538",[24,49.077]],["parent/538",[323,2.406]],["name/539",[25,49.077]],["parent/539",[323,2.406]],["name/540",[266,51.591]],["parent/540",[323,2.406]],["name/541",[267,51.591]],["parent/541",[323,2.406]],["name/542",[268,51.591]],["parent/542",[323,2.406]],["name/543",[44,38.861]],["parent/543",[323,2.406]],["name/544",[45,43.969]],["parent/544",[323,2.406]],["name/545",[124,37.377]],["parent/545",[323,2.406]],["name/546",[199,40.604]],["parent/546",[323,2.406]],["name/547",[245,43.969]],["parent/547",[323,2.406]],["name/548",[290,49.077]],["parent/548",[323,2.406]],["name/549",[293,54.955]],["parent/549",[323,2.406]],["name/550",[258,45.4]],["parent/550",[323,2.406]],["name/551",[253,42.718]],["parent/551",[323,2.406]],["name/552",[259,45.4]],["parent/552",[323,2.406]],["name/553",[260,45.4]],["parent/553",[323,2.406]],["name/554",[261,45.4]],["parent/554",[323,2.406]],["name/555",[246,43.969]],["parent/555",[323,2.406]],["name/556",[247,43.969]],["parent/556",[323,2.406]],["name/557",[132,36.085]],["parent/557",[323,2.406]],["name/558",[66,41.605]],["parent/558",[323,2.406]],["name/559",[65,42.718]],["parent/559",[323,2.406]],["name/560",[52,42.718]],["parent/560",[323,2.406]],["name/561",[234,51.591]],["parent/561",[323,2.406]],["name/562",[298,54.955]],["parent/562",[323,2.406]],["name/563",[294,54.955]],["parent/563",[323,2.406]],["name/564",[295,54.955]],["parent/564",[323,2.406]],["name/565",[296,54.955]],["parent/565",[323,2.406]],["name/566",[297,54.955]],["parent/566",[323,2.406]],["name/567",[299,54.955]],["parent/567",[323,2.406]],["name/568",[300,54.955]],["parent/568",[323,2.406]],["name/569",[269,51.591]],["parent/569",[323,2.406]],["name/570",[272,51.591]],["parent/570",[323,2.406]],["name/571",[301,54.955]],["parent/571",[323,2.406]],["name/572",[324,60.064]],["parent/572",[323,2.406]],["name/573",[323,25.098]],["parent/573",[]],["name/574",[273,51.591]],["parent/574",[323,2.406]],["name/575",[274,45.4]],["parent/575",[325,5.268]],["name/576",[303,49.077]],["parent/576",[325,5.268]],["name/577",[146,49.077]],["parent/577",[323,2.406]],["name/578",[42,37.377]],["parent/578",[326,4.095]],["name/579",[274,45.4]],["parent/579",[326,4.095]],["name/580",[303,49.077]],["parent/580",[326,4.095]],["name/581",[277,51.591]],["parent/581",[326,4.095]],["name/582",[278,51.591]],["parent/582",[326,4.095]],["name/583",[279,51.591]],["parent/583",[326,4.095]],["name/584",[307,54.955]],["parent/584",[326,4.095]],["name/585",[308,54.955]],["parent/585",[326,4.095]],["name/586",[251,47.071]],["parent/586",[323,2.406]],["name/587",[280,51.591]],["parent/587",[323,2.406]],["name/588",[42,37.377]],["parent/588",[327,4.946]],["name/589",[282,51.591]],["parent/589",[327,4.946]],["name/590",[48,41.605]],["parent/590",[327,4.946]],["name/591",[283,51.591]],["parent/591",[323,2.406]],["name/592",[42,37.377]],["parent/592",[328,4.095]],["name/593",[44,38.861]],["parent/593",[328,4.095]],["name/594",[45,43.969]],["parent/594",[328,4.095]],["name/595",[285,51.591]],["parent/595",[328,4.095]],["name/596",[46,47.071]],["parent/596",[328,4.095]],["name/597",[47,43.969]],["parent/597",[328,4.095]],["name/598",[49,47.071]],["parent/598",[328,4.095]],["name/599",[48,41.605]],["parent/599",[328,4.095]],["name/600",[286,51.591]],["parent/600",[323,2.406]],["name/601",[124,37.377]],["parent/601",[329,5.758]],["name/602",[312,54.955]],["parent/602",[323,2.406]],["name/603",[113,51.591]],["parent/603",[330,4.946]],["name/604",[314,54.955]],["parent/604",[330,4.946]],["name/605",[315,54.955]],["parent/605",[330,4.946]],["name/606",[331,60.064]],["parent/606",[]],["name/607",[332,60.064]],["parent/607",[]]],"invertedIndex":[["all",{"_index":223,"name":{"280":{},"356":{},"430":{},"534":{}},"parent":{}}],["alternation",{"_index":147,"name":{"148":{}},"parent":{"149":{},"150":{},"151":{},"152":{}}}],["alternatives",{"_index":149,"name":{"151":{},"156":{},"163":{},"181":{}},"parent":{}}],["anycharacterset",{"_index":81,"name":{"80":{}},"parent":{}}],["append",{"_index":294,"name":{"456":{},"563":{}},"parent":{}}],["appendinto",{"_index":295,"name":{"457":{},"564":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["approximaterejectingwordset",{"_index":69,"name":{"69":{}},"parent":{}}],["assert",{"_index":317,"name":{"505":{},"508":{}},"parent":{}}],["assertion",{"_index":150,"name":{"153":{}},"parent":{"154":{},"155":{},"156":{},"157":{},"158":{},"159":{}}}],["assertions",{"_index":113,"name":{"114":{},"501":{},"603":{}},"parent":{}}],["ast",{"_index":129,"name":{"129":{}},"parent":{}}],["backreferences",{"_index":112,"name":{"113":{}},"parent":{}}],["boundaryassertion",{"_index":72,"name":{"72":{}},"parent":{}}],["builder",{"_index":283,"name":{"399":{},"489":{},"591":{}},"parent":{}}],["canreachfinal",{"_index":34,"name":{"36":{}},"parent":{}}],["char",{"_index":241,"name":{"303":{}},"parent":{}}],["characterclass",{"_index":155,"name":{"168":{}},"parent":{"169":{},"170":{},"171":{},"172":{}}}],["characters",{"_index":156,"name":{"171":{},"288":{}},"parent":{}}],["charbase",{"_index":195,"name":{"237":{}},"parent":{"238":{},"239":{},"240":{}}}],["charmap",{"_index":208,"name":{"252":{}},"parent":{"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{}}}],["charrange",{"_index":220,"name":{"275":{}},"parent":{"276":{},"277":{}}}],["charset",{"_index":221,"name":{"278":{}},"parent":{"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{}}}],["clear",{"_index":215,"name":{"265":{}},"parent":{}}],["combinetransformers",{"_index":181,"name":{"222":{}},"parent":{}}],["commoncharacter",{"_index":240,"name":{"302":{}},"parent":{}}],["compare",{"_index":232,"name":{"292":{}},"parent":{}}],["complement",{"_index":271,"name":{"383":{}},"parent":{}}],["concatenation",{"_index":159,"name":{"183":{}},"parent":{"184":{},"185":{},"186":{},"187":{}}}],["constructor",{"_index":42,"name":{"44":{},"238":{},"254":{},"389":{},"396":{},"400":{},"474":{},"486":{},"490":{},"506":{},"509":{},"578":{},"588":{},"592":{}},"parent":{}}],["copy",{"_index":261,"name":{"342":{},"379":{},"417":{},"449":{},"521":{},"554":{}},"parent":{}}],["count",{"_index":31,"name":{"33":{}},"parent":{}}],["countnodes",{"_index":260,"name":{"341":{},"372":{},"416":{},"448":{},"520":{},"553":{}},"parent":{}}],["createassertion",{"_index":71,"name":{"71":{}},"parent":{}}],["createcharset",{"_index":79,"name":{"78":{}},"parent":{}}],["createnode",{"_index":48,"name":{"49":{},"322":{},"328":{},"398":{},"407":{},"488":{},"497":{},"590":{},"599":{}},"parent":{}}],["createsimpletodotoptions",{"_index":53,"name":{"54":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{}},"parent":{}}],["delete",{"_index":213,"name":{"263":{}},"parent":{}}],["deleterange",{"_index":214,"name":{"264":{}},"parent":{}}],["dfa",{"_index":263,"name":{"354":{},"385":{}},"parent":{"355":{},"356":{},"357":{},"358":{},"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{},"376":{},"377":{},"378":{},"379":{},"380":{},"381":{},"382":{},"383":{},"384":{},"386":{},"388":{},"394":{},"395":{},"399":{},"408":{}}}],["dfa.builder",{"_index":284,"name":{},"parent":{"400":{},"401":{},"402":{},"403":{},"404":{},"405":{},"406":{},"407":{}}}],["dfa.limitednodefactory",{"_index":281,"name":{},"parent":{"396":{},"397":{},"398":{}}}],["dfa.node",{"_index":276,"name":{},"parent":{"389":{},"390":{},"391":{},"392":{},"393":{}}}],["dfa.options",{"_index":287,"name":{},"parent":{"409":{}}}],["dfa.readonlynode",{"_index":275,"name":{},"parent":{"387":{}}}],["digitcharacterset",{"_index":83,"name":{"82":{}},"parent":{}}],["dotall",{"_index":98,"name":{"101":{}},"parent":{}}],["element",{"_index":144,"name":{"145":{}},"parent":{}}],["elements",{"_index":160,"name":{"186":{}},"parent":{}}],["empty",{"_index":222,"name":{"279":{},"355":{},"429":{},"533":{}},"parent":{}}],["end",{"_index":143,"name":{"144":{}},"parent":{}}],["enfa",{"_index":291,"name":{"428":{},"467":{}},"parent":{"429":{},"430":{},"431":{},"432":{},"433":{},"434":{},"435":{},"436":{},"437":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"444":{},"445":{},"446":{},"447":{},"448":{},"449":{},"450":{},"451":{},"452":{},"453":{},"454":{},"455":{},"456":{},"457":{},"458":{},"459":{},"460":{},"461":{},"462":{},"463":{},"464":{},"465":{},"466":{},"468":{},"473":{},"484":{},"485":{},"489":{},"498":{},"500":{}}}],["enfa.builder",{"_index":310,"name":{},"parent":{"490":{},"491":{},"492":{},"493":{},"494":{},"495":{},"496":{},"497":{}}}],["enfa.fromregexoptions",{"_index":313,"name":{},"parent":{"501":{},"502":{},"503":{}}}],["enfa.limitednodefactory",{"_index":309,"name":{},"parent":{"486":{},"487":{},"488":{}}}],["enfa.node",{"_index":306,"name":{},"parent":{"474":{},"475":{},"476":{},"477":{},"478":{},"479":{},"480":{},"481":{},"482":{},"483":{}}}],["enfa.options",{"_index":311,"name":{},"parent":{"499":{}}}],["enfa.readonlynode",{"_index":302,"name":{},"parent":{"469":{},"470":{},"471":{},"472":{}}}],["ensurestableout",{"_index":32,"name":{"34":{}},"parent":{}}],["entries",{"_index":206,"name":{"250":{},"273":{}},"parent":{}}],["equals",{"_index":231,"name":{"291":{}},"parent":{}}],["expression",{"_index":122,"name":{"123":{},"178":{}},"parent":{"179":{},"180":{},"181":{},"182":{}}}],["fabuilder",{"_index":252,"name":{"323":{}},"parent":{"324":{},"325":{},"326":{},"327":{},"328":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["factory",{"_index":285,"name":{"403":{},"493":{},"595":{}},"parent":{}}],["faiterator",{"_index":248,"name":{"316":{}},"parent":{"317":{},"318":{},"319":{},"320":{}}}],["faiterators",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"60":{},"65":{},"66":{},"67":{},"68":{},"69":{}}}],["faiterators.mapfabuilder",{"_index":43,"name":{},"parent":{"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{}}}],["faiterators.todotinfo",{"_index":62,"name":{},"parent":{"61":{},"62":{},"63":{},"64":{}}}],["faiterators.todotoptions",{"_index":57,"name":{},"parent":{"57":{},"58":{},"59":{}}}],["fastcharacters",{"_index":97,"name":{"99":{}},"parent":{}}],["filter",{"_index":218,"name":{"268":{}},"parent":{}}],["filteroutiter",{"_index":29,"name":{"31":{}},"parent":{}}],["final",{"_index":289,"name":{"412":{},"439":{},"492":{}},"parent":{}}],["finals",{"_index":45,"name":{"46":{},"338":{},"365":{},"402":{},"516":{},"544":{},"594":{}},"parent":{}}],["finiteautomaton",{"_index":244,"name":{"306":{}},"parent":{"307":{},"308":{},"309":{},"310":{},"311":{},"312":{},"313":{},"314":{},"315":{}}}],["flags",{"_index":95,"name":{"98":{},"100":{},"110":{},"120":{}},"parent":{}}],["foreach",{"_index":30,"name":{"32":{},"247":{},"270":{}},"parent":{}}],["fromast",{"_index":128,"name":{"127":{}},"parent":{}}],["frombuilder",{"_index":268,"name":{"363":{},"437":{},"542":{}},"parent":{}}],["fromcharacters",{"_index":224,"name":{"281":{}},"parent":{}}],["fromcharset",{"_index":264,"name":{"357":{},"431":{},"535":{}},"parent":{}}],["fromfa",{"_index":266,"name":{"361":{},"435":{},"540":{}},"parent":{}}],["fromintersection",{"_index":265,"name":{"358":{},"536":{}},"parent":{}}],["fromliteral",{"_index":126,"name":{"126":{}},"parent":{}}],["fromrange",{"_index":225,"name":{"282":{}},"parent":{}}],["fromregex",{"_index":292,"name":{"432":{},"537":{}},"parent":{}}],["fromregexoptions",{"_index":312,"name":{"500":{},"602":{}},"parent":{}}],["fromstringtounicode",{"_index":136,"name":{"137":{}},"parent":{}}],["fromstringtoutf16",{"_index":135,"name":{"136":{}},"parent":{}}],["fromtransitioniterator",{"_index":267,"name":{"362":{},"436":{},"541":{}},"parent":{}}],["fromunicodetostring",{"_index":134,"name":{"135":{}},"parent":{}}],["fromutf16tostring",{"_index":133,"name":{"134":{}},"parent":{}}],["fromwords",{"_index":24,"name":{"26":{},"359":{},"433":{},"538":{}},"parent":{}}],["fromwordsets",{"_index":25,"name":{"27":{},"360":{},"434":{},"539":{}},"parent":{}}],["get",{"_index":203,"name":{"246":{},"259":{}},"parent":{}}],["getedgeattributes",{"_index":56,"name":{"57":{}},"parent":{}}],["getgraphattributes",{"_index":58,"name":{"58":{}},"parent":{}}],["getid",{"_index":63,"name":{"63":{}},"parent":{}}],["getintersectioniterator",{"_index":319,"name":{"510":{}},"parent":{}}],["getintersectionwords",{"_index":321,"name":{"513":{}},"parent":{}}],["getintersectionwordsets",{"_index":320,"name":{"512":{}},"parent":{}}],["getnodeattributes",{"_index":59,"name":{"59":{}},"parent":{}}],["getnumberofoutgoingedges",{"_index":64,"name":{"64":{}},"parent":{}}],["getout",{"_index":249,"name":{"318":{}},"parent":{}}],["getunknownid",{"_index":116,"name":{"117":{}},"parent":{}}],["global",{"_index":100,"name":{"102":{}},"parent":{}}],["has",{"_index":200,"name":{"243":{},"256":{},"298":{}},"parent":{}}],["hascycle",{"_index":35,"name":{"37":{}},"parent":{}}],["hasevery",{"_index":201,"name":{"244":{},"257":{}},"parent":{}}],["hasindices",{"_index":101,"name":{"103":{}},"parent":{}}],["hassome",{"_index":202,"name":{"245":{},"258":{}},"parent":{}}],["id",{"_index":158,"name":{"176":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":102,"name":{"104":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":303,"name":{"470":{},"476":{},"576":{},"580":{}},"parent":{}}],["infinitythreshold",{"_index":315,"name":{"503":{},"605":{}},"parent":{}}],["initial",{"_index":44,"name":{"45":{},"317":{},"324":{},"337":{},"364":{},"401":{},"411":{},"438":{},"491":{},"515":{},"543":{},"593":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":235,"name":{"296":{}},"parent":{}}],["intersection",{"_index":26,"name":{"28":{}},"parent":{}}],["invert",{"_index":207,"name":{"251":{},"269":{}},"parent":{}}],["isall",{"_index":228,"name":{"286":{}},"parent":{}}],["isdisjointwith",{"_index":239,"name":{"301":{},"511":{}},"parent":{}}],["isempty",{"_index":199,"name":{"242":{},"255":{},"285":{},"307":{},"344":{},"367":{},"418":{},"441":{},"522":{},"546":{}},"parent":{}}],["isfinal",{"_index":47,"name":{"48":{},"62":{},"320":{},"326":{},"405":{},"495":{},"597":{}},"parent":{}}],["isfinite",{"_index":245,"name":{"308":{},"345":{},"368":{},"419":{},"442":{},"523":{},"547":{}},"parent":{}}],["isinitial",{"_index":61,"name":{"61":{}},"parent":{}}],["isnormalized",{"_index":290,"name":{"413":{},"443":{},"517":{},"548":{}},"parent":{}}],["issubsetof",{"_index":238,"name":{"300":{}},"parent":{}}],["issupersetof",{"_index":237,"name":{"299":{}},"parent":{}}],["iteratestates",{"_index":33,"name":{"35":{}},"parent":{}}],["iteratewordsets",{"_index":67,"name":{"67":{}},"parent":{}}],["iterator",{"_index":219,"name":{"274":{}},"parent":{}}],["js",{"_index":70,"name":{"70":{}},"parent":{"71":{},"72":{},"73":{},"76":{},"78":{},"79":{},"80":{},"82":{},"85":{},"90":{},"93":{},"96":{},"97":{},"100":{},"108":{},"111":{},"118":{},"121":{},"122":{},"125":{}}}],["js.anycharacterset",{"_index":82,"name":{},"parent":{"81":{}}}],["js.digitcharacterset",{"_index":84,"name":{},"parent":{"83":{},"84":{}}}],["js.flags",{"_index":99,"name":{},"parent":{"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{}}}],["js.literal",{"_index":108,"name":{},"parent":{"109":{},"110":{}}}],["js.parseoptions",{"_index":111,"name":{},"parent":{"112":{},"113":{},"114":{},"115":{},"116":{},"117":{}}}],["js.parser",{"_index":127,"name":{},"parent":{"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{}}}],["js.parseresult",{"_index":123,"name":{},"parent":{"123":{},"124":{}}}],["js.propertycharacterset",{"_index":86,"name":{},"parent":{"86":{},"87":{},"88":{},"89":{}}}],["js.regexppast",{"_index":119,"name":{},"parent":{"119":{},"120":{}}}],["js.spacecharacterset",{"_index":90,"name":{},"parent":{"91":{},"92":{}}}],["js.textboundaryassertion",{"_index":78,"name":{},"parent":{"77":{}}}],["js.toliteraloptions",{"_index":96,"name":{},"parent":{"98":{},"99":{}}}],["js.wordboundaryassertion",{"_index":75,"name":{},"parent":{"74":{},"75":{}}}],["js.wordcharacterset",{"_index":92,"name":{},"parent":{"94":{},"95":{}}}],["key",{"_index":87,"name":{"87":{}},"parent":{}}],["keys",{"_index":204,"name":{"248":{},"271":{}},"parent":{}}],["kind",{"_index":74,"name":{"74":{},"77":{},"81":{},"83":{},"86":{},"91":{},"94":{},"157":{}},"parent":{}}],["languageisfinite",{"_index":36,"name":{"38":{}},"parent":{}}],["lazy",{"_index":152,"name":{"164":{}},"parent":{}}],["limit",{"_index":282,"name":{"397":{},"487":{},"589":{}},"parent":{}}],["limitednodefactory",{"_index":280,"name":{"395":{},"485":{},"587":{}},"parent":{}}],["link",{"_index":277,"name":{"391":{},"477":{},"581":{}},"parent":{}}],["linknodes",{"_index":49,"name":{"50":{},"327":{},"406":{},"496":{},"598":{}},"parent":{}}],["literal",{"_index":106,"name":{"108":{},"128":{}},"parent":{}}],["makedeterministic",{"_index":40,"name":{"42":{}},"parent":{}}],["makefinal",{"_index":46,"name":{"47":{},"325":{},"404":{},"494":{},"596":{}},"parent":{}}],["makeinitialfinal",{"_index":37,"name":{"39":{}},"parent":{}}],["makeinitialnonfinal",{"_index":38,"name":{"40":{}},"parent":{}}],["map",{"_index":216,"name":{"266":{}},"parent":{}}],["mapfabuilder",{"_index":41,"name":{"43":{}},"parent":{}}],["mapfabuildernode",{"_index":50,"name":{"51":{}},"parent":{}}],["mapout",{"_index":27,"name":{"29":{}},"parent":{}}],["mapoutiter",{"_index":28,"name":{"30":{}},"parent":{}}],["maprange",{"_index":217,"name":{"267":{}},"parent":{}}],["max",{"_index":154,"name":{"166":{},"277":{}},"parent":{}}],["maxbackreferencewords",{"_index":110,"name":{"112":{}},"parent":{}}],["maxcharacter",{"_index":124,"name":{"124":{},"130":{},"233":{},"309":{},"331":{},"346":{},"366":{},"409":{},"420":{},"440":{},"499":{},"524":{},"545":{},"601":{}},"parent":{}}],["maxcharactererror",{"_index":316,"name":{"504":{}},"parent":{"505":{},"506":{}}}],["maximum",{"_index":226,"name":{"283":{}},"parent":{}}],["maxnodes",{"_index":115,"name":{"116":{},"334":{}},"parent":{}}],["maxoptimizationpasses",{"_index":256,"name":{"335":{}},"parent":{}}],["maxpasses",{"_index":194,"name":{"236":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":153,"name":{"165":{},"276":{}},"parent":{}}],["minimize",{"_index":270,"name":{"382":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":103,"name":{"105":{}},"parent":{}}],["negate",{"_index":76,"name":{"75":{},"84":{},"89":{},"92":{},"95":{},"158":{},"294":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":323,"name":{"532":{},"573":{}},"parent":{"533":{},"534":{},"535":{},"536":{},"537":{},"538":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"547":{},"548":{},"549":{},"550":{},"551":{},"552":{},"553":{},"554":{},"555":{},"556":{},"557":{},"558":{},"559":{},"560":{},"561":{},"562":{},"563":{},"564":{},"565":{},"566":{},"567":{},"568":{},"569":{},"570":{},"571":{},"572":{},"574":{},"577":{},"586":{},"587":{},"591":{},"600":{},"602":{}}}],["nfa.builder",{"_index":328,"name":{},"parent":{"592":{},"593":{},"594":{},"595":{},"596":{},"597":{},"598":{},"599":{}}}],["nfa.fromregexoptions",{"_index":330,"name":{},"parent":{"603":{},"604":{},"605":{}}}],["nfa.limitednodefactory",{"_index":327,"name":{},"parent":{"588":{},"589":{},"590":{}}}],["nfa.node",{"_index":326,"name":{},"parent":{"578":{},"579":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{}}}],["nfa.options",{"_index":329,"name":{},"parent":{"601":{}}}],["nfa.readonlynode",{"_index":325,"name":{},"parent":{"575":{},"576":{}}}],["node",{"_index":146,"name":{"147":{},"388":{},"473":{},"577":{}},"parent":{}}],["nodefactory",{"_index":251,"name":{"321":{},"394":{},"484":{},"586":{}},"parent":{"322":{}}}],["nodes",{"_index":259,"name":{"340":{},"371":{},"415":{},"447":{},"519":{},"552":{}},"parent":{}}],["noparent",{"_index":161,"name":{"188":{}},"parent":{}}],["normalize",{"_index":293,"name":{"444":{},"549":{}},"parent":{}}],["onalternation",{"_index":184,"name":{"225":{}},"parent":{}}],["onalternationenter",{"_index":166,"name":{"193":{},"208":{}},"parent":{}}],["onalternationleave",{"_index":167,"name":{"194":{},"209":{}},"parent":{}}],["onassertion",{"_index":185,"name":{"226":{}},"parent":{}}],["onassertionenter",{"_index":168,"name":{"195":{},"210":{}},"parent":{}}],["onassertionleave",{"_index":169,"name":{"196":{},"211":{}},"parent":{}}],["oncharacterclass",{"_index":186,"name":{"227":{}},"parent":{}}],["oncharacterclassenter",{"_index":170,"name":{"197":{},"212":{}},"parent":{}}],["oncharacterclassleave",{"_index":171,"name":{"198":{},"213":{}},"parent":{}}],["onconcatenation",{"_index":187,"name":{"228":{}},"parent":{}}],["onconcatenationenter",{"_index":172,"name":{"199":{},"214":{}},"parent":{}}],["onconcatenationleave",{"_index":173,"name":{"200":{},"215":{}},"parent":{}}],["onexpression",{"_index":188,"name":{"229":{}},"parent":{}}],["onexpressionenter",{"_index":174,"name":{"201":{},"216":{}},"parent":{}}],["onexpressionleave",{"_index":175,"name":{"202":{},"217":{}},"parent":{}}],["onquantifier",{"_index":189,"name":{"230":{}},"parent":{}}],["onquantifierenter",{"_index":176,"name":{"203":{},"218":{}},"parent":{}}],["onquantifierleave",{"_index":177,"name":{"204":{},"219":{}},"parent":{}}],["onunknown",{"_index":190,"name":{"231":{}},"parent":{}}],["onunknownenter",{"_index":178,"name":{"205":{},"220":{}},"parent":{}}],["onunknownleave",{"_index":179,"name":{"206":{},"221":{}},"parent":{}}],["options",{"_index":286,"name":{"408":{},"498":{},"600":{}},"parent":{}}],["out",{"_index":274,"name":{"387":{},"390":{},"469":{},"475":{},"575":{},"579":{}},"parent":{}}],["parent",{"_index":145,"name":{"146":{},"150":{},"155":{},"162":{},"170":{},"175":{},"180":{},"185":{}},"parent":{}}],["parsableelement",{"_index":120,"name":{"121":{}},"parent":{}}],["parse",{"_index":130,"name":{"131":{}},"parent":{}}],["parseelement",{"_index":131,"name":{"132":{}},"parent":{}}],["parseoptions",{"_index":109,"name":{"111":{}},"parent":{}}],["parser",{"_index":125,"name":{"125":{}},"parent":{}}],["parseresult",{"_index":121,"name":{"122":{}},"parent":{}}],["pattern",{"_index":118,"name":{"119":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":137,"name":{"138":{}},"parent":{}}],["pickmostreadableword",{"_index":138,"name":{"139":{}},"parent":{}}],["predefinedcharacterset",{"_index":80,"name":{"79":{}},"parent":{}}],["prefixes",{"_index":272,"name":{"384":{},"465":{},"570":{}},"parent":{}}],["prepend",{"_index":296,"name":{"458":{},"565":{}},"parent":{}}],["prependinto",{"_index":297,"name":{"459":{},"566":{}},"parent":{}}],["propertycharacterset",{"_index":85,"name":{"85":{}},"parent":{}}],["quantifier",{"_index":151,"name":{"160":{}},"parent":{"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{}}}],["quantify",{"_index":299,"name":{"462":{},"567":{}},"parent":{}}],["ranges",{"_index":227,"name":{"284":{}},"parent":{}}],["reachableviaepsilon",{"_index":305,"name":{"472":{},"483":{}},"parent":{}}],["readonlycharmap",{"_index":198,"name":{"241":{}},"parent":{"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{}}}],["readonlydfa",{"_index":257,"name":{"336":{}},"parent":{"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{},"350":{},"351":{},"352":{},"353":{}}}],["readonlyenfa",{"_index":288,"name":{"410":{}},"parent":{"411":{},"412":{},"413":{},"414":{},"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{},"427":{}}}],["readonlynfa",{"_index":322,"name":{"514":{}},"parent":{"515":{},"516":{},"517":{},"518":{},"519":{},"520":{},"521":{},"522":{},"523":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{},"530":{},"531":{}}}],["readonlynode",{"_index":273,"name":{"386":{},"468":{},"574":{}},"parent":{}}],["readonlyword",{"_index":243,"name":{"305":{}},"parent":{}}],["readonlywordset",{"_index":332,"name":{"607":{}},"parent":{}}],["regexppast",{"_index":117,"name":{"118":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removedeadstates",{"_index":51,"name":{"52":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":269,"name":{"381":{},"464":{},"569":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["resize",{"_index":233,"name":{"293":{}},"parent":{}}],["resolveepsilon",{"_index":304,"name":{"471":{},"482":{}},"parent":{}}],["reverse",{"_index":324,"name":{"572":{}},"parent":{}}],["set",{"_index":210,"name":{"260":{}},"parent":{}}],["setcharset",{"_index":212,"name":{"262":{}},"parent":{}}],["setparent",{"_index":162,"name":{"189":{}},"parent":{}}],["setrange",{"_index":211,"name":{"261":{}},"parent":{}}],["sets",{"_index":196,"name":{"239":{}},"parent":{}}],["setsource",{"_index":163,"name":{"190":{}},"parent":{}}],["shortestacceptingpath",{"_index":39,"name":{"41":{}},"parent":{}}],["shortestwordset",{"_index":68,"name":{"68":{}},"parent":{}}],["signalmutation",{"_index":192,"name":{"234":{}},"parent":{}}],["simplify",{"_index":114,"name":{"115":{}},"parent":{}}],["size",{"_index":229,"name":{"287":{}},"parent":{}}],["slowinsertcounter",{"_index":209,"name":{"253":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":107,"name":{"109":{},"152":{},"159":{},"167":{},"172":{},"177":{},"182":{},"187":{}},"parent":{}}],["sourcelocation",{"_index":141,"name":{"142":{}},"parent":{"143":{},"144":{}}}],["spacecharacterset",{"_index":89,"name":{"90":{}},"parent":{}}],["split",{"_index":197,"name":{"240":{}},"parent":{}}],["stableout",{"_index":250,"name":{"319":{}},"parent":{}}],["start",{"_index":142,"name":{"143":{}},"parent":{}}],["stateiterator",{"_index":258,"name":{"339":{},"369":{},"414":{},"445":{},"518":{},"550":{}},"parent":{}}],["sticky",{"_index":104,"name":{"106":{}},"parent":{}}],["structurallyequal",{"_index":262,"name":{"343":{},"380":{}},"parent":{}}],["suffixes",{"_index":301,"name":{"466":{},"571":{}},"parent":{}}],["test",{"_index":246,"name":{"310":{},"347":{},"373":{},"421":{},"450":{},"525":{},"555":{}},"parent":{}}],["textboundaryassertion",{"_index":77,"name":{"76":{}},"parent":{}}],["todot",{"_index":52,"name":{"53":{},"315":{},"352":{},"378":{},"426":{},"455":{},"530":{},"560":{}},"parent":{}}],["todotattrs",{"_index":54,"name":{"55":{}},"parent":{}}],["todotinfo",{"_index":60,"name":{"60":{}},"parent":{}}],["todotoptions",{"_index":55,"name":{"56":{}},"parent":{}}],["toliteral",{"_index":93,"name":{"96":{}},"parent":{}}],["toliteraloptions",{"_index":94,"name":{"97":{}},"parent":{}}],["toomanynodeserror",{"_index":318,"name":{"507":{}},"parent":{"508":{},"509":{}}}],["torangesstring",{"_index":230,"name":{"290":{}},"parent":{}}],["toregex",{"_index":65,"name":{"65":{},"314":{},"351":{},"377":{},"425":{},"454":{},"529":{},"559":{}},"parent":{}}],["toregexoptions",{"_index":255,"name":{"333":{}},"parent":{"334":{},"335":{}}}],["tostring",{"_index":66,"name":{"66":{},"289":{},"313":{},"350":{},"376":{},"424":{},"453":{},"528":{},"558":{}},"parent":{}}],["transform",{"_index":182,"name":{"223":{}},"parent":{}}],["transformcontext",{"_index":191,"name":{"232":{}},"parent":{"233":{},"234":{}}}],["transformer",{"_index":183,"name":{"224":{}},"parent":{"225":{},"226":{},"227":{},"228":{},"229":{},"230":{},"231":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":193,"name":{"235":{}},"parent":{"236":{}}}],["transitioniterable",{"_index":254,"name":{"330":{}},"parent":{"331":{},"332":{}}}],["transitioniterator",{"_index":253,"name":{"329":{},"332":{},"353":{},"370":{},"427":{},"446":{},"531":{},"551":{}},"parent":{}}],["type",{"_index":148,"name":{"149":{},"154":{},"161":{},"169":{},"174":{},"179":{},"184":{}},"parent":{}}],["unicode",{"_index":105,"name":{"107":{}},"parent":{}}],["union",{"_index":234,"name":{"295":{},"460":{},"561":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unioninto",{"_index":298,"name":{"461":{},"562":{}},"parent":{}}],["unknown",{"_index":157,"name":{"173":{}},"parent":{"174":{},"175":{},"176":{},"177":{}}}],["unknowns",{"_index":314,"name":{"502":{},"604":{}},"parent":{}}],["unlink",{"_index":278,"name":{"392":{},"478":{},"582":{}},"parent":{}}],["unlinkall",{"_index":279,"name":{"393":{},"479":{},"583":{}},"parent":{}}],["unlinkallin",{"_index":308,"name":{"481":{},"585":{}},"parent":{}}],["unlinkallout",{"_index":307,"name":{"480":{},"584":{}},"parent":{}}],["value",{"_index":88,"name":{"88":{}},"parent":{}}],["values",{"_index":205,"name":{"249":{},"272":{}},"parent":{}}],["visitast",{"_index":164,"name":{"191":{}},"parent":{}}],["visitasthandler",{"_index":165,"name":{"192":{}},"parent":{"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{}}}],["visitnoparentasthandler",{"_index":180,"name":{"207":{}},"parent":{"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{}}}],["without",{"_index":236,"name":{"297":{}},"parent":{}}],["withoutemptyword",{"_index":300,"name":{"463":{},"568":{}},"parent":{}}],["word",{"_index":242,"name":{"304":{}},"parent":{}}],["wordboundaryassertion",{"_index":73,"name":{"73":{}},"parent":{}}],["wordcharacterset",{"_index":91,"name":{"93":{}},"parent":{}}],["words",{"_index":132,"name":{"133":{},"311":{},"348":{},"375":{},"422":{},"452":{},"526":{},"557":{}},"parent":{"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{}}}],["wordset",{"_index":331,"name":{"606":{}},"parent":{}}],["wordsets",{"_index":247,"name":{"312":{},"349":{},"374":{},"423":{},"451":{},"527":{},"556":{}},"parent":{}}],["wordsetstowords",{"_index":139,"name":{"140":{}},"parent":{}}],["wordsettowords",{"_index":140,"name":{"141":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.10.0/assets/style.css b/docs/v0.10.0/assets/style.css new file mode 100644 index 00000000..ff488199 --- /dev/null +++ b/docs/v0.10.0/assets/style.css @@ -0,0 +1,1384 @@ +@import url("./icons.css"); + +:root { + /* Light */ + --light-color-background: #fcfcfc; + --light-color-secondary-background: #fff; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-menu-divider: #eee; + --light-color-menu-divider-focus: #000; + --light-color-menu-label: #707070; + --light-color-panel: var(--light-color-secondary-background); + --light-color-panel-divider: #eee; + --light-color-comment-tag: #707070; + --light-color-comment-tag-text: #fff; + --light-color-ts: #9600ff; + --light-color-ts-interface: #647f1b; + --light-color-ts-enum: #937210; + --light-color-ts-class: #0672de; + --light-color-ts-private: #707070; + --light-color-toolbar: #fff; + --light-color-toolbar-text: #333; + --light-icon-filter: invert(0); + --light-external-icon: url("data:image/svg+xml;utf8,"); + + /* Dark */ + --dark-color-background: #36393f; + --dark-color-secondary-background: #2f3136; + --dark-color-text: #ffffff; + --dark-color-text-aside: #e6e4e4; + --dark-color-link: #00aff4; + --dark-color-menu-divider: #eee; + --dark-color-menu-divider-focus: #000; + --dark-color-menu-label: #707070; + --dark-color-panel: var(--dark-color-secondary-background); + --dark-color-panel-divider: #818181; + --dark-color-comment-tag: #dcddde; + --dark-color-comment-tag-text: #2f3136; + --dark-color-ts: #c97dff; + --dark-color-ts-interface: #9cbe3c; + --dark-color-ts-enum: #d6ab29; + --dark-color-ts-class: #3695f3; + --dark-color-ts-private: #e2e2e2; + --dark-color-toolbar: #34373c; + --dark-color-toolbar-text: #ffffff; + --dark-icon-filter: invert(1); + --dark-external-icon: url("data:image/svg+xml;utf8,"); +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); + } +} + +body { + margin: 0; +} + +body.light { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); +} + +body.dark { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, +.tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-4 { + width: 33.3333333333%; +} +.col-8 { + width: 66.6666666667%; +} + +ul.tsd-descriptions > li > :first-child, +.tsd-panel > :first-child, +.col-8 > :first-child, +.col-4 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, +.tsd-panel > :last-child, +.col-8 > :last-child, +.col-4 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html .col-content { + width: 72%; + } + html .col-menu { + width: 28%; + } + html .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html .col-content { + float: none; + width: 100%; + } + html .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + grid-template-rows: auto 1fr; + max-height: 100vh; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, +dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, +dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, + #tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: sticky; + top: calc(0.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, +.tsd-panel table td { + padding: 6px 13px; + border: 1px solid var(--color-panel-divider); +} +.tsd-panel table tr { + background: var(--color-background); +} +.tsd-panel table tr:nth-child(even) { + background: var(--color-secondary-background); +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, +ul.tsd-descriptions .tsd-index-panel h3, +.tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, +.tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, +.tsd-select .tsd-select-label:before, +.tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(./widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; + filter: var(--icon-filter); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, + .tsd-select .tsd-select-label:before, + .tsd-widget:before { + background-image: url(./widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.10.0/assets/widgets.png b/docs/v0.10.0/assets/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.10.0/assets/widgets.png differ diff --git a/docs/v0.10.0/assets/widgets@2x.png b/docs/v0.10.0/assets/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.10.0/assets/widgets@2x.png differ diff --git a/docs/v0.10.0/classes/CharBase.html b/docs/v0.10.0/classes/CharBase.html new file mode 100644 index 00000000..a9ee2fc0 --- /dev/null +++ b/docs/v0.10.0/classes/CharBase.html @@ -0,0 +1,50 @@ +CharBase | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+
+ +

Guarantees

+
+
    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+ + +

Use case

+
+

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+

Hierarchy

  • CharBase

Index

Constructors

Properties

Methods

Constructors

constructor

  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    throws

    RangeError if the collection contains two character sets with different maximums.

    +

    Parameters

    Returns CharBase

Properties

Readonly sets

sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+

Methods

split

  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +

    Parameters

    Returns number[]

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/CharMap.html b/docs/v0.10.0/classes/CharMap.html new file mode 100644 index 00000000..17248f9f --- /dev/null +++ b/docs/v0.10.0/classes/CharMap.html @@ -0,0 +1,35 @@ +CharMap | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class CharMap<T>

+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+

Type parameters

  • T

Hierarchy

  • CharMap

Implements

Index

Constructors

constructor

Properties

Static slowInsertCounter

slowInsertCounter: number = 9

Accessors

isEmpty

  • get isEmpty(): boolean

Methods

[iterator]

  • [iterator](): IterableIterator<[CharRange, T]>
  • Returns IterableIterator<[CharRange, T]>

clear

  • clear(): void
  • +

    Deletes all entries in the map.

    +

    Returns void

delete

  • delete(char: Char): boolean
  • Parameters

    Returns boolean

deleteRange

  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +

    Parameters

    Returns void

entries

filter

forEach

get

  • get(char: Char): undefined | T
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +

    Parameters

    Returns undefined | T

has

  • has(char: Char): boolean
  • +

    Returns whether the given character is a key in the map.

    +

    Parameters

    Returns boolean

hasEvery

  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +

    Parameters

    Returns boolean

hasSome

  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +

    Parameters

    Returns boolean

invert

keys

map

mapRange

set

  • set(char: Char, value: T): void
  • Parameters

    Returns void

setCharSet

  • setCharSet(charSet: CharSet, value: T): void
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +

    Parameters

    Returns void

setRange

  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +

    Parameters

    Returns void

values

  • values(): IterableIterator<T>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/CharSet.html b/docs/v0.10.0/classes/CharSet.html new file mode 100644 index 00000000..8d035407 --- /dev/null +++ b/docs/v0.10.0/classes/CharSet.html @@ -0,0 +1,109 @@ +CharSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+

Hierarchy

  • CharSet

Index

Properties

Readonly maximum

maximum: Char
+

The greatest character which can be element of the set.

+

Readonly ranges

ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+

Accessors

isAll

  • get isAll(): boolean
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +

    Returns boolean

isEmpty

  • get isEmpty(): boolean
  • +

    Returns true if this set doesn't contain any characters.

    +

    Returns boolean

size

  • get size(): number
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +

    Returns number

Methods

characters

  • characters(): Iterable<Char>
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +

    Returns Iterable<Char>

commonCharacter

  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +

    Parameters

    Returns undefined | Char

compare

  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +

    Parameters

    Returns number

equals

  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and +maximum.
    6. +
    +

    Parameters

    Returns boolean

has

  • has(character: Char): boolean
  • +

    Returns whether this set contains the given character.

    +

    Parameters

    Returns boolean

intersect

  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +

    Parameters

    Returns CharSet

isDisjointWith

  • +

    Returns whether this set and the given set (or range) are disjoint.

    +

    Parameters

    Returns boolean

isSubsetOf

isSupersetOf

negate

  • +

    Returns the complement of this set.

    +

    The returned set will have the same maximum as this set.

    +

    Returns CharSet

resize

  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +

    Parameters

    Returns CharSet

toRangesString

  • toRangesString(): string
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +

    Returns string

toString

  • toString(): string
  • +

    Returns a string representation of the character set.

    +

    Returns string

union

  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +

    Parameters

    Returns CharSet

without

  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +

    Parameters

    Returns CharSet

Static all

  • +

    Returns a complete character set with the given maximum.

    +

    Parameters

    • maximum: Char
      +

      The greatest character which will be element of the set.

      +

    Returns CharSet

Static empty

  • +

    Returns an empty character set with the given maximum.

    +

    Parameters

    • maximum: Char
      +

      The greatest character which can be element of the set.

      +

    Returns CharSet

Static fromCharacters

  • +

    Returns a character set which contains the given characters.

    +
    throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +

    Parameters

    • maximum: Char
      +

      The greatest character which will be element of the set.

      +
    • characters: Iterable<Char>
      +

      A sorted collection of characters.

      +

    Returns CharSet

Static fromRange

  • +

    Returns a character set which contains the given range.

    +
    throws

    RangeError if the maximum of the given range is greater than maximum.

    +

    Parameters

    • maximum: Char
      +

      The greatest character which will be element of the set.

      +
    • range: CharRange

    Returns CharSet

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/DFA.Builder.html b/docs/v0.10.0/classes/DFA.Builder.html new file mode 100644 index 00000000..bb513450 --- /dev/null +++ b/docs/v0.10.0/classes/DFA.Builder.html @@ -0,0 +1,16 @@ +Builder | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Builder

Implements

Index

Constructors

constructor

Properties

Readonly factory

factory: NodeFactory<Node>

Readonly finals

finals: Set<Node> = ...

Readonly initial

initial: Node
+

The initial state of the FA.

+

Methods

createNode

isFinal

  • isFinal(state: Node): boolean
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +

    Parameters

    Returns boolean

linkNodes

  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +

    Parameters

    Returns void

makeFinal

  • makeFinal(state: Node): void
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +

    Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/DFA.LimitedNodeFactory.html b/docs/v0.10.0/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..481a697d --- /dev/null +++ b/docs/v0.10.0/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,3 @@ +LimitedNodeFactory | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class LimitedNodeFactory

Hierarchy

  • LimitedNodeFactory

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Readonly limit

limit: number

Methods

createNode

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/DFA.Node.html b/docs/v0.10.0/classes/DFA.Node.html new file mode 100644 index 00000000..e215af81 --- /dev/null +++ b/docs/v0.10.0/classes/DFA.Node.html @@ -0,0 +1,3 @@ +Node | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Node

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Readonly out

out: CharMap<Node> = ...

Methods

link

unlink

  • unlink(to: Node): void
  • Parameters

    Returns void

unlinkAll

  • unlinkAll(): void
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/DFA.html b/docs/v0.10.0/classes/DFA.html new file mode 100644 index 00000000..723120f0 --- /dev/null +++ b/docs/v0.10.0/classes/DFA.html @@ -0,0 +1,88 @@ +DFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+

Hierarchy

  • DFA

Implements

Index

Properties

Readonly finals

finals: Set<Node> = ...

Readonly initial

initial: Node

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Accessors

isEmpty

  • get isEmpty(): boolean
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +

    Returns boolean

isFinite

  • get isFinite(): boolean
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +

    Returns boolean

Methods

complement

  • complement(): void
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    Returns void

copy

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

minimize

  • minimize(): void

nodes

  • nodes(): Iterable<Node>

prefixes

  • prefixes(): void
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Returns void

removeUnreachable

  • removeUnreachable(): void
  • Returns void

stateIterator

structurallyEqual

  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +

    Parameters

    Returns boolean

test

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string

    Returns string

toRegex

toString

  • toString(): string
  • +

    Returns a string representation of this FA.

    +

    Returns string

transitionIterator

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Static all

  • +

    Creates a new DFA which matches all words.

    +

    Parameters

    Returns DFA

Static empty

  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    Parameters

    Returns DFA

Static fromBuilder

Static fromCharSet

  • +

    Creates a new DFA which matches the given characters.

    +

    Parameters

    Returns DFA

Static fromFA

Static fromIntersection

Static fromTransitionIterator

Static fromWordSets

Static fromWords

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/ENFA.Builder.html b/docs/v0.10.0/classes/ENFA.Builder.html new file mode 100644 index 00000000..7bd80c46 --- /dev/null +++ b/docs/v0.10.0/classes/ENFA.Builder.html @@ -0,0 +1,16 @@ +Builder | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Builder

Implements

Index

Constructors

constructor

Properties

Readonly factory

factory: NodeFactory<Node>

Readonly final

final: Node

Readonly initial

initial: Node
+

The initial state of the FA.

+

Methods

createNode

isFinal

  • isFinal(state: Node): boolean
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +

    Parameters

    Returns boolean

linkNodes

  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +

    Parameters

    Returns void

makeFinal

  • makeFinal(state: Node): void
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +

    Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/ENFA.LimitedNodeFactory.html b/docs/v0.10.0/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..a3eebb81 --- /dev/null +++ b/docs/v0.10.0/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,3 @@ +LimitedNodeFactory | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class LimitedNodeFactory

Hierarchy

  • LimitedNodeFactory

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Readonly limit

limit: number

Methods

createNode

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/ENFA.Node.html b/docs/v0.10.0/classes/ENFA.Node.html new file mode 100644 index 00000000..d0b631bb --- /dev/null +++ b/docs/v0.10.0/classes/ENFA.Node.html @@ -0,0 +1,46 @@ +Node | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Node

Implements

Index

Constructors

constructor

Properties

Readonly in

in: Map<Node, null | CharSet> = ...

Readonly out

out: Map<Node, null | CharSet> = ...

Methods

link

  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +

    Parameters

    Returns void

reachableViaEpsilon

  • reachableViaEpsilon(direction: "in" | "out"): Set<Node>
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +

    Parameters

    • direction: "in" | "out"

    Returns Set<Node>

resolveEpsilon

  • resolveEpsilon(direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +

    Parameters

    Returns void

unlink

  • unlink(to: Node): void
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +

    Parameters

    Returns void

unlinkAll

  • unlinkAll(): void
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +

    Returns void

unlinkAllIn

  • unlinkAllIn(): void
  • +

    Unlinks all incoming transitions of this node.

    +

    Returns void

unlinkAllOut

  • unlinkAllOut(): void
  • +

    Unlinks all outgoing transitions of this node.

    +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/ENFA.html b/docs/v0.10.0/classes/ENFA.html new file mode 100644 index 00000000..2dadb5ca --- /dev/null +++ b/docs/v0.10.0/classes/ENFA.html @@ -0,0 +1,149 @@ +ENFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+ + +

Normal form

+
+

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+

Hierarchy

  • ENFA

Implements

Index

Properties

final

final: Node

initial

initial: Node

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Accessors

isEmpty

  • get isEmpty(): boolean
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +

    Returns boolean

isFinite

  • get isFinite(): boolean
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +

    Returns boolean

isNormalized

  • get isNormalized(): boolean

Methods

append

  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the given FA.

    +

    Type parameters

    • O

    Parameters

    Returns void

appendInto

  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +

    Parameters

    Returns void

copy

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

nodes

  • nodes(): Iterable<Node>

normalize

  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    see

    ENFA

    +

    Parameters

    Returns void

prefixes

  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Parameters

    Returns void

prepend

  • +

    Modifies this ENFA to accept the concatenation of the given FA and this ENFA.

    +

    Type parameters

    • O

    Parameters

    Returns void

prependInto

  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +

    Parameters

    Returns void

quantify

  • quantify(min: number, max: number, lazy?: boolean, factory?: NodeFactory<Node>): void
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +

    Parameters

    • min: number
    • max: number
    • lazy: boolean = false
    • factory: NodeFactory<Node> = ...
      +

    Returns void

removeUnreachable

  • removeUnreachable(): void
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +

    Returns void

stateIterator

suffixes

  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Parameters

    Returns void

test

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string

    Returns string

toRegex

toString

  • toString(): string
  • +

    Returns a string representation of this FA.

    +

    Returns string

transitionIterator

union

  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    Type parameters

    • O

    Parameters

    Returns void

unionInto

  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +

    Parameters

    Returns void

withoutEmptyWord

  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +

    Parameters

    Returns void

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Static all

  • +

    Creates a new ENFA which matches all words.

    +

    Parameters

    Returns ENFA

Static empty

  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    Parameters

    Returns ENFA

Static fromBuilder

Static fromCharSet

  • +

    Creates a new ENFA which matches the given characters.

    +

    Parameters

    Returns ENFA

Static fromFA

Static fromRegex

Static fromTransitionIterator

Static fromWordSets

Static fromWords

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/FAIterators.MapFABuilder.html b/docs/v0.10.0/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..af6f158b --- /dev/null +++ b/docs/v0.10.0/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,18 @@ +MapFABuilder | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+

Hierarchy

  • MapFABuilder

Implements

Index

Constructors

constructor

Properties

Readonly finals

finals: Set<MapFABuilderNode> = ...

Readonly initial

initial: MapFABuilderNode = ...
+

The initial state of the FA.

+

Methods

createNode

isFinal

linkNodes

makeFinal

  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +

    Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/JS.Parser.html b/docs/v0.10.0/classes/JS.Parser.html new file mode 100644 index 00000000..a9fd90e9 --- /dev/null +++ b/docs/v0.10.0/classes/JS.Parser.html @@ -0,0 +1,31 @@ +Parser | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu
+

Converts JS RegExp to refa's RE AST format.

+

Hierarchy

  • Parser

Index

Properties

Readonly ast

+

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+

Readonly literal

literal: Literal
+

The literal of the parser instance.

+

Readonly maxCharacter

maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+

Methods

parse

parseElement

Static fromAst

  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +

    Parameters

    Returns Parser

Static fromLiteral

  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    Parameters

    • literal: Literal
    • Optional parserOptions: Options
      +

    Returns Parser

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/MaxCharacterError.html b/docs/v0.10.0/classes/MaxCharacterError.html new file mode 100644 index 00000000..048770d0 --- /dev/null +++ b/docs/v0.10.0/classes/MaxCharacterError.html @@ -0,0 +1,8 @@ +MaxCharacterError | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class MaxCharacterError

+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+

Hierarchy

  • Error
    • MaxCharacterError

Index

Constructors

Methods

Constructors

constructor

  • Parameters

    • Optional message: string

    Returns MaxCharacterError

Methods

Static assert

  • assert(a: Char | { maxCharacter: Char }, b: Char | { maxCharacter: Char }, kind?: string): void
  • +

    Asserts the two given max characters are the same.

    +

    Parameters

    • a: Char | { maxCharacter: Char }
    • b: Char | { maxCharacter: Char }
    • Optional kind: string
      +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/NFA.Builder.html b/docs/v0.10.0/classes/NFA.Builder.html new file mode 100644 index 00000000..4366e000 --- /dev/null +++ b/docs/v0.10.0/classes/NFA.Builder.html @@ -0,0 +1,16 @@ +Builder | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Builder

Implements

Index

Constructors

constructor

Properties

Readonly factory

factory: NodeFactory<Node>

Readonly finals

finals: Set<Node> = ...

Readonly initial

initial: Node
+

The initial state of the FA.

+

Methods

createNode

isFinal

  • isFinal(state: Node): boolean
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +

    Parameters

    Returns boolean

linkNodes

  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +

    Parameters

    Returns void

makeFinal

  • makeFinal(state: Node): void
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +

    Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/NFA.LimitedNodeFactory.html b/docs/v0.10.0/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..004ea01f --- /dev/null +++ b/docs/v0.10.0/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,3 @@ +LimitedNodeFactory | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class LimitedNodeFactory

Hierarchy

  • LimitedNodeFactory

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Readonly limit

limit: number

Methods

createNode

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/NFA.Node.html b/docs/v0.10.0/classes/NFA.Node.html new file mode 100644 index 00000000..6d68ad73 --- /dev/null +++ b/docs/v0.10.0/classes/NFA.Node.html @@ -0,0 +1,7 @@ +Node | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Node

Implements

Index

Constructors

constructor

Properties

Readonly in

in: Map<Node, CharSet> = ...

Readonly out

out: Map<Node, CharSet> = ...

Methods

link

unlink

  • unlink(to: Node): void
  • Parameters

    Returns void

unlinkAll

  • unlinkAll(): void
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +

    Returns void

unlinkAllIn

  • unlinkAllIn(): void
  • +

    Unlinks all incoming transitions of this node.

    +

    Returns void

unlinkAllOut

  • unlinkAllOut(): void
  • +

    Unlinks all outgoing transitions of this node.

    +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/NFA.html b/docs/v0.10.0/classes/NFA.html new file mode 100644 index 00000000..85fc4b6e --- /dev/null +++ b/docs/v0.10.0/classes/NFA.html @@ -0,0 +1,143 @@ +NFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +CharSet.union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+ + +

Normal form

+
+

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+

Hierarchy

  • NFA

Implements

Index

Properties

Readonly finals

finals: Set<Node>

Readonly initial

initial: Node

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Accessors

isEmpty

  • get isEmpty(): boolean
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +

    Returns boolean

isFinite

  • get isFinite(): boolean
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +

    Returns boolean

isNormalized

  • get isNormalized(): boolean

Methods

append

  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    Type parameters

    • O

    Parameters

    Returns void

appendInto

  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +

    Parameters

    Returns void

copy

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

nodes

  • nodes(): Iterable<Node>

normalize

  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 nodes with the given factory.

    +
    see

    NFA

    +

    Parameters

    Returns void

prefixes

  • prefixes(): void
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Returns void

prepend

  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    Type parameters

    • O

    Parameters

    Returns void

prependInto

  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +

    Parameters

    Returns void

quantify

  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +

    Parameters

    Returns void

removeUnreachable

  • removeUnreachable(): void
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +

    Returns void

reverse

  • reverse(): void
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Returns void

stateIterator

suffixes

  • suffixes(): void
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +

    Returns void

test

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string

    Returns string

toRegex

toString

  • toString(): string
  • +

    Returns a string representation of this FA.

    +

    Returns string

transitionIterator

union

  • +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +

    Type parameters

    • O

    Parameters

    Returns void

unionInto

  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +

    Parameters

    Returns void

withoutEmptyWord

  • withoutEmptyWord(): void
  • +

    Removes the empty word from the accepted languages of this NFA.

    +

    Returns void

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Static all

  • +

    Creates a new NFA which matches all words.

    +

    Parameters

    Returns NFA

Static empty

  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    Parameters

    Returns NFA

Static fromBuilder

Static fromCharSet

  • +

    Creates a new NFA which matches the given characters.

    +

    Parameters

    Returns NFA

Static fromFA

Static fromIntersection

Static fromRegex

Static fromTransitionIterator

Static fromWordSets

Static fromWords

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/classes/TooManyNodesError.html b/docs/v0.10.0/classes/TooManyNodesError.html new file mode 100644 index 00000000..3a2677aa --- /dev/null +++ b/docs/v0.10.0/classes/TooManyNodesError.html @@ -0,0 +1,9 @@ +TooManyNodesError | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TooManyNodesError

+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+

Hierarchy

  • Error
    • TooManyNodesError

Index

Constructors

Methods

Constructors

constructor

  • Parameters

    • Optional message: string

    Returns TooManyNodesError

Methods

Static assert

  • assert(current: number, limit: number, kind: string): void
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +

    Parameters

    • current: number
    • limit: number
    • kind: string
      +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/index.html b/docs/v0.10.0/index.html new file mode 100644 index 00000000..b8095657 --- /dev/null +++ b/docs/v0.10.0/index.html @@ -0,0 +1,173 @@ +refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

refa - v0.10.0

+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ + +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ + +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ + +

Features

+
+
    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print graph in DOT format or a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ + +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+ + +

Universal characters

+
+

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+ + +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ + +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ + +

Testing whether a word is accepted

+
+
import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+ + +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+ + +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+ + +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ + +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ + +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const applyTransformer = combineTransformers([
Transformers.inline(),
Transformers.removeDeadBranches(),
Transformers.removeUnnecessaryAssertions(),
Transformers.sortAssertions(),
Transformers.applyAssertions(),
Transformers.removeUnnecessaryAssertions(),
]);
const modifiedExpression = transform(applyTransformer, expression);

console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(
Transformers.patternEdgeAssertions({ remove: true }),
modifiedExpression
);

console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });

console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Alternation.html b/docs/v0.10.0/interfaces/Alternation.html new file mode 100644 index 00000000..3e8228d8 --- /dev/null +++ b/docs/v0.10.0/interfaces/Alternation.html @@ -0,0 +1 @@ +Alternation | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Alternation

Hierarchy

  • NodeBase
    • Alternation

Index

Properties

alternatives

alternatives: Concatenation[]

parent

Optional source

type

type: "Alternation"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Assertion.html b/docs/v0.10.0/interfaces/Assertion.html new file mode 100644 index 00000000..b400edeb --- /dev/null +++ b/docs/v0.10.0/interfaces/Assertion.html @@ -0,0 +1 @@ +Assertion | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Assertion

Hierarchy

  • NodeBase
    • Assertion

Index

Properties

alternatives

alternatives: Concatenation[]

kind

kind: "ahead" | "behind"

negate

negate: boolean

parent

Optional source

type

type: "Assertion"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/CharRange.html b/docs/v0.10.0/interfaces/CharRange.html new file mode 100644 index 00000000..dd350d39 --- /dev/null +++ b/docs/v0.10.0/interfaces/CharRange.html @@ -0,0 +1,10 @@ +CharRange | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface CharRange

+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+

Hierarchy

  • CharRange

Index

Properties

Properties

Readonly max

max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+

Readonly min

min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/CharacterClass.html b/docs/v0.10.0/interfaces/CharacterClass.html new file mode 100644 index 00000000..d8386f80 --- /dev/null +++ b/docs/v0.10.0/interfaces/CharacterClass.html @@ -0,0 +1 @@ +CharacterClass | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface CharacterClass

Hierarchy

  • NodeBase
    • CharacterClass

Index

Properties

characters

characters: CharSet

parent

Optional source

type

type: "CharacterClass"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Concatenation.html b/docs/v0.10.0/interfaces/Concatenation.html new file mode 100644 index 00000000..0af7541a --- /dev/null +++ b/docs/v0.10.0/interfaces/Concatenation.html @@ -0,0 +1 @@ +Concatenation | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Concatenation

Hierarchy

  • NodeBase
    • Concatenation

Index

Properties

elements

elements: Element[]

parent

parent: Parent

Optional source

type

type: "Concatenation"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/DFA.Options.html b/docs/v0.10.0/interfaces/DFA.Options.html new file mode 100644 index 00000000..9a856a80 --- /dev/null +++ b/docs/v0.10.0/interfaces/DFA.Options.html @@ -0,0 +1,4 @@ +Options | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Options

Hierarchy

  • Options

Index

Properties

Properties

maxCharacter

maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/DFA.ReadonlyNode.html b/docs/v0.10.0/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..bf8b90fb --- /dev/null +++ b/docs/v0.10.0/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1 @@ +ReadonlyNode | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyNode

Hierarchy

  • ReadonlyNode

Implemented by

Index

Properties

Properties

Readonly out

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ENFA.FromRegexOptions.html b/docs/v0.10.0/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..7f4070ff --- /dev/null +++ b/docs/v0.10.0/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,28 @@ +FromRegexOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FromRegexOptions

Hierarchy

  • FromRegexOptions

Index

Properties

Optional assertions

assertions?: "disable" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
default

"throw"

+

Optional infinityThreshold

infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
default

Infinity

+

Optional unknowns

unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
default

"throw"

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ENFA.Options.html b/docs/v0.10.0/interfaces/ENFA.Options.html new file mode 100644 index 00000000..7e28bb66 --- /dev/null +++ b/docs/v0.10.0/interfaces/ENFA.Options.html @@ -0,0 +1,4 @@ +Options | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Options

Hierarchy

  • Options

Index

Properties

Properties

maxCharacter

maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ENFA.ReadonlyNode.html b/docs/v0.10.0/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..21d25852 --- /dev/null +++ b/docs/v0.10.0/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,32 @@ +ReadonlyNode | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyNode

Hierarchy

  • ReadonlyNode

Implemented by

Index

Properties

Readonly in

in: ReadonlyMap<ReadonlyNode, null | CharSet>

Readonly out

out: ReadonlyMap<ReadonlyNode, null | CharSet>

Methods

reachableViaEpsilon

  • reachableViaEpsilon(direction: "in" | "out"): Set<ReadonlyNode>
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +

    Parameters

    • direction: "in" | "out"

    Returns Set<ReadonlyNode>

resolveEpsilon

  • resolveEpsilon(direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +

    Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Expression.html b/docs/v0.10.0/interfaces/Expression.html new file mode 100644 index 00000000..d0bae0ff --- /dev/null +++ b/docs/v0.10.0/interfaces/Expression.html @@ -0,0 +1 @@ +Expression | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Expression

Hierarchy

  • NodeBase
    • Expression

Index

Properties

alternatives

alternatives: Concatenation[]

parent

parent: null

Optional source

type

type: "Expression"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/FABuilder.html b/docs/v0.10.0/interfaces/FABuilder.html new file mode 100644 index 00000000..a3cf2f5f --- /dev/null +++ b/docs/v0.10.0/interfaces/FABuilder.html @@ -0,0 +1,25 @@ +FABuilder | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FABuilder<S, T>

+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+

Type parameters

  • S

    +

    The type of a state.

    +
  • T

    +

    The transition type of the values linking states.

    +

Hierarchy

Implemented by

Index

Properties

Readonly initial

initial: S
+

The initial state of the FA.

+

Methods

Readonly createNode

  • createNode(): S

Readonly isFinal

  • isFinal(state: S): boolean
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +

    Parameters

    • state: S

    Returns boolean

Readonly linkNodes

  • linkNodes(from: S, to: S, transition: T): void
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +

    Parameters

    • from: S
    • to: S
    • transition: T

    Returns void

Readonly makeFinal

  • makeFinal(state: S): void
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +

    Parameters

    • state: S

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/FAIterator.html b/docs/v0.10.0/interfaces/FAIterator.html new file mode 100644 index 00000000..7035215b --- /dev/null +++ b/docs/v0.10.0/interfaces/FAIterator.html @@ -0,0 +1,27 @@ +FAIterator | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FAIterator<S, O>

+

A graph iterator for all states of an FA with final states.

+

Type parameters

  • S

    +

    The type of a state in the FA to iterate.

    +
  • O = Iterable<S>

    +

    The type of the value each state maps to.

    +

Hierarchy

  • FAIterator

Index

Properties

Readonly initial

initial: S
+

The initial state of the FA.

+

Optional Readonly stableOut

stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
default

false

+

Methods

Readonly getOut

  • getOut(state: S): O
  • +

    Returns the value a state maps to.

    +
    see

    stableOut

    +

    Parameters

    • state: S

    Returns O

Readonly isFinal

  • isFinal(state: S): boolean
  • +

    Returns whether the given state is a final state.

    +

    This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

    +

    Parameters

    • state: S

    Returns boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/FAIterators.ToDotInfo.html b/docs/v0.10.0/interfaces/FAIterators.ToDotInfo.html new file mode 100644 index 00000000..7e1859d7 --- /dev/null +++ b/docs/v0.10.0/interfaces/FAIterators.ToDotInfo.html @@ -0,0 +1 @@ +ToDotInfo | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • S

Hierarchy

  • ToDotInfo

Index

Methods

getId

  • getId(node: S): number
  • Parameters

    • node: S

    Returns number

getNumberOfOutgoingEdges

  • getNumberOfOutgoingEdges(node: S): number
  • Parameters

    • node: S

    Returns number

isFinal

  • isFinal(node: S): boolean
  • Parameters

    • node: S

    Returns boolean

isInitial

  • isInitial(node: S): boolean
  • Parameters

    • node: S

    Returns boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/FAIterators.ToDotOptions.html b/docs/v0.10.0/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..4092eea8 --- /dev/null +++ b/docs/v0.10.0/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1 @@ +ToDotOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ToDotOptions<S, T>

Type parameters

  • S

  • T

Hierarchy

  • ToDotOptions

Index

Methods

getEdgeAttributes

  • getEdgeAttributes(transition: T, nth: number, from: S, to: S, info: ToDotInfo<S>): Readonly<ToDotAttrs>

Optional getGraphAttributes

Optional getNodeAttributes

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/FiniteAutomaton.html b/docs/v0.10.0/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..570d717c --- /dev/null +++ b/docs/v0.10.0/interfaces/FiniteAutomaton.html @@ -0,0 +1,35 @@ +FiniteAutomaton | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FiniteAutomaton

Hierarchy

Index

Properties

Readonly isEmpty

isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+

Readonly isFinite

isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Methods

test

  • +

    Returns whether this FA accepts the given word.

    +

    Parameters

    Returns boolean

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string
      +

    Returns string

toRegex

  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +

    Parameters

    Returns NoParentNode<Expression>

toString

  • toString(): string
  • +

    Returns a string representation of this FA.

    +

    Returns string

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.AnyCharacterSet.html b/docs/v0.10.0/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..32225951 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1 @@ +AnyCharacterSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface AnyCharacterSet

Hierarchy

  • AnyCharacterSet

Index

Properties

Properties

kind

kind: "any"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.DigitCharacterSet.html b/docs/v0.10.0/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..f607ce3a --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1 @@ +DigitCharacterSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DigitCharacterSet

Hierarchy

  • DigitCharacterSet

Index

Properties

Properties

kind

kind: "digit"

negate

negate: boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.Flags.html b/docs/v0.10.0/interfaces/JS.Flags.html new file mode 100644 index 00000000..8eff34d8 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.Flags.html @@ -0,0 +1,10 @@ +Flags | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Flags

+

A partial set of RegExp flags.

+

Hierarchy

  • Flags

Index

Properties

Optional dotAll

dotAll?: boolean
default

false

+

Optional global

global?: boolean
default

false

+

Optional hasIndices

hasIndices?: boolean
default

false

+

Optional ignoreCase

ignoreCase?: boolean
default

false

+

Optional multiline

multiline?: boolean
default

false

+

Optional sticky

sticky?: boolean
default

false

+

Optional unicode

unicode?: boolean
default

false

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.Literal.html b/docs/v0.10.0/interfaces/JS.Literal.html new file mode 100644 index 00000000..84f9cee9 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.Literal.html @@ -0,0 +1,5 @@ +Literal | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Literal

+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+

Hierarchy

  • Literal

Index

Properties

Properties

Readonly flags

flags: string

Readonly source

source: string

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.ParseOptions.html b/docs/v0.10.0/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..1f56452d --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.ParseOptions.html @@ -0,0 +1,67 @@ +ParseOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ParseOptions

Hierarchy

  • ParseOptions

Index

Properties

Optional assertions

assertions?: "disable" | "throw" | "unknown" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
default

"parse"

+

Optional backreferences

backreferences?: "disable" | "throw" | "unknown"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
default

"throw"

+

Optional maxBackreferenceWords

maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
default

100

+

Optional maxNodes

maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
default

10000

+

Optional simplify

simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
default

true

+

Methods

Optional getUnknownId

  • getUnknownId(element: Backreference | Assertion): string
  • +

    Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

    +

    By default, the raw of the element will be used as its id.

    +

    Parameters

    • element: Backreference | Assertion

    Returns string

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.ParseResult.html b/docs/v0.10.0/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..8140ba45 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.ParseResult.html @@ -0,0 +1 @@ +ParseResult | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ParseResult

Hierarchy

  • ParseResult

Index

Properties

expression

expression: Expression

maxCharacter

maxCharacter: Char

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.PropertyCharacterSet.html b/docs/v0.10.0/interfaces/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..6dc56c52 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.PropertyCharacterSet.html @@ -0,0 +1 @@ +PropertyCharacterSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PropertyCharacterSet

Hierarchy

  • PropertyCharacterSet

Index

Properties

key

key: string

kind

kind: "property"

negate

negate: boolean

value

value: null | string

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.RegexppAst.html b/docs/v0.10.0/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..91dfeee0 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.RegexppAst.html @@ -0,0 +1 @@ +RegexppAst | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface RegexppAst

Hierarchy

  • RegexppAst

Index

Properties

Properties

Readonly flags

flags: Flags

Readonly pattern

pattern: Pattern

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.SpaceCharacterSet.html b/docs/v0.10.0/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..f767d19d --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1 @@ +SpaceCharacterSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SpaceCharacterSet

Hierarchy

  • SpaceCharacterSet

Index

Properties

Properties

kind

kind: "space"

negate

negate: boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.10.0/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..e45ef8ae --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1 @@ +TextBoundaryAssertion | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TextBoundaryAssertion

Hierarchy

  • TextBoundaryAssertion

Index

Properties

Properties

kind

kind: "end" | "start"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.ToLiteralOptions.html b/docs/v0.10.0/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..4f017f24 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,14 @@ +ToLiteralOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ToLiteralOptions

Hierarchy

  • ToLiteralOptions

Index

Properties

Optional fastCharacters

fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
default

false

+

Optional flags

flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.10.0/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..466ef468 --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1 @@ +WordBoundaryAssertion | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface WordBoundaryAssertion

Hierarchy

  • WordBoundaryAssertion

Index

Properties

Properties

kind

kind: "word"

negate

negate: boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/JS.WordCharacterSet.html b/docs/v0.10.0/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..b30ad0ef --- /dev/null +++ b/docs/v0.10.0/interfaces/JS.WordCharacterSet.html @@ -0,0 +1 @@ +WordCharacterSet | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface WordCharacterSet

Hierarchy

  • WordCharacterSet

Index

Properties

Properties

kind

kind: "word"

negate

negate: boolean

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/NFA.FromRegexOptions.html b/docs/v0.10.0/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..2cbf46e9 --- /dev/null +++ b/docs/v0.10.0/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,28 @@ +FromRegexOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FromRegexOptions

Hierarchy

  • FromRegexOptions

Index

Properties

Optional assertions

assertions?: "disable" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
default

"throw"

+

Optional infinityThreshold

infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
default

Infinity

+

Optional unknowns

unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
default

"throw"

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/NFA.Options.html b/docs/v0.10.0/interfaces/NFA.Options.html new file mode 100644 index 00000000..9c6f6782 --- /dev/null +++ b/docs/v0.10.0/interfaces/NFA.Options.html @@ -0,0 +1,4 @@ +Options | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Options

Hierarchy

  • Options

Index

Properties

Properties

maxCharacter

maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/NFA.ReadonlyNode.html b/docs/v0.10.0/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..6607d781 --- /dev/null +++ b/docs/v0.10.0/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1 @@ +ReadonlyNode | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyNode

Hierarchy

  • ReadonlyNode

Implemented by

Index

Properties

Properties

Readonly in

in: ReadonlyMap<ReadonlyNode, CharSet>

Readonly out

out: ReadonlyMap<ReadonlyNode, CharSet>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/NodeFactory.html b/docs/v0.10.0/interfaces/NodeFactory.html new file mode 100644 index 00000000..72e233f1 --- /dev/null +++ b/docs/v0.10.0/interfaces/NodeFactory.html @@ -0,0 +1,7 @@ +NodeFactory | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface NodeFactory<S>

+

A factory for the nodes of finite automata.

+

Type parameters

  • S

Hierarchy

Implemented by

Index

Methods

Methods

Readonly createNode

  • createNode(): S
  • +

    Creates a new state.

    +
    throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +

    Returns S

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Quantifier.html b/docs/v0.10.0/interfaces/Quantifier.html new file mode 100644 index 00000000..1efa6408 --- /dev/null +++ b/docs/v0.10.0/interfaces/Quantifier.html @@ -0,0 +1 @@ +Quantifier | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Quantifier

Hierarchy

  • NodeBase
    • Quantifier

Index

Properties

alternatives

alternatives: Concatenation[]

lazy

lazy: boolean

max

max: number

min

min: number

parent

Optional source

type

type: "Quantifier"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ReadonlyCharMap.html b/docs/v0.10.0/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..ad771218 --- /dev/null +++ b/docs/v0.10.0/interfaces/ReadonlyCharMap.html @@ -0,0 +1,22 @@ +ReadonlyCharMap | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyCharMap<T>

Type parameters

  • T

Hierarchy

Implemented by

Index

Properties

Readonly isEmpty

isEmpty: boolean

Methods

entries

forEach

  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +

    Parameters

    Returns void

get

  • get(char: Char): undefined | T
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +

    Parameters

    Returns undefined | T

has

  • has(char: Char): boolean
  • +

    Returns whether the given character is a key in the map.

    +

    Parameters

    Returns boolean

hasEvery

  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +

    Parameters

    Returns boolean

hasSome

  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +

    Parameters

    Returns boolean

invert

  • +

    Returns a mapping from the values of this map to its keys.

    +

    Parameters

    Returns Map<T, CharSet>

keys

values

  • values(): Iterable<T>
  • Returns Iterable<T>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ReadonlyDFA.html b/docs/v0.10.0/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..ae6ee586 --- /dev/null +++ b/docs/v0.10.0/interfaces/ReadonlyDFA.html @@ -0,0 +1,47 @@ +ReadonlyDFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyDFA

+

A readonly DFA.

+

Hierarchy

Implemented by

Index

Properties

Readonly finals

finals: ReadonlySet<ReadonlyNode>

Readonly initial

initial: ReadonlyNode

Readonly isEmpty

isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+

Readonly isFinite

isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Methods

copy

  • +

    Creates a new DFA equivalent to this one.

    +

    Parameters

    Returns DFA

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

nodes

stateIterator

structurallyEqual

  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +

    Parameters

    Returns boolean

test

  • +

    Returns whether this FA accepts the given word.

    +

    Parameters

    Returns boolean

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string
      +

    Returns string

toRegex

toString

  • toString(): string

Readonly transitionIterator

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ReadonlyENFA.html b/docs/v0.10.0/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..a96422b1 --- /dev/null +++ b/docs/v0.10.0/interfaces/ReadonlyENFA.html @@ -0,0 +1,46 @@ +ReadonlyENFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyENFA

+

A readonly ENFA.

+

Hierarchy

Implemented by

Index

Properties

Readonly final

Readonly initial

initial: ReadonlyNode

Readonly isEmpty

isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+

Readonly isFinite

isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+

Readonly isNormalized

isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
see

ENFA

+

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Methods

copy

  • +

    Create a mutable copy of this ENFA.

    +

    Parameters

    Returns ENFA

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

nodes

stateIterator

test

  • +

    Returns whether this FA accepts the given word.

    +

    Parameters

    Returns boolean

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string
      +

    Returns string

toRegex

toString

  • toString(): string

Readonly transitionIterator

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ReadonlyNFA.html b/docs/v0.10.0/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..b198eda9 --- /dev/null +++ b/docs/v0.10.0/interfaces/ReadonlyNFA.html @@ -0,0 +1,47 @@ +ReadonlyNFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ReadonlyNFA

+

A readonly NFA.

+

Hierarchy

Implemented by

Index

Properties

Readonly finals

finals: ReadonlySet<ReadonlyNode>

Readonly initial

initial: ReadonlyNode

Readonly isEmpty

isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+

Readonly isFinite

isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+

Readonly isNormalized

isNormalized: boolean
+

Whether this NFA is in its normal form.

+
see

NFA

+

Readonly maxCharacter

maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+

Methods

copy

  • +

    Create a mutable copy of this NFA.

    +

    Parameters

    Returns NFA

countNodes

  • countNodes(): number
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +

    Returns number

nodes

stateIterator

test

  • +

    Returns whether this FA accepts the given word.

    +

    Parameters

    Returns boolean

toDot

  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +

    Parameters

    • Optional charSetToString: (charSet: CharSet) => string
      +

    Returns string

toRegex

toString

  • toString(): string

Readonly transitionIterator

wordSets

  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield +at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number +of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<WordSet>

words

  • words(): Iterable<Word>
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +

    Returns Iterable<Word>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/SourceLocation.html b/docs/v0.10.0/interfaces/SourceLocation.html new file mode 100644 index 00000000..77f2e21a --- /dev/null +++ b/docs/v0.10.0/interfaces/SourceLocation.html @@ -0,0 +1 @@ +SourceLocation | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SourceLocation

Hierarchy

  • SourceLocation

Index

Properties

Properties

end

end: number

start

start: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/ToRegexOptions.html b/docs/v0.10.0/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..febba344 --- /dev/null +++ b/docs/v0.10.0/interfaces/ToRegexOptions.html @@ -0,0 +1,11 @@ +ToRegexOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ToRegexOptions

Hierarchy

  • ToRegexOptions

Index

Properties

Optional maxNodes

maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
default

10000

+

Optional maxOptimizationPasses

maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/TransformContext.html b/docs/v0.10.0/interfaces/TransformContext.html new file mode 100644 index 00000000..1ac6d362 --- /dev/null +++ b/docs/v0.10.0/interfaces/TransformContext.html @@ -0,0 +1,7 @@ +TransformContext | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TransformContext

Hierarchy

  • TransformContext

Index

Properties

Readonly maxCharacter

maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+

Methods

Readonly signalMutation

  • signalMutation(): void
  • +

    Signals that the transformer changed the AST.

    +

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/TransformOptions.html b/docs/v0.10.0/interfaces/TransformOptions.html new file mode 100644 index 00000000..00dd9ba4 --- /dev/null +++ b/docs/v0.10.0/interfaces/TransformOptions.html @@ -0,0 +1,6 @@ +TransformOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TransformOptions

Hierarchy

  • TransformOptions

Index

Properties

Properties

Optional maxPasses

maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
default

10

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Transformer.html b/docs/v0.10.0/interfaces/Transformer.html new file mode 100644 index 00000000..51028c6d --- /dev/null +++ b/docs/v0.10.0/interfaces/Transformer.html @@ -0,0 +1,8 @@ +Transformer | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Transformer

+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+

Hierarchy

  • Transformer

Index

Methods

Optional onAlternation

Optional onAssertion

Optional onCharacterClass

Optional onConcatenation

Optional onExpression

Optional onQuantifier

Optional onUnknown

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Transformers.CreationOptions.html b/docs/v0.10.0/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..6851494c --- /dev/null +++ b/docs/v0.10.0/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,8 @@ +CreationOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Properties

Optional ignoreAmbiguity

ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
default

false

+

Optional ignoreOrder

ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
default

false

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.10.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..23fb2937 --- /dev/null +++ b/docs/v0.10.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,10 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PatternEdgeAssertionsCreationOptions

Hierarchy

Index

Properties

Optional ignoreAmbiguity

ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
default

false

+

Optional ignoreOrder

ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
default

false

+

Optional inline

inline?: boolean
default

true

+

Optional remove

remove?: boolean
default

false

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.10.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..a264c22a --- /dev/null +++ b/docs/v0.10.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,9 @@ +RemoveAssertionsCreationOptions | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface RemoveAssertionsCreationOptions

Hierarchy

Index

Properties

Optional ignoreAmbiguity

ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
default

false

+

Optional ignoreOrder

ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
default

false

+

Optional replacement

replacement?: "empty-set" | "empty-word"
default

"empty-set"

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/TransitionIterable.html b/docs/v0.10.0/interfaces/TransitionIterable.html new file mode 100644 index 00000000..7223de9d --- /dev/null +++ b/docs/v0.10.0/interfaces/TransitionIterable.html @@ -0,0 +1,3 @@ +TransitionIterable | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TransitionIterable<T>

+

A graph or FA that can create a TransitionIterator.

+

Type parameters

  • T

Hierarchy

Index

Properties

Readonly maxCharacter

maxCharacter: Char

Methods

Readonly transitionIterator

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/Unknown.html b/docs/v0.10.0/interfaces/Unknown.html new file mode 100644 index 00000000..58900833 --- /dev/null +++ b/docs/v0.10.0/interfaces/Unknown.html @@ -0,0 +1 @@ +Unknown | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Unknown

Hierarchy

  • NodeBase
    • Unknown

Index

Properties

id

id: string

parent

Optional source

type

type: "Unknown"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/VisitAstHandler.html b/docs/v0.10.0/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..19dd8567 --- /dev/null +++ b/docs/v0.10.0/interfaces/VisitAstHandler.html @@ -0,0 +1 @@ +VisitAstHandler | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface VisitAstHandler

Hierarchy

  • VisitAstHandler

Index

Methods

Optional onAlternationEnter

Optional onAlternationLeave

Optional onAssertionEnter

Optional onAssertionLeave

Optional onCharacterClassEnter

Optional onCharacterClassLeave

Optional onConcatenationEnter

Optional onConcatenationLeave

Optional onExpressionEnter

Optional onExpressionLeave

Optional onQuantifierEnter

Optional onQuantifierLeave

Optional onUnknownEnter

  • onUnknownEnter(node: Unknown): void
  • Parameters

    Returns void

Optional onUnknownLeave

  • onUnknownLeave(node: Unknown): void
  • Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/interfaces/VisitNoParentAstHandler.html b/docs/v0.10.0/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..7ceb6e46 --- /dev/null +++ b/docs/v0.10.0/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1 @@ +VisitNoParentAstHandler | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface VisitNoParentAstHandler

Hierarchy

  • VisitNoParentAstHandler

Index

Methods

Optional onAlternationEnter

  • onAlternationEnter(node: NoParentNode<Alternation>): void

Optional onAlternationLeave

  • onAlternationLeave(node: NoParentNode<Alternation>): void

Optional onAssertionEnter

  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • Parameters

    Returns void

Optional onAssertionLeave

  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • Parameters

    Returns void

Optional onCharacterClassEnter

Optional onCharacterClassLeave

Optional onConcatenationEnter

Optional onConcatenationLeave

Optional onExpressionEnter

  • onExpressionEnter(node: NoParentNode<Expression>): void
  • Parameters

    Returns void

Optional onExpressionLeave

  • onExpressionLeave(node: NoParentNode<Expression>): void
  • Parameters

    Returns void

Optional onQuantifierEnter

  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • Parameters

    Returns void

Optional onQuantifierLeave

  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • Parameters

    Returns void

Optional onUnknownEnter

  • onUnknownEnter(node: NoParentNode<Unknown>): void
  • Parameters

    Returns void

Optional onUnknownLeave

  • onUnknownLeave(node: NoParentNode<Unknown>): void
  • Parameters

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules.html b/docs/v0.10.0/modules.html new file mode 100644 index 00000000..471f9bfe --- /dev/null +++ b/docs/v0.10.0/modules.html @@ -0,0 +1,91 @@ +refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

refa - v0.10.0

Index

Type aliases

Char

Char: number & { __char?: never }
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+

Element

NoParent

NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+

A view of an AST node that hides the parent property.

+

Type parameters

  • T

Node

Parent

ReadonlyWord

ReadonlyWord: readonly Char[]
+

An immutable finite sequence of Chars.

+

This is an immutable view on a Word.

+

ReadonlyWordSet

ReadonlyWordSet: readonly CharSet[]
+

An immutable finite sequence of non-empty CharSets.

+

This is an immutable view on a WordSet.

+

TransitionIterator

TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+

Type parameters

  • T

Word

Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+

WordSet

WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+

Functions

combineTransformers

  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +

    Parameters

    Returns Transformer

getIntersectionIterator

getIntersectionWordSets

  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +

    Type parameters

    • L

    • R

    Parameters

    Returns Iterable<WordSet>

getIntersectionWords

  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +

    Type parameters

    • L

    • R

    Parameters

    Returns Iterable<Word>

isDisjointWith

  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +

    Type parameters

    • L

    • R

    Parameters

    Returns boolean

setParent

  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +

    Type parameters

    Parameters

    • node: T | NoParent<T>
    • parent: T["parent"]
      +

      The parent of node.

      +

    Returns asserts node is T

setSource

  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +

    Parameters

    Returns void

transform

  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Parameters

    Returns NoParent<Expression>

visitAst

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/DFA.html b/docs/v0.10.0/modules/DFA.html new file mode 100644 index 00000000..bdf07f2c --- /dev/null +++ b/docs/v0.10.0/modules/DFA.html @@ -0,0 +1,6 @@ +DFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace DFA

+

A namespace for DFA-specific classes and interfaces.

+
see

DFA (class)

+

Index

Variables

nodeFactory

nodeFactory: NodeFactory<Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/ENFA.html b/docs/v0.10.0/modules/ENFA.html new file mode 100644 index 00000000..cfef7d10 --- /dev/null +++ b/docs/v0.10.0/modules/ENFA.html @@ -0,0 +1,6 @@ +ENFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace ENFA

+

A namespace for ENFA-specific classes and interfaces.

+
see

ENFA (class)

+

Index

Variables

nodeFactory

nodeFactory: NodeFactory<Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/FAIterators.html b/docs/v0.10.0/modules/FAIterators.html new file mode 100644 index 00000000..e235fe58 --- /dev/null +++ b/docs/v0.10.0/modules/FAIterators.html @@ -0,0 +1,126 @@ +FAIterators | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace FAIterators

+

Contains algorithms consuming and producing FAIterators.

+

Index

Type aliases

MapFABuilderNode

MapFABuilderNode: Map<MapFABuilderNode, CharSet>

ToDotAttrs

ToDotAttrs: Record<string, string | number | undefined>

Functions

approximateRejectingWordSet

  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined will be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    throws

    if the set of input characters is empty.

    +

    Type parameters

    • S

    Parameters

    • iter: FAIterator<S, Iterable<[S, CharSet]>>
    • inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +

    Returns WordSet | undefined

canReachFinal

  • canReachFinal<S>(iter: FAIterator<S, Iterable<S>>): boolean
  • +

    Returns whether the initial state can reach (or is) a final state.

    +

    Type parameters

    • S

    Parameters

    Returns boolean

count

  • count<S>(iter: FAIterator<S, Iterable<S>>): number
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +

    Type parameters

    • S

    Parameters

    Returns number

createSimpleToDotOptions

  • createSimpleToDotOptions<S, T>(toString: (transition: T) => string, ordered?: boolean): ToDotOptions<S, T>
  • Type parameters

    • S

    • T

    Parameters

    • toString: (transition: T) => string
        • (transition: T): string
        • Parameters

          • transition: T

          Returns string

    • ordered: boolean = false

    Returns ToDotOptions<S, T>

ensureStableOut

  • +

    The returned iterator is guaranteed to be stable.

    +

    Type parameters

    • S

    • O

    Parameters

    Returns FAIterator<S, O>

filterOutIter

  • filterOutIter<S, O>(iter: FAIterator<S, Iterable<O>>, conditionFn: (out: O) => boolean): FAIterator<S, Iterable<O>>
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +

    Type parameters

    • S

    • O

    Parameters

    • iter: FAIterator<S, Iterable<O>>
    • conditionFn: (out: O) => boolean
      +
        • (out: O): boolean
        • Parameters

          • out: O

          Returns boolean

    Returns FAIterator<S, Iterable<O>>

forEach

  • forEach<S>(iter: FAIterator<S, Iterable<S>>, consumerFn?: (state: S) => void): void
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +

    Type parameters

    • S

    Parameters

    • iter: FAIterator<S, Iterable<S>>
    • Optional consumerFn: (state: S) => void
      +
        • (state: S): void
        • Parameters

          • state: S

          Returns void

    Returns void

fromWordSets

  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +

    Type parameters

    • S

    Parameters

    Returns FAIterator<S, S>

fromWords

  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +

    Type parameters

    • S

    Parameters

    Returns FAIterator<S, S>

hasCycle

  • hasCycle<S>(iter: FAIterator<S, Iterable<S>>): boolean
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +

    Type parameters

    • S

    Parameters

    Returns boolean

intersection

  • +

    A lazy intersection algorithm that will use the given FA builder to construct the intersection FA as the returned +iterator is used to traverse the FA.

    +

    To construct the whole intersection FA, simply traverse the entire iterator.

    +

    Type parameters

    • S

    • L

    • R

    Parameters

    Returns FAIterator<S, S>

iterateStates

  • iterateStates<S>(iter: FAIterator<S, Iterable<S>>): Iterable<S>
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +

    Type parameters

    • S

    Parameters

    Returns Iterable<S>

iterateWordSets

  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +

    Type parameters

    • S

    Parameters

    Returns Iterable<WordSet>

languageIsFinite

  • languageIsFinite<S>(iter: FAIterator<S, Iterable<S>>): boolean
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +

    Type parameters

    • S

    Parameters

    Returns boolean

makeDeterministic

  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +

    Type parameters

    • B

    • I

    Parameters

    Returns FAIterator<B, B>

makeInitialFinal

  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +

    Type parameters

    • S

    • O

    Parameters

    Returns FAIterator<S, O>

makeInitialNonFinal

  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +

    Type parameters

    • S

    • O

    Parameters

    Returns FAIterator<S, O>

mapOut

  • +

    Maps the out type of the given iterator and returns a new iterator.

    +

    Type parameters

    • S

    • O

    • T

    Parameters

    • iter: FAIterator<S, O>
    • mapFn: (out: O) => T
      +
        • (out: O): T
        • Parameters

          • out: O

          Returns T

    Returns FAIterator<S, T>

mapOutIter

  • mapOutIter<S, O, T>(iter: FAIterator<S, Iterable<O>>, mapFn: (out: O) => T): FAIterator<S, Iterable<T>>
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +

    Type parameters

    • S

    • O

    • T

    Parameters

    • iter: FAIterator<S, Iterable<O>>
    • mapFn: (out: O) => T
      +
        • (out: O): T
        • Parameters

          • out: O

          Returns T

    Returns FAIterator<S, Iterable<T>>

removeDeadStates

  • removeDeadStates<S, O>(iter: FAIterator<S, Iterable<O>>, select: (item: O) => S): FAIterator<S, O[]>
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +

    Type parameters

    • S

    • O

    Parameters

    • iter: FAIterator<S, Iterable<O>>
    • select: (item: O) => S
      +
        • (item: O): S
        • Parameters

          • item: O

          Returns S

    Returns FAIterator<S, O[]>

shortestAcceptingPath

  • shortestAcceptingPath<S, T>(iter: FAIterator<S, Iterable<T>>, selectState: (item: T) => S): T[] | undefined
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +

    Type parameters

    • S

    • T

    Parameters

    • iter: FAIterator<S, Iterable<T>>
    • selectState: (item: T) => S
      +
        • (item: T): S
        • Parameters

          • item: T

          Returns S

    Returns T[] | undefined

shortestWordSet

  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +

    Type parameters

    • S

    Parameters

    Returns WordSet | undefined

toDot

toRegex

  • +

    Returns a regular expression for the given iterator.

    +

    null transitions are assumed to be epsilon transitions.

    +

    Type parameters

    • S

    Parameters

    Returns NoParent<Expression>

toString

  • toString<S, T>(iter: FAIterator<S, Iterable<[S, T]>>, toString?: (value: T) => string, ordered?: boolean): string
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +

    Type parameters

    • S

    • T

    Parameters

    • iter: FAIterator<S, Iterable<[S, T]>>
    • toString: (value: T) => string = ...
        • (value: T): string
        • Parameters

          • value: T

          Returns string

    • ordered: boolean = false
      +

    Returns string

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/JS.html b/docs/v0.10.0/modules/JS.html new file mode 100644 index 00000000..63c06df6 --- /dev/null +++ b/docs/v0.10.0/modules/JS.html @@ -0,0 +1,17 @@ +JS | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace JS

+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
see

Parser: A class to convert from JS RegExp to refa AST.

+
see

toLiteral: A function to convert from refa AST to JS RegExp.

+

Index

Type aliases

BoundaryAssertion

ParsableElement

ParsableElement: AST.Element | AST.Pattern | AST.Alternative

PredefinedCharacterSet

Functions

createAssertion

createCharSet

  • +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +

    Parameters

    Returns CharSet

toLiteral

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/NFA.html b/docs/v0.10.0/modules/NFA.html new file mode 100644 index 00000000..e4651b09 --- /dev/null +++ b/docs/v0.10.0/modules/NFA.html @@ -0,0 +1,6 @@ +NFA | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace NFA

+

A namespace for NFA-specific classes and interfaces.

+
see

NFA (class)

+

Index

Variables

nodeFactory

nodeFactory: NodeFactory<Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/Transformers.html b/docs/v0.10.0/modules/Transformers.html new file mode 100644 index 00000000..e4274db6 --- /dev/null +++ b/docs/v0.10.0/modules/Transformers.html @@ -0,0 +1,102 @@ +Transformers | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace Transformers

+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

Index

Functions

applyAssertions

  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +

    Parameters

    Returns Transformer

factorOut

  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +

    Parameters

    Returns Transformer

inline

  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +

    Parameters

    Returns Transformer

mergeWithQuantifier

  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +

    Parameters

    Returns Transformer

moveUpEmpty

  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +

    Parameters

    Returns Transformer

nestedQuantifiers

  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +

    Parameters

    Returns Transformer

patternEdgeAssertions

  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +

    Parameters

    Returns Transformer

removeDeadBranches

  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +

    Parameters

    Returns Transformer

removeUnnecessaryAssertions

  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +

    Parameters

    Returns Transformer

replaceAssertions

sortAssertions

  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +

    Parameters

    Returns Transformer

unionCharacters

  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +

    Parameters

    Returns Transformer

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.10.0/modules/Words.html b/docs/v0.10.0/modules/Words.html new file mode 100644 index 00000000..469dc600 --- /dev/null +++ b/docs/v0.10.0/modules/Words.html @@ -0,0 +1,32 @@ +Words | refa - v0.10.0
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace Words

Index

Functions

fromStringToUTF16

  • fromStringToUTF16(string: string): Word
  • +

    Converts the given string into an array of UTF16 character codes.

    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +

    Parameters

    • string: string
      +

    Returns Word

fromStringToUnicode

  • fromStringToUnicode(string: string): Word
  • +

    Converts the given string into an array of Unicode code points.

    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +

    Parameters

    • string: string
      +

    Returns Word

fromUTF16ToString

  • +

    Converts the given array of UTF16 character codes into a string.

    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +

    Parameters

    Returns string

fromUnicodeToString

  • +

    Converts the given array of Unicode code points into a string.

    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +

    Parameters

    Returns string

pickMostReadableCharacter

  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +

    Parameters

    Returns Char | undefined

pickMostReadableWord

  • +

    Returns a word of the given word set that is the most humanly readable.

    +

    Parameters

    Returns Word

wordSetToWords

  • +

    Returns an iterable yielding all words that can be constructed from the given word set.

    +
    deprecated

    Use wordSetsToWords instead.

    +

    Parameters

    Returns Iterable<Word>

wordSetsToWords

  • +

    Returns an iterable yielding all words that can be constructed from the given word sets.

    +

    Parameters

    Returns Iterable<Word>

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Static property
  • Static method
  • Inherited constructor

Settings

Theme

\ No newline at end of file diff --git a/docs/v0.11.0/.nojekyll b/docs/v0.11.0/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/v0.11.0/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/v0.11.0/assets/highlight.css b/docs/v0.11.0/assets/highlight.css new file mode 100644 index 00000000..e6e2a4a8 --- /dev/null +++ b/docs/v0.11.0/assets/highlight.css @@ -0,0 +1,113 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +pre, code { background: var(--code-background); } diff --git a/docs/v0.11.0/assets/main.js b/docs/v0.11.0/assets/main.js new file mode 100644 index 00000000..f7c83669 --- /dev/null +++ b/docs/v0.11.0/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends I{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{He(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?pe(e,-1):s.key==="ArrowDown"?pe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ae(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function He(t,e,n,r){if(Ae(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${fe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function pe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function fe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(se&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){A||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!A&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends I{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends I{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();B(X,".menu-highlight");B(K,"a[data-toggle]");B(te,".tsd-index-accordion");B(ee,".tsd-filter-item input[type=checkbox]");var we=document.getElementById("theme");we&&be(we);var je=new Y;Object.defineProperty(window,"app",{value:je});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/v0.11.0/assets/search.js b/docs/v0.11.0/assets/search.js new file mode 100644 index 00000000..17d7dd41 --- /dev/null +++ b/docs/v0.11.0/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"kinds\":{\"4\":\"Namespace\",\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":256,\"name\":\"PropertyCharacterSet\",\"url\":\"interfaces/JS.PropertyCharacterSet.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.PropertyCharacterSet.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.PropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.PropertyCharacterSet.html#key\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.PropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.PropertyCharacterSet.html#value\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.PropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.PropertyCharacterSet.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.PropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":256,\"name\":\"Flags\",\"url\":\"interfaces/JS.Flags.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.Flags.html#dotAll\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.Flags.html#global\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.Flags.html#hasIndices\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.Flags.html#ignoreCase\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.Flags.html#multiline\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.Flags.html#sticky\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.Flags.html#unicode\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Flags\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"JS.Parser\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-namespace\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"tsd-kind-namespace\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"tsd-kind-type-alias\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,60.761]],[\"comment/0\",[]],[\"name/1\",[1,60.761]],[\"comment/1\",[]],[\"name/2\",[2,52.288]],[\"comment/2\",[]],[\"name/3\",[3,52.288]],[\"comment/3\",[]],[\"name/4\",[4,60.761]],[\"comment/4\",[]],[\"name/5\",[5,60.761]],[\"comment/5\",[]],[\"name/6\",[6,55.653]],[\"comment/6\",[]],[\"name/7\",[7,60.761]],[\"comment/7\",[]],[\"name/8\",[8,60.761]],[\"comment/8\",[]],[\"name/9\",[9,60.761]],[\"comment/9\",[]],[\"name/10\",[10,60.761]],[\"comment/10\",[]],[\"name/11\",[11,60.761]],[\"comment/11\",[]],[\"name/12\",[6,55.653]],[\"comment/12\",[]],[\"name/13\",[12,60.761]],[\"comment/13\",[]],[\"name/14\",[2,52.288]],[\"comment/14\",[]],[\"name/15\",[3,52.288]],[\"comment/15\",[]],[\"name/16\",[13,60.761]],[\"comment/16\",[]],[\"name/17\",[14,60.761]],[\"comment/17\",[]],[\"name/18\",[15,60.761]],[\"comment/18\",[]],[\"name/19\",[16,60.761]],[\"comment/19\",[]],[\"name/20\",[17,60.761]],[\"comment/20\",[]],[\"name/21\",[2,52.288]],[\"comment/21\",[]],[\"name/22\",[3,52.288]],[\"comment/22\",[]],[\"name/23\",[18,60.761]],[\"comment/23\",[]],[\"name/24\",[19,60.761]],[\"comment/24\",[]],[\"name/25\",[20,60.761]],[\"comment/25\",[]],[\"name/26\",[21,49.775]],[\"comment/26\",[]],[\"name/27\",[22,49.775]],[\"comment/27\",[]],[\"name/28\",[23,60.761]],[\"comment/28\",[]],[\"name/29\",[24,60.761]],[\"comment/29\",[]],[\"name/30\",[25,60.761]],[\"comment/30\",[]],[\"name/31\",[26,60.761]],[\"comment/31\",[]],[\"name/32\",[27,60.761]],[\"comment/32\",[]],[\"name/33\",[28,60.761]],[\"comment/33\",[]],[\"name/34\",[29,60.761]],[\"comment/34\",[]],[\"name/35\",[30,52.288]],[\"comment/35\",[]],[\"name/36\",[31,60.761]],[\"comment/36\",[]],[\"name/37\",[32,60.761]],[\"comment/37\",[]],[\"name/38\",[33,60.761]],[\"comment/38\",[]],[\"name/39\",[34,60.761]],[\"comment/39\",[]],[\"name/40\",[35,60.761]],[\"comment/40\",[]],[\"name/41\",[36,60.761]],[\"comment/41\",[]],[\"name/42\",[37,60.761]],[\"comment/42\",[]],[\"name/43\",[38,60.761]],[\"comment/43\",[]],[\"name/44\",[39,60.761]],[\"comment/44\",[]],[\"name/45\",[40,60.761]],[\"comment/45\",[]],[\"name/46\",[41,60.761]],[\"comment/46\",[]],[\"name/47\",[42,39.558]],[\"comment/47\",[]],[\"name/48\",[43,39.558]],[\"comment/48\",[]],[\"name/49\",[44,44.667]],[\"comment/49\",[]],[\"name/50\",[45,47.768]],[\"comment/50\",[]],[\"name/51\",[46,44.667]],[\"comment/51\",[]],[\"name/52\",[47,42.303]],[\"comment/52\",[]],[\"name/53\",[48,47.768]],[\"comment/53\",[]],[\"name/54\",[49,60.761]],[\"comment/54\",[]],[\"name/55\",[50,60.761]],[\"comment/55\",[]],[\"name/56\",[51,43.415]],[\"comment/56\",[]],[\"name/57\",[52,60.761]],[\"comment/57\",[]],[\"name/58\",[53,60.761]],[\"comment/58\",[]],[\"name/59\",[54,55.653]],[\"comment/59\",[]],[\"name/60\",[55,35.112]],[\"comment/60\",[]],[\"name/61\",[56,60.761]],[\"comment/61\",[]],[\"name/62\",[55,35.112]],[\"comment/62\",[]],[\"name/63\",[57,55.653]],[\"comment/63\",[]],[\"name/64\",[55,35.112]],[\"comment/64\",[]],[\"name/65\",[58,43.415]],[\"comment/65\",[]],[\"name/66\",[59,60.761]],[\"comment/66\",[]],[\"name/67\",[57,55.653]],[\"comment/67\",[]],[\"name/68\",[55,35.112]],[\"comment/68\",[]],[\"name/69\",[54,55.653]],[\"comment/69\",[]],[\"name/70\",[55,35.112]],[\"comment/70\",[]],[\"name/71\",[60,60.761]],[\"comment/71\",[]],[\"name/72\",[61,55.653]],[\"comment/72\",[]],[\"name/73\",[62,60.761]],[\"comment/73\",[]],[\"name/74\",[63,60.761]],[\"comment/74\",[]],[\"name/75\",[61,55.653]],[\"comment/75\",[]],[\"name/76\",[64,60.761]],[\"comment/76\",[]],[\"name/77\",[65,60.761]],[\"comment/77\",[]],[\"name/78\",[66,60.761]],[\"comment/78\",[]],[\"name/79\",[46,44.667]],[\"comment/79\",[]],[\"name/80\",[67,60.761]],[\"comment/80\",[]],[\"name/81\",[68,60.761]],[\"comment/81\",[]],[\"name/82\",[69,60.761]],[\"comment/82\",[]],[\"name/83\",[70,60.761]],[\"comment/83\",[]],[\"name/84\",[55,35.112]],[\"comment/84\",[]],[\"name/85\",[71,60.761]],[\"comment/85\",[]],[\"name/86\",[72,43.415]],[\"comment/86\",[]],[\"name/87\",[73,42.303]],[\"comment/87\",[]],[\"name/88\",[74,60.761]],[\"comment/88\",[]],[\"name/89\",[75,60.761]],[\"comment/89\",[]],[\"name/90\",[76,60.761]],[\"comment/90\",[]],[\"name/91\",[77,60.761]],[\"comment/91\",[]],[\"name/92\",[78,60.761]],[\"comment/92\",[]],[\"name/93\",[79,60.761]],[\"comment/93\",[]],[\"name/94\",[80,60.761]],[\"comment/94\",[]],[\"name/95\",[81,43.415]],[\"comment/95\",[]],[\"name/96\",[82,44.667]],[\"comment/96\",[]],[\"name/97\",[83,60.761]],[\"comment/97\",[]],[\"name/98\",[81,43.415]],[\"comment/98\",[]],[\"name/99\",[84,60.761]],[\"comment/99\",[]],[\"name/100\",[85,60.761]],[\"comment/100\",[]],[\"name/101\",[86,60.761]],[\"comment/101\",[]],[\"name/102\",[81,43.415]],[\"comment/102\",[]],[\"name/103\",[87,60.761]],[\"comment/103\",[]],[\"name/104\",[81,43.415]],[\"comment/104\",[]],[\"name/105\",[82,44.667]],[\"comment/105\",[]],[\"name/106\",[88,60.761]],[\"comment/106\",[]],[\"name/107\",[81,43.415]],[\"comment/107\",[]],[\"name/108\",[89,60.761]],[\"comment/108\",[]],[\"name/109\",[90,60.761]],[\"comment/109\",[]],[\"name/110\",[82,44.667]],[\"comment/110\",[]],[\"name/111\",[91,60.761]],[\"comment/111\",[]],[\"name/112\",[81,43.415]],[\"comment/112\",[]],[\"name/113\",[82,44.667]],[\"comment/113\",[]],[\"name/114\",[92,60.761]],[\"comment/114\",[]],[\"name/115\",[81,43.415]],[\"comment/115\",[]],[\"name/116\",[82,44.667]],[\"comment/116\",[]],[\"name/117\",[93,60.761]],[\"comment/117\",[]],[\"name/118\",[94,60.761]],[\"comment/118\",[]],[\"name/119\",[95,49.775]],[\"comment/119\",[]],[\"name/120\",[96,60.761]],[\"comment/120\",[]],[\"name/121\",[95,49.775]],[\"comment/121\",[]],[\"name/122\",[97,60.761]],[\"comment/122\",[]],[\"name/123\",[98,60.761]],[\"comment/123\",[]],[\"name/124\",[99,60.761]],[\"comment/124\",[]],[\"name/125\",[100,60.761]],[\"comment/125\",[]],[\"name/126\",[101,60.761]],[\"comment/126\",[]],[\"name/127\",[102,60.761]],[\"comment/127\",[]],[\"name/128\",[103,60.761]],[\"comment/128\",[]],[\"name/129\",[104,55.653]],[\"comment/129\",[]],[\"name/130\",[105,43.415]],[\"comment/130\",[]],[\"name/131\",[95,49.775]],[\"comment/131\",[]],[\"name/132\",[106,60.761]],[\"comment/132\",[]],[\"name/133\",[107,60.761]],[\"comment/133\",[]],[\"name/134\",[108,60.761]],[\"comment/134\",[]],[\"name/135\",[109,52.288]],[\"comment/135\",[]],[\"name/136\",[110,60.761]],[\"comment/136\",[]],[\"name/137\",[111,55.653]],[\"comment/137\",[]],[\"name/138\",[112,60.761]],[\"comment/138\",[]],[\"name/139\",[55,35.112]],[\"comment/139\",[]],[\"name/140\",[113,60.761]],[\"comment/140\",[]],[\"name/141\",[114,60.761]],[\"comment/141\",[]],[\"name/142\",[95,49.775]],[\"comment/142\",[]],[\"name/143\",[115,60.761]],[\"comment/143\",[]],[\"name/144\",[116,60.761]],[\"comment/144\",[]],[\"name/145\",[117,55.653]],[\"comment/145\",[]],[\"name/146\",[118,38.074]],[\"comment/146\",[]],[\"name/147\",[119,60.761]],[\"comment/147\",[]],[\"name/148\",[120,60.761]],[\"comment/148\",[]],[\"name/149\",[121,60.761]],[\"comment/149\",[]],[\"name/150\",[104,55.653]],[\"comment/150\",[]],[\"name/151\",[122,60.761]],[\"comment/151\",[]],[\"name/152\",[118,38.074]],[\"comment/152\",[]],[\"name/153\",[123,60.761]],[\"comment/153\",[]],[\"name/154\",[124,60.761]],[\"comment/154\",[]],[\"name/155\",[125,43.415]],[\"comment/155\",[]],[\"name/156\",[126,60.761]],[\"comment/156\",[]],[\"name/157\",[127,60.761]],[\"comment/157\",[]],[\"name/158\",[128,60.761]],[\"comment/158\",[]],[\"name/159\",[129,60.761]],[\"comment/159\",[]],[\"name/160\",[130,60.761]],[\"comment/160\",[]],[\"name/161\",[131,60.761]],[\"comment/161\",[]],[\"name/162\",[132,60.761]],[\"comment/162\",[]],[\"name/163\",[133,60.761]],[\"comment/163\",[]],[\"name/164\",[134,60.761]],[\"comment/164\",[]],[\"name/165\",[135,60.761]],[\"comment/165\",[]],[\"name/166\",[136,60.761]],[\"comment/166\",[]],[\"name/167\",[137,60.761]],[\"comment/167\",[]],[\"name/168\",[138,43.415]],[\"comment/168\",[]],[\"name/169\",[139,49.775]],[\"comment/169\",[]],[\"name/170\",[140,60.761]],[\"comment/170\",[]],[\"name/171\",[141,44.667]],[\"comment/171\",[]],[\"name/172\",[138,43.415]],[\"comment/172\",[]],[\"name/173\",[142,49.775]],[\"comment/173\",[]],[\"name/174\",[105,43.415]],[\"comment/174\",[]],[\"name/175\",[143,60.761]],[\"comment/175\",[]],[\"name/176\",[141,44.667]],[\"comment/176\",[]],[\"name/177\",[138,43.415]],[\"comment/177\",[]],[\"name/178\",[142,49.775]],[\"comment/178\",[]],[\"name/179\",[81,43.415]],[\"comment/179\",[]],[\"name/180\",[82,44.667]],[\"comment/180\",[]],[\"name/181\",[105,43.415]],[\"comment/181\",[]],[\"name/182\",[144,60.761]],[\"comment/182\",[]],[\"name/183\",[141,44.667]],[\"comment/183\",[]],[\"name/184\",[138,43.415]],[\"comment/184\",[]],[\"name/185\",[142,49.775]],[\"comment/185\",[]],[\"name/186\",[145,60.761]],[\"comment/186\",[]],[\"name/187\",[146,55.653]],[\"comment/187\",[]],[\"name/188\",[147,55.653]],[\"comment/188\",[]],[\"name/189\",[105,43.415]],[\"comment/189\",[]],[\"name/190\",[148,60.761]],[\"comment/190\",[]],[\"name/191\",[141,44.667]],[\"comment/191\",[]],[\"name/192\",[138,43.415]],[\"comment/192\",[]],[\"name/193\",[149,55.653]],[\"comment/193\",[]],[\"name/194\",[105,43.415]],[\"comment/194\",[]],[\"name/195\",[150,60.761]],[\"comment/195\",[]],[\"name/196\",[141,44.667]],[\"comment/196\",[]],[\"name/197\",[138,43.415]],[\"comment/197\",[]],[\"name/198\",[151,60.761]],[\"comment/198\",[]],[\"name/199\",[105,43.415]],[\"comment/199\",[]],[\"name/200\",[117,55.653]],[\"comment/200\",[]],[\"name/201\",[141,44.667]],[\"comment/201\",[]],[\"name/202\",[138,43.415]],[\"comment/202\",[]],[\"name/203\",[142,49.775]],[\"comment/203\",[]],[\"name/204\",[105,43.415]],[\"comment/204\",[]],[\"name/205\",[152,60.761]],[\"comment/205\",[]],[\"name/206\",[141,44.667]],[\"comment/206\",[]],[\"name/207\",[138,43.415]],[\"comment/207\",[]],[\"name/208\",[153,60.761]],[\"comment/208\",[]],[\"name/209\",[105,43.415]],[\"comment/209\",[]],[\"name/210\",[154,60.761]],[\"comment/210\",[]],[\"name/211\",[155,60.761]],[\"comment/211\",[]],[\"name/212\",[156,60.761]],[\"comment/212\",[]],[\"name/213\",[157,60.761]],[\"comment/213\",[]],[\"name/214\",[158,60.761]],[\"comment/214\",[]],[\"name/215\",[159,55.653]],[\"comment/215\",[]],[\"name/216\",[160,55.653]],[\"comment/216\",[]],[\"name/217\",[161,55.653]],[\"comment/217\",[]],[\"name/218\",[162,55.653]],[\"comment/218\",[]],[\"name/219\",[163,55.653]],[\"comment/219\",[]],[\"name/220\",[164,55.653]],[\"comment/220\",[]],[\"name/221\",[165,55.653]],[\"comment/221\",[]],[\"name/222\",[166,55.653]],[\"comment/222\",[]],[\"name/223\",[167,55.653]],[\"comment/223\",[]],[\"name/224\",[168,55.653]],[\"comment/224\",[]],[\"name/225\",[169,55.653]],[\"comment/225\",[]],[\"name/226\",[170,55.653]],[\"comment/226\",[]],[\"name/227\",[171,55.653]],[\"comment/227\",[]],[\"name/228\",[172,55.653]],[\"comment/228\",[]],[\"name/229\",[173,60.761]],[\"comment/229\",[]],[\"name/230\",[159,55.653]],[\"comment/230\",[]],[\"name/231\",[160,55.653]],[\"comment/231\",[]],[\"name/232\",[161,55.653]],[\"comment/232\",[]],[\"name/233\",[162,55.653]],[\"comment/233\",[]],[\"name/234\",[163,55.653]],[\"comment/234\",[]],[\"name/235\",[164,55.653]],[\"comment/235\",[]],[\"name/236\",[165,55.653]],[\"comment/236\",[]],[\"name/237\",[166,55.653]],[\"comment/237\",[]],[\"name/238\",[167,55.653]],[\"comment/238\",[]],[\"name/239\",[168,55.653]],[\"comment/239\",[]],[\"name/240\",[169,55.653]],[\"comment/240\",[]],[\"name/241\",[170,55.653]],[\"comment/241\",[]],[\"name/242\",[171,55.653]],[\"comment/242\",[]],[\"name/243\",[172,55.653]],[\"comment/243\",[]],[\"name/244\",[174,60.761]],[\"comment/244\",[]],[\"name/245\",[175,60.761]],[\"comment/245\",[]],[\"name/246\",[176,60.761]],[\"comment/246\",[]],[\"name/247\",[177,60.761]],[\"comment/247\",[]],[\"name/248\",[178,60.761]],[\"comment/248\",[]],[\"name/249\",[179,60.761]],[\"comment/249\",[]],[\"name/250\",[180,60.761]],[\"comment/250\",[]],[\"name/251\",[181,60.761]],[\"comment/251\",[]],[\"name/252\",[182,60.761]],[\"comment/252\",[]],[\"name/253\",[183,60.761]],[\"comment/253\",[]],[\"name/254\",[184,60.761]],[\"comment/254\",[]],[\"name/255\",[118,38.074]],[\"comment/255\",[]],[\"name/256\",[185,60.761]],[\"comment/256\",[]],[\"name/257\",[55,35.112]],[\"comment/257\",[]],[\"name/258\",[186,60.761]],[\"comment/258\",[]],[\"name/259\",[187,60.761]],[\"comment/259\",[]],[\"name/260\",[188,60.761]],[\"comment/260\",[]],[\"name/261\",[42,39.558]],[\"comment/261\",[]],[\"name/262\",[189,60.761]],[\"comment/262\",[]],[\"name/263\",[190,60.761]],[\"comment/263\",[]],[\"name/264\",[191,60.761]],[\"comment/264\",[]],[\"name/265\",[192,41.302]],[\"comment/265\",[]],[\"name/266\",[193,52.288]],[\"comment/266\",[]],[\"name/267\",[194,55.653]],[\"comment/267\",[]],[\"name/268\",[195,55.653]],[\"comment/268\",[]],[\"name/269\",[196,55.653]],[\"comment/269\",[]],[\"name/270\",[30,52.288]],[\"comment/270\",[]],[\"name/271\",[197,55.653]],[\"comment/271\",[]],[\"name/272\",[198,55.653]],[\"comment/272\",[]],[\"name/273\",[199,55.653]],[\"comment/273\",[]],[\"name/274\",[200,55.653]],[\"comment/274\",[]],[\"name/275\",[201,60.761]],[\"comment/275\",[]],[\"name/276\",[42,39.558]],[\"comment/276\",[]],[\"name/277\",[192,41.302]],[\"comment/277\",[]],[\"name/278\",[193,52.288]],[\"comment/278\",[]],[\"name/279\",[194,55.653]],[\"comment/279\",[]],[\"name/280\",[195,55.653]],[\"comment/280\",[]],[\"name/281\",[196,55.653]],[\"comment/281\",[]],[\"name/282\",[202,60.761]],[\"comment/282\",[]],[\"name/283\",[203,60.761]],[\"comment/283\",[]],[\"name/284\",[204,60.761]],[\"comment/284\",[]],[\"name/285\",[205,60.761]],[\"comment/285\",[]],[\"name/286\",[206,60.761]],[\"comment/286\",[]],[\"name/287\",[207,60.761]],[\"comment/287\",[]],[\"name/288\",[208,60.761]],[\"comment/288\",[]],[\"name/289\",[209,60.761]],[\"comment/289\",[]],[\"name/290\",[210,60.761]],[\"comment/290\",[]],[\"name/291\",[200,55.653]],[\"comment/291\",[]],[\"name/292\",[30,52.288]],[\"comment/292\",[]],[\"name/293\",[197,55.653]],[\"comment/293\",[]],[\"name/294\",[198,55.653]],[\"comment/294\",[]],[\"name/295\",[199,55.653]],[\"comment/295\",[]],[\"name/296\",[211,60.761]],[\"comment/296\",[]],[\"name/297\",[212,60.761]],[\"comment/297\",[]],[\"name/298\",[146,55.653]],[\"comment/298\",[]],[\"name/299\",[147,55.653]],[\"comment/299\",[]],[\"name/300\",[213,60.761]],[\"comment/300\",[]],[\"name/301\",[214,49.775]],[\"comment/301\",[]],[\"name/302\",[215,49.775]],[\"comment/302\",[]],[\"name/303\",[216,60.761]],[\"comment/303\",[]],[\"name/304\",[217,60.761]],[\"comment/304\",[]],[\"name/305\",[218,60.761]],[\"comment/305\",[]],[\"name/306\",[219,60.761]],[\"comment/306\",[]],[\"name/307\",[192,41.302]],[\"comment/307\",[]],[\"name/308\",[220,60.761]],[\"comment/308\",[]],[\"name/309\",[221,60.761]],[\"comment/309\",[]],[\"name/310\",[149,55.653]],[\"comment/310\",[]],[\"name/311\",[73,42.303]],[\"comment/311\",[]],[\"name/312\",[222,60.761]],[\"comment/312\",[]],[\"name/313\",[223,60.761]],[\"comment/313\",[]],[\"name/314\",[224,60.761]],[\"comment/314\",[]],[\"name/315\",[225,60.761]],[\"comment/315\",[]],[\"name/316\",[226,60.761]],[\"comment/316\",[]],[\"name/317\",[82,44.667]],[\"comment/317\",[]],[\"name/318\",[227,52.288]],[\"comment/318\",[]],[\"name/319\",[228,60.761]],[\"comment/319\",[]],[\"name/320\",[229,60.761]],[\"comment/320\",[]],[\"name/321\",[193,52.288]],[\"comment/321\",[]],[\"name/322\",[230,60.761]],[\"comment/322\",[]],[\"name/323\",[231,60.761]],[\"comment/323\",[]],[\"name/324\",[232,60.761]],[\"comment/324\",[]],[\"name/325\",[233,60.761]],[\"comment/325\",[]],[\"name/326\",[234,55.653]],[\"comment/326\",[]],[\"name/327\",[235,60.761]],[\"comment/327\",[]],[\"name/328\",[236,60.761]],[\"comment/328\",[]],[\"name/329\",[237,60.761]],[\"comment/329\",[]],[\"name/330\",[238,60.761]],[\"comment/330\",[]],[\"name/331\",[239,60.761]],[\"comment/331\",[]],[\"name/332\",[192,41.302]],[\"comment/332\",[]],[\"name/333\",[240,44.667]],[\"comment/333\",[]],[\"name/334\",[118,38.074]],[\"comment/334\",[]],[\"name/335\",[241,44.667]],[\"comment/335\",[]],[\"name/336\",[125,43.415]],[\"comment/336\",[]],[\"name/337\",[242,44.667]],[\"comment/337\",[]],[\"name/338\",[73,42.303]],[\"comment/338\",[]],[\"name/339\",[72,43.415]],[\"comment/339\",[]],[\"name/340\",[51,43.415]],[\"comment/340\",[]],[\"name/341\",[58,43.415]],[\"comment/341\",[]],[\"name/342\",[243,60.761]],[\"comment/342\",[]],[\"name/343\",[43,39.558]],[\"comment/343\",[]],[\"name/344\",[244,60.761]],[\"comment/344\",[]],[\"name/345\",[55,35.112]],[\"comment/345\",[]],[\"name/346\",[245,60.761]],[\"comment/346\",[]],[\"name/347\",[46,44.667]],[\"comment/347\",[]],[\"name/348\",[55,35.112]],[\"comment/348\",[]],[\"name/349\",[246,49.775]],[\"comment/349\",[]],[\"name/350\",[47,42.303]],[\"comment/350\",[]],[\"name/351\",[55,35.112]],[\"comment/351\",[]],[\"name/352\",[247,60.761]],[\"comment/352\",[]],[\"name/353\",[43,39.558]],[\"comment/353\",[]],[\"name/354\",[45,47.768]],[\"comment/354\",[]],[\"name/355\",[55,35.112]],[\"comment/355\",[]],[\"name/356\",[46,44.667]],[\"comment/356\",[]],[\"name/357\",[55,35.112]],[\"comment/357\",[]],[\"name/358\",[48,47.768]],[\"comment/358\",[]],[\"name/359\",[55,35.112]],[\"comment/359\",[]],[\"name/360\",[47,42.303]],[\"comment/360\",[]],[\"name/361\",[55,35.112]],[\"comment/361\",[]],[\"name/362\",[248,43.415]],[\"comment/362\",[]],[\"name/363\",[249,60.761]],[\"comment/363\",[]],[\"name/364\",[118,38.074]],[\"comment/364\",[]],[\"name/365\",[248,43.415]],[\"comment/365\",[]],[\"name/366\",[55,35.112]],[\"comment/366\",[]],[\"name/367\",[250,60.761]],[\"comment/367\",[]],[\"name/368\",[111,55.653]],[\"comment/368\",[]],[\"name/369\",[251,60.761]],[\"comment/369\",[]],[\"name/370\",[252,60.761]],[\"comment/370\",[]],[\"name/371\",[43,39.558]],[\"comment/371\",[]],[\"name/372\",[44,44.667]],[\"comment/372\",[]],[\"name/373\",[253,46.098]],[\"comment/373\",[]],[\"name/374\",[254,46.098]],[\"comment/374\",[]],[\"name/375\",[255,46.098]],[\"comment/375\",[]],[\"name/376\",[256,46.098]],[\"comment/376\",[]],[\"name/377\",[257,55.653]],[\"comment/377\",[]],[\"name/378\",[192,41.302]],[\"comment/378\",[]],[\"name/379\",[240,44.667]],[\"comment/379\",[]],[\"name/380\",[118,38.074]],[\"comment/380\",[]],[\"name/381\",[241,44.667]],[\"comment/381\",[]],[\"name/382\",[125,43.415]],[\"comment/382\",[]],[\"name/383\",[242,44.667]],[\"comment/383\",[]],[\"name/384\",[73,42.303]],[\"comment/384\",[]],[\"name/385\",[72,43.415]],[\"comment/385\",[]],[\"name/386\",[51,43.415]],[\"comment/386\",[]],[\"name/387\",[58,43.415]],[\"comment/387\",[]],[\"name/388\",[248,43.415]],[\"comment/388\",[]],[\"name/389\",[55,35.112]],[\"comment/389\",[]],[\"name/390\",[258,55.653]],[\"comment/390\",[]],[\"name/391\",[214,49.775]],[\"comment/391\",[]],[\"name/392\",[259,52.288]],[\"comment/392\",[]],[\"name/393\",[215,49.775]],[\"comment/393\",[]],[\"name/394\",[260,52.288]],[\"comment/394\",[]],[\"name/395\",[261,55.653]],[\"comment/395\",[]],[\"name/396\",[21,49.775]],[\"comment/396\",[]],[\"name/397\",[22,49.775]],[\"comment/397\",[]],[\"name/398\",[262,52.288]],[\"comment/398\",[]],[\"name/399\",[263,52.288]],[\"comment/399\",[]],[\"name/400\",[264,52.288]],[\"comment/400\",[]],[\"name/401\",[43,39.558]],[\"comment/401\",[]],[\"name/402\",[44,44.667]],[\"comment/402\",[]],[\"name/403\",[118,38.074]],[\"comment/403\",[]],[\"name/404\",[192,41.302]],[\"comment/404\",[]],[\"name/405\",[240,44.667]],[\"comment/405\",[]],[\"name/406\",[253,46.098]],[\"comment/406\",[]],[\"name/407\",[248,43.415]],[\"comment/407\",[]],[\"name/408\",[254,46.098]],[\"comment/408\",[]],[\"name/409\",[255,46.098]],[\"comment/409\",[]],[\"name/410\",[241,44.667]],[\"comment/410\",[]],[\"name/411\",[242,44.667]],[\"comment/411\",[]],[\"name/412\",[125,43.415]],[\"comment/412\",[]],[\"name/413\",[73,42.303]],[\"comment/413\",[]],[\"name/414\",[72,43.415]],[\"comment/414\",[]],[\"name/415\",[51,43.415]],[\"comment/415\",[]],[\"name/416\",[58,43.415]],[\"comment/416\",[]],[\"name/417\",[256,46.098]],[\"comment/417\",[]],[\"name/418\",[257,55.653]],[\"comment/418\",[]],[\"name/419\",[265,52.288]],[\"comment/419\",[]],[\"name/420\",[266,60.761]],[\"comment/420\",[]],[\"name/421\",[267,60.761]],[\"comment/421\",[]],[\"name/422\",[268,52.288]],[\"comment/422\",[]],[\"name/423\",[258,55.653]],[\"comment/423\",[]],[\"name/424\",[269,52.288]],[\"comment/424\",[]],[\"name/425\",[270,46.098]],[\"comment/425\",[]],[\"name/426\",[139,49.775]],[\"comment/426\",[]],[\"name/427\",[42,39.558]],[\"comment/427\",[]],[\"name/428\",[270,46.098]],[\"comment/428\",[]],[\"name/429\",[271,52.288]],[\"comment/429\",[]],[\"name/430\",[272,52.288]],[\"comment/430\",[]],[\"name/431\",[273,52.288]],[\"comment/431\",[]],[\"name/432\",[246,49.775]],[\"comment/432\",[]],[\"name/433\",[274,52.288]],[\"comment/433\",[]],[\"name/434\",[42,39.558]],[\"comment/434\",[]],[\"name/435\",[275,52.288]],[\"comment/435\",[]],[\"name/436\",[47,42.303]],[\"comment/436\",[]],[\"name/437\",[276,52.288]],[\"comment/437\",[]],[\"name/438\",[42,39.558]],[\"comment/438\",[]],[\"name/439\",[43,39.558]],[\"comment/439\",[]],[\"name/440\",[44,44.667]],[\"comment/440\",[]],[\"name/441\",[277,52.288]],[\"comment/441\",[]],[\"name/442\",[45,47.768]],[\"comment/442\",[]],[\"name/443\",[46,44.667]],[\"comment/443\",[]],[\"name/444\",[48,47.768]],[\"comment/444\",[]],[\"name/445\",[47,42.303]],[\"comment/445\",[]],[\"name/446\",[278,52.288]],[\"comment/446\",[]],[\"name/447\",[118,38.074]],[\"comment/447\",[]],[\"name/448\",[279,60.761]],[\"comment/448\",[]],[\"name/449\",[43,39.558]],[\"comment/449\",[]],[\"name/450\",[280,52.288]],[\"comment/450\",[]],[\"name/451\",[281,49.775]],[\"comment/451\",[]],[\"name/452\",[253,46.098]],[\"comment/452\",[]],[\"name/453\",[254,46.098]],[\"comment/453\",[]],[\"name/454\",[255,46.098]],[\"comment/454\",[]],[\"name/455\",[256,46.098]],[\"comment/455\",[]],[\"name/456\",[192,41.302]],[\"comment/456\",[]],[\"name/457\",[240,44.667]],[\"comment/457\",[]],[\"name/458\",[118,38.074]],[\"comment/458\",[]],[\"name/459\",[241,44.667]],[\"comment/459\",[]],[\"name/460\",[125,43.415]],[\"comment/460\",[]],[\"name/461\",[242,44.667]],[\"comment/461\",[]],[\"name/462\",[73,42.303]],[\"comment/462\",[]],[\"name/463\",[72,43.415]],[\"comment/463\",[]],[\"name/464\",[51,43.415]],[\"comment/464\",[]],[\"name/465\",[58,43.415]],[\"comment/465\",[]],[\"name/466\",[248,43.415]],[\"comment/466\",[]],[\"name/467\",[55,35.112]],[\"comment/467\",[]],[\"name/468\",[282,55.653]],[\"comment/468\",[]],[\"name/469\",[214,49.775]],[\"comment/469\",[]],[\"name/470\",[259,52.288]],[\"comment/470\",[]],[\"name/471\",[215,49.775]],[\"comment/471\",[]],[\"name/472\",[260,52.288]],[\"comment/472\",[]],[\"name/473\",[283,55.653]],[\"comment/473\",[]],[\"name/474\",[21,49.775]],[\"comment/474\",[]],[\"name/475\",[22,49.775]],[\"comment/475\",[]],[\"name/476\",[262,52.288]],[\"comment/476\",[]],[\"name/477\",[263,52.288]],[\"comment/477\",[]],[\"name/478\",[264,52.288]],[\"comment/478\",[]],[\"name/479\",[43,39.558]],[\"comment/479\",[]],[\"name/480\",[280,52.288]],[\"comment/480\",[]],[\"name/481\",[118,38.074]],[\"comment/481\",[]],[\"name/482\",[192,41.302]],[\"comment/482\",[]],[\"name/483\",[240,44.667]],[\"comment/483\",[]],[\"name/484\",[281,49.775]],[\"comment/484\",[]],[\"name/485\",[284,55.653]],[\"comment/485\",[]],[\"name/486\",[253,46.098]],[\"comment/486\",[]],[\"name/487\",[248,43.415]],[\"comment/487\",[]],[\"name/488\",[254,46.098]],[\"comment/488\",[]],[\"name/489\",[255,46.098]],[\"comment/489\",[]],[\"name/490\",[256,46.098]],[\"comment/490\",[]],[\"name/491\",[241,44.667]],[\"comment/491\",[]],[\"name/492\",[242,44.667]],[\"comment/492\",[]],[\"name/493\",[125,43.415]],[\"comment/493\",[]],[\"name/494\",[73,42.303]],[\"comment/494\",[]],[\"name/495\",[72,43.415]],[\"comment/495\",[]],[\"name/496\",[51,43.415]],[\"comment/496\",[]],[\"name/497\",[58,43.415]],[\"comment/497\",[]],[\"name/498\",[285,55.653]],[\"comment/498\",[]],[\"name/499\",[286,55.653]],[\"comment/499\",[]],[\"name/500\",[287,55.653]],[\"comment/500\",[]],[\"name/501\",[288,55.653]],[\"comment/501\",[]],[\"name/502\",[227,52.288]],[\"comment/502\",[]],[\"name/503\",[289,55.653]],[\"comment/503\",[]],[\"name/504\",[290,55.653]],[\"comment/504\",[]],[\"name/505\",[291,55.653]],[\"comment/505\",[]],[\"name/506\",[265,52.288]],[\"comment/506\",[]],[\"name/507\",[268,52.288]],[\"comment/507\",[]],[\"name/508\",[292,55.653]],[\"comment/508\",[]],[\"name/509\",[282,55.653]],[\"comment/509\",[]],[\"name/510\",[269,52.288]],[\"comment/510\",[]],[\"name/511\",[270,46.098]],[\"comment/511\",[]],[\"name/512\",[293,49.775]],[\"comment/512\",[]],[\"name/513\",[294,55.653]],[\"comment/513\",[]],[\"name/514\",[295,55.653]],[\"comment/514\",[]],[\"name/515\",[139,49.775]],[\"comment/515\",[]],[\"name/516\",[42,39.558]],[\"comment/516\",[]],[\"name/517\",[270,46.098]],[\"comment/517\",[]],[\"name/518\",[293,49.775]],[\"comment/518\",[]],[\"name/519\",[271,52.288]],[\"comment/519\",[]],[\"name/520\",[272,52.288]],[\"comment/520\",[]],[\"name/521\",[273,52.288]],[\"comment/521\",[]],[\"name/522\",[296,55.653]],[\"comment/522\",[]],[\"name/523\",[297,55.653]],[\"comment/523\",[]],[\"name/524\",[294,55.653]],[\"comment/524\",[]],[\"name/525\",[295,55.653]],[\"comment/525\",[]],[\"name/526\",[246,49.775]],[\"comment/526\",[]],[\"name/527\",[274,52.288]],[\"comment/527\",[]],[\"name/528\",[42,39.558]],[\"comment/528\",[]],[\"name/529\",[275,52.288]],[\"comment/529\",[]],[\"name/530\",[47,42.303]],[\"comment/530\",[]],[\"name/531\",[276,52.288]],[\"comment/531\",[]],[\"name/532\",[42,39.558]],[\"comment/532\",[]],[\"name/533\",[43,39.558]],[\"comment/533\",[]],[\"name/534\",[280,52.288]],[\"comment/534\",[]],[\"name/535\",[277,52.288]],[\"comment/535\",[]],[\"name/536\",[45,47.768]],[\"comment/536\",[]],[\"name/537\",[46,44.667]],[\"comment/537\",[]],[\"name/538\",[48,47.768]],[\"comment/538\",[]],[\"name/539\",[47,42.303]],[\"comment/539\",[]],[\"name/540\",[278,52.288]],[\"comment/540\",[]],[\"name/541\",[118,38.074]],[\"comment/541\",[]],[\"name/542\",[298,55.653]],[\"comment/542\",[]],[\"name/543\",[109,52.288]],[\"comment/543\",[]],[\"name/544\",[299,55.653]],[\"comment/544\",[]],[\"name/545\",[300,55.653]],[\"comment/545\",[]],[\"name/546\",[301,60.761]],[\"comment/546\",[]],[\"name/547\",[302,55.653]],[\"comment/547\",[]],[\"name/548\",[303,60.761]],[\"comment/548\",[]],[\"name/549\",[302,55.653]],[\"comment/549\",[]],[\"name/550\",[304,60.761]],[\"comment/550\",[]],[\"name/551\",[234,55.653]],[\"comment/551\",[]],[\"name/552\",[305,60.761]],[\"comment/552\",[]],[\"name/553\",[306,60.761]],[\"comment/553\",[]],[\"name/554\",[307,60.761]],[\"comment/554\",[]],[\"name/555\",[43,39.558]],[\"comment/555\",[]],[\"name/556\",[44,44.667]],[\"comment/556\",[]],[\"name/557\",[281,49.775]],[\"comment/557\",[]],[\"name/558\",[253,46.098]],[\"comment/558\",[]],[\"name/559\",[254,46.098]],[\"comment/559\",[]],[\"name/560\",[255,46.098]],[\"comment/560\",[]],[\"name/561\",[256,46.098]],[\"comment/561\",[]],[\"name/562\",[192,41.302]],[\"comment/562\",[]],[\"name/563\",[240,44.667]],[\"comment/563\",[]],[\"name/564\",[118,38.074]],[\"comment/564\",[]],[\"name/565\",[241,44.667]],[\"comment/565\",[]],[\"name/566\",[125,43.415]],[\"comment/566\",[]],[\"name/567\",[242,44.667]],[\"comment/567\",[]],[\"name/568\",[73,42.303]],[\"comment/568\",[]],[\"name/569\",[72,43.415]],[\"comment/569\",[]],[\"name/570\",[51,43.415]],[\"comment/570\",[]],[\"name/571\",[58,43.415]],[\"comment/571\",[]],[\"name/572\",[248,43.415]],[\"comment/572\",[]],[\"name/573\",[55,35.112]],[\"comment/573\",[]],[\"name/574\",[308,55.653]],[\"comment/574\",[]],[\"name/575\",[214,49.775]],[\"comment/575\",[]],[\"name/576\",[259,52.288]],[\"comment/576\",[]],[\"name/577\",[215,49.775]],[\"comment/577\",[]],[\"name/578\",[260,52.288]],[\"comment/578\",[]],[\"name/579\",[261,55.653]],[\"comment/579\",[]],[\"name/580\",[283,55.653]],[\"comment/580\",[]],[\"name/581\",[21,49.775]],[\"comment/581\",[]],[\"name/582\",[22,49.775]],[\"comment/582\",[]],[\"name/583\",[262,52.288]],[\"comment/583\",[]],[\"name/584\",[263,52.288]],[\"comment/584\",[]],[\"name/585\",[264,52.288]],[\"comment/585\",[]],[\"name/586\",[43,39.558]],[\"comment/586\",[]],[\"name/587\",[44,44.667]],[\"comment/587\",[]],[\"name/588\",[118,38.074]],[\"comment/588\",[]],[\"name/589\",[192,41.302]],[\"comment/589\",[]],[\"name/590\",[240,44.667]],[\"comment/590\",[]],[\"name/591\",[281,49.775]],[\"comment/591\",[]],[\"name/592\",[284,55.653]],[\"comment/592\",[]],[\"name/593\",[253,46.098]],[\"comment/593\",[]],[\"name/594\",[248,43.415]],[\"comment/594\",[]],[\"name/595\",[254,46.098]],[\"comment/595\",[]],[\"name/596\",[255,46.098]],[\"comment/596\",[]],[\"name/597\",[256,46.098]],[\"comment/597\",[]],[\"name/598\",[241,44.667]],[\"comment/598\",[]],[\"name/599\",[242,44.667]],[\"comment/599\",[]],[\"name/600\",[125,43.415]],[\"comment/600\",[]],[\"name/601\",[73,42.303]],[\"comment/601\",[]],[\"name/602\",[72,43.415]],[\"comment/602\",[]],[\"name/603\",[51,43.415]],[\"comment/603\",[]],[\"name/604\",[58,43.415]],[\"comment/604\",[]],[\"name/605\",[227,52.288]],[\"comment/605\",[]],[\"name/606\",[289,55.653]],[\"comment/606\",[]],[\"name/607\",[285,55.653]],[\"comment/607\",[]],[\"name/608\",[286,55.653]],[\"comment/608\",[]],[\"name/609\",[287,55.653]],[\"comment/609\",[]],[\"name/610\",[288,55.653]],[\"comment/610\",[]],[\"name/611\",[290,55.653]],[\"comment/611\",[]],[\"name/612\",[291,55.653]],[\"comment/612\",[]],[\"name/613\",[265,52.288]],[\"comment/613\",[]],[\"name/614\",[268,52.288]],[\"comment/614\",[]],[\"name/615\",[292,55.653]],[\"comment/615\",[]],[\"name/616\",[309,60.761]],[\"comment/616\",[]],[\"name/617\",[308,55.653]],[\"comment/617\",[]],[\"name/618\",[269,52.288]],[\"comment/618\",[]],[\"name/619\",[270,46.098]],[\"comment/619\",[]],[\"name/620\",[293,49.775]],[\"comment/620\",[]],[\"name/621\",[139,49.775]],[\"comment/621\",[]],[\"name/622\",[42,39.558]],[\"comment/622\",[]],[\"name/623\",[270,46.098]],[\"comment/623\",[]],[\"name/624\",[293,49.775]],[\"comment/624\",[]],[\"name/625\",[271,52.288]],[\"comment/625\",[]],[\"name/626\",[272,52.288]],[\"comment/626\",[]],[\"name/627\",[273,52.288]],[\"comment/627\",[]],[\"name/628\",[296,55.653]],[\"comment/628\",[]],[\"name/629\",[297,55.653]],[\"comment/629\",[]],[\"name/630\",[246,49.775]],[\"comment/630\",[]],[\"name/631\",[274,52.288]],[\"comment/631\",[]],[\"name/632\",[42,39.558]],[\"comment/632\",[]],[\"name/633\",[275,52.288]],[\"comment/633\",[]],[\"name/634\",[47,42.303]],[\"comment/634\",[]],[\"name/635\",[276,52.288]],[\"comment/635\",[]],[\"name/636\",[42,39.558]],[\"comment/636\",[]],[\"name/637\",[43,39.558]],[\"comment/637\",[]],[\"name/638\",[44,44.667]],[\"comment/638\",[]],[\"name/639\",[277,52.288]],[\"comment/639\",[]],[\"name/640\",[45,47.768]],[\"comment/640\",[]],[\"name/641\",[46,44.667]],[\"comment/641\",[]],[\"name/642\",[48,47.768]],[\"comment/642\",[]],[\"name/643\",[47,42.303]],[\"comment/643\",[]],[\"name/644\",[278,52.288]],[\"comment/644\",[]],[\"name/645\",[118,38.074]],[\"comment/645\",[]],[\"name/646\",[298,55.653]],[\"comment/646\",[]],[\"name/647\",[109,52.288]],[\"comment/647\",[]],[\"name/648\",[299,55.653]],[\"comment/648\",[]],[\"name/649\",[300,55.653]],[\"comment/649\",[]],[\"name/650\",[310,60.761]],[\"comment/650\",[]],[\"name/651\",[311,60.761]],[\"comment/651\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":55,\"name\":{\"60\":{},\"62\":{},\"64\":{},\"68\":{},\"70\":{},\"84\":{},\"139\":{},\"257\":{},\"345\":{},\"348\":{},\"351\":{},\"355\":{},\"357\":{},\"359\":{},\"361\":{},\"366\":{},\"389\":{},\"467\":{},\"573\":{}},\"comment\":{}}],[\"all\",{\"_index\":215,\"name\":{\"302\":{},\"393\":{},\"471\":{},\"577\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":140,\"name\":{\"170\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":142,\"name\":{\"173\":{},\"178\":{},\"185\":{},\"203\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"append\",{\"_index\":285,\"name\":{\"498\":{},\"607\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":286,\"name\":{\"499\":{},\"608\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"assert\",{\"_index\":302,\"name\":{\"547\":{},\"549\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":143,\"name\":{\"175\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":109,\"name\":{\"135\":{},\"543\":{},\"647\":{}},\"comment\":{}}],[\"ast\",{\"_index\":122,\"name\":{\"151\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":108,\"name\":{\"134\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"builder\",{\"_index\":276,\"name\":{\"437\":{},\"531\":{},\"635\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"char\",{\"_index\":236,\"name\":{\"328\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":148,\"name\":{\"190\":{}},\"comment\":{}}],[\"characters\",{\"_index\":149,\"name\":{\"193\":{},\"310\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":188,\"name\":{\"260\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":201,\"name\":{\"275\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":212,\"name\":{\"297\":{}},\"comment\":{}}],[\"charset\",{\"_index\":213,\"name\":{\"300\":{}},\"comment\":{}}],[\"clear\",{\"_index\":207,\"name\":{\"287\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":174,\"name\":{\"244\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":235,\"name\":{\"327\":{}},\"comment\":{}}],[\"compare\",{\"_index\":225,\"name\":{\"315\":{}},\"comment\":{}}],[\"complement\",{\"_index\":267,\"name\":{\"421\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":152,\"name\":{\"205\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":42,\"name\":{\"47\":{},\"261\":{},\"276\":{},\"427\":{},\"434\":{},\"438\":{},\"516\":{},\"528\":{},\"532\":{},\"622\":{},\"632\":{},\"636\":{}},\"comment\":{}}],[\"copy\",{\"_index\":256,\"name\":{\"376\":{},\"417\":{},\"455\":{},\"490\":{},\"561\":{},\"597\":{}},\"comment\":{}}],[\"count\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":255,\"name\":{\"375\":{},\"409\":{},\"454\":{},\"489\":{},\"560\":{},\"596\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":84,\"name\":{\"99\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":47,\"name\":{\"52\":{},\"350\":{},\"360\":{},\"436\":{},\"445\":{},\"530\":{},\"539\":{},\"634\":{},\"643\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":205,\"name\":{\"285\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":206,\"name\":{\"286\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":258,\"name\":{\"390\":{},\"423\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":87,\"name\":{\"103\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":97,\"name\":{\"122\":{}},\"comment\":{}}],[\"element\",{\"_index\":137,\"name\":{\"167\":{}},\"comment\":{}}],[\"elements\",{\"_index\":153,\"name\":{\"208\":{}},\"comment\":{}}],[\"empty\",{\"_index\":214,\"name\":{\"301\":{},\"391\":{},\"469\":{},\"575\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":259,\"name\":{\"392\":{},\"470\":{},\"576\":{}},\"comment\":{}}],[\"end\",{\"_index\":136,\"name\":{\"166\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":282,\"name\":{\"468\":{},\"509\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":32,\"name\":{\"37\":{}},\"comment\":{}}],[\"entries\",{\"_index\":199,\"name\":{\"273\":{},\"295\":{}},\"comment\":{}}],[\"equals\",{\"_index\":224,\"name\":{\"314\":{}},\"comment\":{}}],[\"expression\",{\"_index\":117,\"name\":{\"145\":{},\"200\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":247,\"name\":{\"352\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":277,\"name\":{\"441\":{},\"535\":{},\"639\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":243,\"name\":{\"342\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":96,\"name\":{\"120\":{}},\"comment\":{}}],[\"filter\",{\"_index\":210,\"name\":{\"290\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"final\",{\"_index\":280,\"name\":{\"450\":{},\"480\":{},\"534\":{}},\"comment\":{}}],[\"finals\",{\"_index\":44,\"name\":{\"49\":{},\"372\":{},\"402\":{},\"440\":{},\"556\":{},\"587\":{},\"638\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":239,\"name\":{\"331\":{}},\"comment\":{}}],[\"flags\",{\"_index\":95,\"name\":{\"119\":{},\"121\":{},\"131\":{},\"142\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":30,\"name\":{\"35\":{},\"270\":{},\"292\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":121,\"name\":{\"149\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":264,\"name\":{\"400\":{},\"478\":{},\"585\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":216,\"name\":{\"303\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":260,\"name\":{\"394\":{},\"472\":{},\"578\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":262,\"name\":{\"398\":{},\"476\":{},\"583\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":261,\"name\":{\"395\":{},\"579\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":120,\"name\":{\"148\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":217,\"name\":{\"304\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":283,\"name\":{\"473\":{},\"580\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":298,\"name\":{\"542\":{},\"646\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":129,\"name\":{\"159\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":128,\"name\":{\"158\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":263,\"name\":{\"399\":{},\"477\":{},\"584\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":127,\"name\":{\"157\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":126,\"name\":{\"156\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":21,\"name\":{\"26\":{},\"396\":{},\"474\":{},\"581\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":22,\"name\":{\"27\":{},\"397\":{},\"475\":{},\"582\":{}},\"comment\":{}}],[\"get\",{\"_index\":196,\"name\":{\"269\":{},\"281\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":54,\"name\":{\"59\":{},\"69\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":56,\"name\":{\"61\":{}},\"comment\":{}}],[\"getid\",{\"_index\":67,\"name\":{\"80\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":304,\"name\":{\"550\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":306,\"name\":{\"553\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":305,\"name\":{\"552\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":57,\"name\":{\"63\":{},\"67\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":68,\"name\":{\"81\":{}},\"comment\":{}}],[\"getout\",{\"_index\":244,\"name\":{\"344\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":112,\"name\":{\"138\":{}},\"comment\":{}}],[\"global\",{\"_index\":98,\"name\":{\"123\":{}},\"comment\":{}}],[\"has\",{\"_index\":193,\"name\":{\"266\":{},\"278\":{},\"321\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":194,\"name\":{\"267\":{},\"279\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":99,\"name\":{\"124\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":195,\"name\":{\"268\":{},\"280\":{}},\"comment\":{}}],[\"id\",{\"_index\":151,\"name\":{\"198\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":100,\"name\":{\"125\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"14\":{},\"21\":{}},\"comment\":{}}],[\"in\",{\"_index\":293,\"name\":{\"512\":{},\"518\":{},\"620\":{},\"624\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":300,\"name\":{\"545\":{},\"649\":{}},\"comment\":{}}],[\"initial\",{\"_index\":43,\"name\":{\"48\":{},\"343\":{},\"353\":{},\"371\":{},\"401\":{},\"439\":{},\"449\":{},\"479\":{},\"533\":{},\"555\":{},\"586\":{},\"637\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"12\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":228,\"name\":{\"319\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":23,\"name\":{\"28\":{}},\"comment\":{}}],[\"invert\",{\"_index\":200,\"name\":{\"274\":{},\"291\":{}},\"comment\":{}}],[\"isall\",{\"_index\":220,\"name\":{\"308\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":234,\"name\":{\"326\":{},\"551\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":192,\"name\":{\"265\":{},\"277\":{},\"307\":{},\"332\":{},\"378\":{},\"404\":{},\"456\":{},\"482\":{},\"562\":{},\"589\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":46,\"name\":{\"51\":{},\"79\":{},\"347\":{},\"356\":{},\"443\":{},\"537\":{},\"641\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":240,\"name\":{\"333\":{},\"379\":{},\"405\":{},\"457\":{},\"483\":{},\"563\":{},\"590\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":281,\"name\":{\"451\":{},\"484\":{},\"557\":{},\"591\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":233,\"name\":{\"325\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":232,\"name\":{\"324\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":231,\"name\":{\"323\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":230,\"name\":{\"322\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":74,\"name\":{\"88\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":211,\"name\":{\"296\":{}},\"comment\":{}}],[\"js\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"key\",{\"_index\":89,\"name\":{\"108\":{}},\"comment\":{}}],[\"keys\",{\"_index\":197,\"name\":{\"271\":{},\"293\":{}},\"comment\":{}}],[\"kind\",{\"_index\":81,\"name\":{\"95\":{},\"98\":{},\"102\":{},\"104\":{},\"107\":{},\"112\":{},\"115\":{},\"179\":{}},\"comment\":{}}],[\"label\",{\"_index\":61,\"name\":{\"72\":{},\"75\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":145,\"name\":{\"186\":{}},\"comment\":{}}],[\"length\",{\"_index\":64,\"name\":{\"76\":{}},\"comment\":{}}],[\"limit\",{\"_index\":275,\"name\":{\"435\":{},\"529\":{},\"633\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":274,\"name\":{\"433\":{},\"527\":{},\"631\":{}},\"comment\":{}}],[\"link\",{\"_index\":271,\"name\":{\"429\":{},\"519\":{},\"625\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":48,\"name\":{\"53\":{},\"358\":{},\"444\":{},\"538\":{},\"642\":{}},\"comment\":{}}],[\"literal\",{\"_index\":104,\"name\":{\"129\":{},\"150\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":45,\"name\":{\"50\":{},\"354\":{},\"442\":{},\"536\":{},\"640\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"map\",{\"_index\":208,\"name\":{\"288\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":49,\"name\":{\"54\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":209,\"name\":{\"289\":{}},\"comment\":{}}],[\"max\",{\"_index\":147,\"name\":{\"188\":{},\"299\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":107,\"name\":{\"133\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":118,\"name\":{\"146\":{},\"152\":{},\"255\":{},\"334\":{},\"364\":{},\"380\":{},\"403\":{},\"447\":{},\"458\":{},\"481\":{},\"541\":{},\"564\":{},\"588\":{},\"645\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":301,\"name\":{\"546\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":218,\"name\":{\"305\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":111,\"name\":{\"137\":{},\"368\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":251,\"name\":{\"369\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":187,\"name\":{\"259\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":63,\"name\":{\"74\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":60,\"name\":{\"71\":{}},\"comment\":{}}],[\"min\",{\"_index\":146,\"name\":{\"187\":{},\"298\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":266,\"name\":{\"420\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":101,\"name\":{\"126\":{}},\"comment\":{}}],[\"negate\",{\"_index\":82,\"name\":{\"96\":{},\"105\":{},\"110\":{},\"113\":{},\"116\":{},\"180\":{},\"317\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":308,\"name\":{\"574\":{},\"617\":{}},\"comment\":{}}],[\"node\",{\"_index\":139,\"name\":{\"169\":{},\"426\":{},\"515\":{},\"621\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":246,\"name\":{\"349\":{},\"432\":{},\"526\":{},\"630\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":65,\"name\":{\"77\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":254,\"name\":{\"374\":{},\"408\":{},\"453\":{},\"488\":{},\"559\":{},\"595\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":154,\"name\":{\"210\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":284,\"name\":{\"485\":{},\"592\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":177,\"name\":{\"247\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":159,\"name\":{\"215\":{},\"230\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":160,\"name\":{\"216\":{},\"231\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":178,\"name\":{\"248\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":161,\"name\":{\"217\":{},\"232\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":162,\"name\":{\"218\":{},\"233\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":179,\"name\":{\"249\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":163,\"name\":{\"219\":{},\"234\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":164,\"name\":{\"220\":{},\"235\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":180,\"name\":{\"250\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":165,\"name\":{\"221\":{},\"236\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":166,\"name\":{\"222\":{},\"237\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":181,\"name\":{\"251\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":167,\"name\":{\"223\":{},\"238\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":168,\"name\":{\"224\":{},\"239\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":182,\"name\":{\"252\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":169,\"name\":{\"225\":{},\"240\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":170,\"name\":{\"226\":{},\"241\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":183,\"name\":{\"253\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":171,\"name\":{\"227\":{},\"242\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":172,\"name\":{\"228\":{},\"243\":{}},\"comment\":{}}],[\"options\",{\"_index\":278,\"name\":{\"446\":{},\"540\":{},\"644\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":71,\"name\":{\"85\":{}},\"comment\":{}}],[\"out\",{\"_index\":270,\"name\":{\"425\":{},\"428\":{},\"511\":{},\"517\":{},\"619\":{},\"623\":{}},\"comment\":{}}],[\"parent\",{\"_index\":138,\"name\":{\"168\":{},\"172\":{},\"177\":{},\"184\":{},\"192\":{},\"197\":{},\"202\":{},\"207\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":115,\"name\":{\"143\":{}},\"comment\":{}}],[\"parse\",{\"_index\":123,\"name\":{\"153\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":124,\"name\":{\"154\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":106,\"name\":{\"132\":{}},\"comment\":{}}],[\"parser\",{\"_index\":119,\"name\":{\"147\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":116,\"name\":{\"144\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":114,\"name\":{\"141\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":130,\"name\":{\"160\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":131,\"name\":{\"161\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":85,\"name\":{\"100\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":268,\"name\":{\"422\":{},\"507\":{},\"614\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":287,\"name\":{\"500\":{},\"609\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":288,\"name\":{\"501\":{},\"610\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":88,\"name\":{\"106\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":144,\"name\":{\"182\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":290,\"name\":{\"504\":{},\"611\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":219,\"name\":{\"306\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":295,\"name\":{\"514\":{},\"525\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":191,\"name\":{\"264\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":252,\"name\":{\"370\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":279,\"name\":{\"448\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":307,\"name\":{\"554\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":269,\"name\":{\"424\":{},\"510\":{},\"618\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":238,\"name\":{\"330\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":311,\"name\":{\"651\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":113,\"name\":{\"140\":{}},\"comment\":{}}],[\"remove\",{\"_index\":12,\"name\":{\"13\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":13,\"name\":{\"16\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":50,\"name\":{\"55\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":265,\"name\":{\"419\":{},\"506\":{},\"613\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"resize\",{\"_index\":226,\"name\":{\"316\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":294,\"name\":{\"513\":{},\"524\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":309,\"name\":{\"616\":{}},\"comment\":{}}],[\"set\",{\"_index\":202,\"name\":{\"282\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":204,\"name\":{\"284\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":155,\"name\":{\"211\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":203,\"name\":{\"283\":{}},\"comment\":{}}],[\"sets\",{\"_index\":189,\"name\":{\"262\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":156,\"name\":{\"212\":{}},\"comment\":{}}],[\"shape\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":75,\"name\":{\"89\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":185,\"name\":{\"256\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":110,\"name\":{\"136\":{}},\"comment\":{}}],[\"size\",{\"_index\":221,\"name\":{\"309\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":18,\"name\":{\"23\":{}},\"comment\":{}}],[\"source\",{\"_index\":105,\"name\":{\"130\":{},\"174\":{},\"181\":{},\"189\":{},\"194\":{},\"199\":{},\"204\":{},\"209\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":134,\"name\":{\"164\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":91,\"name\":{\"111\":{}},\"comment\":{}}],[\"split\",{\"_index\":190,\"name\":{\"263\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":245,\"name\":{\"346\":{}},\"comment\":{}}],[\"start\",{\"_index\":135,\"name\":{\"165\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":253,\"name\":{\"373\":{},\"406\":{},\"452\":{},\"486\":{},\"558\":{},\"593\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":102,\"name\":{\"127\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":257,\"name\":{\"377\":{},\"418\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":292,\"name\":{\"508\":{},\"615\":{}},\"comment\":{}}],[\"test\",{\"_index\":241,\"name\":{\"335\":{},\"381\":{},\"410\":{},\"459\":{},\"491\":{},\"565\":{},\"598\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":83,\"name\":{\"97\":{}},\"comment\":{}}],[\"todot\",{\"_index\":51,\"name\":{\"56\":{},\"340\":{},\"386\":{},\"415\":{},\"464\":{},\"496\":{},\"570\":{},\"603\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":53,\"name\":{\"58\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":93,\"name\":{\"117\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":94,\"name\":{\"118\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":58,\"name\":{\"65\":{},\"341\":{},\"387\":{},\"416\":{},\"465\":{},\"497\":{},\"571\":{},\"604\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":59,\"name\":{\"66\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":303,\"name\":{\"548\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":222,\"name\":{\"312\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":72,\"name\":{\"86\":{},\"339\":{},\"385\":{},\"414\":{},\"463\":{},\"495\":{},\"569\":{},\"602\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":250,\"name\":{\"367\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":73,\"name\":{\"87\":{},\"311\":{},\"338\":{},\"384\":{},\"413\":{},\"462\":{},\"494\":{},\"568\":{},\"601\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":223,\"name\":{\"313\":{}},\"comment\":{}}],[\"transform\",{\"_index\":175,\"name\":{\"245\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":184,\"name\":{\"254\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":176,\"name\":{\"246\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":186,\"name\":{\"258\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":249,\"name\":{\"363\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":248,\"name\":{\"362\":{},\"365\":{},\"388\":{},\"407\":{},\"466\":{},\"487\":{},\"572\":{},\"594\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"type\",{\"_index\":141,\"name\":{\"171\":{},\"176\":{},\"183\":{},\"191\":{},\"196\":{},\"201\":{},\"206\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":103,\"name\":{\"128\":{}},\"comment\":{}}],[\"union\",{\"_index\":227,\"name\":{\"318\":{},\"502\":{},\"605\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":289,\"name\":{\"503\":{},\"606\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":150,\"name\":{\"195\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":299,\"name\":{\"544\":{},\"648\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":272,\"name\":{\"430\":{},\"520\":{},\"626\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":273,\"name\":{\"431\":{},\"521\":{},\"627\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":297,\"name\":{\"523\":{},\"629\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":296,\"name\":{\"522\":{},\"628\":{}},\"comment\":{}}],[\"value\",{\"_index\":90,\"name\":{\"109\":{}},\"comment\":{}}],[\"values\",{\"_index\":198,\"name\":{\"272\":{},\"294\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":157,\"name\":{\"213\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":158,\"name\":{\"214\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":173,\"name\":{\"229\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":24,\"name\":{\"29\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"without\",{\"_index\":229,\"name\":{\"320\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":291,\"name\":{\"505\":{},\"612\":{}},\"comment\":{}}],[\"word\",{\"_index\":237,\"name\":{\"329\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":92,\"name\":{\"114\":{}},\"comment\":{}}],[\"words\",{\"_index\":125,\"name\":{\"155\":{},\"336\":{},\"382\":{},\"412\":{},\"460\":{},\"493\":{},\"566\":{},\"600\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":310,\"name\":{\"650\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":242,\"name\":{\"337\":{},\"383\":{},\"411\":{},\"461\":{},\"492\":{},\"567\":{},\"599\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":132,\"name\":{\"162\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":133,\"name\":{\"163\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/v0.11.0/assets/style.css b/docs/v0.11.0/assets/style.css new file mode 100644 index 00000000..496e66f2 --- /dev/null +++ b/docs/v0.11.0/assets/style.css @@ -0,0 +1,1279 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-ts: #db1373; + --light-color-ts-interface: #139d2c; + --light-color-ts-enum: #9c891a; + --light-color-ts-class: #2484e5; + --light-color-ts-function: #572be7; + --light-color-ts-namespace: #b111c9; + --light-color-ts-private: #707070; + --light-color-ts-variable: #4d68ff; + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-ts: #ff6492; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-class: #61b0ff; + --dark-color-ts-function: #9772ff; + --dark-color-ts-namespace: #e14dff; + --dark-color-ts-private: #e2e2e2; + --dark-color-ts-variable: #4d68ff; + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-private: var(--light-color-ts-private); + --color-ts-variable: var(--light-color-ts-variable); + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-private: var(--dark-color-ts-private); + --color-ts-variable: var(--dark-color-ts-variable); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-private: var(--light-color-ts-private); + --color-ts-variable: var(--light-color-ts-variable); + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-private: var(--dark-color-ts-private); + --color-ts-variable: var(--dark-color-ts-variable); + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1600px; + padding: 0 2rem; +} + +@media (min-width: 640px) { + .container { + padding: 0 4rem; + } +} +@media (min-width: 1200px) { + .container { + padding: 0 8rem; + } +} +@media (min-width: 1600px) { + .container { + padding: 0 12rem; + } +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + display: flex; + justify-content: space-between; + position: relative; + margin: 0 auto; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 2rem 1rem; +} + +.col-4 { + flex: 0 0 25%; +} +.col-8 { + flex: 1 0; + flex-wrap: wrap; + padding-left: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + padding: 10px; + border: 0.1em solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (max-width: 1024px) { + html .col-content { + float: none; + max-width: 100%; + width: 100%; + padding-top: 3rem; + } + html .col-menu { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + max-width: 25rem; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel a.tsd-parent-kind-module { + color: var(--color-ts); +} +.tsd-index-panel a.tsd-parent-kind-interface { + color: var(--color-ts-interface); +} +.tsd-index-panel a.tsd-parent-kind-enum { + color: var(--color-ts-enum); +} +.tsd-index-panel a.tsd-parent-kind-class { + color: var(--color-ts-class); +} +.tsd-index-panel a.tsd-kind-module { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-index-panel a.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-index-panel a.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-index-panel a.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-index-panel a.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-index-panel a.tsd-is-private { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation a { + display: block; + margin: 0.4rem 0; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary .tsd-accordion-details > ul { + margin-top: 0.75rem; +} +.tsd-navigation.primary a { + padding: 0.75rem 0.5rem; + margin: 0; +} +.tsd-navigation.primary ul li a { + margin-left: 0.5rem; +} +.tsd-navigation.primary ul li li a { + margin-left: 1.5rem; +} +.tsd-navigation.primary ul li li li a { + margin-left: 2.5rem; +} +.tsd-navigation.primary ul li li li li a { + margin-left: 3.5rem; +} +.tsd-navigation.primary ul li li li li li a { + margin-left: 4.5rem; +} +.tsd-navigation.primary ul li li li li li li a { + margin-left: 5.5rem; +} +.tsd-navigation.primary li.current > a { + border-left: 0.15rem var(--color-text) solid; +} +.tsd-navigation.primary li.selected > a { + font-weight: bold; + border-left: 0.2rem var(--color-text) solid; +} +.tsd-navigation.primary ul li a:hover { + border-left: 0.2rem var(--color-text-aside) solid; +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary > ul { + display: inline; + padding-right: 0.5rem; + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 0; +} +.tsd-navigation.secondary ul li li a { + padding-left: 1.1rem; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 2.2rem; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 3.3rem; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 4.4rem; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 5.5rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + margin: 0.25rem 0; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; +} +.tsd-accordion-summary > h1, +.tsd-accordion-summary > h2, +.tsd-accordion-summary > h3, +.tsd-accordion-summary > h4, +.tsd-accordion-summary > h5 { + display: inline-flex; + align-items: center; + vertical-align: middle; + margin-bottom: 0; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.tsd-accordion-summary { + display: block; + cursor: pointer; +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; +} +.tsd-index-accordion .tsd-accordion-summary svg { + margin-right: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +@media (min-width: 1025px) { + .col-content { + margin: 2rem auto; + } + + .menu-sticky-wrap { + position: sticky; + height: calc(100vh - 2rem); + top: 4rem; + right: 0; + padding: 0 1.5rem; + padding-top: 1rem; + margin-top: 3rem; + transition: 0.3s ease-in-out; + transition-property: top, padding-top, padding, height; + overflow-y: auto; + } + .col-menu { + border-left: 1px solid var(--color-accent); + } + .col-menu--hide { + top: 1rem; + } + .col-menu .tsd-navigation:not(:last-child) { + padding-bottom: 1.75rem; + } +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 1024px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} diff --git a/docs/v0.11.0/classes/CharBase.html b/docs/v0.11.0/classes/CharBase.html new file mode 100644 index 00000000..1978e1f2 --- /dev/null +++ b/docs/v0.11.0/classes/CharBase.html @@ -0,0 +1,152 @@ +CharBase | refa - v0.11.0
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+ + +

Guarantees

+
+
    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+ + +

Use case

+
+

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    + +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/CharMap.html b/docs/v0.11.0/classes/CharMap.html new file mode 100644 index 00000000..5a54489f --- /dev/null +++ b/docs/v0.11.0/classes/CharMap.html @@ -0,0 +1,434 @@ +CharMap | refa - v0.11.0
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/CharSet.html b/docs/v0.11.0/classes/CharSet.html new file mode 100644 index 00000000..53b5d736 --- /dev/null +++ b/docs/v0.11.0/classes/CharSet.html @@ -0,0 +1,510 @@ +CharSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    + +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    + +

    Returns

    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    + +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    + +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    + +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
    +

    Returns CharSet

+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    + +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
    • +
    • +
      range: CharRange
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/DFA-1.html b/docs/v0.11.0/classes/DFA-1.html new file mode 100644 index 00000000..7703d917 --- /dev/null +++ b/docs/v0.11.0/classes/DFA-1.html @@ -0,0 +1,601 @@ +DFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/DFA.Builder.html b/docs/v0.11.0/classes/DFA.Builder.html new file mode 100644 index 00000000..fdc92da2 --- /dev/null +++ b/docs/v0.11.0/classes/DFA.Builder.html @@ -0,0 +1,182 @@ +Builder | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns DFA.Node

+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/DFA.LimitedNodeFactory.html b/docs/v0.11.0/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..48c410ae --- /dev/null +++ b/docs/v0.11.0/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,111 @@ +LimitedNodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns DFA.Node

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/DFA.Node.html b/docs/v0.11.0/classes/DFA.Node.html new file mode 100644 index 00000000..ab3f55ea --- /dev/null +++ b/docs/v0.11.0/classes/DFA.Node.html @@ -0,0 +1,128 @@ +Node | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/ENFA-1.html b/docs/v0.11.0/classes/ENFA-1.html new file mode 100644 index 00000000..0ddfbf55 --- /dev/null +++ b/docs/v0.11.0/classes/ENFA-1.html @@ -0,0 +1,816 @@ +ENFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+ + +

Normal form

+
+

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    + +

    See

    ENFA

    +
    +

    Returns boolean

+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    + +

    See

    ENFA

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
    • +
    • +
      max: number
    • +
    • +
      lazy: boolean = false
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
    +

    Returns void

+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/ENFA.Builder.html b/docs/v0.11.0/classes/ENFA.Builder.html new file mode 100644 index 00000000..740c4192 --- /dev/null +++ b/docs/v0.11.0/classes/ENFA.Builder.html @@ -0,0 +1,182 @@ +Builder | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns ENFA.Node

+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/ENFA.LimitedNodeFactory.html b/docs/v0.11.0/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..f41c8002 --- /dev/null +++ b/docs/v0.11.0/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,111 @@ +LimitedNodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns ENFA.Node

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/ENFA.Node.html b/docs/v0.11.0/classes/ENFA.Node.html new file mode 100644 index 00000000..d83b3046 --- /dev/null +++ b/docs/v0.11.0/classes/ENFA.Node.html @@ -0,0 +1,234 @@ +Node | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/FAIterators.MapFABuilder.html b/docs/v0.11.0/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..47363eec --- /dev/null +++ b/docs/v0.11.0/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,176 @@ +MapFABuilder | refa - v0.11.0
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/JS.Parser.html b/docs/v0.11.0/classes/JS.Parser.html new file mode 100644 index 00000000..ec2b08d7 --- /dev/null +++ b/docs/v0.11.0/classes/JS.Parser.html @@ -0,0 +1,165 @@ +Parser | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
    • +
    • +
      Optional parserOptions: Options
    +

    Returns Parser

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/MaxCharacterError.html b/docs/v0.11.0/classes/MaxCharacterError.html new file mode 100644 index 00000000..31374fed --- /dev/null +++ b/docs/v0.11.0/classes/MaxCharacterError.html @@ -0,0 +1,106 @@ +MaxCharacterError | refa - v0.11.0
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
    • +
    • +
      Optional kind: string
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/NFA-1.html b/docs/v0.11.0/classes/NFA-1.html new file mode 100644 index 00000000..351d3f95 --- /dev/null +++ b/docs/v0.11.0/classes/NFA-1.html @@ -0,0 +1,817 @@ +NFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+ + +

Normal form

+
+

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    + +

    See

    NFA

    +
    +

    Returns boolean

+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    + +

    See

    NFA

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/NFA.Builder.html b/docs/v0.11.0/classes/NFA.Builder.html new file mode 100644 index 00000000..7560dc32 --- /dev/null +++ b/docs/v0.11.0/classes/NFA.Builder.html @@ -0,0 +1,182 @@ +Builder | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns NFA.Node

+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/NFA.LimitedNodeFactory.html b/docs/v0.11.0/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..f050887c --- /dev/null +++ b/docs/v0.11.0/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,111 @@ +LimitedNodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
    + +
  • +

    Creates a new state.

    + +

    Throws

    TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

    +
    +

    Returns NFA.Node

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/NFA.Node.html b/docs/v0.11.0/classes/NFA.Node.html new file mode 100644 index 00000000..f298096b --- /dev/null +++ b/docs/v0.11.0/classes/NFA.Node.html @@ -0,0 +1,154 @@ +Node | refa - v0.11.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/classes/TooManyNodesError.html b/docs/v0.11.0/classes/TooManyNodesError.html new file mode 100644 index 00000000..e8425aac --- /dev/null +++ b/docs/v0.11.0/classes/TooManyNodesError.html @@ -0,0 +1,107 @@ +TooManyNodesError | refa - v0.11.0
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
    • +
    • +
      limit: number
    • +
    • +
      kind: string
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.approximateRejectingWordSet.html b/docs/v0.11.0/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 00000000..ba56d016 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,110 @@ +approximateRejectingWordSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
    +

    Returns WordSet | undefined

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.canReachFinal.html b/docs/v0.11.0/functions/FAIterators.canReachFinal.html new file mode 100644 index 00000000..e1f53c5d --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.canReachFinal.html @@ -0,0 +1,100 @@ +canReachFinal | refa - v0.11.0
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.count.html b/docs/v0.11.0/functions/FAIterators.count.html new file mode 100644 index 00000000..f2b956a2 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.count.html @@ -0,0 +1,100 @@ +count | refa - v0.11.0
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.ensureStableOut.html b/docs/v0.11.0/functions/FAIterators.ensureStableOut.html new file mode 100644 index 00000000..f4e07671 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,102 @@ +ensureStableOut | refa - v0.11.0
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.filterOutIter.html b/docs/v0.11.0/functions/FAIterators.filterOutIter.html new file mode 100644 index 00000000..040455e0 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.filterOutIter.html @@ -0,0 +1,115 @@ +filterOutIter | refa - v0.11.0
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.forEach.html b/docs/v0.11.0/functions/FAIterators.forEach.html new file mode 100644 index 00000000..42bedc8c --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.forEach.html @@ -0,0 +1,115 @@ +forEach | refa - v0.11.0
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.fromWordSets.html b/docs/v0.11.0/functions/FAIterators.fromWordSets.html new file mode 100644 index 00000000..b237d740 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.fromWordSets.html @@ -0,0 +1,107 @@ +fromWordSets | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    + +

    Returns

    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.fromWords.html b/docs/v0.11.0/functions/FAIterators.fromWords.html new file mode 100644 index 00000000..39490fc7 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.fromWords.html @@ -0,0 +1,130 @@ +fromWords | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    + +

    Returns

    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
    • +
    • +
      maxCharacter: Char
    +

    Returns FAIterator<S, S>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.hasCycle.html b/docs/v0.11.0/functions/FAIterators.hasCycle.html new file mode 100644 index 00000000..77c096f0 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.hasCycle.html @@ -0,0 +1,100 @@ +hasCycle | refa - v0.11.0
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.intersection.html b/docs/v0.11.0/functions/FAIterators.intersection.html new file mode 100644 index 00000000..65e11c61 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.intersection.html @@ -0,0 +1,110 @@ +intersection | refa - v0.11.0
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.iterateStates.html b/docs/v0.11.0/functions/FAIterators.iterateStates.html new file mode 100644 index 00000000..bac388e1 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.iterateStates.html @@ -0,0 +1,101 @@ +iterateStates | refa - v0.11.0
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.iterateWordSets.html b/docs/v0.11.0/functions/FAIterators.iterateWordSets.html new file mode 100644 index 00000000..c705abe0 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,102 @@ +iterateWordSets | refa - v0.11.0
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.languageIsFinite.html b/docs/v0.11.0/functions/FAIterators.languageIsFinite.html new file mode 100644 index 00000000..cd45cd60 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,100 @@ +languageIsFinite | refa - v0.11.0
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.makeDeterministic.html b/docs/v0.11.0/functions/FAIterators.makeDeterministic.html new file mode 100644 index 00000000..3fafc7f9 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,105 @@ +makeDeterministic | refa - v0.11.0
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.makeInitialFinal.html b/docs/v0.11.0/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 00000000..1720a0ae --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,103 @@ +makeInitialFinal | refa - v0.11.0
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.makeInitialNonFinal.html b/docs/v0.11.0/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 00000000..18417059 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,103 @@ +makeInitialNonFinal | refa - v0.11.0
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.mapOut.html b/docs/v0.11.0/functions/FAIterators.mapOut.html new file mode 100644 index 00000000..4142e91e --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.mapOut.html @@ -0,0 +1,117 @@ +mapOut | refa - v0.11.0
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
    • +
    • +
      mapFn: ((out: O) => T)
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.mapOutIter.html b/docs/v0.11.0/functions/FAIterators.mapOutIter.html new file mode 100644 index 00000000..606069a0 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.mapOutIter.html @@ -0,0 +1,117 @@ +mapOutIter | refa - v0.11.0
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
    • +
    • +
      mapFn: ((out: O) => T)
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.removeDeadStates.html b/docs/v0.11.0/functions/FAIterators.removeDeadStates.html new file mode 100644 index 00000000..aa4813c0 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,116 @@ +removeDeadStates | refa - v0.11.0
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
    • +
    • +
      select: ((item: O) => S)
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.shortestAcceptingPath.html b/docs/v0.11.0/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 00000000..6e0e35e8 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,117 @@ +shortestAcceptingPath | refa - v0.11.0
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
    • +
    • +
      selectState: ((item: T) => S)
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.shortestWordSet.html b/docs/v0.11.0/functions/FAIterators.shortestWordSet.html new file mode 100644 index 00000000..f349ad8f --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,104 @@ +shortestWordSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.toDot.html b/docs/v0.11.0/functions/FAIterators.toDot.html new file mode 100644 index 00000000..81f800aa --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.toDot.html @@ -0,0 +1,102 @@ +toDot | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.toMermaid.html b/docs/v0.11.0/functions/FAIterators.toMermaid.html new file mode 100644 index 00000000..2c76fc7c --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.toMermaid.html @@ -0,0 +1,102 @@ +toMermaid | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.toRegex.html b/docs/v0.11.0/functions/FAIterators.toRegex.html new file mode 100644 index 00000000..a772bcc8 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.toRegex.html @@ -0,0 +1,103 @@ +toRegex | refa - v0.11.0
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.toString.html b/docs/v0.11.0/functions/FAIterators.toString.html new file mode 100644 index 00000000..eeb94df2 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.toString.html @@ -0,0 +1,135 @@ +toString | refa - v0.11.0
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
    • +
    • +
      toString: ((value: T) => string) = String
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
    +

    Returns string

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.withGetOut.html b/docs/v0.11.0/functions/FAIterators.withGetOut.html new file mode 100644 index 00000000..d7030236 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.withGetOut.html @@ -0,0 +1,120 @@ +withGetOut | refa - v0.11.0
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    + +

    Returns

    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
    • +
    • +
      getOut: ((state: S) => T)
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
    +

    Returns FAIterator<S, T>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.withInitial.html b/docs/v0.11.0/functions/FAIterators.withInitial.html new file mode 100644 index 00000000..06f90157 --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.withInitial.html @@ -0,0 +1,105 @@ +withInitial | refa - v0.11.0
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    + +

    Returns

    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/FAIterators.withIsFinal.html b/docs/v0.11.0/functions/FAIterators.withIsFinal.html new file mode 100644 index 00000000..70f68e3f --- /dev/null +++ b/docs/v0.11.0/functions/FAIterators.withIsFinal.html @@ -0,0 +1,116 @@ +withIsFinal | refa - v0.11.0
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    + +

    Returns

    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/JS.createAssertion.html b/docs/v0.11.0/functions/JS.createAssertion.html new file mode 100644 index 00000000..9bca6466 --- /dev/null +++ b/docs/v0.11.0/functions/JS.createAssertion.html @@ -0,0 +1,78 @@ +createAssertion | refa - v0.11.0
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/JS.createCharSet.html b/docs/v0.11.0/functions/JS.createCharSet.html new file mode 100644 index 00000000..8258dbfe --- /dev/null +++ b/docs/v0.11.0/functions/JS.createCharSet.html @@ -0,0 +1,84 @@ +createCharSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/JS.toLiteral.html b/docs/v0.11.0/functions/JS.toLiteral.html new file mode 100644 index 00000000..1181a1ea --- /dev/null +++ b/docs/v0.11.0/functions/JS.toLiteral.html @@ -0,0 +1,92 @@ +toLiteral | refa - v0.11.0
+
+ +
+
+
+
+ +

Function toLiteral

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.applyAssertions.html b/docs/v0.11.0/functions/Transformers.applyAssertions.html new file mode 100644 index 00000000..45d53552 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.applyAssertions.html @@ -0,0 +1,74 @@ +applyAssertions | refa - v0.11.0
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.factorOut.html b/docs/v0.11.0/functions/Transformers.factorOut.html new file mode 100644 index 00000000..4f25b36c --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.factorOut.html @@ -0,0 +1,82 @@ +factorOut | refa - v0.11.0
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.inline.html b/docs/v0.11.0/functions/Transformers.inline.html new file mode 100644 index 00000000..c88e068d --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.inline.html @@ -0,0 +1,84 @@ +inline | refa - v0.11.0
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.mergeWithQuantifier.html b/docs/v0.11.0/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 00000000..e8babf83 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,78 @@ +mergeWithQuantifier | refa - v0.11.0
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.moveUpEmpty.html b/docs/v0.11.0/functions/Transformers.moveUpEmpty.html new file mode 100644 index 00000000..cb52649e --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,82 @@ +moveUpEmpty | refa - v0.11.0
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.nestedQuantifiers.html b/docs/v0.11.0/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 00000000..c0ea402f --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,82 @@ +nestedQuantifiers | refa - v0.11.0
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.patternEdgeAssertions.html b/docs/v0.11.0/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 00000000..cffa8f2c --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,81 @@ +patternEdgeAssertions | refa - v0.11.0
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.removeDeadBranches.html b/docs/v0.11.0/functions/Transformers.removeDeadBranches.html new file mode 100644 index 00000000..127cac8e --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,78 @@ +removeDeadBranches | refa - v0.11.0
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.removeUnnecessaryAssertions.html b/docs/v0.11.0/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 00000000..c4c7aee9 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,73 @@ +removeUnnecessaryAssertions | refa - v0.11.0
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.replaceAssertions.html b/docs/v0.11.0/functions/Transformers.replaceAssertions.html new file mode 100644 index 00000000..5fdf37d0 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.replaceAssertions.html @@ -0,0 +1,73 @@ +replaceAssertions | refa - v0.11.0
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.sortAssertions.html b/docs/v0.11.0/functions/Transformers.sortAssertions.html new file mode 100644 index 00000000..7cc8d9c8 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.sortAssertions.html @@ -0,0 +1,75 @@ +sortAssertions | refa - v0.11.0
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Transformers.unionCharacters.html b/docs/v0.11.0/functions/Transformers.unionCharacters.html new file mode 100644 index 00000000..9cc379f1 --- /dev/null +++ b/docs/v0.11.0/functions/Transformers.unionCharacters.html @@ -0,0 +1,75 @@ +unionCharacters | refa - v0.11.0
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.fromStringToUTF16.html b/docs/v0.11.0/functions/Words.fromStringToUTF16.html new file mode 100644 index 00000000..57e04c23 --- /dev/null +++ b/docs/v0.11.0/functions/Words.fromStringToUTF16.html @@ -0,0 +1,67 @@ +fromStringToUTF16 | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromStringToUTF16

+
+
    + +
  • +

    Converts the given string into an array of UTF16 character codes.

    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +
    +

    Parameters

    +
      +
    • +
      string: string
    +

    Returns Word

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.fromStringToUnicode.html b/docs/v0.11.0/functions/Words.fromStringToUnicode.html new file mode 100644 index 00000000..dcd37533 --- /dev/null +++ b/docs/v0.11.0/functions/Words.fromStringToUnicode.html @@ -0,0 +1,67 @@ +fromStringToUnicode | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromStringToUnicode

+
+
    + +
  • +

    Converts the given string into an array of Unicode code points.

    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +
    +

    Parameters

    +
      +
    • +
      string: string
    +

    Returns Word

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.fromUTF16ToString.html b/docs/v0.11.0/functions/Words.fromUTF16ToString.html new file mode 100644 index 00000000..31dda9d6 --- /dev/null +++ b/docs/v0.11.0/functions/Words.fromUTF16ToString.html @@ -0,0 +1,67 @@ +fromUTF16ToString | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromUTF16ToString

+
+
    + +
  • +

    Converts the given array of UTF16 character codes into a string.

    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +
    +

    Parameters

    +
    +

    Returns string

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.fromUnicodeToString.html b/docs/v0.11.0/functions/Words.fromUnicodeToString.html new file mode 100644 index 00000000..b418130d --- /dev/null +++ b/docs/v0.11.0/functions/Words.fromUnicodeToString.html @@ -0,0 +1,67 @@ +fromUnicodeToString | refa - v0.11.0
+
+ +
+
+
+
+ +

Function fromUnicodeToString

+
+
    + +
  • +

    Converts the given array of Unicode code points into a string.

    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +
    +

    Parameters

    +
    +

    Returns string

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.pickMostReadableCharacter.html b/docs/v0.11.0/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 00000000..0fb7841e --- /dev/null +++ b/docs/v0.11.0/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,69 @@ +pickMostReadableCharacter | refa - v0.11.0
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.pickMostReadableWord.html b/docs/v0.11.0/functions/Words.pickMostReadableWord.html new file mode 100644 index 00000000..8edfa4a2 --- /dev/null +++ b/docs/v0.11.0/functions/Words.pickMostReadableWord.html @@ -0,0 +1,66 @@ +pickMostReadableWord | refa - v0.11.0
+
+ +
+
+
+
+ +

Function pickMostReadableWord

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.wordSetToWords.html b/docs/v0.11.0/functions/Words.wordSetToWords.html new file mode 100644 index 00000000..789f6dee --- /dev/null +++ b/docs/v0.11.0/functions/Words.wordSetToWords.html @@ -0,0 +1,68 @@ +wordSetToWords | refa - v0.11.0
+
+ +
+
+
+
+ +

Function wordSetToWords

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/Words.wordSetsToWords.html b/docs/v0.11.0/functions/Words.wordSetsToWords.html new file mode 100644 index 00000000..3ed5b4ec --- /dev/null +++ b/docs/v0.11.0/functions/Words.wordSetsToWords.html @@ -0,0 +1,66 @@ +wordSetsToWords | refa - v0.11.0
+
+ +
+
+
+
+ +

Function wordSetsToWords

+
+
    + +
  • +

    Returns an iterable yielding all words that can be constructed from the given word sets.

    +
    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/combineTransformers.html b/docs/v0.11.0/functions/combineTransformers.html new file mode 100644 index 00000000..ce0225a2 --- /dev/null +++ b/docs/v0.11.0/functions/combineTransformers.html @@ -0,0 +1,111 @@ +combineTransformers | refa - v0.11.0
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/getIntersectionIterator.html b/docs/v0.11.0/functions/getIntersectionIterator.html new file mode 100644 index 00000000..3f48734c --- /dev/null +++ b/docs/v0.11.0/functions/getIntersectionIterator.html @@ -0,0 +1,120 @@ +getIntersectionIterator | refa - v0.11.0
+
+ +
+
+
+
+ +

Function getIntersectionIterator

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/getIntersectionWordSets.html b/docs/v0.11.0/functions/getIntersectionWordSets.html new file mode 100644 index 00000000..811ff3dc --- /dev/null +++ b/docs/v0.11.0/functions/getIntersectionWordSets.html @@ -0,0 +1,126 @@ +getIntersectionWordSets | refa - v0.11.0
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/getIntersectionWords.html b/docs/v0.11.0/functions/getIntersectionWords.html new file mode 100644 index 00000000..757f7a75 --- /dev/null +++ b/docs/v0.11.0/functions/getIntersectionWords.html @@ -0,0 +1,125 @@ +getIntersectionWords | refa - v0.11.0
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/isDisjointWith.html b/docs/v0.11.0/functions/isDisjointWith.html new file mode 100644 index 00000000..2c71d2d1 --- /dev/null +++ b/docs/v0.11.0/functions/isDisjointWith.html @@ -0,0 +1,123 @@ +isDisjointWith | refa - v0.11.0
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/setParent.html b/docs/v0.11.0/functions/setParent.html new file mode 100644 index 00000000..0b95fc1c --- /dev/null +++ b/docs/v0.11.0/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.11.0
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
    +

    Returns asserts node is T

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/setSource.html b/docs/v0.11.0/functions/setSource.html new file mode 100644 index 00000000..3ea73f05 --- /dev/null +++ b/docs/v0.11.0/functions/setSource.html @@ -0,0 +1,114 @@ +setSource | refa - v0.11.0
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/transform.html b/docs/v0.11.0/functions/transform.html new file mode 100644 index 00000000..6c283bba --- /dev/null +++ b/docs/v0.11.0/functions/transform.html @@ -0,0 +1,113 @@ +transform | refa - v0.11.0
+
+ +
+
+
+
+ +

Function transform

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/functions/visitAst.html b/docs/v0.11.0/functions/visitAst.html new file mode 100644 index 00000000..d6d2a0ae --- /dev/null +++ b/docs/v0.11.0/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.11.0
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/index.html b/docs/v0.11.0/index.html new file mode 100644 index 00000000..7a8dd48f --- /dev/null +++ b/docs/v0.11.0/index.html @@ -0,0 +1,266 @@ +refa - v0.11.0
+
+ +
+
+
+
+

refa - v0.11.0

+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ + +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ + +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ + +

Features

+
+
    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ + +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+ + +

Universal characters

+
+

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+ + +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ + +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ + +

Testing whether a word is accepted

+
+
import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+ + +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+ + +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+ + +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ + +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ + +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const applyTransformer = combineTransformers([
Transformers.inline(),
Transformers.removeDeadBranches(),
Transformers.removeUnnecessaryAssertions(),
Transformers.sortAssertions(),
Transformers.applyAssertions(),
Transformers.removeUnnecessaryAssertions(),
]);
const modifiedExpression = transform(applyTransformer, expression);

console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(
Transformers.patternEdgeAssertions({ remove: true }),
modifiedExpression
);

console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });

console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Alternation.html b/docs/v0.11.0/interfaces/Alternation.html new file mode 100644 index 00000000..ee53c475 --- /dev/null +++ b/docs/v0.11.0/interfaces/Alternation.html @@ -0,0 +1,86 @@ +Alternation | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Assertion.html b/docs/v0.11.0/interfaces/Assertion.html new file mode 100644 index 00000000..6b6788ea --- /dev/null +++ b/docs/v0.11.0/interfaces/Assertion.html @@ -0,0 +1,96 @@ +Assertion | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/CharRange.html b/docs/v0.11.0/interfaces/CharRange.html new file mode 100644 index 00000000..ddfbdd69 --- /dev/null +++ b/docs/v0.11.0/interfaces/CharRange.html @@ -0,0 +1,81 @@ +CharRange | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/CharacterClass.html b/docs/v0.11.0/interfaces/CharacterClass.html new file mode 100644 index 00000000..49d6f0cc --- /dev/null +++ b/docs/v0.11.0/interfaces/CharacterClass.html @@ -0,0 +1,86 @@ +CharacterClass | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Concatenation.html b/docs/v0.11.0/interfaces/Concatenation.html new file mode 100644 index 00000000..bd2f90b1 --- /dev/null +++ b/docs/v0.11.0/interfaces/Concatenation.html @@ -0,0 +1,86 @@ +Concatenation | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/DFA.Options.html b/docs/v0.11.0/interfaces/DFA.Options.html new file mode 100644 index 00000000..024773b3 --- /dev/null +++ b/docs/v0.11.0/interfaces/DFA.Options.html @@ -0,0 +1,70 @@ +Options | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Options

+
+

Hierarchy

+
    +
  • Options
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/DFA.ReadonlyNode.html b/docs/v0.11.0/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..f2400cd2 --- /dev/null +++ b/docs/v0.11.0/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,71 @@ +ReadonlyNode | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
out +
+
+

Properties

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ENFA.FromRegexOptions.html b/docs/v0.11.0/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..12f0f0dd --- /dev/null +++ b/docs/v0.11.0/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,110 @@ +FromRegexOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+ +

Default

"throw"

+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+ +

Default

Infinity

+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+ +

Default

"throw"

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ENFA.Options.html b/docs/v0.11.0/interfaces/ENFA.Options.html new file mode 100644 index 00000000..f0e54d71 --- /dev/null +++ b/docs/v0.11.0/interfaces/ENFA.Options.html @@ -0,0 +1,70 @@ +Options | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Options

+
+

Hierarchy

+
    +
  • Options
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ENFA.ReadonlyNode.html b/docs/v0.11.0/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..82d15009 --- /dev/null +++ b/docs/v0.11.0/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,153 @@ +ReadonlyNode | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Expression.html b/docs/v0.11.0/interfaces/Expression.html new file mode 100644 index 00000000..3ed4f1f6 --- /dev/null +++ b/docs/v0.11.0/interfaces/Expression.html @@ -0,0 +1,86 @@ +Expression | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FABuilder.html b/docs/v0.11.0/interfaces/FABuilder.html new file mode 100644 index 00000000..bde27916 --- /dev/null +++ b/docs/v0.11.0/interfaces/FABuilder.html @@ -0,0 +1,180 @@ +FABuilder | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      + +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
      +

      Returns S

+
+ +
initial: S
+

The initial state of the FA.

+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterator.html b/docs/v0.11.0/interfaces/FAIterator.html new file mode 100644 index 00000000..0ea5305e --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterator.html @@ -0,0 +1,145 @@ +FAIterator | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      + +

      See

      stableOut

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

+
+ +
initial: S
+

The initial state of the FA.

+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+ +

Default

false

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.MermaidEdge.html b/docs/v0.11.0/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 00000000..7142a2f6 --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,72 @@ +MermaidEdge | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.MermaidNode.html b/docs/v0.11.0/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 00000000..54580488 --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,72 @@ +MermaidNode | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.NodeInfo.html b/docs/v0.11.0/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 00000000..35ca12ff --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,119 @@ +NodeInfo | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.SimplePrintOptions.html b/docs/v0.11.0/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 00000000..ff9e5215 --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,97 @@ +SimplePrintOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+ +

Default

false

+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      + +

      Returns

      +
      +

      Parameters

      +
        +
      • +
        transition: T
      +

      Returns string

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.ToDotOptions.html b/docs/v0.11.0/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..d3685fb8 --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,128 @@ +ToDotOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FAIterators.ToMermaidOptions.html b/docs/v0.11.0/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 00000000..1ef58370 --- /dev/null +++ b/docs/v0.11.0/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,115 @@ +ToMermaidOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/FiniteAutomaton.html b/docs/v0.11.0/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..cb29c4c3 --- /dev/null +++ b/docs/v0.11.0/interfaces/FiniteAutomaton.html @@ -0,0 +1,220 @@ +FiniteAutomaton | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.AnyCharacterSet.html b/docs/v0.11.0/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..ad1277b6 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,67 @@ +AnyCharacterSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.DigitCharacterSet.html b/docs/v0.11.0/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..f8ebaabf --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,72 @@ +DigitCharacterSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.Flags.html b/docs/v0.11.0/interfaces/JS.Flags.html new file mode 100644 index 00000000..46e5cffa --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.Flags.html @@ -0,0 +1,121 @@ +Flags | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Flags

+
+

A partial set of RegExp flags.

+
+
+

Hierarchy

+
    +
  • Flags
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false

+
+
+ +
global?: boolean
+
+

Default

false

+
+
+ +
hasIndices?: boolean
+
+

Default

false

+
+
+ +
ignoreCase?: boolean
+
+

Default

false

+
+
+ +
multiline?: boolean
+
+

Default

false

+
+
+ +
sticky?: boolean
+
+

Default

false

+
+
+ +
unicode?: boolean
+
+

Default

false

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.Literal.html b/docs/v0.11.0/interfaces/JS.Literal.html new file mode 100644 index 00000000..4efa83c9 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.Literal.html @@ -0,0 +1,77 @@ +Literal | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.ParseOptions.html b/docs/v0.11.0/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..5f8699df --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.ParseOptions.html @@ -0,0 +1,179 @@ +ParseOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+ +

Default

"parse"

+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+ +

Default

"throw"

+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+ +

Default

100

+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+ +

Default

10000

+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+ +

Default

true

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.ParseResult.html b/docs/v0.11.0/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..660b7a3d --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.ParseResult.html @@ -0,0 +1,72 @@ +ParseResult | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.PropertyCharacterSet.html b/docs/v0.11.0/interfaces/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..e50c899d --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.PropertyCharacterSet.html @@ -0,0 +1,82 @@ +PropertyCharacterSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface PropertyCharacterSet

+
+

Hierarchy

+
    +
  • PropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.RegexppAst.html b/docs/v0.11.0/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..71e655b8 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.RegexppAst.html @@ -0,0 +1,72 @@ +RegexppAst | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.SpaceCharacterSet.html b/docs/v0.11.0/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..924b4605 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,72 @@ +SpaceCharacterSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.11.0/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..83e5b1e1 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,67 @@ +TextBoundaryAssertion | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.ToLiteralOptions.html b/docs/v0.11.0/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..934ff6fe --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,86 @@ +ToLiteralOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+ +

Default

false

+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.11.0/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..366a6492 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,72 @@ +WordBoundaryAssertion | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/JS.WordCharacterSet.html b/docs/v0.11.0/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..d907ffc0 --- /dev/null +++ b/docs/v0.11.0/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,72 @@ +WordCharacterSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/NFA.FromRegexOptions.html b/docs/v0.11.0/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..4bca8972 --- /dev/null +++ b/docs/v0.11.0/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,110 @@ +FromRegexOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+ +

Default

"throw"

+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+ +

Default

Infinity

+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+ +

Default

"throw"

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/NFA.Options.html b/docs/v0.11.0/interfaces/NFA.Options.html new file mode 100644 index 00000000..c1e6c5bf --- /dev/null +++ b/docs/v0.11.0/interfaces/NFA.Options.html @@ -0,0 +1,70 @@ +Options | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Options

+
+

Hierarchy

+
    +
  • Options
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum numerical value any character can have.

+

This will be the maximum of all underlying CharSets.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/NFA.ReadonlyNode.html b/docs/v0.11.0/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..c594c9a6 --- /dev/null +++ b/docs/v0.11.0/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,76 @@ +ReadonlyNode | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Properties

+
+ +
in: ReadonlyMap<NFA.ReadonlyNode, CharSet>
+
+ +
out: ReadonlyMap<NFA.ReadonlyNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/NodeFactory.html b/docs/v0.11.0/interfaces/NodeFactory.html new file mode 100644 index 00000000..26e72112 --- /dev/null +++ b/docs/v0.11.0/interfaces/NodeFactory.html @@ -0,0 +1,95 @@ +NodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      + +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
      +

      Returns S

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Quantifier.html b/docs/v0.11.0/interfaces/Quantifier.html new file mode 100644 index 00000000..b9ceec5f --- /dev/null +++ b/docs/v0.11.0/interfaces/Quantifier.html @@ -0,0 +1,101 @@ +Quantifier | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ReadonlyCharMap.html b/docs/v0.11.0/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..efac49aa --- /dev/null +++ b/docs/v0.11.0/interfaces/ReadonlyCharMap.html @@ -0,0 +1,220 @@ +ReadonlyCharMap | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

+
+ +
+
+ +
    + +
  • +

    Returns Iterable<T>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ReadonlyDFA.html b/docs/v0.11.0/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..4392ba86 --- /dev/null +++ b/docs/v0.11.0/interfaces/ReadonlyDFA.html @@ -0,0 +1,332 @@ +ReadonlyDFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ReadonlyENFA.html b/docs/v0.11.0/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..b7ebbd55 --- /dev/null +++ b/docs/v0.11.0/interfaces/ReadonlyENFA.html @@ -0,0 +1,331 @@ +ReadonlyENFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+ + +

The initial state of the ENFA.

+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+ +

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ReadonlyNFA.html b/docs/v0.11.0/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..4c1f86a6 --- /dev/null +++ b/docs/v0.11.0/interfaces/ReadonlyNFA.html @@ -0,0 +1,325 @@ +ReadonlyNFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+ +

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/SourceLocation.html b/docs/v0.11.0/interfaces/SourceLocation.html new file mode 100644 index 00000000..fa9c75c7 --- /dev/null +++ b/docs/v0.11.0/interfaces/SourceLocation.html @@ -0,0 +1,71 @@ +SourceLocation | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface SourceLocation

+
+

Hierarchy

+
    +
  • SourceLocation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
end: number
+
+ +
start: number
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/ToRegexOptions.html b/docs/v0.11.0/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..532117a3 --- /dev/null +++ b/docs/v0.11.0/interfaces/ToRegexOptions.html @@ -0,0 +1,82 @@ +ToRegexOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+ +

Default

10000

+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/TransformContext.html b/docs/v0.11.0/interfaces/TransformContext.html new file mode 100644 index 00000000..344f6343 --- /dev/null +++ b/docs/v0.11.0/interfaces/TransformContext.html @@ -0,0 +1,85 @@ +TransformContext | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/TransformOptions.html b/docs/v0.11.0/interfaces/TransformOptions.html new file mode 100644 index 00000000..a770c315 --- /dev/null +++ b/docs/v0.11.0/interfaces/TransformOptions.html @@ -0,0 +1,72 @@ +TransformOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+ +

Default

10

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Transformer.html b/docs/v0.11.0/interfaces/Transformer.html new file mode 100644 index 00000000..a2ff9267 --- /dev/null +++ b/docs/v0.11.0/interfaces/Transformer.html @@ -0,0 +1,174 @@ +Transformer | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+

Hierarchy

+
    +
  • Transformer
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Transformers.CreationOptions.html b/docs/v0.11.0/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..2d455ef7 --- /dev/null +++ b/docs/v0.11.0/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,84 @@ +CreationOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+ +

Default

false

+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+ +

Default

false

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.11.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..1a2377ed --- /dev/null +++ b/docs/v0.11.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,101 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+ +

Default

false

+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+ +

Default

false

+
+
+ +
inline?: boolean
+
+

Default

true

+
+
+ +
remove?: boolean
+
+

Default

false

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.11.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..3837f61f --- /dev/null +++ b/docs/v0.11.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,93 @@ +RemoveAssertionsCreationOptions | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+ +

Default

false

+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+ +

Default

false

+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/TransitionIterable.html b/docs/v0.11.0/interfaces/TransitionIterable.html new file mode 100644 index 00000000..9dbf575d --- /dev/null +++ b/docs/v0.11.0/interfaces/TransitionIterable.html @@ -0,0 +1,91 @@ +TransitionIterable | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/Unknown.html b/docs/v0.11.0/interfaces/Unknown.html new file mode 100644 index 00000000..0e081e47 --- /dev/null +++ b/docs/v0.11.0/interfaces/Unknown.html @@ -0,0 +1,86 @@ +Unknown | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/VisitAstHandler.html b/docs/v0.11.0/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..b91d7bf3 --- /dev/null +++ b/docs/v0.11.0/interfaces/VisitAstHandler.html @@ -0,0 +1,243 @@ +VisitAstHandler | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/interfaces/VisitNoParentAstHandler.html b/docs/v0.11.0/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..98a417f4 --- /dev/null +++ b/docs/v0.11.0/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,243 @@ +VisitNoParentAstHandler | refa - v0.11.0
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules.html b/docs/v0.11.0/modules.html new file mode 100644 index 00000000..471acd0b --- /dev/null +++ b/docs/v0.11.0/modules.html @@ -0,0 +1,169 @@ +refa - v0.11.0
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/DFA.html b/docs/v0.11.0/modules/DFA.html new file mode 100644 index 00000000..f7a8518a --- /dev/null +++ b/docs/v0.11.0/modules/DFA.html @@ -0,0 +1,74 @@ +DFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Namespace DFA

+
+

A namespace for DFA-specific classes and interfaces.

+ +

See

DFA (class)

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Variables

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/ENFA.html b/docs/v0.11.0/modules/ENFA.html new file mode 100644 index 00000000..5ebba2c9 --- /dev/null +++ b/docs/v0.11.0/modules/ENFA.html @@ -0,0 +1,76 @@ +ENFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Namespace ENFA

+
+

A namespace for ENFA-specific classes and interfaces.

+ +

See

ENFA (class)

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Variables

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/FAIterators.html b/docs/v0.11.0/modules/FAIterators.html new file mode 100644 index 00000000..d4679d2a --- /dev/null +++ b/docs/v0.11.0/modules/FAIterators.html @@ -0,0 +1,137 @@ +FAIterators | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/modules/JS.html b/docs/v0.11.0/modules/JS.html new file mode 100644 index 00000000..67124e2f --- /dev/null +++ b/docs/v0.11.0/modules/JS.html @@ -0,0 +1,110 @@ +JS | refa - v0.11.0
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+ +

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/NFA.html b/docs/v0.11.0/modules/NFA.html new file mode 100644 index 00000000..76d2c2d5 --- /dev/null +++ b/docs/v0.11.0/modules/NFA.html @@ -0,0 +1,76 @@ +NFA | refa - v0.11.0
+
+ +
+
+
+
+ +

Namespace NFA

+
+

A namespace for NFA-specific classes and interfaces.

+ +

See

NFA (class)

+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Variables

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/Transformers.html b/docs/v0.11.0/modules/Transformers.html new file mode 100644 index 00000000..b0b1a8fb --- /dev/null +++ b/docs/v0.11.0/modules/Transformers.html @@ -0,0 +1,89 @@ +Transformers | refa - v0.11.0
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/modules/Words.html b/docs/v0.11.0/modules/Words.html new file mode 100644 index 00000000..d0bdd298 --- /dev/null +++ b/docs/v0.11.0/modules/Words.html @@ -0,0 +1,67 @@ +Words | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/Char.html b/docs/v0.11.0/types/Char.html new file mode 100644 index 00000000..da6d3f08 --- /dev/null +++ b/docs/v0.11.0/types/Char.html @@ -0,0 +1,109 @@ +Char | refa - v0.11.0
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/types/Element.html b/docs/v0.11.0/types/Element.html new file mode 100644 index 00000000..7e29c555 --- /dev/null +++ b/docs/v0.11.0/types/Element.html @@ -0,0 +1,97 @@ +Element | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/FAIterators.MapFABuilderNode.html b/docs/v0.11.0/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 00000000..144b3265 --- /dev/null +++ b/docs/v0.11.0/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,84 @@ +MapFABuilderNode | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/FAIterators.ToDotAttrs.html b/docs/v0.11.0/types/FAIterators.ToDotAttrs.html new file mode 100644 index 00000000..581ecd17 --- /dev/null +++ b/docs/v0.11.0/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,84 @@ +ToDotAttrs | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/JS.BoundaryAssertion.html b/docs/v0.11.0/types/JS.BoundaryAssertion.html new file mode 100644 index 00000000..6ec17982 --- /dev/null +++ b/docs/v0.11.0/types/JS.BoundaryAssertion.html @@ -0,0 +1,67 @@ +BoundaryAssertion | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/JS.ParsableElement.html b/docs/v0.11.0/types/JS.ParsableElement.html new file mode 100644 index 00000000..4edbf84b --- /dev/null +++ b/docs/v0.11.0/types/JS.ParsableElement.html @@ -0,0 +1,67 @@ +ParsableElement | refa - v0.11.0
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/types/JS.PredefinedCharacterSet.html b/docs/v0.11.0/types/JS.PredefinedCharacterSet.html new file mode 100644 index 00000000..2957d7ee --- /dev/null +++ b/docs/v0.11.0/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,67 @@ +PredefinedCharacterSet | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/NoParent.html b/docs/v0.11.0/types/NoParent.html new file mode 100644 index 00000000..a5dfbba9 --- /dev/null +++ b/docs/v0.11.0/types/NoParent.html @@ -0,0 +1,104 @@ +NoParent | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/Node.html b/docs/v0.11.0/types/Node.html new file mode 100644 index 00000000..0e0d7975 --- /dev/null +++ b/docs/v0.11.0/types/Node.html @@ -0,0 +1,97 @@ +Node | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/Parent.html b/docs/v0.11.0/types/Parent.html new file mode 100644 index 00000000..62601d23 --- /dev/null +++ b/docs/v0.11.0/types/Parent.html @@ -0,0 +1,97 @@ +Parent | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/ReadonlyWord.html b/docs/v0.11.0/types/ReadonlyWord.html new file mode 100644 index 00000000..c0a96598 --- /dev/null +++ b/docs/v0.11.0/types/ReadonlyWord.html @@ -0,0 +1,100 @@ +ReadonlyWord | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/ReadonlyWordSet.html b/docs/v0.11.0/types/ReadonlyWordSet.html new file mode 100644 index 00000000..af856352 --- /dev/null +++ b/docs/v0.11.0/types/ReadonlyWordSet.html @@ -0,0 +1,100 @@ +ReadonlyWordSet | refa - v0.11.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.11.0/types/TransitionIterator.html b/docs/v0.11.0/types/TransitionIterator.html new file mode 100644 index 00000000..f03620d0 --- /dev/null +++ b/docs/v0.11.0/types/TransitionIterator.html @@ -0,0 +1,105 @@ +TransitionIterator | refa - v0.11.0
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
\ No newline at end of file diff --git a/docs/v0.11.0/types/Word.html b/docs/v0.11.0/types/Word.html new file mode 100644 index 00000000..e963cacc --- /dev/null +++ b/docs/v0.11.0/types/Word.html @@ -0,0 +1,103 @@ +Word | refa - v0.11.0
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/types/WordSet.html b/docs/v0.11.0/types/WordSet.html new file mode 100644 index 00000000..aa455888 --- /dev/null +++ b/docs/v0.11.0/types/WordSet.html @@ -0,0 +1,105 @@ +WordSet | refa - v0.11.0
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/variables/DFA.nodeFactory.html b/docs/v0.11.0/variables/DFA.nodeFactory.html new file mode 100644 index 00000000..dfb3a718 --- /dev/null +++ b/docs/v0.11.0/variables/DFA.nodeFactory.html @@ -0,0 +1,55 @@ +nodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Variable nodeFactoryConst

+
nodeFactory: NodeFactory<DFA.Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/variables/ENFA.nodeFactory.html b/docs/v0.11.0/variables/ENFA.nodeFactory.html new file mode 100644 index 00000000..f3d2be6f --- /dev/null +++ b/docs/v0.11.0/variables/ENFA.nodeFactory.html @@ -0,0 +1,56 @@ +nodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Variable nodeFactoryConst

+
nodeFactory: NodeFactory<ENFA.Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+
+
+
\ No newline at end of file diff --git a/docs/v0.11.0/variables/NFA.nodeFactory.html b/docs/v0.11.0/variables/NFA.nodeFactory.html new file mode 100644 index 00000000..00c26199 --- /dev/null +++ b/docs/v0.11.0/variables/NFA.nodeFactory.html @@ -0,0 +1,56 @@ +nodeFactory | refa - v0.11.0
+
+ +
+
+
+
+ +

Variable nodeFactoryConst

+
nodeFactory: NodeFactory<NFA.Node> = ...
+

An unlimited node factory that will simply call the Node constructor.

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/.nojekyll b/docs/v0.12.0/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/v0.12.0/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/v0.12.0/assets/highlight.css b/docs/v0.12.0/assets/highlight.css new file mode 100644 index 00000000..2a3e49d3 --- /dev/null +++ b/docs/v0.12.0/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-hl-13: #EE0000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/v0.12.0/assets/main.js b/docs/v0.12.0/assets/main.js new file mode 100644 index 00000000..4c8fa615 --- /dev/null +++ b/docs/v0.12.0/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/v0.12.0/assets/search.js b/docs/v0.12.0/assets/search.js new file mode 100644 index 00000000..09b564f0 --- /dev/null +++ b/docs/v0.12.0/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"makeGreedy\",\"url\":\"functions/Transformers.makeGreedy.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"simplify\",\"url\":\"functions/Transformers.simplify.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":4194304,\"name\":\"PropertyCharacterSet\",\"url\":\"types/JS.PropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharacterPropertyCharacterSet\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":256,\"name\":\"StringPropertyCharacterSet\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":64,\"name\":\"isFlags\",\"url\":\"functions/JS.isFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"UncheckedFlags\",\"url\":\"interfaces/JS.UncheckedFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UncheckedFlags.html#dotAll\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UncheckedFlags.html#global\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UncheckedFlags.html#hasIndices\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UncheckedFlags.html#ignoreCase\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UncheckedFlags.html#multiline\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UncheckedFlags.html#sticky\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":256,\"name\":\"NonUnicodeSetsFlags\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":256,\"name\":\"UnicodeSetsFlags\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":4194304,\"name\":\"Flags\",\"url\":\"types/JS.Flags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"classes/JS.Parser.html#flags\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":64,\"name\":\"parseUnicodeSet\",\"url\":\"functions/JS.parseUnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":64,\"name\":\"parseCharSet\",\"url\":\"functions/JS.parseCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"CharacterElement\",\"url\":\"types/JS.CharacterElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":128,\"name\":\"StringSet\",\"url\":\"classes/JS.StringSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"empty\",\"url\":\"classes/JS.StringSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.StringSet.html#from\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"fromWord\",\"url\":\"classes/JS.StringSet.html#fromWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":1024,\"name\":\"words\",\"url\":\"classes/JS.StringSet.html#words\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.StringSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.StringSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasSingleCharacter\",\"url\":\"classes/JS.StringSet.html#hasSingleCharacter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.StringSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.StringSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.StringSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.StringSet.html#union\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.StringSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.StringSet.html#without\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/JS.StringSet.html#filter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/JS.StringSet.html#map\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":128,\"name\":\"UnicodeSet\",\"url\":\"classes/JS.UnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/JS.UnicodeSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"fromChars\",\"url\":\"classes/JS.UnicodeSet.html#fromChars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.UnicodeSet.html#from\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"chars\",\"url\":\"classes/JS.UnicodeSet.html#chars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"accept\",\"url\":\"classes/JS.UnicodeSet.html#accept\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.UnicodeSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.UnicodeSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.UnicodeSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.UnicodeSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.UnicodeSet.html#union\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.UnicodeSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.UnicodeSet.html#without\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":64,\"name\":\"getCharCaseFolding\",\"url\":\"functions/JS.getCharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharCaseFolding\",\"url\":\"interfaces/JS.CharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"canonicalize\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize.__type\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.canonicalize\"},{\"kind\":1024,\"name\":\"toCharSet\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet.__type-2\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.toCharSet\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Transformer.html#name\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":128,\"name\":\"CombinedTransformer\",\"url\":\"classes/CombinedTransformer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CombinedTransformer.html#constructor\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"classes/CombinedTransformer.html#name\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"transformers\",\"url\":\"classes/CombinedTransformer.html#transformers\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"classes/CombinedTransformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"classes/CombinedTransformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"classes/CombinedTransformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"classes/CombinedTransformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"classes/CombinedTransformer.html#onExpression\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"classes/CombinedTransformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"classes/CombinedTransformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":256,\"name\":\"TransformEvents\",\"url\":\"interfaces/TransformEvents.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"onPassStart\",\"url\":\"interfaces/TransformEvents.html#onPassStart\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onPassStart.__type-2\",\"classes\":\"\",\"parent\":\"TransformEvents.onPassStart\"},{\"kind\":1024,\"name\":\"onChange\",\"url\":\"interfaces/TransformEvents.html#onChange\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onChange.__type\",\"classes\":\"\",\"parent\":\"TransformEvents.onChange\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":1024,\"name\":\"events\",\"url\":\"interfaces/TransformOptions.html#events\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacter\",\"url\":\"classes/CharSet.html#fromCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,56.931]],[\"comment/0\",[]],[\"name/1\",[1,62.039]],[\"comment/1\",[]],[\"name/2\",[2,53.566]],[\"comment/2\",[]],[\"name/3\",[3,53.566]],[\"comment/3\",[]],[\"name/4\",[4,62.039]],[\"comment/4\",[]],[\"name/5\",[5,62.039]],[\"comment/5\",[]],[\"name/6\",[6,56.931]],[\"comment/6\",[]],[\"name/7\",[7,62.039]],[\"comment/7\",[]],[\"name/8\",[8,62.039]],[\"comment/8\",[]],[\"name/9\",[9,62.039]],[\"comment/9\",[]],[\"name/10\",[10,62.039]],[\"comment/10\",[]],[\"name/11\",[11,62.039]],[\"comment/11\",[]],[\"name/12\",[12,62.039]],[\"comment/12\",[]],[\"name/13\",[6,56.931]],[\"comment/13\",[]],[\"name/14\",[13,62.039]],[\"comment/14\",[]],[\"name/15\",[2,53.566]],[\"comment/15\",[]],[\"name/16\",[3,53.566]],[\"comment/16\",[]],[\"name/17\",[14,62.039]],[\"comment/17\",[]],[\"name/18\",[15,62.039]],[\"comment/18\",[]],[\"name/19\",[16,62.039]],[\"comment/19\",[]],[\"name/20\",[17,62.039]],[\"comment/20\",[]],[\"name/21\",[18,62.039]],[\"comment/21\",[]],[\"name/22\",[2,53.566]],[\"comment/22\",[]],[\"name/23\",[3,53.566]],[\"comment/23\",[]],[\"name/24\",[19,62.039]],[\"comment/24\",[]],[\"name/25\",[20,62.039]],[\"comment/25\",[]],[\"name/26\",[21,56.931]],[\"comment/26\",[]],[\"name/27\",[22,62.039]],[\"comment/27\",[]],[\"name/28\",[23,51.053]],[\"comment/28\",[]],[\"name/29\",[24,51.053]],[\"comment/29\",[]],[\"name/30\",[25,62.039]],[\"comment/30\",[]],[\"name/31\",[26,62.039]],[\"comment/31\",[]],[\"name/32\",[27,62.039]],[\"comment/32\",[]],[\"name/33\",[28,62.039]],[\"comment/33\",[]],[\"name/34\",[29,62.039]],[\"comment/34\",[]],[\"name/35\",[30,62.039]],[\"comment/35\",[]],[\"name/36\",[31,62.039]],[\"comment/36\",[]],[\"name/37\",[32,53.566]],[\"comment/37\",[]],[\"name/38\",[33,62.039]],[\"comment/38\",[]],[\"name/39\",[34,62.039]],[\"comment/39\",[]],[\"name/40\",[35,62.039]],[\"comment/40\",[]],[\"name/41\",[36,62.039]],[\"comment/41\",[]],[\"name/42\",[37,62.039]],[\"comment/42\",[]],[\"name/43\",[38,62.039]],[\"comment/43\",[]],[\"name/44\",[39,62.039]],[\"comment/44\",[]],[\"name/45\",[40,62.039]],[\"comment/45\",[]],[\"name/46\",[41,62.039]],[\"comment/46\",[]],[\"name/47\",[42,62.039]],[\"comment/47\",[]],[\"name/48\",[43,62.039]],[\"comment/48\",[]],[\"name/49\",[44,40.067]],[\"comment/49\",[]],[\"name/50\",[45,40.836]],[\"comment/50\",[]],[\"name/51\",[46,45.944]],[\"comment/51\",[]],[\"name/52\",[47,49.046]],[\"comment/52\",[]],[\"name/53\",[48,45.944]],[\"comment/53\",[]],[\"name/54\",[49,43.581]],[\"comment/54\",[]],[\"name/55\",[50,49.046]],[\"comment/55\",[]],[\"name/56\",[51,62.039]],[\"comment/56\",[]],[\"name/57\",[52,62.039]],[\"comment/57\",[]],[\"name/58\",[53,44.693]],[\"comment/58\",[]],[\"name/59\",[54,62.039]],[\"comment/59\",[]],[\"name/60\",[55,62.039]],[\"comment/60\",[]],[\"name/61\",[56,56.931]],[\"comment/61\",[]],[\"name/62\",[57,34.523]],[\"comment/62\",[]],[\"name/63\",[58,62.039]],[\"comment/63\",[]],[\"name/64\",[57,34.523]],[\"comment/64\",[]],[\"name/65\",[59,56.931]],[\"comment/65\",[]],[\"name/66\",[57,34.523]],[\"comment/66\",[]],[\"name/67\",[60,44.693]],[\"comment/67\",[]],[\"name/68\",[61,62.039]],[\"comment/68\",[]],[\"name/69\",[59,56.931]],[\"comment/69\",[]],[\"name/70\",[57,34.523]],[\"comment/70\",[]],[\"name/71\",[56,56.931]],[\"comment/71\",[]],[\"name/72\",[57,34.523]],[\"comment/72\",[]],[\"name/73\",[62,62.039]],[\"comment/73\",[]],[\"name/74\",[63,56.931]],[\"comment/74\",[]],[\"name/75\",[64,62.039]],[\"comment/75\",[]],[\"name/76\",[65,62.039]],[\"comment/76\",[]],[\"name/77\",[63,56.931]],[\"comment/77\",[]],[\"name/78\",[66,62.039]],[\"comment/78\",[]],[\"name/79\",[67,62.039]],[\"comment/79\",[]],[\"name/80\",[68,62.039]],[\"comment/80\",[]],[\"name/81\",[48,45.944]],[\"comment/81\",[]],[\"name/82\",[69,62.039]],[\"comment/82\",[]],[\"name/83\",[70,62.039]],[\"comment/83\",[]],[\"name/84\",[71,62.039]],[\"comment/84\",[]],[\"name/85\",[72,62.039]],[\"comment/85\",[]],[\"name/86\",[57,34.523]],[\"comment/86\",[]],[\"name/87\",[73,62.039]],[\"comment/87\",[]],[\"name/88\",[74,44.693]],[\"comment/88\",[]],[\"name/89\",[75,43.581]],[\"comment/89\",[]],[\"name/90\",[76,62.039]],[\"comment/90\",[]],[\"name/91\",[77,62.039]],[\"comment/91\",[]],[\"name/92\",[78,62.039]],[\"comment/92\",[]],[\"name/93\",[79,62.039]],[\"comment/93\",[]],[\"name/94\",[80,62.039]],[\"comment/94\",[]],[\"name/95\",[81,62.039]],[\"comment/95\",[]],[\"name/96\",[82,62.039]],[\"comment/96\",[]],[\"name/97\",[83,43.581]],[\"comment/97\",[]],[\"name/98\",[84,44.693]],[\"comment/98\",[]],[\"name/99\",[85,62.039]],[\"comment/99\",[]],[\"name/100\",[83,43.581]],[\"comment/100\",[]],[\"name/101\",[86,62.039]],[\"comment/101\",[]],[\"name/102\",[87,62.039]],[\"comment/102\",[]],[\"name/103\",[88,62.039]],[\"comment/103\",[]],[\"name/104\",[83,43.581]],[\"comment/104\",[]],[\"name/105\",[89,62.039]],[\"comment/105\",[]],[\"name/106\",[83,43.581]],[\"comment/106\",[]],[\"name/107\",[84,44.693]],[\"comment/107\",[]],[\"name/108\",[90,62.039]],[\"comment/108\",[]],[\"name/109\",[91,62.039]],[\"comment/109\",[]],[\"name/110\",[83,43.581]],[\"comment/110\",[]],[\"name/111\",[92,56.931]],[\"comment/111\",[]],[\"name/112\",[93,56.931]],[\"comment/112\",[]],[\"name/113\",[94,56.931]],[\"comment/113\",[]],[\"name/114\",[84,44.693]],[\"comment/114\",[]],[\"name/115\",[95,62.039]],[\"comment/115\",[]],[\"name/116\",[83,43.581]],[\"comment/116\",[]],[\"name/117\",[92,56.931]],[\"comment/117\",[]],[\"name/118\",[93,56.931]],[\"comment/118\",[]],[\"name/119\",[94,56.931]],[\"comment/119\",[]],[\"name/120\",[84,44.693]],[\"comment/120\",[]],[\"name/121\",[96,62.039]],[\"comment/121\",[]],[\"name/122\",[83,43.581]],[\"comment/122\",[]],[\"name/123\",[84,44.693]],[\"comment/123\",[]],[\"name/124\",[97,62.039]],[\"comment/124\",[]],[\"name/125\",[83,43.581]],[\"comment/125\",[]],[\"name/126\",[84,44.693]],[\"comment/126\",[]],[\"name/127\",[98,62.039]],[\"comment/127\",[]],[\"name/128\",[99,62.039]],[\"comment/128\",[]],[\"name/129\",[100,49.046]],[\"comment/129\",[]],[\"name/130\",[101,62.039]],[\"comment/130\",[]],[\"name/131\",[102,62.039]],[\"comment/131\",[]],[\"name/132\",[103,62.039]],[\"comment/132\",[]],[\"name/133\",[104,53.566]],[\"comment/133\",[]],[\"name/134\",[105,53.566]],[\"comment/134\",[]],[\"name/135\",[106,53.566]],[\"comment/135\",[]],[\"name/136\",[107,53.566]],[\"comment/136\",[]],[\"name/137\",[108,53.566]],[\"comment/137\",[]],[\"name/138\",[109,53.566]],[\"comment/138\",[]],[\"name/139\",[110,53.566]],[\"comment/139\",[]],[\"name/140\",[111,53.566]],[\"comment/140\",[]],[\"name/141\",[112,62.039]],[\"comment/141\",[]],[\"name/142\",[110,53.566]],[\"comment/142\",[]],[\"name/143\",[111,53.566]],[\"comment/143\",[]],[\"name/144\",[104,53.566]],[\"comment/144\",[]],[\"name/145\",[105,53.566]],[\"comment/145\",[]],[\"name/146\",[106,53.566]],[\"comment/146\",[]],[\"name/147\",[107,53.566]],[\"comment/147\",[]],[\"name/148\",[108,53.566]],[\"comment/148\",[]],[\"name/149\",[109,53.566]],[\"comment/149\",[]],[\"name/150\",[113,62.039]],[\"comment/150\",[]],[\"name/151\",[110,53.566]],[\"comment/151\",[]],[\"name/152\",[111,53.566]],[\"comment/152\",[]],[\"name/153\",[104,53.566]],[\"comment/153\",[]],[\"name/154\",[105,53.566]],[\"comment/154\",[]],[\"name/155\",[106,53.566]],[\"comment/155\",[]],[\"name/156\",[107,53.566]],[\"comment/156\",[]],[\"name/157\",[108,53.566]],[\"comment/157\",[]],[\"name/158\",[109,53.566]],[\"comment/158\",[]],[\"name/159\",[100,49.046]],[\"comment/159\",[]],[\"name/160\",[114,56.931]],[\"comment/160\",[]],[\"name/161\",[115,44.693]],[\"comment/161\",[]],[\"name/162\",[100,49.046]],[\"comment/162\",[]],[\"name/163\",[116,62.039]],[\"comment/163\",[]],[\"name/164\",[117,62.039]],[\"comment/164\",[]],[\"name/165\",[118,62.039]],[\"comment/165\",[]],[\"name/166\",[119,53.566]],[\"comment/166\",[]],[\"name/167\",[21,56.931]],[\"comment/167\",[]],[\"name/168\",[120,56.931]],[\"comment/168\",[]],[\"name/169\",[121,62.039]],[\"comment/169\",[]],[\"name/170\",[57,34.523]],[\"comment/170\",[]],[\"name/171\",[122,62.039]],[\"comment/171\",[]],[\"name/172\",[123,62.039]],[\"comment/172\",[]],[\"name/173\",[100,49.046]],[\"comment/173\",[]],[\"name/174\",[124,62.039]],[\"comment/174\",[]],[\"name/175\",[125,62.039]],[\"comment/175\",[]],[\"name/176\",[126,56.931]],[\"comment/176\",[]],[\"name/177\",[127,39.352]],[\"comment/177\",[]],[\"name/178\",[128,62.039]],[\"comment/178\",[]],[\"name/179\",[129,62.039]],[\"comment/179\",[]],[\"name/180\",[130,62.039]],[\"comment/180\",[]],[\"name/181\",[114,56.931]],[\"comment/181\",[]],[\"name/182\",[131,62.039]],[\"comment/182\",[]],[\"name/183\",[100,49.046]],[\"comment/183\",[]],[\"name/184\",[127,39.352]],[\"comment/184\",[]],[\"name/185\",[132,62.039]],[\"comment/185\",[]],[\"name/186\",[133,62.039]],[\"comment/186\",[]],[\"name/187\",[134,62.039]],[\"comment/187\",[]],[\"name/188\",[135,62.039]],[\"comment/188\",[]],[\"name/189\",[136,62.039]],[\"comment/189\",[]],[\"name/190\",[137,62.039]],[\"comment/190\",[]],[\"name/191\",[138,47.375]],[\"comment/191\",[]],[\"name/192\",[139,56.931]],[\"comment/192\",[]],[\"name/193\",[140,62.039]],[\"comment/193\",[]],[\"name/194\",[141,43.581]],[\"comment/194\",[]],[\"name/195\",[142,40.836]],[\"comment/195\",[]],[\"name/196\",[143,56.931]],[\"comment/196\",[]],[\"name/197\",[144,62.039]],[\"comment/197\",[]],[\"name/198\",[145,44.693]],[\"comment/198\",[]],[\"name/199\",[146,56.931]],[\"comment/199\",[]],[\"name/200\",[147,53.566]],[\"comment/200\",[]],[\"name/201\",[148,49.046]],[\"comment/201\",[]],[\"name/202\",[149,53.566]],[\"comment/202\",[]],[\"name/203\",[150,53.566]],[\"comment/203\",[]],[\"name/204\",[151,56.931]],[\"comment/204\",[]],[\"name/205\",[152,56.931]],[\"comment/205\",[]],[\"name/206\",[153,62.039]],[\"comment/206\",[]],[\"name/207\",[138,47.375]],[\"comment/207\",[]],[\"name/208\",[154,62.039]],[\"comment/208\",[]],[\"name/209\",[139,56.931]],[\"comment/209\",[]],[\"name/210\",[155,62.039]],[\"comment/210\",[]],[\"name/211\",[156,62.039]],[\"comment/211\",[]],[\"name/212\",[142,40.836]],[\"comment/212\",[]],[\"name/213\",[143,56.931]],[\"comment/213\",[]],[\"name/214\",[147,53.566]],[\"comment/214\",[]],[\"name/215\",[146,56.931]],[\"comment/215\",[]],[\"name/216\",[148,49.046]],[\"comment/216\",[]],[\"name/217\",[149,53.566]],[\"comment/217\",[]],[\"name/218\",[150,53.566]],[\"comment/218\",[]],[\"name/219\",[157,62.039]],[\"comment/219\",[]],[\"name/220\",[158,62.039]],[\"comment/220\",[]],[\"name/221\",[159,62.039]],[\"comment/221\",[]],[\"name/222\",[57,34.523]],[\"comment/222\",[]],[\"name/223\",[160,62.039]],[\"comment/223\",[]],[\"name/224\",[57,34.523]],[\"comment/224\",[]],[\"name/225\",[141,43.581]],[\"comment/225\",[]],[\"name/226\",[161,62.039]],[\"comment/226\",[]],[\"name/227\",[162,62.039]],[\"comment/227\",[]],[\"name/228\",[163,62.039]],[\"comment/228\",[]],[\"name/229\",[164,62.039]],[\"comment/229\",[]],[\"name/230\",[165,62.039]],[\"comment/230\",[]],[\"name/231\",[166,62.039]],[\"comment/231\",[]],[\"name/232\",[167,62.039]],[\"comment/232\",[]],[\"name/233\",[168,62.039]],[\"comment/233\",[]],[\"name/234\",[169,62.039]],[\"comment/234\",[]],[\"name/235\",[170,62.039]],[\"comment/235\",[]],[\"name/236\",[171,62.039]],[\"comment/236\",[]],[\"name/237\",[172,62.039]],[\"comment/237\",[]],[\"name/238\",[173,44.693]],[\"comment/238\",[]],[\"name/239\",[174,51.053]],[\"comment/239\",[]],[\"name/240\",[175,62.039]],[\"comment/240\",[]],[\"name/241\",[176,45.944]],[\"comment/241\",[]],[\"name/242\",[173,44.693]],[\"comment/242\",[]],[\"name/243\",[177,51.053]],[\"comment/243\",[]],[\"name/244\",[115,44.693]],[\"comment/244\",[]],[\"name/245\",[178,62.039]],[\"comment/245\",[]],[\"name/246\",[176,45.944]],[\"comment/246\",[]],[\"name/247\",[173,44.693]],[\"comment/247\",[]],[\"name/248\",[177,51.053]],[\"comment/248\",[]],[\"name/249\",[83,43.581]],[\"comment/249\",[]],[\"name/250\",[84,44.693]],[\"comment/250\",[]],[\"name/251\",[115,44.693]],[\"comment/251\",[]],[\"name/252\",[179,62.039]],[\"comment/252\",[]],[\"name/253\",[176,45.944]],[\"comment/253\",[]],[\"name/254\",[173,44.693]],[\"comment/254\",[]],[\"name/255\",[177,51.053]],[\"comment/255\",[]],[\"name/256\",[180,62.039]],[\"comment/256\",[]],[\"name/257\",[181,56.931]],[\"comment/257\",[]],[\"name/258\",[182,56.931]],[\"comment/258\",[]],[\"name/259\",[115,44.693]],[\"comment/259\",[]],[\"name/260\",[183,62.039]],[\"comment/260\",[]],[\"name/261\",[176,45.944]],[\"comment/261\",[]],[\"name/262\",[173,44.693]],[\"comment/262\",[]],[\"name/263\",[184,56.931]],[\"comment/263\",[]],[\"name/264\",[115,44.693]],[\"comment/264\",[]],[\"name/265\",[185,62.039]],[\"comment/265\",[]],[\"name/266\",[176,45.944]],[\"comment/266\",[]],[\"name/267\",[173,44.693]],[\"comment/267\",[]],[\"name/268\",[186,62.039]],[\"comment/268\",[]],[\"name/269\",[115,44.693]],[\"comment/269\",[]],[\"name/270\",[126,56.931]],[\"comment/270\",[]],[\"name/271\",[176,45.944]],[\"comment/271\",[]],[\"name/272\",[173,44.693]],[\"comment/272\",[]],[\"name/273\",[177,51.053]],[\"comment/273\",[]],[\"name/274\",[115,44.693]],[\"comment/274\",[]],[\"name/275\",[187,62.039]],[\"comment/275\",[]],[\"name/276\",[176,45.944]],[\"comment/276\",[]],[\"name/277\",[173,44.693]],[\"comment/277\",[]],[\"name/278\",[188,62.039]],[\"comment/278\",[]],[\"name/279\",[115,44.693]],[\"comment/279\",[]],[\"name/280\",[189,62.039]],[\"comment/280\",[]],[\"name/281\",[190,62.039]],[\"comment/281\",[]],[\"name/282\",[191,62.039]],[\"comment/282\",[]],[\"name/283\",[192,62.039]],[\"comment/283\",[]],[\"name/284\",[193,62.039]],[\"comment/284\",[]],[\"name/285\",[194,56.931]],[\"comment/285\",[]],[\"name/286\",[195,56.931]],[\"comment/286\",[]],[\"name/287\",[196,56.931]],[\"comment/287\",[]],[\"name/288\",[197,56.931]],[\"comment/288\",[]],[\"name/289\",[198,56.931]],[\"comment/289\",[]],[\"name/290\",[199,56.931]],[\"comment/290\",[]],[\"name/291\",[200,56.931]],[\"comment/291\",[]],[\"name/292\",[201,56.931]],[\"comment/292\",[]],[\"name/293\",[202,56.931]],[\"comment/293\",[]],[\"name/294\",[203,56.931]],[\"comment/294\",[]],[\"name/295\",[204,56.931]],[\"comment/295\",[]],[\"name/296\",[205,56.931]],[\"comment/296\",[]],[\"name/297\",[206,56.931]],[\"comment/297\",[]],[\"name/298\",[207,56.931]],[\"comment/298\",[]],[\"name/299\",[208,62.039]],[\"comment/299\",[]],[\"name/300\",[194,56.931]],[\"comment/300\",[]],[\"name/301\",[195,56.931]],[\"comment/301\",[]],[\"name/302\",[196,56.931]],[\"comment/302\",[]],[\"name/303\",[197,56.931]],[\"comment/303\",[]],[\"name/304\",[198,56.931]],[\"comment/304\",[]],[\"name/305\",[199,56.931]],[\"comment/305\",[]],[\"name/306\",[200,56.931]],[\"comment/306\",[]],[\"name/307\",[201,56.931]],[\"comment/307\",[]],[\"name/308\",[202,56.931]],[\"comment/308\",[]],[\"name/309\",[203,56.931]],[\"comment/309\",[]],[\"name/310\",[204,56.931]],[\"comment/310\",[]],[\"name/311\",[205,56.931]],[\"comment/311\",[]],[\"name/312\",[206,56.931]],[\"comment/312\",[]],[\"name/313\",[207,56.931]],[\"comment/313\",[]],[\"name/314\",[209,62.039]],[\"comment/314\",[]],[\"name/315\",[210,62.039]],[\"comment/315\",[]],[\"name/316\",[211,62.039]],[\"comment/316\",[]],[\"name/317\",[212,56.931]],[\"comment/317\",[]],[\"name/318\",[213,56.931]],[\"comment/318\",[]],[\"name/319\",[214,56.931]],[\"comment/319\",[]],[\"name/320\",[215,56.931]],[\"comment/320\",[]],[\"name/321\",[216,56.931]],[\"comment/321\",[]],[\"name/322\",[217,56.931]],[\"comment/322\",[]],[\"name/323\",[218,56.931]],[\"comment/323\",[]],[\"name/324\",[219,56.931]],[\"comment/324\",[]],[\"name/325\",[220,62.039]],[\"comment/325\",[]],[\"name/326\",[127,39.352]],[\"comment/326\",[]],[\"name/327\",[221,62.039]],[\"comment/327\",[]],[\"name/328\",[57,34.523]],[\"comment/328\",[]],[\"name/329\",[222,62.039]],[\"comment/329\",[]],[\"name/330\",[44,40.067]],[\"comment/330\",[]],[\"name/331\",[212,56.931]],[\"comment/331\",[]],[\"name/332\",[0,56.931]],[\"comment/332\",[]],[\"name/333\",[213,56.931]],[\"comment/333\",[]],[\"name/334\",[214,56.931]],[\"comment/334\",[]],[\"name/335\",[215,56.931]],[\"comment/335\",[]],[\"name/336\",[216,56.931]],[\"comment/336\",[]],[\"name/337\",[217,56.931]],[\"comment/337\",[]],[\"name/338\",[218,56.931]],[\"comment/338\",[]],[\"name/339\",[219,56.931]],[\"comment/339\",[]],[\"name/340\",[223,62.039]],[\"comment/340\",[]],[\"name/341\",[224,62.039]],[\"comment/341\",[]],[\"name/342\",[57,34.523]],[\"comment/342\",[]],[\"name/343\",[225,62.039]],[\"comment/343\",[]],[\"name/344\",[57,34.523]],[\"comment/344\",[]],[\"name/345\",[226,62.039]],[\"comment/345\",[]],[\"name/346\",[227,62.039]],[\"comment/346\",[]],[\"name/347\",[228,62.039]],[\"comment/347\",[]],[\"name/348\",[229,62.039]],[\"comment/348\",[]],[\"name/349\",[44,40.067]],[\"comment/349\",[]],[\"name/350\",[230,62.039]],[\"comment/350\",[]],[\"name/351\",[231,62.039]],[\"comment/351\",[]],[\"name/352\",[232,62.039]],[\"comment/352\",[]],[\"name/353\",[142,40.836]],[\"comment/353\",[]],[\"name/354\",[233,53.566]],[\"comment/354\",[]],[\"name/355\",[234,56.931]],[\"comment/355\",[]],[\"name/356\",[235,56.931]],[\"comment/356\",[]],[\"name/357\",[236,56.931]],[\"comment/357\",[]],[\"name/358\",[32,53.566]],[\"comment/358\",[]],[\"name/359\",[237,56.931]],[\"comment/359\",[]],[\"name/360\",[238,56.931]],[\"comment/360\",[]],[\"name/361\",[239,56.931]],[\"comment/361\",[]],[\"name/362\",[240,56.931]],[\"comment/362\",[]],[\"name/363\",[241,62.039]],[\"comment/363\",[]],[\"name/364\",[44,40.067]],[\"comment/364\",[]],[\"name/365\",[142,40.836]],[\"comment/365\",[]],[\"name/366\",[233,53.566]],[\"comment/366\",[]],[\"name/367\",[234,56.931]],[\"comment/367\",[]],[\"name/368\",[235,56.931]],[\"comment/368\",[]],[\"name/369\",[236,56.931]],[\"comment/369\",[]],[\"name/370\",[242,62.039]],[\"comment/370\",[]],[\"name/371\",[243,62.039]],[\"comment/371\",[]],[\"name/372\",[244,62.039]],[\"comment/372\",[]],[\"name/373\",[245,62.039]],[\"comment/373\",[]],[\"name/374\",[246,62.039]],[\"comment/374\",[]],[\"name/375\",[247,62.039]],[\"comment/375\",[]],[\"name/376\",[152,56.931]],[\"comment/376\",[]],[\"name/377\",[248,62.039]],[\"comment/377\",[]],[\"name/378\",[151,56.931]],[\"comment/378\",[]],[\"name/379\",[240,56.931]],[\"comment/379\",[]],[\"name/380\",[32,53.566]],[\"comment/380\",[]],[\"name/381\",[237,56.931]],[\"comment/381\",[]],[\"name/382\",[238,56.931]],[\"comment/382\",[]],[\"name/383\",[239,56.931]],[\"comment/383\",[]],[\"name/384\",[249,62.039]],[\"comment/384\",[]],[\"name/385\",[250,62.039]],[\"comment/385\",[]],[\"name/386\",[181,56.931]],[\"comment/386\",[]],[\"name/387\",[182,56.931]],[\"comment/387\",[]],[\"name/388\",[251,62.039]],[\"comment/388\",[]],[\"name/389\",[138,47.375]],[\"comment/389\",[]],[\"name/390\",[252,51.053]],[\"comment/390\",[]],[\"name/391\",[253,62.039]],[\"comment/391\",[]],[\"name/392\",[254,62.039]],[\"comment/392\",[]],[\"name/393\",[255,62.039]],[\"comment/393\",[]],[\"name/394\",[256,62.039]],[\"comment/394\",[]],[\"name/395\",[257,62.039]],[\"comment/395\",[]],[\"name/396\",[142,40.836]],[\"comment/396\",[]],[\"name/397\",[258,62.039]],[\"comment/397\",[]],[\"name/398\",[259,62.039]],[\"comment/398\",[]],[\"name/399\",[184,56.931]],[\"comment/399\",[]],[\"name/400\",[75,43.581]],[\"comment/400\",[]],[\"name/401\",[260,62.039]],[\"comment/401\",[]],[\"name/402\",[261,62.039]],[\"comment/402\",[]],[\"name/403\",[147,53.566]],[\"comment/403\",[]],[\"name/404\",[262,62.039]],[\"comment/404\",[]],[\"name/405\",[263,62.039]],[\"comment/405\",[]],[\"name/406\",[84,44.693]],[\"comment/406\",[]],[\"name/407\",[148,49.046]],[\"comment/407\",[]],[\"name/408\",[149,53.566]],[\"comment/408\",[]],[\"name/409\",[150,53.566]],[\"comment/409\",[]],[\"name/410\",[233,53.566]],[\"comment/410\",[]],[\"name/411\",[264,62.039]],[\"comment/411\",[]],[\"name/412\",[265,62.039]],[\"comment/412\",[]],[\"name/413\",[266,62.039]],[\"comment/413\",[]],[\"name/414\",[267,62.039]],[\"comment/414\",[]],[\"name/415\",[268,56.931]],[\"comment/415\",[]],[\"name/416\",[269,62.039]],[\"comment/416\",[]],[\"name/417\",[270,62.039]],[\"comment/417\",[]],[\"name/418\",[271,62.039]],[\"comment/418\",[]],[\"name/419\",[272,62.039]],[\"comment/419\",[]],[\"name/420\",[273,62.039]],[\"comment/420\",[]],[\"name/421\",[142,40.836]],[\"comment/421\",[]],[\"name/422\",[274,45.944]],[\"comment/422\",[]],[\"name/423\",[127,39.352]],[\"comment/423\",[]],[\"name/424\",[275,45.944]],[\"comment/424\",[]],[\"name/425\",[141,43.581]],[\"comment/425\",[]],[\"name/426\",[145,44.693]],[\"comment/426\",[]],[\"name/427\",[75,43.581]],[\"comment/427\",[]],[\"name/428\",[74,44.693]],[\"comment/428\",[]],[\"name/429\",[53,44.693]],[\"comment/429\",[]],[\"name/430\",[60,44.693]],[\"comment/430\",[]],[\"name/431\",[276,62.039]],[\"comment/431\",[]],[\"name/432\",[45,40.836]],[\"comment/432\",[]],[\"name/433\",[277,62.039]],[\"comment/433\",[]],[\"name/434\",[57,34.523]],[\"comment/434\",[]],[\"name/435\",[278,62.039]],[\"comment/435\",[]],[\"name/436\",[48,45.944]],[\"comment/436\",[]],[\"name/437\",[57,34.523]],[\"comment/437\",[]],[\"name/438\",[279,51.053]],[\"comment/438\",[]],[\"name/439\",[49,43.581]],[\"comment/439\",[]],[\"name/440\",[57,34.523]],[\"comment/440\",[]],[\"name/441\",[280,62.039]],[\"comment/441\",[]],[\"name/442\",[45,40.836]],[\"comment/442\",[]],[\"name/443\",[47,49.046]],[\"comment/443\",[]],[\"name/444\",[57,34.523]],[\"comment/444\",[]],[\"name/445\",[48,45.944]],[\"comment/445\",[]],[\"name/446\",[57,34.523]],[\"comment/446\",[]],[\"name/447\",[50,49.046]],[\"comment/447\",[]],[\"name/448\",[57,34.523]],[\"comment/448\",[]],[\"name/449\",[49,43.581]],[\"comment/449\",[]],[\"name/450\",[57,34.523]],[\"comment/450\",[]],[\"name/451\",[281,44.693]],[\"comment/451\",[]],[\"name/452\",[282,62.039]],[\"comment/452\",[]],[\"name/453\",[127,39.352]],[\"comment/453\",[]],[\"name/454\",[281,44.693]],[\"comment/454\",[]],[\"name/455\",[57,34.523]],[\"comment/455\",[]],[\"name/456\",[283,62.039]],[\"comment/456\",[]],[\"name/457\",[120,56.931]],[\"comment/457\",[]],[\"name/458\",[284,62.039]],[\"comment/458\",[]],[\"name/459\",[285,62.039]],[\"comment/459\",[]],[\"name/460\",[45,40.836]],[\"comment/460\",[]],[\"name/461\",[46,45.944]],[\"comment/461\",[]],[\"name/462\",[286,47.375]],[\"comment/462\",[]],[\"name/463\",[287,47.375]],[\"comment/463\",[]],[\"name/464\",[288,47.375]],[\"comment/464\",[]],[\"name/465\",[289,47.375]],[\"comment/465\",[]],[\"name/466\",[290,56.931]],[\"comment/466\",[]],[\"name/467\",[142,40.836]],[\"comment/467\",[]],[\"name/468\",[274,45.944]],[\"comment/468\",[]],[\"name/469\",[127,39.352]],[\"comment/469\",[]],[\"name/470\",[275,45.944]],[\"comment/470\",[]],[\"name/471\",[141,43.581]],[\"comment/471\",[]],[\"name/472\",[145,44.693]],[\"comment/472\",[]],[\"name/473\",[75,43.581]],[\"comment/473\",[]],[\"name/474\",[74,44.693]],[\"comment/474\",[]],[\"name/475\",[53,44.693]],[\"comment/475\",[]],[\"name/476\",[60,44.693]],[\"comment/476\",[]],[\"name/477\",[281,44.693]],[\"comment/477\",[]],[\"name/478\",[57,34.523]],[\"comment/478\",[]],[\"name/479\",[291,56.931]],[\"comment/479\",[]],[\"name/480\",[138,47.375]],[\"comment/480\",[]],[\"name/481\",[292,53.566]],[\"comment/481\",[]],[\"name/482\",[252,51.053]],[\"comment/482\",[]],[\"name/483\",[293,53.566]],[\"comment/483\",[]],[\"name/484\",[294,56.931]],[\"comment/484\",[]],[\"name/485\",[23,51.053]],[\"comment/485\",[]],[\"name/486\",[24,51.053]],[\"comment/486\",[]],[\"name/487\",[295,53.566]],[\"comment/487\",[]],[\"name/488\",[296,53.566]],[\"comment/488\",[]],[\"name/489\",[297,53.566]],[\"comment/489\",[]],[\"name/490\",[45,40.836]],[\"comment/490\",[]],[\"name/491\",[46,45.944]],[\"comment/491\",[]],[\"name/492\",[127,39.352]],[\"comment/492\",[]],[\"name/493\",[142,40.836]],[\"comment/493\",[]],[\"name/494\",[274,45.944]],[\"comment/494\",[]],[\"name/495\",[286,47.375]],[\"comment/495\",[]],[\"name/496\",[281,44.693]],[\"comment/496\",[]],[\"name/497\",[287,47.375]],[\"comment/497\",[]],[\"name/498\",[288,47.375]],[\"comment/498\",[]],[\"name/499\",[275,45.944]],[\"comment/499\",[]],[\"name/500\",[145,44.693]],[\"comment/500\",[]],[\"name/501\",[141,43.581]],[\"comment/501\",[]],[\"name/502\",[75,43.581]],[\"comment/502\",[]],[\"name/503\",[74,44.693]],[\"comment/503\",[]],[\"name/504\",[53,44.693]],[\"comment/504\",[]],[\"name/505\",[60,44.693]],[\"comment/505\",[]],[\"name/506\",[289,47.375]],[\"comment/506\",[]],[\"name/507\",[290,56.931]],[\"comment/507\",[]],[\"name/508\",[298,53.566]],[\"comment/508\",[]],[\"name/509\",[299,62.039]],[\"comment/509\",[]],[\"name/510\",[300,62.039]],[\"comment/510\",[]],[\"name/511\",[301,53.566]],[\"comment/511\",[]],[\"name/512\",[291,56.931]],[\"comment/512\",[]],[\"name/513\",[302,53.566]],[\"comment/513\",[]],[\"name/514\",[303,47.375]],[\"comment/514\",[]],[\"name/515\",[174,51.053]],[\"comment/515\",[]],[\"name/516\",[44,40.067]],[\"comment/516\",[]],[\"name/517\",[303,47.375]],[\"comment/517\",[]],[\"name/518\",[304,53.566]],[\"comment/518\",[]],[\"name/519\",[305,53.566]],[\"comment/519\",[]],[\"name/520\",[306,53.566]],[\"comment/520\",[]],[\"name/521\",[279,51.053]],[\"comment/521\",[]],[\"name/522\",[307,53.566]],[\"comment/522\",[]],[\"name/523\",[44,40.067]],[\"comment/523\",[]],[\"name/524\",[308,53.566]],[\"comment/524\",[]],[\"name/525\",[49,43.581]],[\"comment/525\",[]],[\"name/526\",[309,53.566]],[\"comment/526\",[]],[\"name/527\",[44,40.067]],[\"comment/527\",[]],[\"name/528\",[45,40.836]],[\"comment/528\",[]],[\"name/529\",[46,45.944]],[\"comment/529\",[]],[\"name/530\",[310,53.566]],[\"comment/530\",[]],[\"name/531\",[47,49.046]],[\"comment/531\",[]],[\"name/532\",[48,45.944]],[\"comment/532\",[]],[\"name/533\",[50,49.046]],[\"comment/533\",[]],[\"name/534\",[49,43.581]],[\"comment/534\",[]],[\"name/535\",[311,53.566]],[\"comment/535\",[]],[\"name/536\",[127,39.352]],[\"comment/536\",[]],[\"name/537\",[312,62.039]],[\"comment/537\",[]],[\"name/538\",[45,40.836]],[\"comment/538\",[]],[\"name/539\",[313,53.566]],[\"comment/539\",[]],[\"name/540\",[314,51.053]],[\"comment/540\",[]],[\"name/541\",[286,47.375]],[\"comment/541\",[]],[\"name/542\",[287,47.375]],[\"comment/542\",[]],[\"name/543\",[288,47.375]],[\"comment/543\",[]],[\"name/544\",[289,47.375]],[\"comment/544\",[]],[\"name/545\",[142,40.836]],[\"comment/545\",[]],[\"name/546\",[274,45.944]],[\"comment/546\",[]],[\"name/547\",[127,39.352]],[\"comment/547\",[]],[\"name/548\",[275,45.944]],[\"comment/548\",[]],[\"name/549\",[141,43.581]],[\"comment/549\",[]],[\"name/550\",[145,44.693]],[\"comment/550\",[]],[\"name/551\",[75,43.581]],[\"comment/551\",[]],[\"name/552\",[74,44.693]],[\"comment/552\",[]],[\"name/553\",[53,44.693]],[\"comment/553\",[]],[\"name/554\",[60,44.693]],[\"comment/554\",[]],[\"name/555\",[281,44.693]],[\"comment/555\",[]],[\"name/556\",[57,34.523]],[\"comment/556\",[]],[\"name/557\",[315,56.931]],[\"comment/557\",[]],[\"name/558\",[138,47.375]],[\"comment/558\",[]],[\"name/559\",[292,53.566]],[\"comment/559\",[]],[\"name/560\",[252,51.053]],[\"comment/560\",[]],[\"name/561\",[293,53.566]],[\"comment/561\",[]],[\"name/562\",[316,56.931]],[\"comment/562\",[]],[\"name/563\",[23,51.053]],[\"comment/563\",[]],[\"name/564\",[24,51.053]],[\"comment/564\",[]],[\"name/565\",[295,53.566]],[\"comment/565\",[]],[\"name/566\",[296,53.566]],[\"comment/566\",[]],[\"name/567\",[297,53.566]],[\"comment/567\",[]],[\"name/568\",[45,40.836]],[\"comment/568\",[]],[\"name/569\",[313,53.566]],[\"comment/569\",[]],[\"name/570\",[127,39.352]],[\"comment/570\",[]],[\"name/571\",[142,40.836]],[\"comment/571\",[]],[\"name/572\",[274,45.944]],[\"comment/572\",[]],[\"name/573\",[314,51.053]],[\"comment/573\",[]],[\"name/574\",[317,56.931]],[\"comment/574\",[]],[\"name/575\",[286,47.375]],[\"comment/575\",[]],[\"name/576\",[281,44.693]],[\"comment/576\",[]],[\"name/577\",[287,47.375]],[\"comment/577\",[]],[\"name/578\",[288,47.375]],[\"comment/578\",[]],[\"name/579\",[289,47.375]],[\"comment/579\",[]],[\"name/580\",[275,45.944]],[\"comment/580\",[]],[\"name/581\",[145,44.693]],[\"comment/581\",[]],[\"name/582\",[141,43.581]],[\"comment/582\",[]],[\"name/583\",[75,43.581]],[\"comment/583\",[]],[\"name/584\",[74,44.693]],[\"comment/584\",[]],[\"name/585\",[53,44.693]],[\"comment/585\",[]],[\"name/586\",[60,44.693]],[\"comment/586\",[]],[\"name/587\",[318,56.931]],[\"comment/587\",[]],[\"name/588\",[319,56.931]],[\"comment/588\",[]],[\"name/589\",[320,56.931]],[\"comment/589\",[]],[\"name/590\",[321,56.931]],[\"comment/590\",[]],[\"name/591\",[148,49.046]],[\"comment/591\",[]],[\"name/592\",[322,56.931]],[\"comment/592\",[]],[\"name/593\",[323,56.931]],[\"comment/593\",[]],[\"name/594\",[324,56.931]],[\"comment/594\",[]],[\"name/595\",[298,53.566]],[\"comment/595\",[]],[\"name/596\",[301,53.566]],[\"comment/596\",[]],[\"name/597\",[325,56.931]],[\"comment/597\",[]],[\"name/598\",[315,56.931]],[\"comment/598\",[]],[\"name/599\",[302,53.566]],[\"comment/599\",[]],[\"name/600\",[303,47.375]],[\"comment/600\",[]],[\"name/601\",[326,51.053]],[\"comment/601\",[]],[\"name/602\",[327,56.931]],[\"comment/602\",[]],[\"name/603\",[328,56.931]],[\"comment/603\",[]],[\"name/604\",[174,51.053]],[\"comment/604\",[]],[\"name/605\",[44,40.067]],[\"comment/605\",[]],[\"name/606\",[303,47.375]],[\"comment/606\",[]],[\"name/607\",[326,51.053]],[\"comment/607\",[]],[\"name/608\",[304,53.566]],[\"comment/608\",[]],[\"name/609\",[305,53.566]],[\"comment/609\",[]],[\"name/610\",[306,53.566]],[\"comment/610\",[]],[\"name/611\",[329,56.931]],[\"comment/611\",[]],[\"name/612\",[330,56.931]],[\"comment/612\",[]],[\"name/613\",[327,56.931]],[\"comment/613\",[]],[\"name/614\",[328,56.931]],[\"comment/614\",[]],[\"name/615\",[279,51.053]],[\"comment/615\",[]],[\"name/616\",[307,53.566]],[\"comment/616\",[]],[\"name/617\",[44,40.067]],[\"comment/617\",[]],[\"name/618\",[308,53.566]],[\"comment/618\",[]],[\"name/619\",[49,43.581]],[\"comment/619\",[]],[\"name/620\",[309,53.566]],[\"comment/620\",[]],[\"name/621\",[44,40.067]],[\"comment/621\",[]],[\"name/622\",[45,40.836]],[\"comment/622\",[]],[\"name/623\",[313,53.566]],[\"comment/623\",[]],[\"name/624\",[310,53.566]],[\"comment/624\",[]],[\"name/625\",[47,49.046]],[\"comment/625\",[]],[\"name/626\",[48,45.944]],[\"comment/626\",[]],[\"name/627\",[50,49.046]],[\"comment/627\",[]],[\"name/628\",[49,43.581]],[\"comment/628\",[]],[\"name/629\",[311,53.566]],[\"comment/629\",[]],[\"name/630\",[127,39.352]],[\"comment/630\",[]],[\"name/631\",[331,56.931]],[\"comment/631\",[]],[\"name/632\",[119,53.566]],[\"comment/632\",[]],[\"name/633\",[332,56.931]],[\"comment/633\",[]],[\"name/634\",[333,56.931]],[\"comment/634\",[]],[\"name/635\",[334,62.039]],[\"comment/635\",[]],[\"name/636\",[335,56.931]],[\"comment/636\",[]],[\"name/637\",[336,62.039]],[\"comment/637\",[]],[\"name/638\",[335,56.931]],[\"comment/638\",[]],[\"name/639\",[337,62.039]],[\"comment/639\",[]],[\"name/640\",[268,56.931]],[\"comment/640\",[]],[\"name/641\",[338,62.039]],[\"comment/641\",[]],[\"name/642\",[339,62.039]],[\"comment/642\",[]],[\"name/643\",[340,62.039]],[\"comment/643\",[]],[\"name/644\",[45,40.836]],[\"comment/644\",[]],[\"name/645\",[46,45.944]],[\"comment/645\",[]],[\"name/646\",[314,51.053]],[\"comment/646\",[]],[\"name/647\",[286,47.375]],[\"comment/647\",[]],[\"name/648\",[287,47.375]],[\"comment/648\",[]],[\"name/649\",[288,47.375]],[\"comment/649\",[]],[\"name/650\",[289,47.375]],[\"comment/650\",[]],[\"name/651\",[142,40.836]],[\"comment/651\",[]],[\"name/652\",[274,45.944]],[\"comment/652\",[]],[\"name/653\",[127,39.352]],[\"comment/653\",[]],[\"name/654\",[275,45.944]],[\"comment/654\",[]],[\"name/655\",[141,43.581]],[\"comment/655\",[]],[\"name/656\",[145,44.693]],[\"comment/656\",[]],[\"name/657\",[75,43.581]],[\"comment/657\",[]],[\"name/658\",[74,44.693]],[\"comment/658\",[]],[\"name/659\",[53,44.693]],[\"comment/659\",[]],[\"name/660\",[60,44.693]],[\"comment/660\",[]],[\"name/661\",[281,44.693]],[\"comment/661\",[]],[\"name/662\",[57,34.523]],[\"comment/662\",[]],[\"name/663\",[341,56.931]],[\"comment/663\",[]],[\"name/664\",[138,47.375]],[\"comment/664\",[]],[\"name/665\",[292,53.566]],[\"comment/665\",[]],[\"name/666\",[252,51.053]],[\"comment/666\",[]],[\"name/667\",[293,53.566]],[\"comment/667\",[]],[\"name/668\",[294,56.931]],[\"comment/668\",[]],[\"name/669\",[316,56.931]],[\"comment/669\",[]],[\"name/670\",[23,51.053]],[\"comment/670\",[]],[\"name/671\",[24,51.053]],[\"comment/671\",[]],[\"name/672\",[295,53.566]],[\"comment/672\",[]],[\"name/673\",[296,53.566]],[\"comment/673\",[]],[\"name/674\",[297,53.566]],[\"comment/674\",[]],[\"name/675\",[45,40.836]],[\"comment/675\",[]],[\"name/676\",[46,45.944]],[\"comment/676\",[]],[\"name/677\",[127,39.352]],[\"comment/677\",[]],[\"name/678\",[142,40.836]],[\"comment/678\",[]],[\"name/679\",[274,45.944]],[\"comment/679\",[]],[\"name/680\",[314,51.053]],[\"comment/680\",[]],[\"name/681\",[317,56.931]],[\"comment/681\",[]],[\"name/682\",[286,47.375]],[\"comment/682\",[]],[\"name/683\",[281,44.693]],[\"comment/683\",[]],[\"name/684\",[287,47.375]],[\"comment/684\",[]],[\"name/685\",[288,47.375]],[\"comment/685\",[]],[\"name/686\",[289,47.375]],[\"comment/686\",[]],[\"name/687\",[275,45.944]],[\"comment/687\",[]],[\"name/688\",[145,44.693]],[\"comment/688\",[]],[\"name/689\",[141,43.581]],[\"comment/689\",[]],[\"name/690\",[75,43.581]],[\"comment/690\",[]],[\"name/691\",[74,44.693]],[\"comment/691\",[]],[\"name/692\",[53,44.693]],[\"comment/692\",[]],[\"name/693\",[60,44.693]],[\"comment/693\",[]],[\"name/694\",[148,49.046]],[\"comment/694\",[]],[\"name/695\",[322,56.931]],[\"comment/695\",[]],[\"name/696\",[318,56.931]],[\"comment/696\",[]],[\"name/697\",[319,56.931]],[\"comment/697\",[]],[\"name/698\",[320,56.931]],[\"comment/698\",[]],[\"name/699\",[321,56.931]],[\"comment/699\",[]],[\"name/700\",[323,56.931]],[\"comment/700\",[]],[\"name/701\",[324,56.931]],[\"comment/701\",[]],[\"name/702\",[298,53.566]],[\"comment/702\",[]],[\"name/703\",[301,53.566]],[\"comment/703\",[]],[\"name/704\",[325,56.931]],[\"comment/704\",[]],[\"name/705\",[342,62.039]],[\"comment/705\",[]],[\"name/706\",[341,56.931]],[\"comment/706\",[]],[\"name/707\",[302,53.566]],[\"comment/707\",[]],[\"name/708\",[303,47.375]],[\"comment/708\",[]],[\"name/709\",[326,51.053]],[\"comment/709\",[]],[\"name/710\",[174,51.053]],[\"comment/710\",[]],[\"name/711\",[44,40.067]],[\"comment/711\",[]],[\"name/712\",[303,47.375]],[\"comment/712\",[]],[\"name/713\",[326,51.053]],[\"comment/713\",[]],[\"name/714\",[304,53.566]],[\"comment/714\",[]],[\"name/715\",[305,53.566]],[\"comment/715\",[]],[\"name/716\",[306,53.566]],[\"comment/716\",[]],[\"name/717\",[329,56.931]],[\"comment/717\",[]],[\"name/718\",[330,56.931]],[\"comment/718\",[]],[\"name/719\",[279,51.053]],[\"comment/719\",[]],[\"name/720\",[307,53.566]],[\"comment/720\",[]],[\"name/721\",[44,40.067]],[\"comment/721\",[]],[\"name/722\",[308,53.566]],[\"comment/722\",[]],[\"name/723\",[49,43.581]],[\"comment/723\",[]],[\"name/724\",[309,53.566]],[\"comment/724\",[]],[\"name/725\",[44,40.067]],[\"comment/725\",[]],[\"name/726\",[45,40.836]],[\"comment/726\",[]],[\"name/727\",[46,45.944]],[\"comment/727\",[]],[\"name/728\",[310,53.566]],[\"comment/728\",[]],[\"name/729\",[47,49.046]],[\"comment/729\",[]],[\"name/730\",[48,45.944]],[\"comment/730\",[]],[\"name/731\",[50,49.046]],[\"comment/731\",[]],[\"name/732\",[49,43.581]],[\"comment/732\",[]],[\"name/733\",[311,53.566]],[\"comment/733\",[]],[\"name/734\",[127,39.352]],[\"comment/734\",[]],[\"name/735\",[331,56.931]],[\"comment/735\",[]],[\"name/736\",[119,53.566]],[\"comment/736\",[]],[\"name/737\",[332,56.931]],[\"comment/737\",[]],[\"name/738\",[333,56.931]],[\"comment/738\",[]],[\"name/739\",[343,62.039]],[\"comment/739\",[]],[\"name/740\",[344,62.039]],[\"comment/740\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":57,\"name\":{\"62\":{},\"64\":{},\"66\":{},\"70\":{},\"72\":{},\"86\":{},\"170\":{},\"222\":{},\"224\":{},\"328\":{},\"342\":{},\"344\":{},\"434\":{},\"437\":{},\"440\":{},\"444\":{},\"446\":{},\"448\":{},\"450\":{},\"455\":{},\"478\":{},\"556\":{},\"662\":{}},\"comment\":{}}],[\"accept\",{\"_index\":156,\"name\":{\"211\":{}},\"comment\":{}}],[\"all\",{\"_index\":252,\"name\":{\"390\":{},\"482\":{},\"560\":{},\"666\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":175,\"name\":{\"240\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":177,\"name\":{\"243\":{},\"248\":{},\"255\":{},\"273\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":88,\"name\":{\"103\":{}},\"comment\":{}}],[\"append\",{\"_index\":318,\"name\":{\"587\":{},\"696\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":319,\"name\":{\"588\":{},\"697\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"assert\",{\"_index\":335,\"name\":{\"636\":{},\"638\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":178,\"name\":{\"245\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":119,\"name\":{\"166\":{},\"632\":{},\"736\":{}},\"comment\":{}}],[\"ast\",{\"_index\":131,\"name\":{\"182\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":118,\"name\":{\"165\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":81,\"name\":{\"95\":{}},\"comment\":{}}],[\"builder\",{\"_index\":309,\"name\":{\"526\":{},\"620\":{},\"724\":{}},\"comment\":{}}],[\"canonicalize\",{\"_index\":159,\"name\":{\"221\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"char\",{\"_index\":270,\"name\":{\"417\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":183,\"name\":{\"260\":{}},\"comment\":{}}],[\"characterelement\",{\"_index\":136,\"name\":{\"189\":{}},\"comment\":{}}],[\"characterpropertycharacterset\",{\"_index\":91,\"name\":{\"109\":{}},\"comment\":{}}],[\"characters\",{\"_index\":184,\"name\":{\"263\":{},\"399\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":229,\"name\":{\"348\":{}},\"comment\":{}}],[\"charcasefolding\",{\"_index\":158,\"name\":{\"220\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":241,\"name\":{\"363\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":250,\"name\":{\"385\":{}},\"comment\":{}}],[\"chars\",{\"_index\":155,\"name\":{\"210\":{}},\"comment\":{}}],[\"charset\",{\"_index\":251,\"name\":{\"388\":{}},\"comment\":{}}],[\"clear\",{\"_index\":247,\"name\":{\"375\":{}},\"comment\":{}}],[\"combinedtransformer\",{\"_index\":222,\"name\":{\"329\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":209,\"name\":{\"314\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":269,\"name\":{\"416\":{}},\"comment\":{}}],[\"compare\",{\"_index\":262,\"name\":{\"404\":{}},\"comment\":{}}],[\"complement\",{\"_index\":300,\"name\":{\"510\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":187,\"name\":{\"275\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":44,\"name\":{\"49\":{},\"330\":{},\"349\":{},\"364\":{},\"516\":{},\"523\":{},\"527\":{},\"605\":{},\"617\":{},\"621\":{},\"711\":{},\"721\":{},\"725\":{}},\"comment\":{}}],[\"copy\",{\"_index\":289,\"name\":{\"465\":{},\"506\":{},\"544\":{},\"579\":{},\"650\":{},\"686\":{}},\"comment\":{}}],[\"count\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":288,\"name\":{\"464\":{},\"498\":{},\"543\":{},\"578\":{},\"649\":{},\"685\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":49,\"name\":{\"54\":{},\"439\":{},\"449\":{},\"525\":{},\"534\":{},\"619\":{},\"628\":{},\"723\":{},\"732\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":245,\"name\":{\"373\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":246,\"name\":{\"374\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":291,\"name\":{\"479\":{},\"512\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":89,\"name\":{\"105\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":104,\"name\":{\"133\":{},\"144\":{},\"153\":{}},\"comment\":{}}],[\"element\",{\"_index\":172,\"name\":{\"237\":{}},\"comment\":{}}],[\"elements\",{\"_index\":188,\"name\":{\"278\":{}},\"comment\":{}}],[\"empty\",{\"_index\":138,\"name\":{\"191\":{},\"207\":{},\"389\":{},\"480\":{},\"558\":{},\"664\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":292,\"name\":{\"481\":{},\"559\":{},\"665\":{}},\"comment\":{}}],[\"end\",{\"_index\":171,\"name\":{\"236\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":315,\"name\":{\"557\":{},\"598\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"entries\",{\"_index\":239,\"name\":{\"361\":{},\"383\":{}},\"comment\":{}}],[\"equals\",{\"_index\":147,\"name\":{\"200\":{},\"214\":{},\"403\":{}},\"comment\":{}}],[\"events\",{\"_index\":228,\"name\":{\"347\":{}},\"comment\":{}}],[\"expression\",{\"_index\":126,\"name\":{\"176\":{},\"270\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":280,\"name\":{\"441\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":310,\"name\":{\"530\":{},\"624\":{},\"728\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":276,\"name\":{\"431\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":22,\"name\":{\"27\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":101,\"name\":{\"130\":{}},\"comment\":{}}],[\"filter\",{\"_index\":151,\"name\":{\"204\":{},\"378\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"final\",{\"_index\":313,\"name\":{\"539\":{},\"569\":{},\"623\":{}},\"comment\":{}}],[\"finals\",{\"_index\":46,\"name\":{\"51\":{},\"461\":{},\"491\":{},\"529\":{},\"645\":{},\"676\":{},\"727\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":273,\"name\":{\"420\":{}},\"comment\":{}}],[\"flags\",{\"_index\":100,\"name\":{\"129\":{},\"159\":{},\"162\":{},\"173\":{},\"183\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":32,\"name\":{\"37\":{},\"358\":{},\"380\":{}},\"comment\":{}}],[\"from\",{\"_index\":139,\"name\":{\"192\":{},\"209\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":130,\"name\":{\"180\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":297,\"name\":{\"489\":{},\"567\":{},\"674\":{}},\"comment\":{}}],[\"fromcharacter\",{\"_index\":255,\"name\":{\"393\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":253,\"name\":{\"391\":{}},\"comment\":{}}],[\"fromchars\",{\"_index\":154,\"name\":{\"208\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":293,\"name\":{\"483\":{},\"561\":{},\"667\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":295,\"name\":{\"487\":{},\"565\":{},\"672\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":294,\"name\":{\"484\":{},\"668\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":129,\"name\":{\"179\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":254,\"name\":{\"392\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":316,\"name\":{\"562\":{},\"669\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":331,\"name\":{\"631\":{},\"735\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":164,\"name\":{\"229\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":163,\"name\":{\"228\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":296,\"name\":{\"488\":{},\"566\":{},\"673\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":162,\"name\":{\"227\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":161,\"name\":{\"226\":{}},\"comment\":{}}],[\"fromword\",{\"_index\":140,\"name\":{\"193\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":23,\"name\":{\"28\":{},\"485\":{},\"563\":{},\"670\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":24,\"name\":{\"29\":{},\"486\":{},\"564\":{},\"671\":{}},\"comment\":{}}],[\"get\",{\"_index\":236,\"name\":{\"357\":{},\"369\":{}},\"comment\":{}}],[\"getcharcasefolding\",{\"_index\":157,\"name\":{\"219\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":56,\"name\":{\"61\":{},\"71\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":58,\"name\":{\"63\":{}},\"comment\":{}}],[\"getid\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":337,\"name\":{\"639\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":339,\"name\":{\"642\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":338,\"name\":{\"641\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":59,\"name\":{\"65\":{},\"69\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"getout\",{\"_index\":277,\"name\":{\"433\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":121,\"name\":{\"169\":{}},\"comment\":{}}],[\"global\",{\"_index\":105,\"name\":{\"134\":{},\"145\":{},\"154\":{}},\"comment\":{}}],[\"has\",{\"_index\":233,\"name\":{\"354\":{},\"366\":{},\"410\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"hasemptyword\",{\"_index\":143,\"name\":{\"196\":{},\"213\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":234,\"name\":{\"355\":{},\"367\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":106,\"name\":{\"135\":{},\"146\":{},\"155\":{}},\"comment\":{}}],[\"hassinglecharacter\",{\"_index\":144,\"name\":{\"197\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":235,\"name\":{\"356\":{},\"368\":{}},\"comment\":{}}],[\"id\",{\"_index\":186,\"name\":{\"268\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"16\":{},\"23\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":107,\"name\":{\"136\":{},\"147\":{},\"156\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"in\",{\"_index\":326,\"name\":{\"601\":{},\"607\":{},\"709\":{},\"713\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":333,\"name\":{\"634\":{},\"738\":{}},\"comment\":{}}],[\"initial\",{\"_index\":45,\"name\":{\"50\":{},\"432\":{},\"442\":{},\"460\":{},\"490\":{},\"528\":{},\"538\":{},\"568\":{},\"622\":{},\"644\":{},\"675\":{},\"726\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"13\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":149,\"name\":{\"202\":{},\"217\":{},\"408\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"invert\",{\"_index\":240,\"name\":{\"362\":{},\"379\":{}},\"comment\":{}}],[\"isall\",{\"_index\":258,\"name\":{\"397\":{}},\"comment\":{}}],[\"iscompatiblewith\",{\"_index\":146,\"name\":{\"199\":{},\"215\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":268,\"name\":{\"415\":{},\"640\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":142,\"name\":{\"195\":{},\"212\":{},\"353\":{},\"365\":{},\"396\":{},\"421\":{},\"467\":{},\"493\":{},\"545\":{},\"571\":{},\"651\":{},\"678\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":48,\"name\":{\"53\":{},\"81\":{},\"436\":{},\"445\":{},\"532\":{},\"626\":{},\"730\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":274,\"name\":{\"422\":{},\"468\":{},\"494\":{},\"546\":{},\"572\":{},\"652\":{},\"679\":{}},\"comment\":{}}],[\"isflags\",{\"_index\":102,\"name\":{\"131\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":68,\"name\":{\"80\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":314,\"name\":{\"540\":{},\"573\":{},\"646\":{},\"680\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":267,\"name\":{\"414\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":266,\"name\":{\"413\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":265,\"name\":{\"412\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":264,\"name\":{\"411\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":249,\"name\":{\"384\":{}},\"comment\":{}}],[\"js\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"key\",{\"_index\":92,\"name\":{\"111\":{},\"117\":{}},\"comment\":{}}],[\"keys\",{\"_index\":237,\"name\":{\"359\":{},\"381\":{}},\"comment\":{}}],[\"kind\",{\"_index\":83,\"name\":{\"97\":{},\"100\":{},\"104\":{},\"106\":{},\"110\":{},\"116\":{},\"122\":{},\"125\":{},\"249\":{}},\"comment\":{}}],[\"label\",{\"_index\":63,\"name\":{\"74\":{},\"77\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":180,\"name\":{\"256\":{}},\"comment\":{}}],[\"length\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"limit\",{\"_index\":308,\"name\":{\"524\":{},\"618\":{},\"722\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":307,\"name\":{\"522\":{},\"616\":{},\"720\":{}},\"comment\":{}}],[\"link\",{\"_index\":304,\"name\":{\"518\":{},\"608\":{},\"714\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":50,\"name\":{\"55\":{},\"447\":{},\"533\":{},\"627\":{},\"731\":{}},\"comment\":{}}],[\"literal\",{\"_index\":114,\"name\":{\"160\":{},\"181\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":42,\"name\":{\"47\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":47,\"name\":{\"52\":{},\"443\":{},\"531\":{},\"625\":{},\"729\":{}},\"comment\":{}}],[\"makegreedy\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"map\",{\"_index\":152,\"name\":{\"205\":{},\"376\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":43,\"name\":{\"48\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":51,\"name\":{\"56\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":30,\"name\":{\"35\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":248,\"name\":{\"377\":{}},\"comment\":{}}],[\"max\",{\"_index\":182,\"name\":{\"258\":{},\"387\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":117,\"name\":{\"164\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":127,\"name\":{\"177\":{},\"184\":{},\"326\":{},\"423\":{},\"453\":{},\"469\":{},\"492\":{},\"536\":{},\"547\":{},\"570\":{},\"630\":{},\"653\":{},\"677\":{},\"734\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":334,\"name\":{\"635\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":256,\"name\":{\"394\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":120,\"name\":{\"168\":{},\"457\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":284,\"name\":{\"458\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":227,\"name\":{\"346\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":65,\"name\":{\"76\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"min\",{\"_index\":181,\"name\":{\"257\":{},\"386\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":299,\"name\":{\"509\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":108,\"name\":{\"137\":{},\"148\":{},\"157\":{}},\"comment\":{}}],[\"name\",{\"_index\":212,\"name\":{\"317\":{},\"331\":{}},\"comment\":{}}],[\"negate\",{\"_index\":84,\"name\":{\"98\":{},\"107\":{},\"114\":{},\"120\":{},\"123\":{},\"126\":{},\"250\":{},\"406\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":341,\"name\":{\"663\":{},\"706\":{}},\"comment\":{}}],[\"node\",{\"_index\":174,\"name\":{\"239\":{},\"515\":{},\"604\":{},\"710\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":279,\"name\":{\"438\":{},\"521\":{},\"615\":{},\"719\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":67,\"name\":{\"79\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":287,\"name\":{\"463\":{},\"497\":{},\"542\":{},\"577\":{},\"648\":{},\"684\":{}},\"comment\":{}}],[\"nonunicodesetsflags\",{\"_index\":112,\"name\":{\"141\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":189,\"name\":{\"280\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":317,\"name\":{\"574\":{},\"681\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":213,\"name\":{\"318\":{},\"333\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":194,\"name\":{\"285\":{},\"300\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":195,\"name\":{\"286\":{},\"301\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":214,\"name\":{\"319\":{},\"334\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":196,\"name\":{\"287\":{},\"302\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":197,\"name\":{\"288\":{},\"303\":{}},\"comment\":{}}],[\"onchange\",{\"_index\":225,\"name\":{\"343\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":215,\"name\":{\"320\":{},\"335\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":198,\"name\":{\"289\":{},\"304\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":199,\"name\":{\"290\":{},\"305\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":216,\"name\":{\"321\":{},\"336\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":200,\"name\":{\"291\":{},\"306\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":201,\"name\":{\"292\":{},\"307\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":217,\"name\":{\"322\":{},\"337\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":202,\"name\":{\"293\":{},\"308\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":203,\"name\":{\"294\":{},\"309\":{}},\"comment\":{}}],[\"onpassstart\",{\"_index\":224,\"name\":{\"341\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":218,\"name\":{\"323\":{},\"338\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":204,\"name\":{\"295\":{},\"310\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":205,\"name\":{\"296\":{},\"311\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":219,\"name\":{\"324\":{},\"339\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":206,\"name\":{\"297\":{},\"312\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":207,\"name\":{\"298\":{},\"313\":{}},\"comment\":{}}],[\"options\",{\"_index\":311,\"name\":{\"535\":{},\"629\":{},\"733\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":73,\"name\":{\"87\":{}},\"comment\":{}}],[\"out\",{\"_index\":303,\"name\":{\"514\":{},\"517\":{},\"600\":{},\"606\":{},\"708\":{},\"712\":{}},\"comment\":{}}],[\"parent\",{\"_index\":173,\"name\":{\"238\":{},\"242\":{},\"247\":{},\"254\":{},\"262\":{},\"267\":{},\"272\":{},\"277\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":124,\"name\":{\"174\":{}},\"comment\":{}}],[\"parse\",{\"_index\":132,\"name\":{\"185\":{}},\"comment\":{}}],[\"parsecharset\",{\"_index\":135,\"name\":{\"188\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":133,\"name\":{\"186\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":116,\"name\":{\"163\":{}},\"comment\":{}}],[\"parser\",{\"_index\":128,\"name\":{\"178\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":125,\"name\":{\"175\":{}},\"comment\":{}}],[\"parseunicodeset\",{\"_index\":134,\"name\":{\"187\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":123,\"name\":{\"172\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":165,\"name\":{\"230\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":166,\"name\":{\"231\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":87,\"name\":{\"102\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":301,\"name\":{\"511\":{},\"596\":{},\"703\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":320,\"name\":{\"589\":{},\"698\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":321,\"name\":{\"590\":{},\"699\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":90,\"name\":{\"108\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":179,\"name\":{\"252\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":323,\"name\":{\"593\":{},\"700\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":257,\"name\":{\"395\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":328,\"name\":{\"603\":{},\"614\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":232,\"name\":{\"352\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":285,\"name\":{\"459\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":312,\"name\":{\"537\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":340,\"name\":{\"643\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":302,\"name\":{\"513\":{},\"599\":{},\"707\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":272,\"name\":{\"419\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":344,\"name\":{\"740\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":122,\"name\":{\"171\":{}},\"comment\":{}}],[\"remove\",{\"_index\":13,\"name\":{\"14\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":298,\"name\":{\"508\":{},\"595\":{},\"702\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"resize\",{\"_index\":263,\"name\":{\"405\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":327,\"name\":{\"602\":{},\"613\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":342,\"name\":{\"705\":{}},\"comment\":{}}],[\"set\",{\"_index\":242,\"name\":{\"370\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":244,\"name\":{\"372\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":190,\"name\":{\"281\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":243,\"name\":{\"371\":{}},\"comment\":{}}],[\"sets\",{\"_index\":230,\"name\":{\"350\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":191,\"name\":{\"282\":{}},\"comment\":{}}],[\"shape\",{\"_index\":64,\"name\":{\"75\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":221,\"name\":{\"327\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":71,\"name\":{\"84\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":21,\"name\":{\"26\":{},\"167\":{}},\"comment\":{}}],[\"size\",{\"_index\":259,\"name\":{\"398\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"source\",{\"_index\":115,\"name\":{\"161\":{},\"244\":{},\"251\":{},\"259\":{},\"264\":{},\"269\":{},\"274\":{},\"279\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":169,\"name\":{\"234\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":96,\"name\":{\"121\":{}},\"comment\":{}}],[\"split\",{\"_index\":231,\"name\":{\"351\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":278,\"name\":{\"435\":{}},\"comment\":{}}],[\"start\",{\"_index\":170,\"name\":{\"235\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":286,\"name\":{\"462\":{},\"495\":{},\"541\":{},\"575\":{},\"647\":{},\"682\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":109,\"name\":{\"138\":{},\"149\":{},\"158\":{}},\"comment\":{}}],[\"stringpropertycharacterset\",{\"_index\":95,\"name\":{\"115\":{}},\"comment\":{}}],[\"strings\",{\"_index\":94,\"name\":{\"113\":{},\"119\":{}},\"comment\":{}}],[\"stringset\",{\"_index\":137,\"name\":{\"190\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":290,\"name\":{\"466\":{},\"507\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":325,\"name\":{\"597\":{},\"704\":{}},\"comment\":{}}],[\"test\",{\"_index\":275,\"name\":{\"424\":{},\"470\":{},\"499\":{},\"548\":{},\"580\":{},\"654\":{},\"687\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"tocharset\",{\"_index\":160,\"name\":{\"223\":{}},\"comment\":{}}],[\"todot\",{\"_index\":53,\"name\":{\"58\":{},\"429\":{},\"475\":{},\"504\":{},\"553\":{},\"585\":{},\"659\":{},\"692\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":54,\"name\":{\"59\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":55,\"name\":{\"60\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":98,\"name\":{\"127\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":99,\"name\":{\"128\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":60,\"name\":{\"67\":{},\"430\":{},\"476\":{},\"505\":{},\"554\":{},\"586\":{},\"660\":{},\"693\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":61,\"name\":{\"68\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":336,\"name\":{\"637\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":260,\"name\":{\"401\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":74,\"name\":{\"88\":{},\"428\":{},\"474\":{},\"503\":{},\"552\":{},\"584\":{},\"658\":{},\"691\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":283,\"name\":{\"456\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":75,\"name\":{\"89\":{},\"400\":{},\"427\":{},\"473\":{},\"502\":{},\"551\":{},\"583\":{},\"657\":{},\"690\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":261,\"name\":{\"402\":{}},\"comment\":{}}],[\"transform\",{\"_index\":210,\"name\":{\"315\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":220,\"name\":{\"325\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":211,\"name\":{\"316\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{},\"332\":{}},\"comment\":{}}],[\"transformevents\",{\"_index\":223,\"name\":{\"340\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":226,\"name\":{\"345\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":282,\"name\":{\"452\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":281,\"name\":{\"451\":{},\"454\":{},\"477\":{},\"496\":{},\"555\":{},\"576\":{},\"661\":{},\"683\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":72,\"name\":{\"85\":{}},\"comment\":{}}],[\"type\",{\"_index\":176,\"name\":{\"241\":{},\"246\":{},\"253\":{},\"261\":{},\"266\":{},\"271\":{},\"276\":{}},\"comment\":{}}],[\"uncheckedflags\",{\"_index\":103,\"name\":{\"132\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":110,\"name\":{\"139\":{},\"142\":{},\"151\":{}},\"comment\":{}}],[\"unicodeset\",{\"_index\":153,\"name\":{\"206\":{}},\"comment\":{}}],[\"unicodesets\",{\"_index\":111,\"name\":{\"140\":{},\"143\":{},\"152\":{}},\"comment\":{}}],[\"unicodesetsflags\",{\"_index\":113,\"name\":{\"150\":{}},\"comment\":{}}],[\"union\",{\"_index\":148,\"name\":{\"201\":{},\"216\":{},\"407\":{},\"591\":{},\"694\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":322,\"name\":{\"592\":{},\"695\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":185,\"name\":{\"265\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":332,\"name\":{\"633\":{},\"737\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":305,\"name\":{\"519\":{},\"609\":{},\"715\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":306,\"name\":{\"520\":{},\"610\":{},\"716\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":330,\"name\":{\"612\":{},\"718\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":329,\"name\":{\"611\":{},\"717\":{}},\"comment\":{}}],[\"value\",{\"_index\":93,\"name\":{\"112\":{},\"118\":{}},\"comment\":{}}],[\"values\",{\"_index\":238,\"name\":{\"360\":{},\"382\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":192,\"name\":{\"283\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":193,\"name\":{\"284\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":208,\"name\":{\"299\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"without\",{\"_index\":150,\"name\":{\"203\":{},\"218\":{},\"409\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":324,\"name\":{\"594\":{},\"701\":{}},\"comment\":{}}],[\"word\",{\"_index\":271,\"name\":{\"418\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":82,\"name\":{\"96\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":97,\"name\":{\"124\":{}},\"comment\":{}}],[\"words\",{\"_index\":141,\"name\":{\"194\":{},\"225\":{},\"425\":{},\"471\":{},\"501\":{},\"549\":{},\"582\":{},\"655\":{},\"689\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":343,\"name\":{\"739\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":145,\"name\":{\"198\":{},\"426\":{},\"472\":{},\"500\":{},\"550\":{},\"581\":{},\"656\":{},\"688\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":167,\"name\":{\"232\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":168,\"name\":{\"233\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/v0.12.0/assets/style.css b/docs/v0.12.0/assets/style.css new file mode 100644 index 00000000..18b4f8fe --- /dev/null +++ b/docs/v0.12.0/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/v0.12.0/classes/CharBase.html b/docs/v0.12.0/classes/CharBase.html new file mode 100644 index 00000000..573551dc --- /dev/null +++ b/docs/v0.12.0/classes/CharBase.html @@ -0,0 +1,206 @@ +CharBase | refa - v0.12.0
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+

Guarantees

    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+

Use case

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

    +
    +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/CharMap.html b/docs/v0.12.0/classes/CharMap.html new file mode 100644 index 00000000..fa02e722 --- /dev/null +++ b/docs/v0.12.0/classes/CharMap.html @@ -0,0 +1,505 @@ +CharMap | refa - v0.12.0
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/CharSet.html b/docs/v0.12.0/classes/CharSet.html new file mode 100644 index 00000000..0d673801 --- /dev/null +++ b/docs/v0.12.0/classes/CharSet.html @@ -0,0 +1,630 @@ +CharSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

    +
+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +
    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      char: Char
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      range: CharRange
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/CombinedTransformer.html b/docs/v0.12.0/classes/CombinedTransformer.html new file mode 100644 index 00000000..b842a718 --- /dev/null +++ b/docs/v0.12.0/classes/CombinedTransformer.html @@ -0,0 +1,275 @@ +CombinedTransformer | refa - v0.12.0
+
+ +
+
+
+
+ +

Class CombinedTransformer

+
+

A transformer that runs all given transformers in sequentially order.

+

The combined transformer is a special transformer in that the transform function knows about it.

+
+
+
+

Hierarchy

+
    +
  • CombinedTransformer
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
name: "CombinedTransformer" = "CombinedTransformer"
+

An optional name useful for diagnostics.

+
+
+
+ +
transformers: readonly Transformer[]
+

The transformers that will be applied in order.

+

Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a +CombinedTransformer, then its transformers will be used instead (think of it as flattening combined +transformers).

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/DFA-1.html b/docs/v0.12.0/classes/DFA-1.html new file mode 100644 index 00000000..be29f6a3 --- /dev/null +++ b/docs/v0.12.0/classes/DFA-1.html @@ -0,0 +1,701 @@ +DFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

    +
+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/DFA.Builder.html b/docs/v0.12.0/classes/DFA.Builder.html new file mode 100644 index 00000000..dbc2e2a5 --- /dev/null +++ b/docs/v0.12.0/classes/DFA.Builder.html @@ -0,0 +1,247 @@ +Builder | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/DFA.LimitedNodeFactory.html b/docs/v0.12.0/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..49a4757d --- /dev/null +++ b/docs/v0.12.0/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,172 @@ +LimitedNodeFactory | refa - v0.12.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/DFA.Node.html b/docs/v0.12.0/classes/DFA.Node.html new file mode 100644 index 00000000..0ae8873a --- /dev/null +++ b/docs/v0.12.0/classes/DFA.Node.html @@ -0,0 +1,188 @@ +Node | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/ENFA-1.html b/docs/v0.12.0/classes/ENFA-1.html new file mode 100644 index 00000000..665f37e6 --- /dev/null +++ b/docs/v0.12.0/classes/ENFA-1.html @@ -0,0 +1,940 @@ +ENFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    ENFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

    +
+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    ENFA

    +
+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/ENFA.Builder.html b/docs/v0.12.0/classes/ENFA.Builder.html new file mode 100644 index 00000000..0b9a4b07 --- /dev/null +++ b/docs/v0.12.0/classes/ENFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/ENFA.LimitedNodeFactory.html b/docs/v0.12.0/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..e1cbe5d9 --- /dev/null +++ b/docs/v0.12.0/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/ENFA.Node.html b/docs/v0.12.0/classes/ENFA.Node.html new file mode 100644 index 00000000..ae1358c0 --- /dev/null +++ b/docs/v0.12.0/classes/ENFA.Node.html @@ -0,0 +1,304 @@ +Node | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/FAIterators.MapFABuilder.html b/docs/v0.12.0/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..0ddb3ffb --- /dev/null +++ b/docs/v0.12.0/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,272 @@ +MapFABuilder | refa - v0.12.0
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/JS.Parser.html b/docs/v0.12.0/classes/JS.Parser.html new file mode 100644 index 00000000..ce6424e9 --- /dev/null +++ b/docs/v0.12.0/classes/JS.Parser.html @@ -0,0 +1,275 @@ +Parser | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +
flags: Required<Flags>
+

This contains the same flags as ast.flags but with a better type.

+
+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

    +
+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    If a string is given as the literal, it must be of the form /pattern/flags. If possible, use the +object form with Literal instead.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: string | Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
    +

    Returns Parser

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/JS.StringSet.html b/docs/v0.12.0/classes/JS.StringSet.html new file mode 100644 index 00000000..c8c45bfb --- /dev/null +++ b/docs/v0.12.0/classes/JS.StringSet.html @@ -0,0 +1,379 @@ +StringSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Class StringSet

+
+

A set of words.

+

Words are stored as a sorted list of canonicalized words. The actual value of the set is wordSets.

+
+
+
+

Hierarchy

+
    +
  • StringSet
+
+
+
+ +
+
+

Properties

+
+ +
words: readonly ReadonlyWord[]
+

A sorted list of canonicalized words.

+

Words are guaranteed to be sorted by ascending length followed by ascending character value.

+
+
+
+ +
empty: StringSet = ...
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if this set contains the empty word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get hasSingleCharacter(): boolean
  • +
  • +

    true if this set contains at least one single-character word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if this set is empty.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    words with toCharSet applied to each character.

    +

    Word sets are guaranteed to be sorted by ascending length.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set is equal to the given set.

    +

    Equality is defined as the wordSets of both sets being the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns whether this set is compatible with the given set. Compatibility is defined as follows:

    +
      +
    1. The empty set is compatible with all sets.
    2. +
    3. Sets with different case folding are incompatible.
    4. +
    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/JS.UnicodeSet.html b/docs/v0.12.0/classes/JS.UnicodeSet.html new file mode 100644 index 00000000..4e72444f --- /dev/null +++ b/docs/v0.12.0/classes/JS.UnicodeSet.html @@ -0,0 +1,312 @@ +UnicodeSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Class UnicodeSet

+
+

A mathematical set of characters and strings.

+

Despite the name, the characters in this set are not necessarily Unicode characters. +So chars.maximum is not necessarily 0x10FFFF.

+

The set is represented as a union of a CharSet and a StringSet.

+
+
+
+

Hierarchy

+
    +
  • UnicodeSet
+
+
+
+ +
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Properties

+
+ +
accept: StringSet
+

A sorted set of words.

+

In addition to the usual guarantees of StringSet, this set is also guaranteed to not contain any single-character words.

+
+
+
+ +
chars: CharSet
+

All single characters in the set.

+
+
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if the set contains the empty word.

    +

    This is equivalent to this.accept.hasEmptyWord.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns boolean

+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set and the other set contain the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/MaxCharacterError.html b/docs/v0.12.0/classes/MaxCharacterError.html new file mode 100644 index 00000000..c3a51882 --- /dev/null +++ b/docs/v0.12.0/classes/MaxCharacterError.html @@ -0,0 +1,161 @@ +MaxCharacterError | refa - v0.12.0
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      Optional kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/NFA-1.html b/docs/v0.12.0/classes/NFA-1.html new file mode 100644 index 00000000..e57467b7 --- /dev/null +++ b/docs/v0.12.0/classes/NFA-1.html @@ -0,0 +1,941 @@ +NFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    NFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

    +
+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    NFA

    +
+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/NFA.Builder.html b/docs/v0.12.0/classes/NFA.Builder.html new file mode 100644 index 00000000..77c34d66 --- /dev/null +++ b/docs/v0.12.0/classes/NFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/NFA.LimitedNodeFactory.html b/docs/v0.12.0/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..d070a1ad --- /dev/null +++ b/docs/v0.12.0/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.0
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/NFA.Node.html b/docs/v0.12.0/classes/NFA.Node.html new file mode 100644 index 00000000..e3b74066 --- /dev/null +++ b/docs/v0.12.0/classes/NFA.Node.html @@ -0,0 +1,217 @@ +Node | refa - v0.12.0
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/classes/TooManyNodesError.html b/docs/v0.12.0/classes/TooManyNodesError.html new file mode 100644 index 00000000..6de63fd9 --- /dev/null +++ b/docs/v0.12.0/classes/TooManyNodesError.html @@ -0,0 +1,162 @@ +TooManyNodesError | refa - v0.12.0
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.approximateRejectingWordSet.html b/docs/v0.12.0/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 00000000..8c99a36a --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,164 @@ +approximateRejectingWordSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.canReachFinal.html b/docs/v0.12.0/functions/FAIterators.canReachFinal.html new file mode 100644 index 00000000..5c81978f --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.canReachFinal.html @@ -0,0 +1,153 @@ +canReachFinal | refa - v0.12.0
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.count.html b/docs/v0.12.0/functions/FAIterators.count.html new file mode 100644 index 00000000..672edc80 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.count.html @@ -0,0 +1,153 @@ +count | refa - v0.12.0
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.ensureStableOut.html b/docs/v0.12.0/functions/FAIterators.ensureStableOut.html new file mode 100644 index 00000000..1ef70d5a --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,155 @@ +ensureStableOut | refa - v0.12.0
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.filterOutIter.html b/docs/v0.12.0/functions/FAIterators.filterOutIter.html new file mode 100644 index 00000000..e9dbe1df --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.filterOutIter.html @@ -0,0 +1,169 @@ +filterOutIter | refa - v0.12.0
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.forEach.html b/docs/v0.12.0/functions/FAIterators.forEach.html new file mode 100644 index 00000000..040f1409 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.forEach.html @@ -0,0 +1,169 @@ +forEach | refa - v0.12.0
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
      +
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.fromWordSets.html b/docs/v0.12.0/functions/FAIterators.fromWordSets.html new file mode 100644 index 00000000..715efe57 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.fromWordSets.html @@ -0,0 +1,161 @@ +fromWordSets | refa - v0.12.0
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.fromWords.html b/docs/v0.12.0/functions/FAIterators.fromWords.html new file mode 100644 index 00000000..ddd30ed0 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.fromWords.html @@ -0,0 +1,185 @@ +fromWords | refa - v0.12.0
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
      +
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
      +
    • +
    • +
      maxCharacter: Char
      +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.hasCycle.html b/docs/v0.12.0/functions/FAIterators.hasCycle.html new file mode 100644 index 00000000..0bcbb3a6 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.hasCycle.html @@ -0,0 +1,153 @@ +hasCycle | refa - v0.12.0
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.intersection.html b/docs/v0.12.0/functions/FAIterators.intersection.html new file mode 100644 index 00000000..6a0beb78 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.intersection.html @@ -0,0 +1,165 @@ +intersection | refa - v0.12.0
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.iterateStates.html b/docs/v0.12.0/functions/FAIterators.iterateStates.html new file mode 100644 index 00000000..83730b02 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.iterateStates.html @@ -0,0 +1,154 @@ +iterateStates | refa - v0.12.0
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.iterateWordSets.html b/docs/v0.12.0/functions/FAIterators.iterateWordSets.html new file mode 100644 index 00000000..fd8eb057 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,155 @@ +iterateWordSets | refa - v0.12.0
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.languageIsFinite.html b/docs/v0.12.0/functions/FAIterators.languageIsFinite.html new file mode 100644 index 00000000..8ca33e12 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,153 @@ +languageIsFinite | refa - v0.12.0
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.makeDeterministic.html b/docs/v0.12.0/functions/FAIterators.makeDeterministic.html new file mode 100644 index 00000000..1f651d6b --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,159 @@ +makeDeterministic | refa - v0.12.0
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
    + +
  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      B

    • +
    • +

      I

    +
    +

    Parameters

    +
    +

    Returns FAIterator<B, B>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.makeInitialFinal.html b/docs/v0.12.0/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 00000000..8e3919bd --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,156 @@ +makeInitialFinal | refa - v0.12.0
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.makeInitialNonFinal.html b/docs/v0.12.0/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 00000000..11d0e526 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,156 @@ +makeInitialNonFinal | refa - v0.12.0
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.mapOut.html b/docs/v0.12.0/functions/FAIterators.mapOut.html new file mode 100644 index 00000000..4fc5a273 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.mapOut.html @@ -0,0 +1,171 @@ +mapOut | refa - v0.12.0
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.mapOutIter.html b/docs/v0.12.0/functions/FAIterators.mapOutIter.html new file mode 100644 index 00000000..359d1cdc --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.mapOutIter.html @@ -0,0 +1,171 @@ +mapOutIter | refa - v0.12.0
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.removeDeadStates.html b/docs/v0.12.0/functions/FAIterators.removeDeadStates.html new file mode 100644 index 00000000..0cd98044 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,170 @@ +removeDeadStates | refa - v0.12.0
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: ((item: O) => S)
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.shortestAcceptingPath.html b/docs/v0.12.0/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 00000000..4af1b365 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,171 @@ +shortestAcceptingPath | refa - v0.12.0
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: ((item: T) => S)
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.shortestWordSet.html b/docs/v0.12.0/functions/FAIterators.shortestWordSet.html new file mode 100644 index 00000000..4582f7a4 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,157 @@ +shortestWordSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.toDot.html b/docs/v0.12.0/functions/FAIterators.toDot.html new file mode 100644 index 00000000..34e01bb0 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.toDot.html @@ -0,0 +1,153 @@ +toDot | refa - v0.12.0
+
+ +
+
+
+
+ +

Function toDot

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.toMermaid.html b/docs/v0.12.0/functions/FAIterators.toMermaid.html new file mode 100644 index 00000000..4b21faed --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.toMermaid.html @@ -0,0 +1,153 @@ +toMermaid | refa - v0.12.0
+
+ +
+
+
+
+ +

Function toMermaid

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.toRegex.html b/docs/v0.12.0/functions/FAIterators.toRegex.html new file mode 100644 index 00000000..aa5d1778 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.toRegex.html @@ -0,0 +1,157 @@ +toRegex | refa - v0.12.0
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.toString.html b/docs/v0.12.0/functions/FAIterators.toString.html new file mode 100644 index 00000000..627b3ce6 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.toString.html @@ -0,0 +1,190 @@ +toString | refa - v0.12.0
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: ((value: T) => string) = String
      +
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
      +
    +

    Returns string

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.withGetOut.html b/docs/v0.12.0/functions/FAIterators.withGetOut.html new file mode 100644 index 00000000..e72ab0b6 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.withGetOut.html @@ -0,0 +1,174 @@ +withGetOut | refa - v0.12.0
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      getOut: ((state: S) => T)
      +
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
      +
    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.withInitial.html b/docs/v0.12.0/functions/FAIterators.withInitial.html new file mode 100644 index 00000000..fa598c18 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.withInitial.html @@ -0,0 +1,158 @@ +withInitial | refa - v0.12.0
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/FAIterators.withIsFinal.html b/docs/v0.12.0/functions/FAIterators.withIsFinal.html new file mode 100644 index 00000000..5ee85670 --- /dev/null +++ b/docs/v0.12.0/functions/FAIterators.withIsFinal.html @@ -0,0 +1,169 @@ +withIsFinal | refa - v0.12.0
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.createAssertion.html b/docs/v0.12.0/functions/JS.createAssertion.html new file mode 100644 index 00000000..23ec04bc --- /dev/null +++ b/docs/v0.12.0/functions/JS.createAssertion.html @@ -0,0 +1,142 @@ +createAssertion | refa - v0.12.0
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.createCharSet.html b/docs/v0.12.0/functions/JS.createCharSet.html new file mode 100644 index 00000000..3ad10913 --- /dev/null +++ b/docs/v0.12.0/functions/JS.createCharSet.html @@ -0,0 +1,151 @@ +createCharSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.getCharCaseFolding.html b/docs/v0.12.0/functions/JS.getCharCaseFolding.html new file mode 100644 index 00000000..6e25d9a0 --- /dev/null +++ b/docs/v0.12.0/functions/JS.getCharCaseFolding.html @@ -0,0 +1,150 @@ +getCharCaseFolding | refa - v0.12.0
+
+ +
+
+
+
+ +

Function getCharCaseFolding

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.isFlags.html b/docs/v0.12.0/functions/JS.isFlags.html new file mode 100644 index 00000000..62a9932b --- /dev/null +++ b/docs/v0.12.0/functions/JS.isFlags.html @@ -0,0 +1,144 @@ +isFlags | refa - v0.12.0
+
+ +
+
+
+
+ +

Function isFlags

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.parseCharSet.html b/docs/v0.12.0/functions/JS.parseCharSet.html new file mode 100644 index 00000000..60f45132 --- /dev/null +++ b/docs/v0.12.0/functions/JS.parseCharSet.html @@ -0,0 +1,142 @@ +parseCharSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Function parseCharSet

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      element: ClassRangesCharacterClass | CharacterClassRange | Character | AnyCharacterSet | EscapeCharacterSet | CharacterUnicodePropertyCharacterSet
    • +
    • +
      flags: Readonly<Flags>
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.parseUnicodeSet.html b/docs/v0.12.0/functions/JS.parseUnicodeSet.html new file mode 100644 index 00000000..d7c81840 --- /dev/null +++ b/docs/v0.12.0/functions/JS.parseUnicodeSet.html @@ -0,0 +1,142 @@ +parseUnicodeSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Function parseUnicodeSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/JS.toLiteral.html b/docs/v0.12.0/functions/JS.toLiteral.html new file mode 100644 index 00000000..935ff43b --- /dev/null +++ b/docs/v0.12.0/functions/JS.toLiteral.html @@ -0,0 +1,159 @@ +toLiteral | refa - v0.12.0
+
+ +
+
+
+
+ +

Function toLiteral

+
+
    + +
  • +

    Converts the given AST or AST subtree into a JS literal.

    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to +builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +
    +

    Parameters

    +
    +

    Returns Literal

    +
  • + +
  • +
    +

    Parameters

    +
    +

    Returns Literal

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.applyAssertions.html b/docs/v0.12.0/functions/Transformers.applyAssertions.html new file mode 100644 index 00000000..77c2e373 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.applyAssertions.html @@ -0,0 +1,129 @@ +applyAssertions | refa - v0.12.0
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.factorOut.html b/docs/v0.12.0/functions/Transformers.factorOut.html new file mode 100644 index 00000000..98fa077c --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.factorOut.html @@ -0,0 +1,137 @@ +factorOut | refa - v0.12.0
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.inline.html b/docs/v0.12.0/functions/Transformers.inline.html new file mode 100644 index 00000000..dc37be09 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.inline.html @@ -0,0 +1,139 @@ +inline | refa - v0.12.0
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.makeGreedy.html b/docs/v0.12.0/functions/Transformers.makeGreedy.html new file mode 100644 index 00000000..bb7e57c5 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.makeGreedy.html @@ -0,0 +1,129 @@ +makeGreedy | refa - v0.12.0
+
+ +
+
+
+
+ +

Function makeGreedy

+
+
    + +
  • +

    This transformer will try to make quantifiers greedy whenever possible.

    +

    Note: If ignoreOrder is true, then quantifiers will always be made greedy.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.mergeWithQuantifier.html b/docs/v0.12.0/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 00000000..dd0af871 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,133 @@ +mergeWithQuantifier | refa - v0.12.0
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.moveUpEmpty.html b/docs/v0.12.0/functions/Transformers.moveUpEmpty.html new file mode 100644 index 00000000..d20e3b3f --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,137 @@ +moveUpEmpty | refa - v0.12.0
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.nestedQuantifiers.html b/docs/v0.12.0/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 00000000..918d4002 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,137 @@ +nestedQuantifiers | refa - v0.12.0
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.patternEdgeAssertions.html b/docs/v0.12.0/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 00000000..62c292f5 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,136 @@ +patternEdgeAssertions | refa - v0.12.0
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.removeDeadBranches.html b/docs/v0.12.0/functions/Transformers.removeDeadBranches.html new file mode 100644 index 00000000..e00f3e8e --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,133 @@ +removeDeadBranches | refa - v0.12.0
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.removeUnnecessaryAssertions.html b/docs/v0.12.0/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 00000000..27a477a1 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,128 @@ +removeUnnecessaryAssertions | refa - v0.12.0
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.replaceAssertions.html b/docs/v0.12.0/functions/Transformers.replaceAssertions.html new file mode 100644 index 00000000..1e9770ab --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.replaceAssertions.html @@ -0,0 +1,128 @@ +replaceAssertions | refa - v0.12.0
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.simplify.html b/docs/v0.12.0/functions/Transformers.simplify.html new file mode 100644 index 00000000..478b9e54 --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.simplify.html @@ -0,0 +1,134 @@ +simplify | refa - v0.12.0
+
+ +
+
+
+
+ +

Function simplify

+
+
    + +
  • +

    This transformer is a combined transformer with the goal of simplifying the AST as much as possible without +changing the semantics.

    +

    The main purpose of this transformer is to provide a stable API. The specific functionality of individual +transformers may change over time, and transformers may depend on each other. This transformer will always +provide the same functionality. Namely, it will always simplify the AST.

    +

    As with all transformers, creation option can be provided. Depending on the options, a different set of +underlying transformers may be used.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.sortAssertions.html b/docs/v0.12.0/functions/Transformers.sortAssertions.html new file mode 100644 index 00000000..cd46433b --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.sortAssertions.html @@ -0,0 +1,130 @@ +sortAssertions | refa - v0.12.0
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Transformers.unionCharacters.html b/docs/v0.12.0/functions/Transformers.unionCharacters.html new file mode 100644 index 00000000..07acda5d --- /dev/null +++ b/docs/v0.12.0/functions/Transformers.unionCharacters.html @@ -0,0 +1,130 @@ +unionCharacters | refa - v0.12.0
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.fromStringToUTF16.html b/docs/v0.12.0/functions/Words.fromStringToUTF16.html new file mode 100644 index 00000000..5bc0c76e --- /dev/null +++ b/docs/v0.12.0/functions/Words.fromStringToUTF16.html @@ -0,0 +1,120 @@ +fromStringToUTF16 | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.fromStringToUnicode.html b/docs/v0.12.0/functions/Words.fromStringToUnicode.html new file mode 100644 index 00000000..65cf4cf1 --- /dev/null +++ b/docs/v0.12.0/functions/Words.fromStringToUnicode.html @@ -0,0 +1,120 @@ +fromStringToUnicode | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.fromUTF16ToString.html b/docs/v0.12.0/functions/Words.fromUTF16ToString.html new file mode 100644 index 00000000..ce19d51a --- /dev/null +++ b/docs/v0.12.0/functions/Words.fromUTF16ToString.html @@ -0,0 +1,120 @@ +fromUTF16ToString | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.fromUnicodeToString.html b/docs/v0.12.0/functions/Words.fromUnicodeToString.html new file mode 100644 index 00000000..ae7fe32b --- /dev/null +++ b/docs/v0.12.0/functions/Words.fromUnicodeToString.html @@ -0,0 +1,120 @@ +fromUnicodeToString | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.pickMostReadableCharacter.html b/docs/v0.12.0/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 00000000..bdd9ca43 --- /dev/null +++ b/docs/v0.12.0/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,122 @@ +pickMostReadableCharacter | refa - v0.12.0
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.pickMostReadableWord.html b/docs/v0.12.0/functions/Words.pickMostReadableWord.html new file mode 100644 index 00000000..0861f856 --- /dev/null +++ b/docs/v0.12.0/functions/Words.pickMostReadableWord.html @@ -0,0 +1,119 @@ +pickMostReadableWord | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.wordSetToWords.html b/docs/v0.12.0/functions/Words.wordSetToWords.html new file mode 100644 index 00000000..658065bc --- /dev/null +++ b/docs/v0.12.0/functions/Words.wordSetToWords.html @@ -0,0 +1,121 @@ +wordSetToWords | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/Words.wordSetsToWords.html b/docs/v0.12.0/functions/Words.wordSetsToWords.html new file mode 100644 index 00000000..3710cec8 --- /dev/null +++ b/docs/v0.12.0/functions/Words.wordSetsToWords.html @@ -0,0 +1,119 @@ +wordSetsToWords | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/combineTransformers.html b/docs/v0.12.0/functions/combineTransformers.html new file mode 100644 index 00000000..7d7cfbdc --- /dev/null +++ b/docs/v0.12.0/functions/combineTransformers.html @@ -0,0 +1,112 @@ +combineTransformers | refa - v0.12.0
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
    +

    Deprecated

    Use new CombinedTransformer(transformers) instead.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/getIntersectionIterator.html b/docs/v0.12.0/functions/getIntersectionIterator.html new file mode 100644 index 00000000..0d3e197d --- /dev/null +++ b/docs/v0.12.0/functions/getIntersectionIterator.html @@ -0,0 +1,121 @@ +getIntersectionIterator | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/functions/getIntersectionWordSets.html b/docs/v0.12.0/functions/getIntersectionWordSets.html new file mode 100644 index 00000000..20fe233a --- /dev/null +++ b/docs/v0.12.0/functions/getIntersectionWordSets.html @@ -0,0 +1,127 @@ +getIntersectionWordSets | refa - v0.12.0
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/getIntersectionWords.html b/docs/v0.12.0/functions/getIntersectionWords.html new file mode 100644 index 00000000..3c082592 --- /dev/null +++ b/docs/v0.12.0/functions/getIntersectionWords.html @@ -0,0 +1,126 @@ +getIntersectionWords | refa - v0.12.0
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/isDisjointWith.html b/docs/v0.12.0/functions/isDisjointWith.html new file mode 100644 index 00000000..b8b452c2 --- /dev/null +++ b/docs/v0.12.0/functions/isDisjointWith.html @@ -0,0 +1,124 @@ +isDisjointWith | refa - v0.12.0
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/setParent.html b/docs/v0.12.0/functions/setParent.html new file mode 100644 index 00000000..40d6d33c --- /dev/null +++ b/docs/v0.12.0/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.12.0
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
      +
    +

    Returns asserts node is T

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/setSource.html b/docs/v0.12.0/functions/setSource.html new file mode 100644 index 00000000..b360e1df --- /dev/null +++ b/docs/v0.12.0/functions/setSource.html @@ -0,0 +1,115 @@ +setSource | refa - v0.12.0
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/transform.html b/docs/v0.12.0/functions/transform.html new file mode 100644 index 00000000..c915821e --- /dev/null +++ b/docs/v0.12.0/functions/transform.html @@ -0,0 +1,118 @@ +transform | refa - v0.12.0
+
+ +
+
+
+
+ +

Function transform

+
+
    + +
  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Note: This function knows about CombinedTransformer and will give it special treatment. Instead of applying +the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the +transformer, it does change which transformers the TransformEvents will see. Instead of seeing the combined +transformer, they will see the individual transformers.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParent<Expression>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/functions/visitAst.html b/docs/v0.12.0/functions/visitAst.html new file mode 100644 index 00000000..be1262d7 --- /dev/null +++ b/docs/v0.12.0/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.12.0
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/index.html b/docs/v0.12.0/index.html new file mode 100644 index 00000000..5605cc12 --- /dev/null +++ b/docs/v0.12.0/index.html @@ -0,0 +1,247 @@ +refa - v0.12.0
+
+ +
+
+
+
+

refa - v0.12.0

+

Regular Expressions and Finite Automata (refa)

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+

About

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+

Installation

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+

Features

    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • AST transformations

    +
      +
    • Simplify and change the AST of a regex
    • +
    • Remove assertions
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+

RE AST format

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+

Universal characters

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+

General limitations

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+

Usage examples

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+

Testing whether a word is accepted

import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+

Finding the intersection of two JS RegExps

const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+

Finding the complement of a JS RegExp

const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+

Converting a JS RegExp to an NFA

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+

Backreferences

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+

Assertions

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The simplest transformer to remove assertions (among other things) is the simplify transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more.

+
import { JS, NFA, Transformers, transform } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' }

const modifiedExpression = transform(Transformers.simplify(), expression);
console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression);
console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples:

+
import { JS, Transformers, transform } from "refa";

function simplify(regex: RegExp): void {
const { expression } = JS.Parser.fromLiteral(regex).parse();

const simplifiedExpression = transform(Transformers.simplify(), expression);

const literal = JS.toLiteral(simplifiedExpression);
console.log(new RegExp(literal.source, literal.flags));
}

simplify(/\b(?!\d)\b\w+\b\s*\(/);
// => /(?<!\w)[A-Z_]\w*\s*\(/i
simplify(/(?:^|@)\b\w+\b/);
// => /(?:^|@)\w+(?!\w)/
simplify(/"""(?:(?!""").)*"""/s);
// => /"""(?:"{0,2}[^"])*"""/
simplify(/"""((?!""")(?:[^\\]|\\"))*"""/);
// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/
simplify(/<title>(?:(?!<\/title>).)*<\/title>/s);
// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/
simplify(/^```$.*?^```$/ms);
// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m +
+
+ Note + +

Transformers.simplify is very aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow NFA and ENFA to support many more regexes.

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Alternation.html b/docs/v0.12.0/interfaces/Alternation.html new file mode 100644 index 00000000..3c184c40 --- /dev/null +++ b/docs/v0.12.0/interfaces/Alternation.html @@ -0,0 +1,136 @@ +Alternation | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Assertion.html b/docs/v0.12.0/interfaces/Assertion.html new file mode 100644 index 00000000..52f277f7 --- /dev/null +++ b/docs/v0.12.0/interfaces/Assertion.html @@ -0,0 +1,146 @@ +Assertion | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/CharRange.html b/docs/v0.12.0/interfaces/CharRange.html new file mode 100644 index 00000000..877a887d --- /dev/null +++ b/docs/v0.12.0/interfaces/CharRange.html @@ -0,0 +1,134 @@ +CharRange | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/CharacterClass.html b/docs/v0.12.0/interfaces/CharacterClass.html new file mode 100644 index 00000000..d2d1dfcc --- /dev/null +++ b/docs/v0.12.0/interfaces/CharacterClass.html @@ -0,0 +1,136 @@ +CharacterClass | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Concatenation.html b/docs/v0.12.0/interfaces/Concatenation.html new file mode 100644 index 00000000..c29bba74 --- /dev/null +++ b/docs/v0.12.0/interfaces/Concatenation.html @@ -0,0 +1,136 @@ +Concatenation | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/DFA.Options.html b/docs/v0.12.0/interfaces/DFA.Options.html new file mode 100644 index 00000000..cc29f7a2 --- /dev/null +++ b/docs/v0.12.0/interfaces/DFA.Options.html @@ -0,0 +1,130 @@ +Options | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/DFA.ReadonlyNode.html b/docs/v0.12.0/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..11378f4a --- /dev/null +++ b/docs/v0.12.0/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,130 @@ +ReadonlyNode | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ENFA.FromRegexOptions.html b/docs/v0.12.0/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..c29e6a39 --- /dev/null +++ b/docs/v0.12.0/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ENFA.Options.html b/docs/v0.12.0/interfaces/ENFA.Options.html new file mode 100644 index 00000000..28f17292 --- /dev/null +++ b/docs/v0.12.0/interfaces/ENFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ENFA.ReadonlyNode.html b/docs/v0.12.0/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..cf1b0c56 --- /dev/null +++ b/docs/v0.12.0/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,215 @@ +ReadonlyNode | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Expression.html b/docs/v0.12.0/interfaces/Expression.html new file mode 100644 index 00000000..e9676816 --- /dev/null +++ b/docs/v0.12.0/interfaces/Expression.html @@ -0,0 +1,136 @@ +Expression | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FABuilder.html b/docs/v0.12.0/interfaces/FABuilder.html new file mode 100644 index 00000000..25855a17 --- /dev/null +++ b/docs/v0.12.0/interfaces/FABuilder.html @@ -0,0 +1,238 @@ +FABuilder | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

      +
+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterator.html b/docs/v0.12.0/interfaces/FAIterator.html new file mode 100644 index 00000000..7d09d2d3 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterator.html @@ -0,0 +1,203 @@ +FAIterator | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

      +
      +

      See

      stableOut

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.MermaidEdge.html b/docs/v0.12.0/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 00000000..24006cd0 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,162 @@ +MermaidEdge | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.MermaidNode.html b/docs/v0.12.0/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 00000000..6cdf70c9 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,162 @@ +MermaidNode | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.NodeInfo.html b/docs/v0.12.0/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 00000000..22722f29 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,209 @@ +NodeInfo | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.SimplePrintOptions.html b/docs/v0.12.0/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 00000000..5fed3443 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,190 @@ +SimplePrintOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+
+
+

Default

false
+
+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      +
      +
      +

      Parameters

      +
        +
      • +
        transition: T
        +
      +

      Returns string

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.ToDotOptions.html b/docs/v0.12.0/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..8c36029e --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,218 @@ +ToDotOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FAIterators.ToMermaidOptions.html b/docs/v0.12.0/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 00000000..a0d0d762 --- /dev/null +++ b/docs/v0.12.0/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,205 @@ +ToMermaidOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/FiniteAutomaton.html b/docs/v0.12.0/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..bac2236d --- /dev/null +++ b/docs/v0.12.0/interfaces/FiniteAutomaton.html @@ -0,0 +1,284 @@ +FiniteAutomaton | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

    +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.AnyCharacterSet.html b/docs/v0.12.0/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..20f0a6bd --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,153 @@ +AnyCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.CharCaseFolding.html b/docs/v0.12.0/interfaces/JS.CharCaseFolding.html new file mode 100644 index 00000000..2b2331b2 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.CharCaseFolding.html @@ -0,0 +1,184 @@ +CharCaseFolding | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface CharCaseFolding

+
+

Hierarchy

+
    +
  • CharCaseFolding
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
canonicalize?: ((char: Char) => Char)
+
+

Type declaration

+
+
+ +
toCharSet: ((char: Char) => CharSet)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.CharacterPropertyCharacterSet.html b/docs/v0.12.0/interfaces/JS.CharacterPropertyCharacterSet.html new file mode 100644 index 00000000..fcc598fa --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.CharacterPropertyCharacterSet.html @@ -0,0 +1,173 @@ +CharacterPropertyCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface CharacterPropertyCharacterSet

+
+

Hierarchy

+
    +
  • CharacterPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
strings: false
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.DigitCharacterSet.html b/docs/v0.12.0/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..678ec04a --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,158 @@ +DigitCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.Literal.html b/docs/v0.12.0/interfaces/JS.Literal.html new file mode 100644 index 00000000..f3061585 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.Literal.html @@ -0,0 +1,164 @@ +Literal | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.NonUnicodeSetsFlags.html b/docs/v0.12.0/interfaces/JS.NonUnicodeSetsFlags.html new file mode 100644 index 00000000..9df2e19b --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.NonUnicodeSetsFlags.html @@ -0,0 +1,234 @@ +NonUnicodeSetsFlags | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface NonUnicodeSetsFlags

+
+

A partial set of non-Unicode-sets RegExp flags. The v flag is guaranteed to be unset.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: false
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.ParseOptions.html b/docs/v0.12.0/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..2b6432b4 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.ParseOptions.html @@ -0,0 +1,276 @@ +ParseOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
+
+

Default

"parse"
+
+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
+

Default

"throw"
+
+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

      +
+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
+
+

Default

100
+
+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
+

Default

10000
+
+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
+

Default

true
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.ParseResult.html b/docs/v0.12.0/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..6e625851 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.ParseResult.html @@ -0,0 +1,158 @@ +ParseResult | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.RegexppAst.html b/docs/v0.12.0/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..febfd2df --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.RegexppAst.html @@ -0,0 +1,158 @@ +RegexppAst | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.SpaceCharacterSet.html b/docs/v0.12.0/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..78a80860 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,158 @@ +SpaceCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.StringPropertyCharacterSet.html b/docs/v0.12.0/interfaces/JS.StringPropertyCharacterSet.html new file mode 100644 index 00000000..1364dece --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.StringPropertyCharacterSet.html @@ -0,0 +1,173 @@ +StringPropertyCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface StringPropertyCharacterSet

+
+

Hierarchy

+
    +
  • StringPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: false
+
+ +
strings: true
+
+ +
value: null
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.12.0/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..e016ca3e --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,153 @@ +TextBoundaryAssertion | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.ToLiteralOptions.html b/docs/v0.12.0/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..edb434be --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,175 @@ +ToLiteralOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
+

Default

false
+
+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.UncheckedFlags.html b/docs/v0.12.0/interfaces/JS.UncheckedFlags.html new file mode 100644 index 00000000..36772a18 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.UncheckedFlags.html @@ -0,0 +1,229 @@ +UncheckedFlags | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface UncheckedFlags

+
+

An unchecked partial set of RegExp flags.

+

Flags are not validated by TypeScript. You must ensure that the flags are valid. +Whenever possible, use the Flags type instead.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: boolean
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.UnicodeSetsFlags.html b/docs/v0.12.0/interfaces/JS.UnicodeSetsFlags.html new file mode 100644 index 00000000..8bb15dc5 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.UnicodeSetsFlags.html @@ -0,0 +1,234 @@ +UnicodeSetsFlags | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface UnicodeSetsFlags

+
+

A partial set of Unicode-sets RegExp flags. The v flag is guaranteed to be set.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: false
+
+

Default

false
+
+
+
+ +
unicodeSets: true
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.12.0/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..469b02c2 --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,158 @@ +WordBoundaryAssertion | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/JS.WordCharacterSet.html b/docs/v0.12.0/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..b49aee1c --- /dev/null +++ b/docs/v0.12.0/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,158 @@ +WordCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/NFA.FromRegexOptions.html b/docs/v0.12.0/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..62496ae7 --- /dev/null +++ b/docs/v0.12.0/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/NFA.Options.html b/docs/v0.12.0/interfaces/NFA.Options.html new file mode 100644 index 00000000..eb6bbc16 --- /dev/null +++ b/docs/v0.12.0/interfaces/NFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/NFA.ReadonlyNode.html b/docs/v0.12.0/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..5f924ab5 --- /dev/null +++ b/docs/v0.12.0/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,136 @@ +ReadonlyNode | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/NodeFactory.html b/docs/v0.12.0/interfaces/NodeFactory.html new file mode 100644 index 00000000..12f3752a --- /dev/null +++ b/docs/v0.12.0/interfaces/NodeFactory.html @@ -0,0 +1,147 @@ +NodeFactory | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Quantifier.html b/docs/v0.12.0/interfaces/Quantifier.html new file mode 100644 index 00000000..3f7ea7fc --- /dev/null +++ b/docs/v0.12.0/interfaces/Quantifier.html @@ -0,0 +1,151 @@ +Quantifier | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ReadonlyCharMap.html b/docs/v0.12.0/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..5238e61f --- /dev/null +++ b/docs/v0.12.0/interfaces/ReadonlyCharMap.html @@ -0,0 +1,281 @@ +ReadonlyCharMap | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
+
+ +
    + +
  • +

    Returns Iterable<T>

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ReadonlyDFA.html b/docs/v0.12.0/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..0135c9db --- /dev/null +++ b/docs/v0.12.0/interfaces/ReadonlyDFA.html @@ -0,0 +1,404 @@ +ReadonlyDFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ReadonlyENFA.html b/docs/v0.12.0/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..b8fa0bab --- /dev/null +++ b/docs/v0.12.0/interfaces/ReadonlyENFA.html @@ -0,0 +1,402 @@ +ReadonlyENFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ + +

The initial state of the ENFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
+
+

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ReadonlyNFA.html b/docs/v0.12.0/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..f1fff25c --- /dev/null +++ b/docs/v0.12.0/interfaces/ReadonlyNFA.html @@ -0,0 +1,397 @@ +ReadonlyNFA | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+
+
+

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/SourceLocation.html b/docs/v0.12.0/interfaces/SourceLocation.html new file mode 100644 index 00000000..4713097f --- /dev/null +++ b/docs/v0.12.0/interfaces/SourceLocation.html @@ -0,0 +1,121 @@ +SourceLocation | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/ToRegexOptions.html b/docs/v0.12.0/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..ff638bed --- /dev/null +++ b/docs/v0.12.0/interfaces/ToRegexOptions.html @@ -0,0 +1,135 @@ +ToRegexOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
+
+

Default

10000
+
+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/TransformContext.html b/docs/v0.12.0/interfaces/TransformContext.html new file mode 100644 index 00000000..a09399e5 --- /dev/null +++ b/docs/v0.12.0/interfaces/TransformContext.html @@ -0,0 +1,137 @@ +TransformContext | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/TransformEvents.html b/docs/v0.12.0/interfaces/TransformEvents.html new file mode 100644 index 00000000..9e33454a --- /dev/null +++ b/docs/v0.12.0/interfaces/TransformEvents.html @@ -0,0 +1,174 @@ +TransformEvents | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface TransformEvents

+
+

Hierarchy

+
    +
  • TransformEvents
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
onChange?: ((ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer): void
    • +
    • +

      An optional callback that will be called every time a transformer mutates the AST.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that was transformed.

        +
        +
      • +
      • +
        node: NoParent<Node>
        +

        The node that was mutated by the transformer. Descendants of this node may have been mutated as well.

        +
        +
      • +
      • +
        transformer: Transformer
        +

        The transformer that mutated the AST.

        +
        +
      +

      Returns void

      +
+
+ +
onPassStart?: ((ast: NoParentNode<Expression>, pass: number) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, pass: number): void
    • +
    • +

      An optional callback that will be called at the start of every pass.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that will be transformed.

        +
        +
      • +
      • +
        pass: number
        +

        The number of the pass that will be performed. Starts at 1.

        +
        +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/TransformOptions.html b/docs/v0.12.0/interfaces/TransformOptions.html new file mode 100644 index 00000000..3dddbc9c --- /dev/null +++ b/docs/v0.12.0/interfaces/TransformOptions.html @@ -0,0 +1,132 @@ +TransformOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ + +

Optional events to observe the transformation process.

+
+
+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
+
+

Default

10
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Transformer.html b/docs/v0.12.0/interfaces/Transformer.html new file mode 100644 index 00000000..039aefde --- /dev/null +++ b/docs/v0.12.0/interfaces/Transformer.html @@ -0,0 +1,242 @@ +Transformer | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+
+

Hierarchy

+
    +
  • Transformer
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
name?: string
+

An optional name useful for diagnostics.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Transformers.CreationOptions.html b/docs/v0.12.0/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..0cb2390e --- /dev/null +++ b/docs/v0.12.0/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,158 @@ +CreationOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.12.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..5c4b4e5d --- /dev/null +++ b/docs/v0.12.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,177 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
inline?: boolean
+
+

Default

true
+
+
+
+ +
remove?: boolean
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.12.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..a5c0be9f --- /dev/null +++ b/docs/v0.12.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,168 @@ +RemoveAssertionsCreationOptions | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/TransitionIterable.html b/docs/v0.12.0/interfaces/TransitionIterable.html new file mode 100644 index 00000000..744af696 --- /dev/null +++ b/docs/v0.12.0/interfaces/TransitionIterable.html @@ -0,0 +1,142 @@ +TransitionIterable | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/Unknown.html b/docs/v0.12.0/interfaces/Unknown.html new file mode 100644 index 00000000..3ee8a8fd --- /dev/null +++ b/docs/v0.12.0/interfaces/Unknown.html @@ -0,0 +1,136 @@ +Unknown | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/VisitAstHandler.html b/docs/v0.12.0/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..c1d13bb4 --- /dev/null +++ b/docs/v0.12.0/interfaces/VisitAstHandler.html @@ -0,0 +1,293 @@ +VisitAstHandler | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/interfaces/VisitNoParentAstHandler.html b/docs/v0.12.0/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..50172399 --- /dev/null +++ b/docs/v0.12.0/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,293 @@ +VisitNoParentAstHandler | refa - v0.12.0
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.0/modules.html b/docs/v0.12.0/modules.html new file mode 100644 index 00000000..d78de0e8 --- /dev/null +++ b/docs/v0.12.0/modules.html @@ -0,0 +1,168 @@ +refa - v0.12.0
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/modules/DFA.html b/docs/v0.12.0/modules/DFA.html new file mode 100644 index 00000000..6db79bc4 --- /dev/null +++ b/docs/v0.12.0/modules/DFA.html @@ -0,0 +1,126 @@ +DFA | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/modules/ENFA.html b/docs/v0.12.0/modules/ENFA.html new file mode 100644 index 00000000..efcd8014 --- /dev/null +++ b/docs/v0.12.0/modules/ENFA.html @@ -0,0 +1,128 @@ +ENFA | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/modules/FAIterators.html b/docs/v0.12.0/modules/FAIterators.html new file mode 100644 index 00000000..9feaec85 --- /dev/null +++ b/docs/v0.12.0/modules/FAIterators.html @@ -0,0 +1,189 @@ +FAIterators | refa - v0.12.0
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.0/modules/JS.html b/docs/v0.12.0/modules/JS.html new file mode 100644 index 00000000..4483f916 --- /dev/null +++ b/docs/v0.12.0/modules/JS.html @@ -0,0 +1,188 @@ +JS | refa - v0.12.0
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
+
+

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/modules/NFA.html b/docs/v0.12.0/modules/NFA.html new file mode 100644 index 00000000..981a9b00 --- /dev/null +++ b/docs/v0.12.0/modules/NFA.html @@ -0,0 +1,128 @@ +NFA | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/modules/Transformers.html b/docs/v0.12.0/modules/Transformers.html new file mode 100644 index 00000000..c31a5034 --- /dev/null +++ b/docs/v0.12.0/modules/Transformers.html @@ -0,0 +1,147 @@ +Transformers | refa - v0.12.0
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

For a simple transformer that applies most transformers while preserving the semantic of the given AST, +see simplify.

+
+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/modules/Words.html b/docs/v0.12.0/modules/Words.html new file mode 100644 index 00000000..4ff958e4 --- /dev/null +++ b/docs/v0.12.0/modules/Words.html @@ -0,0 +1,118 @@ +Words | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/Char.html b/docs/v0.12.0/types/Char.html new file mode 100644 index 00000000..6364f1fd --- /dev/null +++ b/docs/v0.12.0/types/Char.html @@ -0,0 +1,112 @@ +Char | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+

Type declaration

+
    +
  • +
    Optional __char?: never
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/Element.html b/docs/v0.12.0/types/Element.html new file mode 100644 index 00000000..5cc48cab --- /dev/null +++ b/docs/v0.12.0/types/Element.html @@ -0,0 +1,94 @@ +Element | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/FAIterators.MapFABuilderNode.html b/docs/v0.12.0/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 00000000..73e410c9 --- /dev/null +++ b/docs/v0.12.0/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,135 @@ +MapFABuilderNode | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/FAIterators.ToDotAttrs.html b/docs/v0.12.0/types/FAIterators.ToDotAttrs.html new file mode 100644 index 00000000..37021357 --- /dev/null +++ b/docs/v0.12.0/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,135 @@ +ToDotAttrs | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.BoundaryAssertion.html b/docs/v0.12.0/types/JS.BoundaryAssertion.html new file mode 100644 index 00000000..4a08f1a9 --- /dev/null +++ b/docs/v0.12.0/types/JS.BoundaryAssertion.html @@ -0,0 +1,131 @@ +BoundaryAssertion | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias BoundaryAssertion

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.CharacterElement.html b/docs/v0.12.0/types/JS.CharacterElement.html new file mode 100644 index 00000000..d9c8f8c6 --- /dev/null +++ b/docs/v0.12.0/types/JS.CharacterElement.html @@ -0,0 +1,131 @@ +CharacterElement | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias CharacterElement

+
CharacterElement: AST.CharacterClass | AST.Character | AST.CharacterClassRange | AST.CharacterSet | AST.ClassSetOperand | AST.StringAlternative | AST.ExpressionCharacterClass["expression"]
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.Flags.html b/docs/v0.12.0/types/JS.Flags.html new file mode 100644 index 00000000..2a612630 --- /dev/null +++ b/docs/v0.12.0/types/JS.Flags.html @@ -0,0 +1,134 @@ +Flags | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias Flags

+ +

A partial set of RegExp flags.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.ParsableElement.html b/docs/v0.12.0/types/JS.ParsableElement.html new file mode 100644 index 00000000..212a1ee2 --- /dev/null +++ b/docs/v0.12.0/types/JS.ParsableElement.html @@ -0,0 +1,131 @@ +ParsableElement | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.PredefinedCharacterSet.html b/docs/v0.12.0/types/JS.PredefinedCharacterSet.html new file mode 100644 index 00000000..936347a4 --- /dev/null +++ b/docs/v0.12.0/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,131 @@ +PredefinedCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias PredefinedCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/JS.PropertyCharacterSet.html b/docs/v0.12.0/types/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..a8991f92 --- /dev/null +++ b/docs/v0.12.0/types/JS.PropertyCharacterSet.html @@ -0,0 +1,131 @@ +PropertyCharacterSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias PropertyCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/NoParent.html b/docs/v0.12.0/types/NoParent.html new file mode 100644 index 00000000..464a6e30 --- /dev/null +++ b/docs/v0.12.0/types/NoParent.html @@ -0,0 +1,102 @@ +NoParent | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias NoParent<T>

+
NoParent<T>: T extends NodeIdent
    ? NoParentNode<T>
    : T extends unknown[]
        ? NoParentArray<T>
        : T
+

A view of an AST node that hides the parent property.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/Node.html b/docs/v0.12.0/types/Node.html new file mode 100644 index 00000000..331b73ce --- /dev/null +++ b/docs/v0.12.0/types/Node.html @@ -0,0 +1,94 @@ +Node | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/Parent.html b/docs/v0.12.0/types/Parent.html new file mode 100644 index 00000000..bc0cf45c --- /dev/null +++ b/docs/v0.12.0/types/Parent.html @@ -0,0 +1,94 @@ +Parent | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/ReadonlyWord.html b/docs/v0.12.0/types/ReadonlyWord.html new file mode 100644 index 00000000..bb5eff3a --- /dev/null +++ b/docs/v0.12.0/types/ReadonlyWord.html @@ -0,0 +1,98 @@ +ReadonlyWord | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/ReadonlyWordSet.html b/docs/v0.12.0/types/ReadonlyWordSet.html new file mode 100644 index 00000000..60e5574e --- /dev/null +++ b/docs/v0.12.0/types/ReadonlyWordSet.html @@ -0,0 +1,98 @@ +ReadonlyWordSet | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/types/TransitionIterator.html b/docs/v0.12.0/types/TransitionIterator.html new file mode 100644 index 00000000..4aa0d15e --- /dev/null +++ b/docs/v0.12.0/types/TransitionIterator.html @@ -0,0 +1,103 @@ +TransitionIterator | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/Word.html b/docs/v0.12.0/types/Word.html new file mode 100644 index 00000000..3eaac73e --- /dev/null +++ b/docs/v0.12.0/types/Word.html @@ -0,0 +1,101 @@ +Word | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/types/WordSet.html b/docs/v0.12.0/types/WordSet.html new file mode 100644 index 00000000..f1d1d7b6 --- /dev/null +++ b/docs/v0.12.0/types/WordSet.html @@ -0,0 +1,103 @@ +WordSet | refa - v0.12.0
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.0/variables/DFA.nodeFactory.html b/docs/v0.12.0/variables/DFA.nodeFactory.html new file mode 100644 index 00000000..b2c9ebd9 --- /dev/null +++ b/docs/v0.12.0/variables/DFA.nodeFactory.html @@ -0,0 +1,107 @@ +nodeFactory | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/variables/ENFA.nodeFactory.html b/docs/v0.12.0/variables/ENFA.nodeFactory.html new file mode 100644 index 00000000..9bca3b73 --- /dev/null +++ b/docs/v0.12.0/variables/ENFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.0/variables/NFA.nodeFactory.html b/docs/v0.12.0/variables/NFA.nodeFactory.html new file mode 100644 index 00000000..812337d2 --- /dev/null +++ b/docs/v0.12.0/variables/NFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.0
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/.nojekyll b/docs/v0.12.1/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/v0.12.1/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/v0.12.1/assets/highlight.css b/docs/v0.12.1/assets/highlight.css new file mode 100644 index 00000000..2a3e49d3 --- /dev/null +++ b/docs/v0.12.1/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-hl-13: #EE0000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/v0.12.1/assets/main.js b/docs/v0.12.1/assets/main.js new file mode 100644 index 00000000..4c8fa615 --- /dev/null +++ b/docs/v0.12.1/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/v0.12.1/assets/search.js b/docs/v0.12.1/assets/search.js new file mode 100644 index 00000000..af6b8729 --- /dev/null +++ b/docs/v0.12.1/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"makeGreedy\",\"url\":\"functions/Transformers.makeGreedy.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"simplify\",\"url\":\"functions/Transformers.simplify.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":4194304,\"name\":\"PropertyCharacterSet\",\"url\":\"types/JS.PropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharacterPropertyCharacterSet\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":256,\"name\":\"StringPropertyCharacterSet\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":64,\"name\":\"isFlags\",\"url\":\"functions/JS.isFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"UncheckedFlags\",\"url\":\"interfaces/JS.UncheckedFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UncheckedFlags.html#dotAll\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UncheckedFlags.html#global\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UncheckedFlags.html#hasIndices\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UncheckedFlags.html#ignoreCase\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UncheckedFlags.html#multiline\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UncheckedFlags.html#sticky\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":256,\"name\":\"NonUnicodeSetsFlags\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":256,\"name\":\"UnicodeSetsFlags\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":4194304,\"name\":\"Flags\",\"url\":\"types/JS.Flags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"classes/JS.Parser.html#flags\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":64,\"name\":\"parseUnicodeSet\",\"url\":\"functions/JS.parseUnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":64,\"name\":\"parseCharSet\",\"url\":\"functions/JS.parseCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"CharacterElement\",\"url\":\"types/JS.CharacterElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":128,\"name\":\"StringSet\",\"url\":\"classes/JS.StringSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"empty\",\"url\":\"classes/JS.StringSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.StringSet.html#from\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"fromWord\",\"url\":\"classes/JS.StringSet.html#fromWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.StringSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.StringSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasSingleCharacter\",\"url\":\"classes/JS.StringSet.html#hasSingleCharacter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.StringSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.StringSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.StringSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.StringSet.html#union\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.StringSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.StringSet.html#without\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.StringSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.StringSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.StringSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.StringSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.StringSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getSingleCharacters\",\"url\":\"classes/JS.StringSet.html#getSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutSingleCharacters\",\"url\":\"classes/JS.StringSet.html#withoutSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/JS.StringSet.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.StringSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":128,\"name\":\"UnicodeSet\",\"url\":\"classes/JS.UnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/JS.UnicodeSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"fromChars\",\"url\":\"classes/JS.UnicodeSet.html#fromChars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.UnicodeSet.html#from\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"chars\",\"url\":\"classes/JS.UnicodeSet.html#chars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"accept\",\"url\":\"classes/JS.UnicodeSet.html#accept\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"maximum\",\"url\":\"classes/JS.UnicodeSet.html#maximum\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.UnicodeSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.UnicodeSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.UnicodeSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.UnicodeSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.UnicodeSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.UnicodeSet.html#union\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.UnicodeSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.UnicodeSet.html#without\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.UnicodeSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.UnicodeSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":64,\"name\":\"getCharCaseFolding\",\"url\":\"functions/JS.getCharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharCaseFolding\",\"url\":\"interfaces/JS.CharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"canonicalize\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize.__type\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.canonicalize\"},{\"kind\":1024,\"name\":\"toCharSet\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet.__type-2\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.toCharSet\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Transformer.html#name\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":128,\"name\":\"CombinedTransformer\",\"url\":\"classes/CombinedTransformer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CombinedTransformer.html#constructor\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"classes/CombinedTransformer.html#name\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"transformers\",\"url\":\"classes/CombinedTransformer.html#transformers\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"classes/CombinedTransformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"classes/CombinedTransformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"classes/CombinedTransformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"classes/CombinedTransformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"classes/CombinedTransformer.html#onExpression\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"classes/CombinedTransformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"classes/CombinedTransformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":256,\"name\":\"TransformEvents\",\"url\":\"interfaces/TransformEvents.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"onPassStart\",\"url\":\"interfaces/TransformEvents.html#onPassStart\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onPassStart.__type-2\",\"classes\":\"\",\"parent\":\"TransformEvents.onPassStart\"},{\"kind\":1024,\"name\":\"onChange\",\"url\":\"interfaces/TransformEvents.html#onChange\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onChange.__type\",\"classes\":\"\",\"parent\":\"TransformEvents.onChange\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":1024,\"name\":\"events\",\"url\":\"interfaces/TransformOptions.html#events\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/ReadonlyCharMap.html#size\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"entryCount\",\"url\":\"interfaces/ReadonlyCharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyCharMap.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharMap.html#size\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"entryCount\",\"url\":\"classes/CharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/CharMap.html#copy\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacter\",\"url\":\"classes/CharSet.html#fromCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,57.197]],[\"comment/0\",[]],[\"name/1\",[1,62.305]],[\"comment/1\",[]],[\"name/2\",[2,53.832]],[\"comment/2\",[]],[\"name/3\",[3,53.832]],[\"comment/3\",[]],[\"name/4\",[4,62.305]],[\"comment/4\",[]],[\"name/5\",[5,62.305]],[\"comment/5\",[]],[\"name/6\",[6,57.197]],[\"comment/6\",[]],[\"name/7\",[7,62.305]],[\"comment/7\",[]],[\"name/8\",[8,62.305]],[\"comment/8\",[]],[\"name/9\",[9,62.305]],[\"comment/9\",[]],[\"name/10\",[10,62.305]],[\"comment/10\",[]],[\"name/11\",[11,62.305]],[\"comment/11\",[]],[\"name/12\",[12,62.305]],[\"comment/12\",[]],[\"name/13\",[6,57.197]],[\"comment/13\",[]],[\"name/14\",[13,62.305]],[\"comment/14\",[]],[\"name/15\",[2,53.832]],[\"comment/15\",[]],[\"name/16\",[3,53.832]],[\"comment/16\",[]],[\"name/17\",[14,62.305]],[\"comment/17\",[]],[\"name/18\",[15,62.305]],[\"comment/18\",[]],[\"name/19\",[16,62.305]],[\"comment/19\",[]],[\"name/20\",[17,62.305]],[\"comment/20\",[]],[\"name/21\",[18,62.305]],[\"comment/21\",[]],[\"name/22\",[2,53.832]],[\"comment/22\",[]],[\"name/23\",[3,53.832]],[\"comment/23\",[]],[\"name/24\",[19,62.305]],[\"comment/24\",[]],[\"name/25\",[20,62.305]],[\"comment/25\",[]],[\"name/26\",[21,57.197]],[\"comment/26\",[]],[\"name/27\",[22,62.305]],[\"comment/27\",[]],[\"name/28\",[23,51.319]],[\"comment/28\",[]],[\"name/29\",[24,51.319]],[\"comment/29\",[]],[\"name/30\",[25,62.305]],[\"comment/30\",[]],[\"name/31\",[26,62.305]],[\"comment/31\",[]],[\"name/32\",[27,62.305]],[\"comment/32\",[]],[\"name/33\",[28,62.305]],[\"comment/33\",[]],[\"name/34\",[29,62.305]],[\"comment/34\",[]],[\"name/35\",[30,62.305]],[\"comment/35\",[]],[\"name/36\",[31,62.305]],[\"comment/36\",[]],[\"name/37\",[32,53.832]],[\"comment/37\",[]],[\"name/38\",[33,62.305]],[\"comment/38\",[]],[\"name/39\",[34,62.305]],[\"comment/39\",[]],[\"name/40\",[35,62.305]],[\"comment/40\",[]],[\"name/41\",[36,62.305]],[\"comment/41\",[]],[\"name/42\",[37,62.305]],[\"comment/42\",[]],[\"name/43\",[38,62.305]],[\"comment/43\",[]],[\"name/44\",[39,62.305]],[\"comment/44\",[]],[\"name/45\",[40,62.305]],[\"comment/45\",[]],[\"name/46\",[41,62.305]],[\"comment/46\",[]],[\"name/47\",[42,62.305]],[\"comment/47\",[]],[\"name/48\",[43,62.305]],[\"comment/48\",[]],[\"name/49\",[44,40.333]],[\"comment/49\",[]],[\"name/50\",[45,41.102]],[\"comment/50\",[]],[\"name/51\",[46,46.21]],[\"comment/51\",[]],[\"name/52\",[47,49.312]],[\"comment/52\",[]],[\"name/53\",[48,46.21]],[\"comment/53\",[]],[\"name/54\",[49,43.847]],[\"comment/54\",[]],[\"name/55\",[50,49.312]],[\"comment/55\",[]],[\"name/56\",[51,62.305]],[\"comment/56\",[]],[\"name/57\",[52,62.305]],[\"comment/57\",[]],[\"name/58\",[53,44.959]],[\"comment/58\",[]],[\"name/59\",[54,62.305]],[\"comment/59\",[]],[\"name/60\",[55,62.305]],[\"comment/60\",[]],[\"name/61\",[56,57.197]],[\"comment/61\",[]],[\"name/62\",[57,34.789]],[\"comment/62\",[]],[\"name/63\",[58,62.305]],[\"comment/63\",[]],[\"name/64\",[57,34.789]],[\"comment/64\",[]],[\"name/65\",[59,57.197]],[\"comment/65\",[]],[\"name/66\",[57,34.789]],[\"comment/66\",[]],[\"name/67\",[60,44.959]],[\"comment/67\",[]],[\"name/68\",[61,62.305]],[\"comment/68\",[]],[\"name/69\",[59,57.197]],[\"comment/69\",[]],[\"name/70\",[57,34.789]],[\"comment/70\",[]],[\"name/71\",[56,57.197]],[\"comment/71\",[]],[\"name/72\",[57,34.789]],[\"comment/72\",[]],[\"name/73\",[62,62.305]],[\"comment/73\",[]],[\"name/74\",[63,57.197]],[\"comment/74\",[]],[\"name/75\",[64,62.305]],[\"comment/75\",[]],[\"name/76\",[65,62.305]],[\"comment/76\",[]],[\"name/77\",[63,57.197]],[\"comment/77\",[]],[\"name/78\",[66,62.305]],[\"comment/78\",[]],[\"name/79\",[67,62.305]],[\"comment/79\",[]],[\"name/80\",[68,62.305]],[\"comment/80\",[]],[\"name/81\",[48,46.21]],[\"comment/81\",[]],[\"name/82\",[69,62.305]],[\"comment/82\",[]],[\"name/83\",[70,62.305]],[\"comment/83\",[]],[\"name/84\",[71,62.305]],[\"comment/84\",[]],[\"name/85\",[72,62.305]],[\"comment/85\",[]],[\"name/86\",[57,34.789]],[\"comment/86\",[]],[\"name/87\",[73,62.305]],[\"comment/87\",[]],[\"name/88\",[74,44.959]],[\"comment/88\",[]],[\"name/89\",[75,43.847]],[\"comment/89\",[]],[\"name/90\",[76,62.305]],[\"comment/90\",[]],[\"name/91\",[77,62.305]],[\"comment/91\",[]],[\"name/92\",[78,62.305]],[\"comment/92\",[]],[\"name/93\",[79,62.305]],[\"comment/93\",[]],[\"name/94\",[80,62.305]],[\"comment/94\",[]],[\"name/95\",[81,62.305]],[\"comment/95\",[]],[\"name/96\",[82,62.305]],[\"comment/96\",[]],[\"name/97\",[83,43.847]],[\"comment/97\",[]],[\"name/98\",[84,44.959]],[\"comment/98\",[]],[\"name/99\",[85,62.305]],[\"comment/99\",[]],[\"name/100\",[83,43.847]],[\"comment/100\",[]],[\"name/101\",[86,62.305]],[\"comment/101\",[]],[\"name/102\",[87,62.305]],[\"comment/102\",[]],[\"name/103\",[88,62.305]],[\"comment/103\",[]],[\"name/104\",[83,43.847]],[\"comment/104\",[]],[\"name/105\",[89,62.305]],[\"comment/105\",[]],[\"name/106\",[83,43.847]],[\"comment/106\",[]],[\"name/107\",[84,44.959]],[\"comment/107\",[]],[\"name/108\",[90,62.305]],[\"comment/108\",[]],[\"name/109\",[91,62.305]],[\"comment/109\",[]],[\"name/110\",[83,43.847]],[\"comment/110\",[]],[\"name/111\",[92,57.197]],[\"comment/111\",[]],[\"name/112\",[93,57.197]],[\"comment/112\",[]],[\"name/113\",[94,57.197]],[\"comment/113\",[]],[\"name/114\",[84,44.959]],[\"comment/114\",[]],[\"name/115\",[95,62.305]],[\"comment/115\",[]],[\"name/116\",[83,43.847]],[\"comment/116\",[]],[\"name/117\",[92,57.197]],[\"comment/117\",[]],[\"name/118\",[93,57.197]],[\"comment/118\",[]],[\"name/119\",[94,57.197]],[\"comment/119\",[]],[\"name/120\",[84,44.959]],[\"comment/120\",[]],[\"name/121\",[96,62.305]],[\"comment/121\",[]],[\"name/122\",[83,43.847]],[\"comment/122\",[]],[\"name/123\",[84,44.959]],[\"comment/123\",[]],[\"name/124\",[97,62.305]],[\"comment/124\",[]],[\"name/125\",[83,43.847]],[\"comment/125\",[]],[\"name/126\",[84,44.959]],[\"comment/126\",[]],[\"name/127\",[98,62.305]],[\"comment/127\",[]],[\"name/128\",[99,62.305]],[\"comment/128\",[]],[\"name/129\",[100,49.312]],[\"comment/129\",[]],[\"name/130\",[101,62.305]],[\"comment/130\",[]],[\"name/131\",[102,62.305]],[\"comment/131\",[]],[\"name/132\",[103,62.305]],[\"comment/132\",[]],[\"name/133\",[104,53.832]],[\"comment/133\",[]],[\"name/134\",[105,53.832]],[\"comment/134\",[]],[\"name/135\",[106,53.832]],[\"comment/135\",[]],[\"name/136\",[107,53.832]],[\"comment/136\",[]],[\"name/137\",[108,53.832]],[\"comment/137\",[]],[\"name/138\",[109,53.832]],[\"comment/138\",[]],[\"name/139\",[110,53.832]],[\"comment/139\",[]],[\"name/140\",[111,53.832]],[\"comment/140\",[]],[\"name/141\",[112,62.305]],[\"comment/141\",[]],[\"name/142\",[110,53.832]],[\"comment/142\",[]],[\"name/143\",[111,53.832]],[\"comment/143\",[]],[\"name/144\",[104,53.832]],[\"comment/144\",[]],[\"name/145\",[105,53.832]],[\"comment/145\",[]],[\"name/146\",[106,53.832]],[\"comment/146\",[]],[\"name/147\",[107,53.832]],[\"comment/147\",[]],[\"name/148\",[108,53.832]],[\"comment/148\",[]],[\"name/149\",[109,53.832]],[\"comment/149\",[]],[\"name/150\",[113,62.305]],[\"comment/150\",[]],[\"name/151\",[110,53.832]],[\"comment/151\",[]],[\"name/152\",[111,53.832]],[\"comment/152\",[]],[\"name/153\",[104,53.832]],[\"comment/153\",[]],[\"name/154\",[105,53.832]],[\"comment/154\",[]],[\"name/155\",[106,53.832]],[\"comment/155\",[]],[\"name/156\",[107,53.832]],[\"comment/156\",[]],[\"name/157\",[108,53.832]],[\"comment/157\",[]],[\"name/158\",[109,53.832]],[\"comment/158\",[]],[\"name/159\",[100,49.312]],[\"comment/159\",[]],[\"name/160\",[114,57.197]],[\"comment/160\",[]],[\"name/161\",[115,44.959]],[\"comment/161\",[]],[\"name/162\",[100,49.312]],[\"comment/162\",[]],[\"name/163\",[116,62.305]],[\"comment/163\",[]],[\"name/164\",[117,62.305]],[\"comment/164\",[]],[\"name/165\",[118,62.305]],[\"comment/165\",[]],[\"name/166\",[119,53.832]],[\"comment/166\",[]],[\"name/167\",[21,57.197]],[\"comment/167\",[]],[\"name/168\",[120,57.197]],[\"comment/168\",[]],[\"name/169\",[121,62.305]],[\"comment/169\",[]],[\"name/170\",[57,34.789]],[\"comment/170\",[]],[\"name/171\",[122,62.305]],[\"comment/171\",[]],[\"name/172\",[123,62.305]],[\"comment/172\",[]],[\"name/173\",[100,49.312]],[\"comment/173\",[]],[\"name/174\",[124,62.305]],[\"comment/174\",[]],[\"name/175\",[125,62.305]],[\"comment/175\",[]],[\"name/176\",[126,57.197]],[\"comment/176\",[]],[\"name/177\",[127,39.618]],[\"comment/177\",[]],[\"name/178\",[128,62.305]],[\"comment/178\",[]],[\"name/179\",[129,62.305]],[\"comment/179\",[]],[\"name/180\",[130,62.305]],[\"comment/180\",[]],[\"name/181\",[114,57.197]],[\"comment/181\",[]],[\"name/182\",[131,62.305]],[\"comment/182\",[]],[\"name/183\",[100,49.312]],[\"comment/183\",[]],[\"name/184\",[127,39.618]],[\"comment/184\",[]],[\"name/185\",[132,62.305]],[\"comment/185\",[]],[\"name/186\",[133,62.305]],[\"comment/186\",[]],[\"name/187\",[134,62.305]],[\"comment/187\",[]],[\"name/188\",[135,62.305]],[\"comment/188\",[]],[\"name/189\",[136,62.305]],[\"comment/189\",[]],[\"name/190\",[137,62.305]],[\"comment/190\",[]],[\"name/191\",[138,47.641]],[\"comment/191\",[]],[\"name/192\",[139,57.197]],[\"comment/192\",[]],[\"name/193\",[140,62.305]],[\"comment/193\",[]],[\"name/194\",[141,41.102]],[\"comment/194\",[]],[\"name/195\",[142,57.197]],[\"comment/195\",[]],[\"name/196\",[143,62.305]],[\"comment/196\",[]],[\"name/197\",[144,43.847]],[\"comment/197\",[]],[\"name/198\",[145,57.197]],[\"comment/198\",[]],[\"name/199\",[146,53.832]],[\"comment/199\",[]],[\"name/200\",[147,49.312]],[\"comment/200\",[]],[\"name/201\",[148,53.832]],[\"comment/201\",[]],[\"name/202\",[149,53.832]],[\"comment/202\",[]],[\"name/203\",[150,53.832]],[\"comment/203\",[]],[\"name/204\",[151,53.832]],[\"comment/204\",[]],[\"name/205\",[152,53.832]],[\"comment/205\",[]],[\"name/206\",[153,53.832]],[\"comment/206\",[]],[\"name/207\",[154,51.319]],[\"comment/207\",[]],[\"name/208\",[155,62.305]],[\"comment/208\",[]],[\"name/209\",[156,62.305]],[\"comment/209\",[]],[\"name/210\",[157,53.832]],[\"comment/210\",[]],[\"name/211\",[158,57.197]],[\"comment/211\",[]],[\"name/212\",[159,62.305]],[\"comment/212\",[]],[\"name/213\",[138,47.641]],[\"comment/213\",[]],[\"name/214\",[160,62.305]],[\"comment/214\",[]],[\"name/215\",[139,57.197]],[\"comment/215\",[]],[\"name/216\",[161,62.305]],[\"comment/216\",[]],[\"name/217\",[162,62.305]],[\"comment/217\",[]],[\"name/218\",[163,57.197]],[\"comment/218\",[]],[\"name/219\",[141,41.102]],[\"comment/219\",[]],[\"name/220\",[142,57.197]],[\"comment/220\",[]],[\"name/221\",[144,43.847]],[\"comment/221\",[]],[\"name/222\",[146,53.832]],[\"comment/222\",[]],[\"name/223\",[145,57.197]],[\"comment/223\",[]],[\"name/224\",[147,49.312]],[\"comment/224\",[]],[\"name/225\",[148,53.832]],[\"comment/225\",[]],[\"name/226\",[149,53.832]],[\"comment/226\",[]],[\"name/227\",[150,53.832]],[\"comment/227\",[]],[\"name/228\",[151,53.832]],[\"comment/228\",[]],[\"name/229\",[152,53.832]],[\"comment/229\",[]],[\"name/230\",[153,53.832]],[\"comment/230\",[]],[\"name/231\",[154,51.319]],[\"comment/231\",[]],[\"name/232\",[158,57.197]],[\"comment/232\",[]],[\"name/233\",[164,62.305]],[\"comment/233\",[]],[\"name/234\",[165,62.305]],[\"comment/234\",[]],[\"name/235\",[166,62.305]],[\"comment/235\",[]],[\"name/236\",[57,34.789]],[\"comment/236\",[]],[\"name/237\",[167,62.305]],[\"comment/237\",[]],[\"name/238\",[57,34.789]],[\"comment/238\",[]],[\"name/239\",[168,44.959]],[\"comment/239\",[]],[\"name/240\",[169,62.305]],[\"comment/240\",[]],[\"name/241\",[170,62.305]],[\"comment/241\",[]],[\"name/242\",[171,62.305]],[\"comment/242\",[]],[\"name/243\",[172,62.305]],[\"comment/243\",[]],[\"name/244\",[173,62.305]],[\"comment/244\",[]],[\"name/245\",[174,62.305]],[\"comment/245\",[]],[\"name/246\",[175,62.305]],[\"comment/246\",[]],[\"name/247\",[176,62.305]],[\"comment/247\",[]],[\"name/248\",[177,62.305]],[\"comment/248\",[]],[\"name/249\",[178,62.305]],[\"comment/249\",[]],[\"name/250\",[179,62.305]],[\"comment/250\",[]],[\"name/251\",[180,62.305]],[\"comment/251\",[]],[\"name/252\",[181,44.959]],[\"comment/252\",[]],[\"name/253\",[182,51.319]],[\"comment/253\",[]],[\"name/254\",[183,62.305]],[\"comment/254\",[]],[\"name/255\",[184,46.21]],[\"comment/255\",[]],[\"name/256\",[181,44.959]],[\"comment/256\",[]],[\"name/257\",[185,51.319]],[\"comment/257\",[]],[\"name/258\",[115,44.959]],[\"comment/258\",[]],[\"name/259\",[186,62.305]],[\"comment/259\",[]],[\"name/260\",[184,46.21]],[\"comment/260\",[]],[\"name/261\",[181,44.959]],[\"comment/261\",[]],[\"name/262\",[185,51.319]],[\"comment/262\",[]],[\"name/263\",[83,43.847]],[\"comment/263\",[]],[\"name/264\",[84,44.959]],[\"comment/264\",[]],[\"name/265\",[115,44.959]],[\"comment/265\",[]],[\"name/266\",[187,62.305]],[\"comment/266\",[]],[\"name/267\",[184,46.21]],[\"comment/267\",[]],[\"name/268\",[181,44.959]],[\"comment/268\",[]],[\"name/269\",[185,51.319]],[\"comment/269\",[]],[\"name/270\",[188,62.305]],[\"comment/270\",[]],[\"name/271\",[189,57.197]],[\"comment/271\",[]],[\"name/272\",[190,57.197]],[\"comment/272\",[]],[\"name/273\",[115,44.959]],[\"comment/273\",[]],[\"name/274\",[191,62.305]],[\"comment/274\",[]],[\"name/275\",[184,46.21]],[\"comment/275\",[]],[\"name/276\",[181,44.959]],[\"comment/276\",[]],[\"name/277\",[192,57.197]],[\"comment/277\",[]],[\"name/278\",[115,44.959]],[\"comment/278\",[]],[\"name/279\",[193,62.305]],[\"comment/279\",[]],[\"name/280\",[184,46.21]],[\"comment/280\",[]],[\"name/281\",[181,44.959]],[\"comment/281\",[]],[\"name/282\",[194,62.305]],[\"comment/282\",[]],[\"name/283\",[115,44.959]],[\"comment/283\",[]],[\"name/284\",[126,57.197]],[\"comment/284\",[]],[\"name/285\",[184,46.21]],[\"comment/285\",[]],[\"name/286\",[181,44.959]],[\"comment/286\",[]],[\"name/287\",[185,51.319]],[\"comment/287\",[]],[\"name/288\",[115,44.959]],[\"comment/288\",[]],[\"name/289\",[195,62.305]],[\"comment/289\",[]],[\"name/290\",[184,46.21]],[\"comment/290\",[]],[\"name/291\",[181,44.959]],[\"comment/291\",[]],[\"name/292\",[196,62.305]],[\"comment/292\",[]],[\"name/293\",[115,44.959]],[\"comment/293\",[]],[\"name/294\",[197,62.305]],[\"comment/294\",[]],[\"name/295\",[198,62.305]],[\"comment/295\",[]],[\"name/296\",[199,62.305]],[\"comment/296\",[]],[\"name/297\",[200,62.305]],[\"comment/297\",[]],[\"name/298\",[201,62.305]],[\"comment/298\",[]],[\"name/299\",[202,57.197]],[\"comment/299\",[]],[\"name/300\",[203,57.197]],[\"comment/300\",[]],[\"name/301\",[204,57.197]],[\"comment/301\",[]],[\"name/302\",[205,57.197]],[\"comment/302\",[]],[\"name/303\",[206,57.197]],[\"comment/303\",[]],[\"name/304\",[207,57.197]],[\"comment/304\",[]],[\"name/305\",[208,57.197]],[\"comment/305\",[]],[\"name/306\",[209,57.197]],[\"comment/306\",[]],[\"name/307\",[210,57.197]],[\"comment/307\",[]],[\"name/308\",[211,57.197]],[\"comment/308\",[]],[\"name/309\",[212,57.197]],[\"comment/309\",[]],[\"name/310\",[213,57.197]],[\"comment/310\",[]],[\"name/311\",[214,57.197]],[\"comment/311\",[]],[\"name/312\",[215,57.197]],[\"comment/312\",[]],[\"name/313\",[216,62.305]],[\"comment/313\",[]],[\"name/314\",[202,57.197]],[\"comment/314\",[]],[\"name/315\",[203,57.197]],[\"comment/315\",[]],[\"name/316\",[204,57.197]],[\"comment/316\",[]],[\"name/317\",[205,57.197]],[\"comment/317\",[]],[\"name/318\",[206,57.197]],[\"comment/318\",[]],[\"name/319\",[207,57.197]],[\"comment/319\",[]],[\"name/320\",[208,57.197]],[\"comment/320\",[]],[\"name/321\",[209,57.197]],[\"comment/321\",[]],[\"name/322\",[210,57.197]],[\"comment/322\",[]],[\"name/323\",[211,57.197]],[\"comment/323\",[]],[\"name/324\",[212,57.197]],[\"comment/324\",[]],[\"name/325\",[213,57.197]],[\"comment/325\",[]],[\"name/326\",[214,57.197]],[\"comment/326\",[]],[\"name/327\",[215,57.197]],[\"comment/327\",[]],[\"name/328\",[217,62.305]],[\"comment/328\",[]],[\"name/329\",[218,62.305]],[\"comment/329\",[]],[\"name/330\",[219,62.305]],[\"comment/330\",[]],[\"name/331\",[220,57.197]],[\"comment/331\",[]],[\"name/332\",[221,57.197]],[\"comment/332\",[]],[\"name/333\",[222,57.197]],[\"comment/333\",[]],[\"name/334\",[223,57.197]],[\"comment/334\",[]],[\"name/335\",[224,57.197]],[\"comment/335\",[]],[\"name/336\",[225,57.197]],[\"comment/336\",[]],[\"name/337\",[226,57.197]],[\"comment/337\",[]],[\"name/338\",[227,57.197]],[\"comment/338\",[]],[\"name/339\",[228,62.305]],[\"comment/339\",[]],[\"name/340\",[127,39.618]],[\"comment/340\",[]],[\"name/341\",[229,62.305]],[\"comment/341\",[]],[\"name/342\",[57,34.789]],[\"comment/342\",[]],[\"name/343\",[230,62.305]],[\"comment/343\",[]],[\"name/344\",[44,40.333]],[\"comment/344\",[]],[\"name/345\",[220,57.197]],[\"comment/345\",[]],[\"name/346\",[0,57.197]],[\"comment/346\",[]],[\"name/347\",[221,57.197]],[\"comment/347\",[]],[\"name/348\",[222,57.197]],[\"comment/348\",[]],[\"name/349\",[223,57.197]],[\"comment/349\",[]],[\"name/350\",[224,57.197]],[\"comment/350\",[]],[\"name/351\",[225,57.197]],[\"comment/351\",[]],[\"name/352\",[226,57.197]],[\"comment/352\",[]],[\"name/353\",[227,57.197]],[\"comment/353\",[]],[\"name/354\",[231,62.305]],[\"comment/354\",[]],[\"name/355\",[232,62.305]],[\"comment/355\",[]],[\"name/356\",[57,34.789]],[\"comment/356\",[]],[\"name/357\",[233,62.305]],[\"comment/357\",[]],[\"name/358\",[57,34.789]],[\"comment/358\",[]],[\"name/359\",[234,62.305]],[\"comment/359\",[]],[\"name/360\",[235,62.305]],[\"comment/360\",[]],[\"name/361\",[236,62.305]],[\"comment/361\",[]],[\"name/362\",[237,62.305]],[\"comment/362\",[]],[\"name/363\",[44,40.333]],[\"comment/363\",[]],[\"name/364\",[238,62.305]],[\"comment/364\",[]],[\"name/365\",[239,62.305]],[\"comment/365\",[]],[\"name/366\",[240,62.305]],[\"comment/366\",[]],[\"name/367\",[141,41.102]],[\"comment/367\",[]],[\"name/368\",[241,53.832]],[\"comment/368\",[]],[\"name/369\",[242,57.197]],[\"comment/369\",[]],[\"name/370\",[243,53.832]],[\"comment/370\",[]],[\"name/371\",[244,57.197]],[\"comment/371\",[]],[\"name/372\",[245,57.197]],[\"comment/372\",[]],[\"name/373\",[246,57.197]],[\"comment/373\",[]],[\"name/374\",[32,53.832]],[\"comment/374\",[]],[\"name/375\",[247,57.197]],[\"comment/375\",[]],[\"name/376\",[248,57.197]],[\"comment/376\",[]],[\"name/377\",[249,57.197]],[\"comment/377\",[]],[\"name/378\",[250,57.197]],[\"comment/378\",[]],[\"name/379\",[251,44.959]],[\"comment/379\",[]],[\"name/380\",[252,62.305]],[\"comment/380\",[]],[\"name/381\",[44,40.333]],[\"comment/381\",[]],[\"name/382\",[141,41.102]],[\"comment/382\",[]],[\"name/383\",[241,53.832]],[\"comment/383\",[]],[\"name/384\",[242,57.197]],[\"comment/384\",[]],[\"name/385\",[243,53.832]],[\"comment/385\",[]],[\"name/386\",[244,57.197]],[\"comment/386\",[]],[\"name/387\",[245,57.197]],[\"comment/387\",[]],[\"name/388\",[246,57.197]],[\"comment/388\",[]],[\"name/389\",[253,62.305]],[\"comment/389\",[]],[\"name/390\",[254,62.305]],[\"comment/390\",[]],[\"name/391\",[255,62.305]],[\"comment/391\",[]],[\"name/392\",[256,62.305]],[\"comment/392\",[]],[\"name/393\",[257,62.305]],[\"comment/393\",[]],[\"name/394\",[258,62.305]],[\"comment/394\",[]],[\"name/395\",[251,44.959]],[\"comment/395\",[]],[\"name/396\",[259,62.305]],[\"comment/396\",[]],[\"name/397\",[260,62.305]],[\"comment/397\",[]],[\"name/398\",[261,62.305]],[\"comment/398\",[]],[\"name/399\",[250,57.197]],[\"comment/399\",[]],[\"name/400\",[32,53.832]],[\"comment/400\",[]],[\"name/401\",[247,57.197]],[\"comment/401\",[]],[\"name/402\",[248,57.197]],[\"comment/402\",[]],[\"name/403\",[249,57.197]],[\"comment/403\",[]],[\"name/404\",[262,62.305]],[\"comment/404\",[]],[\"name/405\",[263,62.305]],[\"comment/405\",[]],[\"name/406\",[189,57.197]],[\"comment/406\",[]],[\"name/407\",[190,57.197]],[\"comment/407\",[]],[\"name/408\",[264,62.305]],[\"comment/408\",[]],[\"name/409\",[138,47.641]],[\"comment/409\",[]],[\"name/410\",[265,51.319]],[\"comment/410\",[]],[\"name/411\",[266,62.305]],[\"comment/411\",[]],[\"name/412\",[267,62.305]],[\"comment/412\",[]],[\"name/413\",[268,62.305]],[\"comment/413\",[]],[\"name/414\",[163,57.197]],[\"comment/414\",[]],[\"name/415\",[269,62.305]],[\"comment/415\",[]],[\"name/416\",[141,41.102]],[\"comment/416\",[]],[\"name/417\",[270,62.305]],[\"comment/417\",[]],[\"name/418\",[241,53.832]],[\"comment/418\",[]],[\"name/419\",[192,57.197]],[\"comment/419\",[]],[\"name/420\",[75,43.847]],[\"comment/420\",[]],[\"name/421\",[271,62.305]],[\"comment/421\",[]],[\"name/422\",[272,62.305]],[\"comment/422\",[]],[\"name/423\",[146,53.832]],[\"comment/423\",[]],[\"name/424\",[273,62.305]],[\"comment/424\",[]],[\"name/425\",[274,62.305]],[\"comment/425\",[]],[\"name/426\",[84,44.959]],[\"comment/426\",[]],[\"name/427\",[147,49.312]],[\"comment/427\",[]],[\"name/428\",[148,53.832]],[\"comment/428\",[]],[\"name/429\",[149,53.832]],[\"comment/429\",[]],[\"name/430\",[243,53.832]],[\"comment/430\",[]],[\"name/431\",[150,53.832]],[\"comment/431\",[]],[\"name/432\",[151,53.832]],[\"comment/432\",[]],[\"name/433\",[152,53.832]],[\"comment/433\",[]],[\"name/434\",[153,53.832]],[\"comment/434\",[]],[\"name/435\",[154,51.319]],[\"comment/435\",[]],[\"name/436\",[275,62.305]],[\"comment/436\",[]],[\"name/437\",[276,62.305]],[\"comment/437\",[]],[\"name/438\",[277,62.305]],[\"comment/438\",[]],[\"name/439\",[278,62.305]],[\"comment/439\",[]],[\"name/440\",[279,62.305]],[\"comment/440\",[]],[\"name/441\",[141,41.102]],[\"comment/441\",[]],[\"name/442\",[280,46.21]],[\"comment/442\",[]],[\"name/443\",[127,39.618]],[\"comment/443\",[]],[\"name/444\",[281,46.21]],[\"comment/444\",[]],[\"name/445\",[168,44.959]],[\"comment/445\",[]],[\"name/446\",[144,43.847]],[\"comment/446\",[]],[\"name/447\",[75,43.847]],[\"comment/447\",[]],[\"name/448\",[74,44.959]],[\"comment/448\",[]],[\"name/449\",[53,44.959]],[\"comment/449\",[]],[\"name/450\",[60,44.959]],[\"comment/450\",[]],[\"name/451\",[282,62.305]],[\"comment/451\",[]],[\"name/452\",[45,41.102]],[\"comment/452\",[]],[\"name/453\",[283,62.305]],[\"comment/453\",[]],[\"name/454\",[57,34.789]],[\"comment/454\",[]],[\"name/455\",[284,62.305]],[\"comment/455\",[]],[\"name/456\",[48,46.21]],[\"comment/456\",[]],[\"name/457\",[57,34.789]],[\"comment/457\",[]],[\"name/458\",[285,51.319]],[\"comment/458\",[]],[\"name/459\",[49,43.847]],[\"comment/459\",[]],[\"name/460\",[57,34.789]],[\"comment/460\",[]],[\"name/461\",[286,62.305]],[\"comment/461\",[]],[\"name/462\",[45,41.102]],[\"comment/462\",[]],[\"name/463\",[47,49.312]],[\"comment/463\",[]],[\"name/464\",[57,34.789]],[\"comment/464\",[]],[\"name/465\",[48,46.21]],[\"comment/465\",[]],[\"name/466\",[57,34.789]],[\"comment/466\",[]],[\"name/467\",[50,49.312]],[\"comment/467\",[]],[\"name/468\",[57,34.789]],[\"comment/468\",[]],[\"name/469\",[49,43.847]],[\"comment/469\",[]],[\"name/470\",[57,34.789]],[\"comment/470\",[]],[\"name/471\",[287,44.959]],[\"comment/471\",[]],[\"name/472\",[288,62.305]],[\"comment/472\",[]],[\"name/473\",[127,39.618]],[\"comment/473\",[]],[\"name/474\",[287,44.959]],[\"comment/474\",[]],[\"name/475\",[57,34.789]],[\"comment/475\",[]],[\"name/476\",[289,62.305]],[\"comment/476\",[]],[\"name/477\",[120,57.197]],[\"comment/477\",[]],[\"name/478\",[290,62.305]],[\"comment/478\",[]],[\"name/479\",[291,62.305]],[\"comment/479\",[]],[\"name/480\",[45,41.102]],[\"comment/480\",[]],[\"name/481\",[46,46.21]],[\"comment/481\",[]],[\"name/482\",[292,47.641]],[\"comment/482\",[]],[\"name/483\",[293,47.641]],[\"comment/483\",[]],[\"name/484\",[294,47.641]],[\"comment/484\",[]],[\"name/485\",[251,44.959]],[\"comment/485\",[]],[\"name/486\",[295,57.197]],[\"comment/486\",[]],[\"name/487\",[141,41.102]],[\"comment/487\",[]],[\"name/488\",[280,46.21]],[\"comment/488\",[]],[\"name/489\",[127,39.618]],[\"comment/489\",[]],[\"name/490\",[281,46.21]],[\"comment/490\",[]],[\"name/491\",[168,44.959]],[\"comment/491\",[]],[\"name/492\",[144,43.847]],[\"comment/492\",[]],[\"name/493\",[75,43.847]],[\"comment/493\",[]],[\"name/494\",[74,44.959]],[\"comment/494\",[]],[\"name/495\",[53,44.959]],[\"comment/495\",[]],[\"name/496\",[60,44.959]],[\"comment/496\",[]],[\"name/497\",[287,44.959]],[\"comment/497\",[]],[\"name/498\",[57,34.789]],[\"comment/498\",[]],[\"name/499\",[296,57.197]],[\"comment/499\",[]],[\"name/500\",[138,47.641]],[\"comment/500\",[]],[\"name/501\",[297,53.832]],[\"comment/501\",[]],[\"name/502\",[265,51.319]],[\"comment/502\",[]],[\"name/503\",[298,53.832]],[\"comment/503\",[]],[\"name/504\",[299,57.197]],[\"comment/504\",[]],[\"name/505\",[23,51.319]],[\"comment/505\",[]],[\"name/506\",[24,51.319]],[\"comment/506\",[]],[\"name/507\",[300,53.832]],[\"comment/507\",[]],[\"name/508\",[301,53.832]],[\"comment/508\",[]],[\"name/509\",[302,53.832]],[\"comment/509\",[]],[\"name/510\",[45,41.102]],[\"comment/510\",[]],[\"name/511\",[46,46.21]],[\"comment/511\",[]],[\"name/512\",[127,39.618]],[\"comment/512\",[]],[\"name/513\",[141,41.102]],[\"comment/513\",[]],[\"name/514\",[280,46.21]],[\"comment/514\",[]],[\"name/515\",[292,47.641]],[\"comment/515\",[]],[\"name/516\",[287,44.959]],[\"comment/516\",[]],[\"name/517\",[293,47.641]],[\"comment/517\",[]],[\"name/518\",[294,47.641]],[\"comment/518\",[]],[\"name/519\",[281,46.21]],[\"comment/519\",[]],[\"name/520\",[144,43.847]],[\"comment/520\",[]],[\"name/521\",[168,44.959]],[\"comment/521\",[]],[\"name/522\",[75,43.847]],[\"comment/522\",[]],[\"name/523\",[74,44.959]],[\"comment/523\",[]],[\"name/524\",[53,44.959]],[\"comment/524\",[]],[\"name/525\",[60,44.959]],[\"comment/525\",[]],[\"name/526\",[251,44.959]],[\"comment/526\",[]],[\"name/527\",[295,57.197]],[\"comment/527\",[]],[\"name/528\",[303,53.832]],[\"comment/528\",[]],[\"name/529\",[304,62.305]],[\"comment/529\",[]],[\"name/530\",[305,62.305]],[\"comment/530\",[]],[\"name/531\",[306,53.832]],[\"comment/531\",[]],[\"name/532\",[296,57.197]],[\"comment/532\",[]],[\"name/533\",[307,53.832]],[\"comment/533\",[]],[\"name/534\",[308,47.641]],[\"comment/534\",[]],[\"name/535\",[182,51.319]],[\"comment/535\",[]],[\"name/536\",[44,40.333]],[\"comment/536\",[]],[\"name/537\",[308,47.641]],[\"comment/537\",[]],[\"name/538\",[309,53.832]],[\"comment/538\",[]],[\"name/539\",[310,53.832]],[\"comment/539\",[]],[\"name/540\",[311,53.832]],[\"comment/540\",[]],[\"name/541\",[285,51.319]],[\"comment/541\",[]],[\"name/542\",[312,53.832]],[\"comment/542\",[]],[\"name/543\",[44,40.333]],[\"comment/543\",[]],[\"name/544\",[313,53.832]],[\"comment/544\",[]],[\"name/545\",[49,43.847]],[\"comment/545\",[]],[\"name/546\",[314,53.832]],[\"comment/546\",[]],[\"name/547\",[44,40.333]],[\"comment/547\",[]],[\"name/548\",[45,41.102]],[\"comment/548\",[]],[\"name/549\",[46,46.21]],[\"comment/549\",[]],[\"name/550\",[315,53.832]],[\"comment/550\",[]],[\"name/551\",[47,49.312]],[\"comment/551\",[]],[\"name/552\",[48,46.21]],[\"comment/552\",[]],[\"name/553\",[50,49.312]],[\"comment/553\",[]],[\"name/554\",[49,43.847]],[\"comment/554\",[]],[\"name/555\",[316,53.832]],[\"comment/555\",[]],[\"name/556\",[127,39.618]],[\"comment/556\",[]],[\"name/557\",[317,62.305]],[\"comment/557\",[]],[\"name/558\",[45,41.102]],[\"comment/558\",[]],[\"name/559\",[318,53.832]],[\"comment/559\",[]],[\"name/560\",[319,51.319]],[\"comment/560\",[]],[\"name/561\",[292,47.641]],[\"comment/561\",[]],[\"name/562\",[293,47.641]],[\"comment/562\",[]],[\"name/563\",[294,47.641]],[\"comment/563\",[]],[\"name/564\",[251,44.959]],[\"comment/564\",[]],[\"name/565\",[141,41.102]],[\"comment/565\",[]],[\"name/566\",[280,46.21]],[\"comment/566\",[]],[\"name/567\",[127,39.618]],[\"comment/567\",[]],[\"name/568\",[281,46.21]],[\"comment/568\",[]],[\"name/569\",[168,44.959]],[\"comment/569\",[]],[\"name/570\",[144,43.847]],[\"comment/570\",[]],[\"name/571\",[75,43.847]],[\"comment/571\",[]],[\"name/572\",[74,44.959]],[\"comment/572\",[]],[\"name/573\",[53,44.959]],[\"comment/573\",[]],[\"name/574\",[60,44.959]],[\"comment/574\",[]],[\"name/575\",[287,44.959]],[\"comment/575\",[]],[\"name/576\",[57,34.789]],[\"comment/576\",[]],[\"name/577\",[320,57.197]],[\"comment/577\",[]],[\"name/578\",[138,47.641]],[\"comment/578\",[]],[\"name/579\",[297,53.832]],[\"comment/579\",[]],[\"name/580\",[265,51.319]],[\"comment/580\",[]],[\"name/581\",[298,53.832]],[\"comment/581\",[]],[\"name/582\",[321,57.197]],[\"comment/582\",[]],[\"name/583\",[23,51.319]],[\"comment/583\",[]],[\"name/584\",[24,51.319]],[\"comment/584\",[]],[\"name/585\",[300,53.832]],[\"comment/585\",[]],[\"name/586\",[301,53.832]],[\"comment/586\",[]],[\"name/587\",[302,53.832]],[\"comment/587\",[]],[\"name/588\",[45,41.102]],[\"comment/588\",[]],[\"name/589\",[318,53.832]],[\"comment/589\",[]],[\"name/590\",[127,39.618]],[\"comment/590\",[]],[\"name/591\",[141,41.102]],[\"comment/591\",[]],[\"name/592\",[280,46.21]],[\"comment/592\",[]],[\"name/593\",[319,51.319]],[\"comment/593\",[]],[\"name/594\",[322,57.197]],[\"comment/594\",[]],[\"name/595\",[292,47.641]],[\"comment/595\",[]],[\"name/596\",[287,44.959]],[\"comment/596\",[]],[\"name/597\",[293,47.641]],[\"comment/597\",[]],[\"name/598\",[294,47.641]],[\"comment/598\",[]],[\"name/599\",[251,44.959]],[\"comment/599\",[]],[\"name/600\",[281,46.21]],[\"comment/600\",[]],[\"name/601\",[144,43.847]],[\"comment/601\",[]],[\"name/602\",[168,44.959]],[\"comment/602\",[]],[\"name/603\",[75,43.847]],[\"comment/603\",[]],[\"name/604\",[74,44.959]],[\"comment/604\",[]],[\"name/605\",[53,44.959]],[\"comment/605\",[]],[\"name/606\",[60,44.959]],[\"comment/606\",[]],[\"name/607\",[323,57.197]],[\"comment/607\",[]],[\"name/608\",[324,57.197]],[\"comment/608\",[]],[\"name/609\",[325,57.197]],[\"comment/609\",[]],[\"name/610\",[326,57.197]],[\"comment/610\",[]],[\"name/611\",[147,49.312]],[\"comment/611\",[]],[\"name/612\",[327,57.197]],[\"comment/612\",[]],[\"name/613\",[328,57.197]],[\"comment/613\",[]],[\"name/614\",[157,53.832]],[\"comment/614\",[]],[\"name/615\",[303,53.832]],[\"comment/615\",[]],[\"name/616\",[306,53.832]],[\"comment/616\",[]],[\"name/617\",[329,57.197]],[\"comment/617\",[]],[\"name/618\",[320,57.197]],[\"comment/618\",[]],[\"name/619\",[307,53.832]],[\"comment/619\",[]],[\"name/620\",[308,47.641]],[\"comment/620\",[]],[\"name/621\",[330,51.319]],[\"comment/621\",[]],[\"name/622\",[331,57.197]],[\"comment/622\",[]],[\"name/623\",[332,57.197]],[\"comment/623\",[]],[\"name/624\",[182,51.319]],[\"comment/624\",[]],[\"name/625\",[44,40.333]],[\"comment/625\",[]],[\"name/626\",[308,47.641]],[\"comment/626\",[]],[\"name/627\",[330,51.319]],[\"comment/627\",[]],[\"name/628\",[309,53.832]],[\"comment/628\",[]],[\"name/629\",[310,53.832]],[\"comment/629\",[]],[\"name/630\",[311,53.832]],[\"comment/630\",[]],[\"name/631\",[333,57.197]],[\"comment/631\",[]],[\"name/632\",[334,57.197]],[\"comment/632\",[]],[\"name/633\",[331,57.197]],[\"comment/633\",[]],[\"name/634\",[332,57.197]],[\"comment/634\",[]],[\"name/635\",[285,51.319]],[\"comment/635\",[]],[\"name/636\",[312,53.832]],[\"comment/636\",[]],[\"name/637\",[44,40.333]],[\"comment/637\",[]],[\"name/638\",[313,53.832]],[\"comment/638\",[]],[\"name/639\",[49,43.847]],[\"comment/639\",[]],[\"name/640\",[314,53.832]],[\"comment/640\",[]],[\"name/641\",[44,40.333]],[\"comment/641\",[]],[\"name/642\",[45,41.102]],[\"comment/642\",[]],[\"name/643\",[318,53.832]],[\"comment/643\",[]],[\"name/644\",[315,53.832]],[\"comment/644\",[]],[\"name/645\",[47,49.312]],[\"comment/645\",[]],[\"name/646\",[48,46.21]],[\"comment/646\",[]],[\"name/647\",[50,49.312]],[\"comment/647\",[]],[\"name/648\",[49,43.847]],[\"comment/648\",[]],[\"name/649\",[316,53.832]],[\"comment/649\",[]],[\"name/650\",[127,39.618]],[\"comment/650\",[]],[\"name/651\",[335,57.197]],[\"comment/651\",[]],[\"name/652\",[119,53.832]],[\"comment/652\",[]],[\"name/653\",[336,57.197]],[\"comment/653\",[]],[\"name/654\",[337,57.197]],[\"comment/654\",[]],[\"name/655\",[338,62.305]],[\"comment/655\",[]],[\"name/656\",[339,57.197]],[\"comment/656\",[]],[\"name/657\",[340,62.305]],[\"comment/657\",[]],[\"name/658\",[339,57.197]],[\"comment/658\",[]],[\"name/659\",[341,62.305]],[\"comment/659\",[]],[\"name/660\",[154,51.319]],[\"comment/660\",[]],[\"name/661\",[342,62.305]],[\"comment/661\",[]],[\"name/662\",[343,62.305]],[\"comment/662\",[]],[\"name/663\",[344,62.305]],[\"comment/663\",[]],[\"name/664\",[45,41.102]],[\"comment/664\",[]],[\"name/665\",[46,46.21]],[\"comment/665\",[]],[\"name/666\",[319,51.319]],[\"comment/666\",[]],[\"name/667\",[292,47.641]],[\"comment/667\",[]],[\"name/668\",[293,47.641]],[\"comment/668\",[]],[\"name/669\",[294,47.641]],[\"comment/669\",[]],[\"name/670\",[251,44.959]],[\"comment/670\",[]],[\"name/671\",[141,41.102]],[\"comment/671\",[]],[\"name/672\",[280,46.21]],[\"comment/672\",[]],[\"name/673\",[127,39.618]],[\"comment/673\",[]],[\"name/674\",[281,46.21]],[\"comment/674\",[]],[\"name/675\",[168,44.959]],[\"comment/675\",[]],[\"name/676\",[144,43.847]],[\"comment/676\",[]],[\"name/677\",[75,43.847]],[\"comment/677\",[]],[\"name/678\",[74,44.959]],[\"comment/678\",[]],[\"name/679\",[53,44.959]],[\"comment/679\",[]],[\"name/680\",[60,44.959]],[\"comment/680\",[]],[\"name/681\",[287,44.959]],[\"comment/681\",[]],[\"name/682\",[57,34.789]],[\"comment/682\",[]],[\"name/683\",[345,57.197]],[\"comment/683\",[]],[\"name/684\",[138,47.641]],[\"comment/684\",[]],[\"name/685\",[297,53.832]],[\"comment/685\",[]],[\"name/686\",[265,51.319]],[\"comment/686\",[]],[\"name/687\",[298,53.832]],[\"comment/687\",[]],[\"name/688\",[299,57.197]],[\"comment/688\",[]],[\"name/689\",[321,57.197]],[\"comment/689\",[]],[\"name/690\",[23,51.319]],[\"comment/690\",[]],[\"name/691\",[24,51.319]],[\"comment/691\",[]],[\"name/692\",[300,53.832]],[\"comment/692\",[]],[\"name/693\",[301,53.832]],[\"comment/693\",[]],[\"name/694\",[302,53.832]],[\"comment/694\",[]],[\"name/695\",[45,41.102]],[\"comment/695\",[]],[\"name/696\",[46,46.21]],[\"comment/696\",[]],[\"name/697\",[127,39.618]],[\"comment/697\",[]],[\"name/698\",[141,41.102]],[\"comment/698\",[]],[\"name/699\",[280,46.21]],[\"comment/699\",[]],[\"name/700\",[319,51.319]],[\"comment/700\",[]],[\"name/701\",[322,57.197]],[\"comment/701\",[]],[\"name/702\",[292,47.641]],[\"comment/702\",[]],[\"name/703\",[287,44.959]],[\"comment/703\",[]],[\"name/704\",[293,47.641]],[\"comment/704\",[]],[\"name/705\",[294,47.641]],[\"comment/705\",[]],[\"name/706\",[251,44.959]],[\"comment/706\",[]],[\"name/707\",[281,46.21]],[\"comment/707\",[]],[\"name/708\",[144,43.847]],[\"comment/708\",[]],[\"name/709\",[168,44.959]],[\"comment/709\",[]],[\"name/710\",[75,43.847]],[\"comment/710\",[]],[\"name/711\",[74,44.959]],[\"comment/711\",[]],[\"name/712\",[53,44.959]],[\"comment/712\",[]],[\"name/713\",[60,44.959]],[\"comment/713\",[]],[\"name/714\",[147,49.312]],[\"comment/714\",[]],[\"name/715\",[327,57.197]],[\"comment/715\",[]],[\"name/716\",[323,57.197]],[\"comment/716\",[]],[\"name/717\",[324,57.197]],[\"comment/717\",[]],[\"name/718\",[325,57.197]],[\"comment/718\",[]],[\"name/719\",[326,57.197]],[\"comment/719\",[]],[\"name/720\",[328,57.197]],[\"comment/720\",[]],[\"name/721\",[157,53.832]],[\"comment/721\",[]],[\"name/722\",[303,53.832]],[\"comment/722\",[]],[\"name/723\",[306,53.832]],[\"comment/723\",[]],[\"name/724\",[329,57.197]],[\"comment/724\",[]],[\"name/725\",[346,62.305]],[\"comment/725\",[]],[\"name/726\",[345,57.197]],[\"comment/726\",[]],[\"name/727\",[307,53.832]],[\"comment/727\",[]],[\"name/728\",[308,47.641]],[\"comment/728\",[]],[\"name/729\",[330,51.319]],[\"comment/729\",[]],[\"name/730\",[182,51.319]],[\"comment/730\",[]],[\"name/731\",[44,40.333]],[\"comment/731\",[]],[\"name/732\",[308,47.641]],[\"comment/732\",[]],[\"name/733\",[330,51.319]],[\"comment/733\",[]],[\"name/734\",[309,53.832]],[\"comment/734\",[]],[\"name/735\",[310,53.832]],[\"comment/735\",[]],[\"name/736\",[311,53.832]],[\"comment/736\",[]],[\"name/737\",[333,57.197]],[\"comment/737\",[]],[\"name/738\",[334,57.197]],[\"comment/738\",[]],[\"name/739\",[285,51.319]],[\"comment/739\",[]],[\"name/740\",[312,53.832]],[\"comment/740\",[]],[\"name/741\",[44,40.333]],[\"comment/741\",[]],[\"name/742\",[313,53.832]],[\"comment/742\",[]],[\"name/743\",[49,43.847]],[\"comment/743\",[]],[\"name/744\",[314,53.832]],[\"comment/744\",[]],[\"name/745\",[44,40.333]],[\"comment/745\",[]],[\"name/746\",[45,41.102]],[\"comment/746\",[]],[\"name/747\",[46,46.21]],[\"comment/747\",[]],[\"name/748\",[315,53.832]],[\"comment/748\",[]],[\"name/749\",[47,49.312]],[\"comment/749\",[]],[\"name/750\",[48,46.21]],[\"comment/750\",[]],[\"name/751\",[50,49.312]],[\"comment/751\",[]],[\"name/752\",[49,43.847]],[\"comment/752\",[]],[\"name/753\",[316,53.832]],[\"comment/753\",[]],[\"name/754\",[127,39.618]],[\"comment/754\",[]],[\"name/755\",[335,57.197]],[\"comment/755\",[]],[\"name/756\",[119,53.832]],[\"comment/756\",[]],[\"name/757\",[336,57.197]],[\"comment/757\",[]],[\"name/758\",[337,57.197]],[\"comment/758\",[]],[\"name/759\",[347,62.305]],[\"comment/759\",[]],[\"name/760\",[348,62.305]],[\"comment/760\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":57,\"name\":{\"62\":{},\"64\":{},\"66\":{},\"70\":{},\"72\":{},\"86\":{},\"170\":{},\"236\":{},\"238\":{},\"342\":{},\"356\":{},\"358\":{},\"454\":{},\"457\":{},\"460\":{},\"464\":{},\"466\":{},\"468\":{},\"470\":{},\"475\":{},\"498\":{},\"576\":{},\"682\":{}},\"comment\":{}}],[\"accept\",{\"_index\":162,\"name\":{\"217\":{}},\"comment\":{}}],[\"all\",{\"_index\":265,\"name\":{\"410\":{},\"502\":{},\"580\":{},\"686\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":183,\"name\":{\"254\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":185,\"name\":{\"257\":{},\"262\":{},\"269\":{},\"287\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":88,\"name\":{\"103\":{}},\"comment\":{}}],[\"append\",{\"_index\":323,\"name\":{\"607\":{},\"716\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":324,\"name\":{\"608\":{},\"717\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"assert\",{\"_index\":339,\"name\":{\"656\":{},\"658\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":186,\"name\":{\"259\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":119,\"name\":{\"166\":{},\"652\":{},\"756\":{}},\"comment\":{}}],[\"ast\",{\"_index\":131,\"name\":{\"182\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":118,\"name\":{\"165\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":81,\"name\":{\"95\":{}},\"comment\":{}}],[\"builder\",{\"_index\":314,\"name\":{\"546\":{},\"640\":{},\"744\":{}},\"comment\":{}}],[\"canonicalize\",{\"_index\":166,\"name\":{\"235\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"char\",{\"_index\":276,\"name\":{\"437\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":191,\"name\":{\"274\":{}},\"comment\":{}}],[\"characterelement\",{\"_index\":136,\"name\":{\"189\":{}},\"comment\":{}}],[\"characterpropertycharacterset\",{\"_index\":91,\"name\":{\"109\":{}},\"comment\":{}}],[\"characters\",{\"_index\":192,\"name\":{\"277\":{},\"419\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":237,\"name\":{\"362\":{}},\"comment\":{}}],[\"charcasefolding\",{\"_index\":165,\"name\":{\"234\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":252,\"name\":{\"380\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":263,\"name\":{\"405\":{}},\"comment\":{}}],[\"chars\",{\"_index\":161,\"name\":{\"216\":{}},\"comment\":{}}],[\"charset\",{\"_index\":264,\"name\":{\"408\":{}},\"comment\":{}}],[\"clear\",{\"_index\":258,\"name\":{\"394\":{}},\"comment\":{}}],[\"combinedtransformer\",{\"_index\":230,\"name\":{\"343\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":217,\"name\":{\"328\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":275,\"name\":{\"436\":{}},\"comment\":{}}],[\"compare\",{\"_index\":273,\"name\":{\"424\":{}},\"comment\":{}}],[\"complement\",{\"_index\":305,\"name\":{\"530\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":195,\"name\":{\"289\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":44,\"name\":{\"49\":{},\"344\":{},\"363\":{},\"381\":{},\"536\":{},\"543\":{},\"547\":{},\"625\":{},\"637\":{},\"641\":{},\"731\":{},\"741\":{},\"745\":{}},\"comment\":{}}],[\"copy\",{\"_index\":251,\"name\":{\"379\":{},\"395\":{},\"485\":{},\"526\":{},\"564\":{},\"599\":{},\"670\":{},\"706\":{}},\"comment\":{}}],[\"count\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":294,\"name\":{\"484\":{},\"518\":{},\"563\":{},\"598\":{},\"669\":{},\"705\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":49,\"name\":{\"54\":{},\"459\":{},\"469\":{},\"545\":{},\"554\":{},\"639\":{},\"648\":{},\"743\":{},\"752\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":256,\"name\":{\"392\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":257,\"name\":{\"393\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":296,\"name\":{\"499\":{},\"532\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":89,\"name\":{\"105\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":104,\"name\":{\"133\":{},\"144\":{},\"153\":{}},\"comment\":{}}],[\"element\",{\"_index\":180,\"name\":{\"251\":{}},\"comment\":{}}],[\"elements\",{\"_index\":196,\"name\":{\"292\":{}},\"comment\":{}}],[\"empty\",{\"_index\":138,\"name\":{\"191\":{},\"213\":{},\"409\":{},\"500\":{},\"578\":{},\"684\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":297,\"name\":{\"501\":{},\"579\":{},\"685\":{}},\"comment\":{}}],[\"end\",{\"_index\":179,\"name\":{\"250\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":320,\"name\":{\"577\":{},\"618\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"entries\",{\"_index\":249,\"name\":{\"377\":{},\"403\":{}},\"comment\":{}}],[\"entrycount\",{\"_index\":242,\"name\":{\"369\":{},\"384\":{}},\"comment\":{}}],[\"equals\",{\"_index\":146,\"name\":{\"199\":{},\"222\":{},\"423\":{}},\"comment\":{}}],[\"events\",{\"_index\":236,\"name\":{\"361\":{}},\"comment\":{}}],[\"expression\",{\"_index\":126,\"name\":{\"176\":{},\"284\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":286,\"name\":{\"461\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":315,\"name\":{\"550\":{},\"644\":{},\"748\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":282,\"name\":{\"451\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":22,\"name\":{\"27\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":101,\"name\":{\"130\":{}},\"comment\":{}}],[\"filter\",{\"_index\":261,\"name\":{\"398\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"final\",{\"_index\":318,\"name\":{\"559\":{},\"589\":{},\"643\":{}},\"comment\":{}}],[\"finals\",{\"_index\":46,\"name\":{\"51\":{},\"481\":{},\"511\":{},\"549\":{},\"665\":{},\"696\":{},\"747\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":279,\"name\":{\"440\":{}},\"comment\":{}}],[\"flags\",{\"_index\":100,\"name\":{\"129\":{},\"159\":{},\"162\":{},\"173\":{},\"183\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":32,\"name\":{\"37\":{},\"374\":{},\"400\":{}},\"comment\":{}}],[\"from\",{\"_index\":139,\"name\":{\"192\":{},\"215\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":130,\"name\":{\"180\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":302,\"name\":{\"509\":{},\"587\":{},\"694\":{}},\"comment\":{}}],[\"fromcharacter\",{\"_index\":268,\"name\":{\"413\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":266,\"name\":{\"411\":{}},\"comment\":{}}],[\"fromchars\",{\"_index\":160,\"name\":{\"214\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":298,\"name\":{\"503\":{},\"581\":{},\"687\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":300,\"name\":{\"507\":{},\"585\":{},\"692\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":299,\"name\":{\"504\":{},\"688\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":129,\"name\":{\"179\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":267,\"name\":{\"412\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":321,\"name\":{\"582\":{},\"689\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":335,\"name\":{\"651\":{},\"755\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":172,\"name\":{\"243\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":171,\"name\":{\"242\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":301,\"name\":{\"508\":{},\"586\":{},\"693\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":170,\"name\":{\"241\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":169,\"name\":{\"240\":{}},\"comment\":{}}],[\"fromword\",{\"_index\":140,\"name\":{\"193\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":23,\"name\":{\"28\":{},\"505\":{},\"583\":{},\"690\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":24,\"name\":{\"29\":{},\"506\":{},\"584\":{},\"691\":{}},\"comment\":{}}],[\"get\",{\"_index\":246,\"name\":{\"373\":{},\"388\":{}},\"comment\":{}}],[\"getcharcasefolding\",{\"_index\":164,\"name\":{\"233\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":56,\"name\":{\"61\":{},\"71\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":58,\"name\":{\"63\":{}},\"comment\":{}}],[\"getid\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":341,\"name\":{\"659\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":343,\"name\":{\"662\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":342,\"name\":{\"661\":{}},\"comment\":{}}],[\"getlengthrange\",{\"_index\":158,\"name\":{\"211\":{},\"232\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":59,\"name\":{\"65\":{},\"69\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"getout\",{\"_index\":283,\"name\":{\"453\":{}},\"comment\":{}}],[\"getsinglecharacters\",{\"_index\":155,\"name\":{\"208\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":121,\"name\":{\"169\":{}},\"comment\":{}}],[\"global\",{\"_index\":105,\"name\":{\"134\":{},\"145\":{},\"154\":{}},\"comment\":{}}],[\"has\",{\"_index\":243,\"name\":{\"370\":{},\"385\":{},\"430\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"hasemptyword\",{\"_index\":142,\"name\":{\"195\":{},\"220\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":244,\"name\":{\"371\":{},\"386\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":106,\"name\":{\"135\":{},\"146\":{},\"155\":{}},\"comment\":{}}],[\"hassinglecharacter\",{\"_index\":143,\"name\":{\"196\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":245,\"name\":{\"372\":{},\"387\":{}},\"comment\":{}}],[\"id\",{\"_index\":194,\"name\":{\"282\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"16\":{},\"23\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":107,\"name\":{\"136\":{},\"147\":{},\"156\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"in\",{\"_index\":330,\"name\":{\"621\":{},\"627\":{},\"729\":{},\"733\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":337,\"name\":{\"654\":{},\"758\":{}},\"comment\":{}}],[\"initial\",{\"_index\":45,\"name\":{\"50\":{},\"452\":{},\"462\":{},\"480\":{},\"510\":{},\"548\":{},\"558\":{},\"588\":{},\"642\":{},\"664\":{},\"695\":{},\"746\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"13\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":148,\"name\":{\"201\":{},\"225\":{},\"428\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"invert\",{\"_index\":250,\"name\":{\"378\":{},\"399\":{}},\"comment\":{}}],[\"isall\",{\"_index\":270,\"name\":{\"417\":{}},\"comment\":{}}],[\"iscompatiblewith\",{\"_index\":145,\"name\":{\"198\":{},\"223\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":154,\"name\":{\"207\":{},\"231\":{},\"435\":{},\"660\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":141,\"name\":{\"194\":{},\"219\":{},\"367\":{},\"382\":{},\"416\":{},\"441\":{},\"487\":{},\"513\":{},\"565\":{},\"591\":{},\"671\":{},\"698\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":48,\"name\":{\"53\":{},\"81\":{},\"456\":{},\"465\":{},\"552\":{},\"646\":{},\"750\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":280,\"name\":{\"442\":{},\"488\":{},\"514\":{},\"566\":{},\"592\":{},\"672\":{},\"699\":{}},\"comment\":{}}],[\"isflags\",{\"_index\":102,\"name\":{\"131\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":68,\"name\":{\"80\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":319,\"name\":{\"560\":{},\"593\":{},\"666\":{},\"700\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":153,\"name\":{\"206\":{},\"230\":{},\"434\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":152,\"name\":{\"205\":{},\"229\":{},\"433\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":151,\"name\":{\"204\":{},\"228\":{},\"432\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":150,\"name\":{\"203\":{},\"227\":{},\"431\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":262,\"name\":{\"404\":{}},\"comment\":{}}],[\"js\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"key\",{\"_index\":92,\"name\":{\"111\":{},\"117\":{}},\"comment\":{}}],[\"keys\",{\"_index\":247,\"name\":{\"375\":{},\"401\":{}},\"comment\":{}}],[\"kind\",{\"_index\":83,\"name\":{\"97\":{},\"100\":{},\"104\":{},\"106\":{},\"110\":{},\"116\":{},\"122\":{},\"125\":{},\"263\":{}},\"comment\":{}}],[\"label\",{\"_index\":63,\"name\":{\"74\":{},\"77\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":188,\"name\":{\"270\":{}},\"comment\":{}}],[\"length\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"limit\",{\"_index\":313,\"name\":{\"544\":{},\"638\":{},\"742\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":312,\"name\":{\"542\":{},\"636\":{},\"740\":{}},\"comment\":{}}],[\"link\",{\"_index\":309,\"name\":{\"538\":{},\"628\":{},\"734\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":50,\"name\":{\"55\":{},\"467\":{},\"553\":{},\"647\":{},\"751\":{}},\"comment\":{}}],[\"literal\",{\"_index\":114,\"name\":{\"160\":{},\"181\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":42,\"name\":{\"47\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":47,\"name\":{\"52\":{},\"463\":{},\"551\":{},\"645\":{},\"749\":{}},\"comment\":{}}],[\"makegreedy\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"map\",{\"_index\":259,\"name\":{\"396\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":43,\"name\":{\"48\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":51,\"name\":{\"56\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":30,\"name\":{\"35\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":260,\"name\":{\"397\":{}},\"comment\":{}}],[\"max\",{\"_index\":190,\"name\":{\"272\":{},\"407\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":117,\"name\":{\"164\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":127,\"name\":{\"177\":{},\"184\":{},\"340\":{},\"443\":{},\"473\":{},\"489\":{},\"512\":{},\"556\":{},\"567\":{},\"590\":{},\"650\":{},\"673\":{},\"697\":{},\"754\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":338,\"name\":{\"655\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":163,\"name\":{\"218\":{},\"414\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":120,\"name\":{\"168\":{},\"477\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":290,\"name\":{\"478\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":235,\"name\":{\"360\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":65,\"name\":{\"76\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"min\",{\"_index\":189,\"name\":{\"271\":{},\"406\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":304,\"name\":{\"529\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":108,\"name\":{\"137\":{},\"148\":{},\"157\":{}},\"comment\":{}}],[\"name\",{\"_index\":220,\"name\":{\"331\":{},\"345\":{}},\"comment\":{}}],[\"negate\",{\"_index\":84,\"name\":{\"98\":{},\"107\":{},\"114\":{},\"120\":{},\"123\":{},\"126\":{},\"264\":{},\"426\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":345,\"name\":{\"683\":{},\"726\":{}},\"comment\":{}}],[\"node\",{\"_index\":182,\"name\":{\"253\":{},\"535\":{},\"624\":{},\"730\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":285,\"name\":{\"458\":{},\"541\":{},\"635\":{},\"739\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":67,\"name\":{\"79\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":293,\"name\":{\"483\":{},\"517\":{},\"562\":{},\"597\":{},\"668\":{},\"704\":{}},\"comment\":{}}],[\"nonunicodesetsflags\",{\"_index\":112,\"name\":{\"141\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":197,\"name\":{\"294\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":322,\"name\":{\"594\":{},\"701\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":221,\"name\":{\"332\":{},\"347\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":202,\"name\":{\"299\":{},\"314\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":203,\"name\":{\"300\":{},\"315\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":222,\"name\":{\"333\":{},\"348\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":204,\"name\":{\"301\":{},\"316\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":205,\"name\":{\"302\":{},\"317\":{}},\"comment\":{}}],[\"onchange\",{\"_index\":233,\"name\":{\"357\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":223,\"name\":{\"334\":{},\"349\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":206,\"name\":{\"303\":{},\"318\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":207,\"name\":{\"304\":{},\"319\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":224,\"name\":{\"335\":{},\"350\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":208,\"name\":{\"305\":{},\"320\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":209,\"name\":{\"306\":{},\"321\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":225,\"name\":{\"336\":{},\"351\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":210,\"name\":{\"307\":{},\"322\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":211,\"name\":{\"308\":{},\"323\":{}},\"comment\":{}}],[\"onpassstart\",{\"_index\":232,\"name\":{\"355\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":226,\"name\":{\"337\":{},\"352\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":212,\"name\":{\"309\":{},\"324\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":213,\"name\":{\"310\":{},\"325\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":227,\"name\":{\"338\":{},\"353\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":214,\"name\":{\"311\":{},\"326\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":215,\"name\":{\"312\":{},\"327\":{}},\"comment\":{}}],[\"options\",{\"_index\":316,\"name\":{\"555\":{},\"649\":{},\"753\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":73,\"name\":{\"87\":{}},\"comment\":{}}],[\"out\",{\"_index\":308,\"name\":{\"534\":{},\"537\":{},\"620\":{},\"626\":{},\"728\":{},\"732\":{}},\"comment\":{}}],[\"parent\",{\"_index\":181,\"name\":{\"252\":{},\"256\":{},\"261\":{},\"268\":{},\"276\":{},\"281\":{},\"286\":{},\"291\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":124,\"name\":{\"174\":{}},\"comment\":{}}],[\"parse\",{\"_index\":132,\"name\":{\"185\":{}},\"comment\":{}}],[\"parsecharset\",{\"_index\":135,\"name\":{\"188\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":133,\"name\":{\"186\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":116,\"name\":{\"163\":{}},\"comment\":{}}],[\"parser\",{\"_index\":128,\"name\":{\"178\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":125,\"name\":{\"175\":{}},\"comment\":{}}],[\"parseunicodeset\",{\"_index\":134,\"name\":{\"187\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":123,\"name\":{\"172\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":173,\"name\":{\"244\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":174,\"name\":{\"245\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":87,\"name\":{\"102\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":306,\"name\":{\"531\":{},\"616\":{},\"723\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":325,\"name\":{\"609\":{},\"718\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":326,\"name\":{\"610\":{},\"719\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":90,\"name\":{\"108\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":187,\"name\":{\"266\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":328,\"name\":{\"613\":{},\"720\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":269,\"name\":{\"415\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":332,\"name\":{\"623\":{},\"634\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":240,\"name\":{\"366\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":291,\"name\":{\"479\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":317,\"name\":{\"557\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":344,\"name\":{\"663\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":307,\"name\":{\"533\":{},\"619\":{},\"727\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":278,\"name\":{\"439\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":348,\"name\":{\"760\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":122,\"name\":{\"171\":{}},\"comment\":{}}],[\"remove\",{\"_index\":13,\"name\":{\"14\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":303,\"name\":{\"528\":{},\"615\":{},\"722\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"resize\",{\"_index\":274,\"name\":{\"425\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":331,\"name\":{\"622\":{},\"633\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":346,\"name\":{\"725\":{}},\"comment\":{}}],[\"set\",{\"_index\":253,\"name\":{\"389\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":255,\"name\":{\"391\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":198,\"name\":{\"295\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":254,\"name\":{\"390\":{}},\"comment\":{}}],[\"sets\",{\"_index\":238,\"name\":{\"364\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":199,\"name\":{\"296\":{}},\"comment\":{}}],[\"shape\",{\"_index\":64,\"name\":{\"75\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":229,\"name\":{\"341\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":71,\"name\":{\"84\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":21,\"name\":{\"26\":{},\"167\":{}},\"comment\":{}}],[\"size\",{\"_index\":241,\"name\":{\"368\":{},\"383\":{},\"418\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"source\",{\"_index\":115,\"name\":{\"161\":{},\"258\":{},\"265\":{},\"273\":{},\"278\":{},\"283\":{},\"288\":{},\"293\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":177,\"name\":{\"248\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":96,\"name\":{\"121\":{}},\"comment\":{}}],[\"split\",{\"_index\":239,\"name\":{\"365\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":284,\"name\":{\"455\":{}},\"comment\":{}}],[\"start\",{\"_index\":178,\"name\":{\"249\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":292,\"name\":{\"482\":{},\"515\":{},\"561\":{},\"595\":{},\"667\":{},\"702\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":109,\"name\":{\"138\":{},\"149\":{},\"158\":{}},\"comment\":{}}],[\"stringpropertycharacterset\",{\"_index\":95,\"name\":{\"115\":{}},\"comment\":{}}],[\"strings\",{\"_index\":94,\"name\":{\"113\":{},\"119\":{}},\"comment\":{}}],[\"stringset\",{\"_index\":137,\"name\":{\"190\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":295,\"name\":{\"486\":{},\"527\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":329,\"name\":{\"617\":{},\"724\":{}},\"comment\":{}}],[\"test\",{\"_index\":281,\"name\":{\"444\":{},\"490\":{},\"519\":{},\"568\":{},\"600\":{},\"674\":{},\"707\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"tocharset\",{\"_index\":167,\"name\":{\"237\":{}},\"comment\":{}}],[\"todot\",{\"_index\":53,\"name\":{\"58\":{},\"449\":{},\"495\":{},\"524\":{},\"573\":{},\"605\":{},\"679\":{},\"712\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":54,\"name\":{\"59\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":55,\"name\":{\"60\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":98,\"name\":{\"127\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":99,\"name\":{\"128\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":60,\"name\":{\"67\":{},\"450\":{},\"496\":{},\"525\":{},\"574\":{},\"606\":{},\"680\":{},\"713\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":61,\"name\":{\"68\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":340,\"name\":{\"657\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":271,\"name\":{\"421\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":74,\"name\":{\"88\":{},\"448\":{},\"494\":{},\"523\":{},\"572\":{},\"604\":{},\"678\":{},\"711\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":289,\"name\":{\"476\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":75,\"name\":{\"89\":{},\"420\":{},\"447\":{},\"493\":{},\"522\":{},\"571\":{},\"603\":{},\"677\":{},\"710\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":272,\"name\":{\"422\":{}},\"comment\":{}}],[\"transform\",{\"_index\":218,\"name\":{\"329\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":228,\"name\":{\"339\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":219,\"name\":{\"330\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{},\"346\":{}},\"comment\":{}}],[\"transformevents\",{\"_index\":231,\"name\":{\"354\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":234,\"name\":{\"359\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":288,\"name\":{\"472\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":287,\"name\":{\"471\":{},\"474\":{},\"497\":{},\"516\":{},\"575\":{},\"596\":{},\"681\":{},\"703\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":72,\"name\":{\"85\":{}},\"comment\":{}}],[\"type\",{\"_index\":184,\"name\":{\"255\":{},\"260\":{},\"267\":{},\"275\":{},\"280\":{},\"285\":{},\"290\":{}},\"comment\":{}}],[\"uncheckedflags\",{\"_index\":103,\"name\":{\"132\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":110,\"name\":{\"139\":{},\"142\":{},\"151\":{}},\"comment\":{}}],[\"unicodeset\",{\"_index\":159,\"name\":{\"212\":{}},\"comment\":{}}],[\"unicodesets\",{\"_index\":111,\"name\":{\"140\":{},\"143\":{},\"152\":{}},\"comment\":{}}],[\"unicodesetsflags\",{\"_index\":113,\"name\":{\"150\":{}},\"comment\":{}}],[\"union\",{\"_index\":147,\"name\":{\"200\":{},\"224\":{},\"427\":{},\"611\":{},\"714\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":327,\"name\":{\"612\":{},\"715\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":193,\"name\":{\"279\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":336,\"name\":{\"653\":{},\"757\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":310,\"name\":{\"539\":{},\"629\":{},\"735\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":311,\"name\":{\"540\":{},\"630\":{},\"736\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":334,\"name\":{\"632\":{},\"738\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":333,\"name\":{\"631\":{},\"737\":{}},\"comment\":{}}],[\"value\",{\"_index\":93,\"name\":{\"112\":{},\"118\":{}},\"comment\":{}}],[\"values\",{\"_index\":248,\"name\":{\"376\":{},\"402\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":200,\"name\":{\"297\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":201,\"name\":{\"298\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":216,\"name\":{\"313\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"without\",{\"_index\":149,\"name\":{\"202\":{},\"226\":{},\"429\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":157,\"name\":{\"210\":{},\"614\":{},\"721\":{}},\"comment\":{}}],[\"withoutsinglecharacters\",{\"_index\":156,\"name\":{\"209\":{}},\"comment\":{}}],[\"word\",{\"_index\":277,\"name\":{\"438\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":82,\"name\":{\"96\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":97,\"name\":{\"124\":{}},\"comment\":{}}],[\"words\",{\"_index\":168,\"name\":{\"239\":{},\"445\":{},\"491\":{},\"521\":{},\"569\":{},\"602\":{},\"675\":{},\"709\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":347,\"name\":{\"759\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":144,\"name\":{\"197\":{},\"221\":{},\"446\":{},\"492\":{},\"520\":{},\"570\":{},\"601\":{},\"676\":{},\"708\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":175,\"name\":{\"246\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":176,\"name\":{\"247\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/v0.12.1/assets/style.css b/docs/v0.12.1/assets/style.css new file mode 100644 index 00000000..18b4f8fe --- /dev/null +++ b/docs/v0.12.1/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/v0.12.1/classes/CharBase.html b/docs/v0.12.1/classes/CharBase.html new file mode 100644 index 00000000..d109234b --- /dev/null +++ b/docs/v0.12.1/classes/CharBase.html @@ -0,0 +1,206 @@ +CharBase | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+

Guarantees

    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+

Use case

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

    +
    +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CharMap.html b/docs/v0.12.1/classes/CharMap.html new file mode 100644 index 00000000..7966eeac --- /dev/null +++ b/docs/v0.12.1/classes/CharMap.html @@ -0,0 +1,587 @@ +CharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
    +
  • get entryCount(): number
  • +
  • +

    The number of entires in this map.

    +

    This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

    +

    This is equivalent to [...this.entries()].length.

    +
    +

    Returns number

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this map is empty.

    +

    This is equivalent to this.size === 0 and this.entryCount === 0.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    The number of characters in this map. This is different from entryCount.

    +

    This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns IterableIterator<[CharRange, T]>

    +
+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<CharRange>

    +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CharSet.html b/docs/v0.12.1/classes/CharSet.html new file mode 100644 index 00000000..f6718229 --- /dev/null +++ b/docs/v0.12.1/classes/CharSet.html @@ -0,0 +1,630 @@ +CharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

    +
+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +
    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      char: Char
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      range: CharRange
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CombinedTransformer.html b/docs/v0.12.1/classes/CombinedTransformer.html new file mode 100644 index 00000000..b8b51906 --- /dev/null +++ b/docs/v0.12.1/classes/CombinedTransformer.html @@ -0,0 +1,275 @@ +CombinedTransformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CombinedTransformer

+
+

A transformer that runs all given transformers in sequentially order.

+

The combined transformer is a special transformer in that the transform function knows about it.

+
+
+
+

Hierarchy

+
    +
  • CombinedTransformer
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
name: "CombinedTransformer" = "CombinedTransformer"
+

An optional name useful for diagnostics.

+
+
+
+ +
transformers: readonly Transformer[]
+

The transformers that will be applied in order.

+

Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a +CombinedTransformer, then its transformers will be used instead (think of it as flattening combined +transformers).

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA-1.html b/docs/v0.12.1/classes/DFA-1.html new file mode 100644 index 00000000..204d401a --- /dev/null +++ b/docs/v0.12.1/classes/DFA-1.html @@ -0,0 +1,701 @@ +DFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

    +
+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.Builder.html b/docs/v0.12.1/classes/DFA.Builder.html new file mode 100644 index 00000000..fbb6274a --- /dev/null +++ b/docs/v0.12.1/classes/DFA.Builder.html @@ -0,0 +1,247 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 00000000..66d404fb --- /dev/null +++ b/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,172 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.Node.html b/docs/v0.12.1/classes/DFA.Node.html new file mode 100644 index 00000000..145bb3cb --- /dev/null +++ b/docs/v0.12.1/classes/DFA.Node.html @@ -0,0 +1,188 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA-1.html b/docs/v0.12.1/classes/ENFA-1.html new file mode 100644 index 00000000..63f1d414 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA-1.html @@ -0,0 +1,940 @@ +ENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    ENFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

    +
+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    ENFA

    +
+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.Builder.html b/docs/v0.12.1/classes/ENFA.Builder.html new file mode 100644 index 00000000..b31d4246 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 00000000..9f8bc0df --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.Node.html b/docs/v0.12.1/classes/ENFA.Node.html new file mode 100644 index 00000000..f0fd0559 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.Node.html @@ -0,0 +1,304 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/FAIterators.MapFABuilder.html b/docs/v0.12.1/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..899fb8c1 --- /dev/null +++ b/docs/v0.12.1/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,272 @@ +MapFABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.Parser.html b/docs/v0.12.1/classes/JS.Parser.html new file mode 100644 index 00000000..eec9f2d7 --- /dev/null +++ b/docs/v0.12.1/classes/JS.Parser.html @@ -0,0 +1,275 @@ +Parser | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +
flags: Required<Flags>
+

This contains the same flags as ast.flags but with a better type.

+
+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

    +
+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    If a string is given as the literal, it must be of the form /pattern/flags. If possible, use the +object form with Literal instead.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: string | Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
    +

    Returns Parser

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.StringSet.html b/docs/v0.12.1/classes/JS.StringSet.html new file mode 100644 index 00000000..3c127ccc --- /dev/null +++ b/docs/v0.12.1/classes/JS.StringSet.html @@ -0,0 +1,465 @@ +StringSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class StringSet

+
+

A set of words.

+

Words are stored as a sorted list of canonicalized words. The actual value of the set is wordSets.

+
+
+
+

Hierarchy

+
    +
  • StringSet
+
+
+
+ +
+
+

Properties

+
+ +
empty: StringSet = ...
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if this set contains the empty word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get hasSingleCharacter(): boolean
  • +
  • +

    true if this set contains at least one single-character word.

    +

    This is equivalent to this.getSingleCharacter() !== undefined.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if this set is empty.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    The words of this set with toCharSet applied to each character.

    +

    Word sets are guaranteed to be sorted by ascending length.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set is equal to the given set.

    +

    Equality is defined as the wordSets of both sets being the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
    + +
  • +

    Returns a set of all single-character words in this set or undefined if this set contains no single-character +words.

    +
    +

    Returns undefined | CharSet

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns whether this set is compatible with the given set. Compatibility is defined as follows:

    +
      +
    1. The empty set is compatible with all sets.
    2. +
    3. Sets with different case folding are incompatible.
    4. +
    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this ⊂ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊆ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊇ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the union of all given sets.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns this set without the strings of the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes the empty word from this set.

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes all single-character words from this set.

    +
    +

    Returns StringSet

    +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.UnicodeSet.html b/docs/v0.12.1/classes/JS.UnicodeSet.html new file mode 100644 index 00000000..75d52096 --- /dev/null +++ b/docs/v0.12.1/classes/JS.UnicodeSet.html @@ -0,0 +1,435 @@ +UnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class UnicodeSet

+
+

A mathematical set of characters and strings.

+

Despite the name, the characters in this set are not necessarily Unicode characters. +So chars.maximum is not necessarily 0x10FFFF.

+

The set is represented as a union of a CharSet and a StringSet.

+
+
+
+

Hierarchy

+
    +
  • UnicodeSet
+
+
+
+ +
+
+

Properties

+
+ +
accept: StringSet
+

A sorted set of words.

+

In addition to the usual guarantees of StringSet, this set is also guaranteed to not contain any +single-character words.

+
+
+
+ +
chars: CharSet
+

All single characters in the set.

+
+
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if the set contains the empty word.

    +

    This is equivalent to this.accept.hasEmptyWord.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if the set is empty (=accepts no words).

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get maximum(): Char
  • +
  • +

    The maximum character in the set.

    +

    This is equivalent to this.chars.maximum.

    +
    +

    Returns Char

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    All word sets accepted by this set.

    +

    Word sets are guaranteed to be sorted by descending length and code points. This means that word sets are in +the order in which the ECMAScript RegExp engine would try matching them.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/MaxCharacterError.html b/docs/v0.12.1/classes/MaxCharacterError.html new file mode 100644 index 00000000..2a21762c --- /dev/null +++ b/docs/v0.12.1/classes/MaxCharacterError.html @@ -0,0 +1,161 @@ +MaxCharacterError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      Optional kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA-1.html b/docs/v0.12.1/classes/NFA-1.html new file mode 100644 index 00000000..537affc2 --- /dev/null +++ b/docs/v0.12.1/classes/NFA-1.html @@ -0,0 +1,941 @@ +NFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    NFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

    +
+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    NFA

    +
+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.Builder.html b/docs/v0.12.1/classes/NFA.Builder.html new file mode 100644 index 00000000..eda955cf --- /dev/null +++ b/docs/v0.12.1/classes/NFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 00000000..32d90745 --- /dev/null +++ b/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.Node.html b/docs/v0.12.1/classes/NFA.Node.html new file mode 100644 index 00000000..0624a8e5 --- /dev/null +++ b/docs/v0.12.1/classes/NFA.Node.html @@ -0,0 +1,217 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/TooManyNodesError.html b/docs/v0.12.1/classes/TooManyNodesError.html new file mode 100644 index 00000000..5ec6ef9b --- /dev/null +++ b/docs/v0.12.1/classes/TooManyNodesError.html @@ -0,0 +1,162 @@ +TooManyNodesError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html b/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 00000000..b3337865 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,164 @@ +approximateRejectingWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.canReachFinal.html b/docs/v0.12.1/functions/FAIterators.canReachFinal.html new file mode 100644 index 00000000..a86ece3b --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.canReachFinal.html @@ -0,0 +1,153 @@ +canReachFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.count.html b/docs/v0.12.1/functions/FAIterators.count.html new file mode 100644 index 00000000..a5d08333 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.count.html @@ -0,0 +1,153 @@ +count | refa - v0.12.1
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.ensureStableOut.html b/docs/v0.12.1/functions/FAIterators.ensureStableOut.html new file mode 100644 index 00000000..a3d0c8a7 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,155 @@ +ensureStableOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.filterOutIter.html b/docs/v0.12.1/functions/FAIterators.filterOutIter.html new file mode 100644 index 00000000..ea297817 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.filterOutIter.html @@ -0,0 +1,169 @@ +filterOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.forEach.html b/docs/v0.12.1/functions/FAIterators.forEach.html new file mode 100644 index 00000000..d57f26b1 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.forEach.html @@ -0,0 +1,169 @@ +forEach | refa - v0.12.1
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
      +
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.fromWordSets.html b/docs/v0.12.1/functions/FAIterators.fromWordSets.html new file mode 100644 index 00000000..3459514c --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.fromWordSets.html @@ -0,0 +1,161 @@ +fromWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.fromWords.html b/docs/v0.12.1/functions/FAIterators.fromWords.html new file mode 100644 index 00000000..81f974c9 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.fromWords.html @@ -0,0 +1,185 @@ +fromWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
      +
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
      +
    • +
    • +
      maxCharacter: Char
      +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.hasCycle.html b/docs/v0.12.1/functions/FAIterators.hasCycle.html new file mode 100644 index 00000000..24c9d41e --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.hasCycle.html @@ -0,0 +1,153 @@ +hasCycle | refa - v0.12.1
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.intersection.html b/docs/v0.12.1/functions/FAIterators.intersection.html new file mode 100644 index 00000000..b8f5258f --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.intersection.html @@ -0,0 +1,165 @@ +intersection | refa - v0.12.1
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.iterateStates.html b/docs/v0.12.1/functions/FAIterators.iterateStates.html new file mode 100644 index 00000000..76d71a55 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.iterateStates.html @@ -0,0 +1,154 @@ +iterateStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.iterateWordSets.html b/docs/v0.12.1/functions/FAIterators.iterateWordSets.html new file mode 100644 index 00000000..7c9e873d --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,155 @@ +iterateWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.languageIsFinite.html b/docs/v0.12.1/functions/FAIterators.languageIsFinite.html new file mode 100644 index 00000000..4c9f5835 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,153 @@ +languageIsFinite | refa - v0.12.1
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeDeterministic.html b/docs/v0.12.1/functions/FAIterators.makeDeterministic.html new file mode 100644 index 00000000..d7a274c7 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,159 @@ +makeDeterministic | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
    + +
  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      B

    • +
    • +

      I

    +
    +

    Parameters

    +
    +

    Returns FAIterator<B, B>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html b/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 00000000..991e7563 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,156 @@ +makeInitialFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html b/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 00000000..426b49a9 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,156 @@ +makeInitialNonFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.mapOut.html b/docs/v0.12.1/functions/FAIterators.mapOut.html new file mode 100644 index 00000000..687d0722 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.mapOut.html @@ -0,0 +1,171 @@ +mapOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.mapOutIter.html b/docs/v0.12.1/functions/FAIterators.mapOutIter.html new file mode 100644 index 00000000..81ebc85c --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.mapOutIter.html @@ -0,0 +1,171 @@ +mapOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.removeDeadStates.html b/docs/v0.12.1/functions/FAIterators.removeDeadStates.html new file mode 100644 index 00000000..acc5646e --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,170 @@ +removeDeadStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: ((item: O) => S)
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html b/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 00000000..e6431b64 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,171 @@ +shortestAcceptingPath | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: ((item: T) => S)
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.shortestWordSet.html b/docs/v0.12.1/functions/FAIterators.shortestWordSet.html new file mode 100644 index 00000000..4efbc8e7 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,157 @@ +shortestWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toDot.html b/docs/v0.12.1/functions/FAIterators.toDot.html new file mode 100644 index 00000000..4bf79d58 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toDot.html @@ -0,0 +1,153 @@ +toDot | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toDot

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toMermaid.html b/docs/v0.12.1/functions/FAIterators.toMermaid.html new file mode 100644 index 00000000..167410fe --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toMermaid.html @@ -0,0 +1,153 @@ +toMermaid | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toMermaid

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toRegex.html b/docs/v0.12.1/functions/FAIterators.toRegex.html new file mode 100644 index 00000000..4f9afbb0 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toRegex.html @@ -0,0 +1,157 @@ +toRegex | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toString.html b/docs/v0.12.1/functions/FAIterators.toString.html new file mode 100644 index 00000000..ee8bf8a0 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toString.html @@ -0,0 +1,190 @@ +toString | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: ((value: T) => string) = String
      +
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
      +
    +

    Returns string

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withGetOut.html b/docs/v0.12.1/functions/FAIterators.withGetOut.html new file mode 100644 index 00000000..5106078d --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withGetOut.html @@ -0,0 +1,174 @@ +withGetOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      getOut: ((state: S) => T)
      +
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
      +
    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withInitial.html b/docs/v0.12.1/functions/FAIterators.withInitial.html new file mode 100644 index 00000000..bd04fa78 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withInitial.html @@ -0,0 +1,158 @@ +withInitial | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withIsFinal.html b/docs/v0.12.1/functions/FAIterators.withIsFinal.html new file mode 100644 index 00000000..010a7f99 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withIsFinal.html @@ -0,0 +1,169 @@ +withIsFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.createAssertion.html b/docs/v0.12.1/functions/JS.createAssertion.html new file mode 100644 index 00000000..d4a0535b --- /dev/null +++ b/docs/v0.12.1/functions/JS.createAssertion.html @@ -0,0 +1,142 @@ +createAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.createCharSet.html b/docs/v0.12.1/functions/JS.createCharSet.html new file mode 100644 index 00000000..f9d1d0a8 --- /dev/null +++ b/docs/v0.12.1/functions/JS.createCharSet.html @@ -0,0 +1,151 @@ +createCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.getCharCaseFolding.html b/docs/v0.12.1/functions/JS.getCharCaseFolding.html new file mode 100644 index 00000000..820ecf01 --- /dev/null +++ b/docs/v0.12.1/functions/JS.getCharCaseFolding.html @@ -0,0 +1,150 @@ +getCharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getCharCaseFolding

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.isFlags.html b/docs/v0.12.1/functions/JS.isFlags.html new file mode 100644 index 00000000..5a459c45 --- /dev/null +++ b/docs/v0.12.1/functions/JS.isFlags.html @@ -0,0 +1,144 @@ +isFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isFlags

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.parseCharSet.html b/docs/v0.12.1/functions/JS.parseCharSet.html new file mode 100644 index 00000000..9212a19f --- /dev/null +++ b/docs/v0.12.1/functions/JS.parseCharSet.html @@ -0,0 +1,142 @@ +parseCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseCharSet

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      element: ClassRangesCharacterClass | CharacterClassRange | Character | AnyCharacterSet | EscapeCharacterSet | CharacterUnicodePropertyCharacterSet
    • +
    • +
      flags: Readonly<Flags>
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.parseUnicodeSet.html b/docs/v0.12.1/functions/JS.parseUnicodeSet.html new file mode 100644 index 00000000..def39f62 --- /dev/null +++ b/docs/v0.12.1/functions/JS.parseUnicodeSet.html @@ -0,0 +1,142 @@ +parseUnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseUnicodeSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.toLiteral.html b/docs/v0.12.1/functions/JS.toLiteral.html new file mode 100644 index 00000000..af445591 --- /dev/null +++ b/docs/v0.12.1/functions/JS.toLiteral.html @@ -0,0 +1,159 @@ +toLiteral | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toLiteral

+
+
    + +
  • +

    Converts the given AST or AST subtree into a JS literal.

    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to +builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +
    +

    Parameters

    +
    +

    Returns Literal

    +
  • + +
  • +
    +

    Parameters

    +
    +

    Returns Literal

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.applyAssertions.html b/docs/v0.12.1/functions/Transformers.applyAssertions.html new file mode 100644 index 00000000..000a52a3 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.applyAssertions.html @@ -0,0 +1,129 @@ +applyAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.factorOut.html b/docs/v0.12.1/functions/Transformers.factorOut.html new file mode 100644 index 00000000..e8cdc94a --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.factorOut.html @@ -0,0 +1,137 @@ +factorOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.inline.html b/docs/v0.12.1/functions/Transformers.inline.html new file mode 100644 index 00000000..128b0368 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.inline.html @@ -0,0 +1,139 @@ +inline | refa - v0.12.1
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.makeGreedy.html b/docs/v0.12.1/functions/Transformers.makeGreedy.html new file mode 100644 index 00000000..1587627d --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.makeGreedy.html @@ -0,0 +1,129 @@ +makeGreedy | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeGreedy

+
+
    + +
  • +

    This transformer will try to make quantifiers greedy whenever possible.

    +

    Note: If ignoreOrder is true, then quantifiers will always be made greedy.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html b/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 00000000..dd34cf49 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,133 @@ +mergeWithQuantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.moveUpEmpty.html b/docs/v0.12.1/functions/Transformers.moveUpEmpty.html new file mode 100644 index 00000000..9fe96526 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,137 @@ +moveUpEmpty | refa - v0.12.1
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html b/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 00000000..dfa17651 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,137 @@ +nestedQuantifiers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html b/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 00000000..655ca514 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,136 @@ +patternEdgeAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.removeDeadBranches.html b/docs/v0.12.1/functions/Transformers.removeDeadBranches.html new file mode 100644 index 00000000..505eee4e --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,133 @@ +removeDeadBranches | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html b/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 00000000..33c3270d --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,128 @@ +removeUnnecessaryAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.replaceAssertions.html b/docs/v0.12.1/functions/Transformers.replaceAssertions.html new file mode 100644 index 00000000..29a4e185 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.replaceAssertions.html @@ -0,0 +1,128 @@ +replaceAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.simplify.html b/docs/v0.12.1/functions/Transformers.simplify.html new file mode 100644 index 00000000..9c8d7481 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.simplify.html @@ -0,0 +1,134 @@ +simplify | refa - v0.12.1
+
+ +
+
+
+
+ +

Function simplify

+
+
    + +
  • +

    This transformer is a combined transformer with the goal of simplifying the AST as much as possible without +changing the semantics.

    +

    The main purpose of this transformer is to provide a stable API. The specific functionality of individual +transformers may change over time, and transformers may depend on each other. This transformer will always +provide the same functionality. Namely, it will always simplify the AST.

    +

    As with all transformers, creation option can be provided. Depending on the options, a different set of +underlying transformers may be used.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.sortAssertions.html b/docs/v0.12.1/functions/Transformers.sortAssertions.html new file mode 100644 index 00000000..d2e79533 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.sortAssertions.html @@ -0,0 +1,130 @@ +sortAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.unionCharacters.html b/docs/v0.12.1/functions/Transformers.unionCharacters.html new file mode 100644 index 00000000..ad9a9273 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.unionCharacters.html @@ -0,0 +1,130 @@ +unionCharacters | refa - v0.12.1
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromStringToUTF16.html b/docs/v0.12.1/functions/Words.fromStringToUTF16.html new file mode 100644 index 00000000..414d6f5a --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromStringToUTF16.html @@ -0,0 +1,120 @@ +fromStringToUTF16 | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromStringToUnicode.html b/docs/v0.12.1/functions/Words.fromStringToUnicode.html new file mode 100644 index 00000000..1874ee6b --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromStringToUnicode.html @@ -0,0 +1,120 @@ +fromStringToUnicode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromUTF16ToString.html b/docs/v0.12.1/functions/Words.fromUTF16ToString.html new file mode 100644 index 00000000..9f594a9a --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromUTF16ToString.html @@ -0,0 +1,120 @@ +fromUTF16ToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromUnicodeToString.html b/docs/v0.12.1/functions/Words.fromUnicodeToString.html new file mode 100644 index 00000000..2143b1ce --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromUnicodeToString.html @@ -0,0 +1,120 @@ +fromUnicodeToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html b/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 00000000..c0532731 --- /dev/null +++ b/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,122 @@ +pickMostReadableCharacter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.pickMostReadableWord.html b/docs/v0.12.1/functions/Words.pickMostReadableWord.html new file mode 100644 index 00000000..ccddd18b --- /dev/null +++ b/docs/v0.12.1/functions/Words.pickMostReadableWord.html @@ -0,0 +1,119 @@ +pickMostReadableWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.wordSetToWords.html b/docs/v0.12.1/functions/Words.wordSetToWords.html new file mode 100644 index 00000000..7af18334 --- /dev/null +++ b/docs/v0.12.1/functions/Words.wordSetToWords.html @@ -0,0 +1,121 @@ +wordSetToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.wordSetsToWords.html b/docs/v0.12.1/functions/Words.wordSetsToWords.html new file mode 100644 index 00000000..67751640 --- /dev/null +++ b/docs/v0.12.1/functions/Words.wordSetsToWords.html @@ -0,0 +1,119 @@ +wordSetsToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/combineTransformers.html b/docs/v0.12.1/functions/combineTransformers.html new file mode 100644 index 00000000..ba57735f --- /dev/null +++ b/docs/v0.12.1/functions/combineTransformers.html @@ -0,0 +1,112 @@ +combineTransformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
    +

    Deprecated

    Use new CombinedTransformer(transformers) instead.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionIterator.html b/docs/v0.12.1/functions/getIntersectionIterator.html new file mode 100644 index 00000000..1c9302db --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionIterator.html @@ -0,0 +1,121 @@ +getIntersectionIterator | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionWordSets.html b/docs/v0.12.1/functions/getIntersectionWordSets.html new file mode 100644 index 00000000..101eb403 --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionWordSets.html @@ -0,0 +1,127 @@ +getIntersectionWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionWords.html b/docs/v0.12.1/functions/getIntersectionWords.html new file mode 100644 index 00000000..b7e5e8dc --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionWords.html @@ -0,0 +1,126 @@ +getIntersectionWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/isDisjointWith.html b/docs/v0.12.1/functions/isDisjointWith.html new file mode 100644 index 00000000..2bcab089 --- /dev/null +++ b/docs/v0.12.1/functions/isDisjointWith.html @@ -0,0 +1,124 @@ +isDisjointWith | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/setParent.html b/docs/v0.12.1/functions/setParent.html new file mode 100644 index 00000000..c68347e2 --- /dev/null +++ b/docs/v0.12.1/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
      +
    +

    Returns asserts node is T

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/setSource.html b/docs/v0.12.1/functions/setSource.html new file mode 100644 index 00000000..de22f07d --- /dev/null +++ b/docs/v0.12.1/functions/setSource.html @@ -0,0 +1,115 @@ +setSource | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/transform.html b/docs/v0.12.1/functions/transform.html new file mode 100644 index 00000000..a30fbd07 --- /dev/null +++ b/docs/v0.12.1/functions/transform.html @@ -0,0 +1,118 @@ +transform | refa - v0.12.1
+
+ +
+
+
+
+ +

Function transform

+
+
    + +
  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Note: This function knows about CombinedTransformer and will give it special treatment. Instead of applying +the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the +transformer, it does change which transformers the TransformEvents will see. Instead of seeing the combined +transformer, they will see the individual transformers.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParent<Expression>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/visitAst.html b/docs/v0.12.1/functions/visitAst.html new file mode 100644 index 00000000..8d09a88a --- /dev/null +++ b/docs/v0.12.1/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/index.html b/docs/v0.12.1/index.html new file mode 100644 index 00000000..0ad09b8d --- /dev/null +++ b/docs/v0.12.1/index.html @@ -0,0 +1,247 @@ +refa - v0.12.1
+
+ +
+
+
+
+

refa - v0.12.1

+

Regular Expressions and Finite Automata (refa)

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+

About

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+

Installation

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+

Features

    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • AST transformations

    +
      +
    • Simplify and change the AST of a regex
    • +
    • Remove assertions
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+

RE AST format

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+

Universal characters

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+

General limitations

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+

Usage examples

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+

Testing whether a word is accepted

import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+

Finding the intersection of two JS RegExps

const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+

Finding the complement of a JS RegExp

const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+

Converting a JS RegExp to an NFA

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+

Backreferences

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+

Assertions

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The simplest transformer to remove assertions (among other things) is the simplify transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more.

+
import { JS, NFA, Transformers, transform } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' }

const modifiedExpression = transform(Transformers.simplify(), expression);
console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression);
console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples:

+
import { JS, Transformers, transform } from "refa";

function simplify(regex: RegExp): void {
const { expression } = JS.Parser.fromLiteral(regex).parse();

const simplifiedExpression = transform(Transformers.simplify(), expression);

const literal = JS.toLiteral(simplifiedExpression);
console.log(new RegExp(literal.source, literal.flags));
}

simplify(/\b(?!\d)\b\w+\b\s*\(/);
// => /(?<!\w)[A-Z_]\w*\s*\(/i
simplify(/(?:^|@)\b\w+\b/);
// => /(?:^|@)\w+(?!\w)/
simplify(/"""(?:(?!""").)*"""/s);
// => /"""(?:"{0,2}[^"])*"""/
simplify(/"""((?!""")(?:[^\\]|\\"))*"""/);
// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/
simplify(/<title>(?:(?!<\/title>).)*<\/title>/s);
// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/
simplify(/^```$.*?^```$/ms);
// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m +
+
+ Note + +

Transformers.simplify is very aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow NFA and ENFA to support many more regexes.

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Alternation.html b/docs/v0.12.1/interfaces/Alternation.html new file mode 100644 index 00000000..4c513230 --- /dev/null +++ b/docs/v0.12.1/interfaces/Alternation.html @@ -0,0 +1,136 @@ +Alternation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Assertion.html b/docs/v0.12.1/interfaces/Assertion.html new file mode 100644 index 00000000..b1b860de --- /dev/null +++ b/docs/v0.12.1/interfaces/Assertion.html @@ -0,0 +1,146 @@ +Assertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/CharRange.html b/docs/v0.12.1/interfaces/CharRange.html new file mode 100644 index 00000000..3c7f7d93 --- /dev/null +++ b/docs/v0.12.1/interfaces/CharRange.html @@ -0,0 +1,134 @@ +CharRange | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/CharacterClass.html b/docs/v0.12.1/interfaces/CharacterClass.html new file mode 100644 index 00000000..828a6962 --- /dev/null +++ b/docs/v0.12.1/interfaces/CharacterClass.html @@ -0,0 +1,136 @@ +CharacterClass | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Concatenation.html b/docs/v0.12.1/interfaces/Concatenation.html new file mode 100644 index 00000000..c01ae127 --- /dev/null +++ b/docs/v0.12.1/interfaces/Concatenation.html @@ -0,0 +1,136 @@ +Concatenation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/DFA.Options.html b/docs/v0.12.1/interfaces/DFA.Options.html new file mode 100644 index 00000000..aa74c51f --- /dev/null +++ b/docs/v0.12.1/interfaces/DFA.Options.html @@ -0,0 +1,130 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..f73a3549 --- /dev/null +++ b/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,130 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html b/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..c0d6d336 --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.Options.html b/docs/v0.12.1/interfaces/ENFA.Options.html new file mode 100644 index 00000000..1789da04 --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..a22f040f --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,215 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Expression.html b/docs/v0.12.1/interfaces/Expression.html new file mode 100644 index 00000000..a186691b --- /dev/null +++ b/docs/v0.12.1/interfaces/Expression.html @@ -0,0 +1,136 @@ +Expression | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FABuilder.html b/docs/v0.12.1/interfaces/FABuilder.html new file mode 100644 index 00000000..6c41e958 --- /dev/null +++ b/docs/v0.12.1/interfaces/FABuilder.html @@ -0,0 +1,238 @@ +FABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

      +
+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterator.html b/docs/v0.12.1/interfaces/FAIterator.html new file mode 100644 index 00000000..ac00f2ee --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterator.html @@ -0,0 +1,203 @@ +FAIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

      +
      +

      See

      stableOut

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html b/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 00000000..f07bbc2f --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,162 @@ +MermaidEdge | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html b/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 00000000..c0e59828 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,162 @@ +MermaidNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html b/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 00000000..93d5c552 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,209 @@ +NodeInfo | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html b/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 00000000..8dcd5d1c --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,190 @@ +SimplePrintOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+
+
+

Default

false
+
+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      +
      +
      +

      Parameters

      +
        +
      • +
        transition: T
        +
      +

      Returns string

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html b/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..f7c75291 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,218 @@ +ToDotOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html b/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 00000000..e3480eb1 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,205 @@ +ToMermaidOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FiniteAutomaton.html b/docs/v0.12.1/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..d21bde1c --- /dev/null +++ b/docs/v0.12.1/interfaces/FiniteAutomaton.html @@ -0,0 +1,284 @@ +FiniteAutomaton | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

    +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html b/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..2e78d64c --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,153 @@ +AnyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.CharCaseFolding.html b/docs/v0.12.1/interfaces/JS.CharCaseFolding.html new file mode 100644 index 00000000..27383d5c --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.CharCaseFolding.html @@ -0,0 +1,201 @@ +CharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharCaseFolding

+
+

A set of functions that can be used to perform case-insensitive matching.

+

It must fulfill the following conditions:

+
    +
  1. canonicalize must be idempotent, i.e. canonicalize(canonicalize(char)) === canonicalize(char).
  2. +
  3. toCharSet(canonicalize(a)) is the set of all characters c such that canonicalize(a) === canonicalize(c).
  4. +
+
+
+
+

Hierarchy

+
    +
  • CharCaseFolding
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
canonicalize?: ((char: Char) => Char)
+
+

Type declaration

+
    +
  • +
      +
    • (char: Char): Char
    • +
    • +

      The canonicalization function. This typically maps characters to their lowercase form.

      +

      If no function is given, then the identity function is used. This also implies that toCharSet must return a +set containing only the given character.

      +
      +
      +

      Parameters

      +
      +

      Returns Char

      +
      +

      Default

      char => char
      +
      +
+
+ +
toCharSet: ((char: Char) => CharSet)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html b/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html new file mode 100644 index 00000000..6dad03f7 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html @@ -0,0 +1,173 @@ +CharacterPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterPropertyCharacterSet

+
+

Hierarchy

+
    +
  • CharacterPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
strings: false
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html b/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..9ee673bd --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,158 @@ +DigitCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.Literal.html b/docs/v0.12.1/interfaces/JS.Literal.html new file mode 100644 index 00000000..d2f9ffc7 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.Literal.html @@ -0,0 +1,164 @@ +Literal | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html b/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html new file mode 100644 index 00000000..3e2e2048 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html @@ -0,0 +1,234 @@ +NonUnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NonUnicodeSetsFlags

+
+

A partial set of non-Unicode-sets RegExp flags. The v flag is guaranteed to be unset.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: false
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ParseOptions.html b/docs/v0.12.1/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..66968e4b --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ParseOptions.html @@ -0,0 +1,276 @@ +ParseOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
+
+

Default

"parse"
+
+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
+

Default

"throw"
+
+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

      +
+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
+
+

Default

100
+
+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
+

Default

10000
+
+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
+

Default

true
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ParseResult.html b/docs/v0.12.1/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..f18ef1e8 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ParseResult.html @@ -0,0 +1,158 @@ +ParseResult | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.RegexppAst.html b/docs/v0.12.1/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..ad14e272 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.RegexppAst.html @@ -0,0 +1,158 @@ +RegexppAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html b/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..ea1c8cca --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,158 @@ +SpaceCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html b/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html new file mode 100644 index 00000000..a12dd7c2 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html @@ -0,0 +1,173 @@ +StringPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface StringPropertyCharacterSet

+
+

Hierarchy

+
    +
  • StringPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: false
+
+ +
strings: true
+
+ +
value: null
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..bd41ed07 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,153 @@ +TextBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html b/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..cfa80a7b --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,175 @@ +ToLiteralOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
+

Default

false
+
+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.UncheckedFlags.html b/docs/v0.12.1/interfaces/JS.UncheckedFlags.html new file mode 100644 index 00000000..9ca735b0 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.UncheckedFlags.html @@ -0,0 +1,229 @@ +UncheckedFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UncheckedFlags

+
+

An unchecked partial set of RegExp flags.

+

Flags are not validated by TypeScript. You must ensure that the flags are valid. +Whenever possible, use the Flags type instead.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: boolean
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html b/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html new file mode 100644 index 00000000..37b32861 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html @@ -0,0 +1,234 @@ +UnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UnicodeSetsFlags

+
+

A partial set of Unicode-sets RegExp flags. The v flag is guaranteed to be set.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: false
+
+

Default

false
+
+
+
+ +
unicodeSets: true
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..7de5fc0c --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,158 @@ +WordBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.WordCharacterSet.html b/docs/v0.12.1/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..3ea9c699 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,158 @@ +WordCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html b/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..b902d70b --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.Options.html b/docs/v0.12.1/interfaces/NFA.Options.html new file mode 100644 index 00000000..b041ec53 --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..eb61bbc1 --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,136 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NodeFactory.html b/docs/v0.12.1/interfaces/NodeFactory.html new file mode 100644 index 00000000..9316a6ca --- /dev/null +++ b/docs/v0.12.1/interfaces/NodeFactory.html @@ -0,0 +1,147 @@ +NodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Quantifier.html b/docs/v0.12.1/interfaces/Quantifier.html new file mode 100644 index 00000000..76a89860 --- /dev/null +++ b/docs/v0.12.1/interfaces/Quantifier.html @@ -0,0 +1,151 @@ +Quantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyCharMap.html b/docs/v0.12.1/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..622e3484 --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyCharMap.html @@ -0,0 +1,348 @@ +ReadonlyCharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
entryCount: number
+

The number of entires in this map.

+

This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

+

This is equivalent to [...this.entries()].length.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this map is empty.

+

This is equivalent to this.size === 0 and this.entryCount === 0.

+
+
+
+ +
size: number
+

The number of characters in this map. This is different from entryCount.

+

This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns Iterable<[CharRange, T]>

    +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<CharRange>

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyDFA.html b/docs/v0.12.1/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..3302035e --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyDFA.html @@ -0,0 +1,404 @@ +ReadonlyDFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyENFA.html b/docs/v0.12.1/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..18742cb5 --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyENFA.html @@ -0,0 +1,402 @@ +ReadonlyENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ + +

The initial state of the ENFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
+
+

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyNFA.html b/docs/v0.12.1/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..cde54df6 --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyNFA.html @@ -0,0 +1,397 @@ +ReadonlyNFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+
+
+

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/SourceLocation.html b/docs/v0.12.1/interfaces/SourceLocation.html new file mode 100644 index 00000000..c0bbabdb --- /dev/null +++ b/docs/v0.12.1/interfaces/SourceLocation.html @@ -0,0 +1,121 @@ +SourceLocation | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ToRegexOptions.html b/docs/v0.12.1/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..61f199b8 --- /dev/null +++ b/docs/v0.12.1/interfaces/ToRegexOptions.html @@ -0,0 +1,135 @@ +ToRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
+
+

Default

10000
+
+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformContext.html b/docs/v0.12.1/interfaces/TransformContext.html new file mode 100644 index 00000000..7cffd589 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformContext.html @@ -0,0 +1,137 @@ +TransformContext | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformEvents.html b/docs/v0.12.1/interfaces/TransformEvents.html new file mode 100644 index 00000000..0caa3e38 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformEvents.html @@ -0,0 +1,174 @@ +TransformEvents | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformEvents

+
+

Hierarchy

+
    +
  • TransformEvents
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
onChange?: ((ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer): void
    • +
    • +

      An optional callback that will be called every time a transformer mutates the AST.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that was transformed.

        +
        +
      • +
      • +
        node: NoParent<Node>
        +

        The node that was mutated by the transformer. Descendants of this node may have been mutated as well.

        +
        +
      • +
      • +
        transformer: Transformer
        +

        The transformer that mutated the AST.

        +
        +
      +

      Returns void

      +
+
+ +
onPassStart?: ((ast: NoParentNode<Expression>, pass: number) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, pass: number): void
    • +
    • +

      An optional callback that will be called at the start of every pass.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that will be transformed.

        +
        +
      • +
      • +
        pass: number
        +

        The number of the pass that will be performed. Starts at 1.

        +
        +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformOptions.html b/docs/v0.12.1/interfaces/TransformOptions.html new file mode 100644 index 00000000..df3c59e7 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformOptions.html @@ -0,0 +1,132 @@ +TransformOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ + +

Optional events to observe the transformation process.

+
+
+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
+
+

Default

10
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformer.html b/docs/v0.12.1/interfaces/Transformer.html new file mode 100644 index 00000000..8a3e60f5 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformer.html @@ -0,0 +1,242 @@ +Transformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+
+

Hierarchy

+
    +
  • Transformer
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
name?: string
+

An optional name useful for diagnostics.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.CreationOptions.html b/docs/v0.12.1/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..7f110b8a --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,158 @@ +CreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..cf961b24 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,177 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
inline?: boolean
+
+

Default

true
+
+
+
+ +
remove?: boolean
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..3e918787 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,168 @@ +RemoveAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransitionIterable.html b/docs/v0.12.1/interfaces/TransitionIterable.html new file mode 100644 index 00000000..f80a285f --- /dev/null +++ b/docs/v0.12.1/interfaces/TransitionIterable.html @@ -0,0 +1,142 @@ +TransitionIterable | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Unknown.html b/docs/v0.12.1/interfaces/Unknown.html new file mode 100644 index 00000000..eadfaf86 --- /dev/null +++ b/docs/v0.12.1/interfaces/Unknown.html @@ -0,0 +1,136 @@ +Unknown | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/VisitAstHandler.html b/docs/v0.12.1/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..dfa8e6ce --- /dev/null +++ b/docs/v0.12.1/interfaces/VisitAstHandler.html @@ -0,0 +1,293 @@ +VisitAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html b/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..5a6990d2 --- /dev/null +++ b/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,293 @@ +VisitNoParentAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules.html b/docs/v0.12.1/modules.html new file mode 100644 index 00000000..a4818c3d --- /dev/null +++ b/docs/v0.12.1/modules.html @@ -0,0 +1,168 @@ +refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/DFA.html b/docs/v0.12.1/modules/DFA.html new file mode 100644 index 00000000..e819387f --- /dev/null +++ b/docs/v0.12.1/modules/DFA.html @@ -0,0 +1,126 @@ +DFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/ENFA.html b/docs/v0.12.1/modules/ENFA.html new file mode 100644 index 00000000..bcff5438 --- /dev/null +++ b/docs/v0.12.1/modules/ENFA.html @@ -0,0 +1,128 @@ +ENFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/FAIterators.html b/docs/v0.12.1/modules/FAIterators.html new file mode 100644 index 00000000..c605ee61 --- /dev/null +++ b/docs/v0.12.1/modules/FAIterators.html @@ -0,0 +1,189 @@ +FAIterators | refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/JS.html b/docs/v0.12.1/modules/JS.html new file mode 100644 index 00000000..7198bd01 --- /dev/null +++ b/docs/v0.12.1/modules/JS.html @@ -0,0 +1,188 @@ +JS | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
+
+

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/NFA.html b/docs/v0.12.1/modules/NFA.html new file mode 100644 index 00000000..c1c50740 --- /dev/null +++ b/docs/v0.12.1/modules/NFA.html @@ -0,0 +1,128 @@ +NFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/Transformers.html b/docs/v0.12.1/modules/Transformers.html new file mode 100644 index 00000000..306f71a1 --- /dev/null +++ b/docs/v0.12.1/modules/Transformers.html @@ -0,0 +1,147 @@ +Transformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

For a simple transformer that applies most transformers while preserving the semantic of the given AST, +see simplify.

+
+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/Words.html b/docs/v0.12.1/modules/Words.html new file mode 100644 index 00000000..b1eb5efa --- /dev/null +++ b/docs/v0.12.1/modules/Words.html @@ -0,0 +1,118 @@ +Words | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/Char.html b/docs/v0.12.1/types/Char.html new file mode 100644 index 00000000..81579aa6 --- /dev/null +++ b/docs/v0.12.1/types/Char.html @@ -0,0 +1,112 @@ +Char | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+

Type declaration

+
    +
  • +
    Optional __char?: never
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Element.html b/docs/v0.12.1/types/Element.html new file mode 100644 index 00000000..9c88bda3 --- /dev/null +++ b/docs/v0.12.1/types/Element.html @@ -0,0 +1,94 @@ +Element | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html b/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 00000000..53699db3 --- /dev/null +++ b/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,135 @@ +MapFABuilderNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/FAIterators.ToDotAttrs.html b/docs/v0.12.1/types/FAIterators.ToDotAttrs.html new file mode 100644 index 00000000..0e19ee9d --- /dev/null +++ b/docs/v0.12.1/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,135 @@ +ToDotAttrs | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.BoundaryAssertion.html b/docs/v0.12.1/types/JS.BoundaryAssertion.html new file mode 100644 index 00000000..9209cddd --- /dev/null +++ b/docs/v0.12.1/types/JS.BoundaryAssertion.html @@ -0,0 +1,131 @@ +BoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias BoundaryAssertion

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.CharacterElement.html b/docs/v0.12.1/types/JS.CharacterElement.html new file mode 100644 index 00000000..76ef440a --- /dev/null +++ b/docs/v0.12.1/types/JS.CharacterElement.html @@ -0,0 +1,131 @@ +CharacterElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias CharacterElement

+
CharacterElement: AST.CharacterClass | AST.Character | AST.CharacterClassRange | AST.CharacterSet | AST.ClassSetOperand | AST.StringAlternative | AST.ExpressionCharacterClass["expression"]
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.Flags.html b/docs/v0.12.1/types/JS.Flags.html new file mode 100644 index 00000000..23a86328 --- /dev/null +++ b/docs/v0.12.1/types/JS.Flags.html @@ -0,0 +1,134 @@ +Flags | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Flags

+ +

A partial set of RegExp flags.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.ParsableElement.html b/docs/v0.12.1/types/JS.ParsableElement.html new file mode 100644 index 00000000..2c49f59a --- /dev/null +++ b/docs/v0.12.1/types/JS.ParsableElement.html @@ -0,0 +1,131 @@ +ParsableElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.PredefinedCharacterSet.html b/docs/v0.12.1/types/JS.PredefinedCharacterSet.html new file mode 100644 index 00000000..9f02e645 --- /dev/null +++ b/docs/v0.12.1/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,131 @@ +PredefinedCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PredefinedCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.PropertyCharacterSet.html b/docs/v0.12.1/types/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..6e813fe6 --- /dev/null +++ b/docs/v0.12.1/types/JS.PropertyCharacterSet.html @@ -0,0 +1,131 @@ +PropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PropertyCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/NoParent.html b/docs/v0.12.1/types/NoParent.html new file mode 100644 index 00000000..391b9c96 --- /dev/null +++ b/docs/v0.12.1/types/NoParent.html @@ -0,0 +1,102 @@ +NoParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias NoParent<T>

+
NoParent<T>: T extends NodeIdent
    ? NoParentNode<T>
    : T extends unknown[]
        ? NoParentArray<T>
        : T
+

A view of an AST node that hides the parent property.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Node.html b/docs/v0.12.1/types/Node.html new file mode 100644 index 00000000..314d8d3d --- /dev/null +++ b/docs/v0.12.1/types/Node.html @@ -0,0 +1,94 @@ +Node | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/Parent.html b/docs/v0.12.1/types/Parent.html new file mode 100644 index 00000000..d8c6556e --- /dev/null +++ b/docs/v0.12.1/types/Parent.html @@ -0,0 +1,94 @@ +Parent | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/ReadonlyWord.html b/docs/v0.12.1/types/ReadonlyWord.html new file mode 100644 index 00000000..8ae00a9e --- /dev/null +++ b/docs/v0.12.1/types/ReadonlyWord.html @@ -0,0 +1,98 @@ +ReadonlyWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/ReadonlyWordSet.html b/docs/v0.12.1/types/ReadonlyWordSet.html new file mode 100644 index 00000000..05b875b0 --- /dev/null +++ b/docs/v0.12.1/types/ReadonlyWordSet.html @@ -0,0 +1,98 @@ +ReadonlyWordSet | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/TransitionIterator.html b/docs/v0.12.1/types/TransitionIterator.html new file mode 100644 index 00000000..14c8e120 --- /dev/null +++ b/docs/v0.12.1/types/TransitionIterator.html @@ -0,0 +1,103 @@ +TransitionIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Word.html b/docs/v0.12.1/types/Word.html new file mode 100644 index 00000000..e32f7015 --- /dev/null +++ b/docs/v0.12.1/types/Word.html @@ -0,0 +1,101 @@ +Word | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/WordSet.html b/docs/v0.12.1/types/WordSet.html new file mode 100644 index 00000000..dda2283c --- /dev/null +++ b/docs/v0.12.1/types/WordSet.html @@ -0,0 +1,103 @@ +WordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/variables/DFA.nodeFactory.html b/docs/v0.12.1/variables/DFA.nodeFactory.html new file mode 100644 index 00000000..fe62e89e --- /dev/null +++ b/docs/v0.12.1/variables/DFA.nodeFactory.html @@ -0,0 +1,107 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/variables/ENFA.nodeFactory.html b/docs/v0.12.1/variables/ENFA.nodeFactory.html new file mode 100644 index 00000000..77e672bc --- /dev/null +++ b/docs/v0.12.1/variables/ENFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/variables/NFA.nodeFactory.html b/docs/v0.12.1/variables/NFA.nodeFactory.html new file mode 100644 index 00000000..963002d1 --- /dev/null +++ b/docs/v0.12.1/variables/NFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.7.0/assets/css/main.css b/docs/v0.7.0/assets/css/main.css new file mode 100644 index 00000000..ca83efe4 --- /dev/null +++ b/docs/v0.7.0/assets/css/main.css @@ -0,0 +1,2638 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: #fdfdfd; + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: #222; +} + +a { + color: #4da6ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.04); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: #fff; + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: #707070; +} +.tsd-breadcrumb a { + color: #707070; + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid #707070; + color: #707070; + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: #fff; + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid #eee; + background-color: #fff; +} +footer.with-border-bottom { + border-bottom: 1px solid #eee; +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-parent-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-is-private a { + color: #707070; +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: #fff; + background-color: #707070; + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member a[data-tsd-kind] { + color: #9600ff; +} +.tsd-member a[data-tsd-kind=Interface] { + color: #647F1B; +} +.tsd-member a[data-tsd-kind=Enum] { + color: #937210; +} +.tsd-member a[data-tsd-kind=Class] { + color: #0672DE; +} +.tsd-member a[data-tsd-kind=Private] { + color: #707070; +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: #222; + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid #eee; +} +.tsd-navigation.primary li { + border-top: 1px solid #eee; +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: #707070; +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: #eee; +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: #eee; +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: #222; +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: #fdfdfd; +} +#tsd-search .results li:nth-child(even) { + background-color: #fff; +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: #eee; +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: #707070; + font-weight: normal; +} +#tsd-search.has-focus { + background-color: #eee; +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid #eee; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: #707070; + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid #eee; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: #eee; +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: #707070; + margin: 0 0 1em 0; +} +.tsd-sources a { + color: #707070; + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: #333; + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: #eee; +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: #fdfdfd; +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: #fff; +} +.tsd-select .tsd-select-list li:hover { + background-color: #eee; +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.7.0/assets/images/icons.png b/docs/v0.7.0/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.7.0/assets/images/icons.png differ diff --git a/docs/v0.7.0/assets/images/icons@2x.png b/docs/v0.7.0/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.7.0/assets/images/icons@2x.png differ diff --git a/docs/v0.7.0/assets/images/widgets.png b/docs/v0.7.0/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.7.0/assets/images/widgets.png differ diff --git a/docs/v0.7.0/assets/images/widgets@2x.png b/docs/v0.7.0/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.7.0/assets/images/widgets@2x.png differ diff --git a/docs/v0.7.0/assets/js/main.js b/docs/v0.7.0/assets/js/main.js new file mode 100644 index 00000000..715fdab0 --- /dev/null +++ b/docs/v0.7.0/assets/js/main.js @@ -0,0 +1,248 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../node_modules/lunr/lunr.js": +/*!************************************!*\ + !*** ../node_modules/lunr/lunr.js ***! + \************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?"); + +/***/ }), + +/***/ "./default/assets/css/main.sass": +/*!**************************************!*\ + !*** ./default/assets/css/main.sass ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?"); + +/***/ }), + +/***/ "./default/assets/js/src/bootstrap.ts": +/*!********************************************!*\ + !*** ./default/assets/js/src/bootstrap.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Application.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/Application.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */ \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n components.push({\n selector: selector,\n constructor: constructor,\n });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n /**\n * Create a new Application instance.\n */\n function Application() {\n this.createComponents(document.body);\n }\n /**\n * Create all components beneath the given jQuery element.\n */\n Application.prototype.createComponents = function (context) {\n components.forEach(function (c) {\n context.querySelectorAll(c.selector).forEach(function (el) {\n if (!el.dataset.hasInstance) {\n new c.constructor({ el: el });\n el.dataset.hasInstance = String(true);\n }\n });\n });\n };\n return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Component.ts": +/*!****************************************************!*\ + !*** ./default/assets/js/src/typedoc/Component.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n function Component(options) {\n this.el = options.el;\n }\n return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/EventTarget.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/EventTarget.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n function EventTarget() {\n this.listeners = {};\n }\n EventTarget.prototype.addEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n };\n EventTarget.prototype.removeEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n };\n EventTarget.prototype.dispatchEvent = function (event) {\n if (!(event.type in this.listeners)) {\n return true;\n }\n var stack = this.listeners[event.type].slice();\n for (var i = 0, l = stack.length; i < l; i++) {\n stack[i].call(this, event);\n }\n return !event.defaultPrevented;\n };\n return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Filter.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Filter.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n function FilterItem(key, value) {\n this.key = key;\n this.value = value;\n this.defaultValue = value;\n this.initialize();\n if (window.localStorage[this.key]) {\n this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n }\n }\n FilterItem.prototype.initialize = function () { };\n FilterItem.prototype.setValue = function (value) {\n if (this.value == value)\n return;\n var oldValue = this.value;\n this.value = value;\n window.localStorage[this.key] = this.toLocalStorage(value);\n this.handleValueChange(oldValue, value);\n };\n return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n __extends(FilterItemCheckbox, _super);\n function FilterItemCheckbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemCheckbox.prototype.initialize = function () {\n var _this = this;\n var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!checkbox)\n return;\n this.checkbox = checkbox;\n this.checkbox.addEventListener(\"change\", function () {\n _this.setValue(_this.checkbox.checked);\n });\n };\n FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n if (!this.checkbox)\n return;\n this.checkbox.checked = this.value;\n document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n };\n FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n return value == \"true\";\n };\n FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n return value ? \"true\" : \"false\";\n };\n return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n __extends(FilterItemSelect, _super);\n function FilterItemSelect() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemSelect.prototype.initialize = function () {\n var _this = this;\n document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n var select = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!select)\n return;\n this.select = select;\n var onActivate = function () {\n _this.select.classList.add(\"active\");\n };\n var onDeactivate = function () {\n _this.select.classList.remove(\"active\");\n };\n this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n this.select.addEventListener(\"mouseover\", onActivate);\n this.select.addEventListener(\"mouseleave\", onDeactivate);\n this.select.querySelectorAll(\"li\").forEach(function (el) {\n el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n select.classList.remove(\"active\");\n _this.setValue(e.target.dataset.value || \"\");\n });\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n if (_this.select.contains(e.target))\n return;\n _this.select.classList.remove(\"active\");\n });\n };\n FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n el.classList.remove(\"selected\");\n });\n var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n var label = this.select.querySelector(\".tsd-select-label\");\n if (selected && label) {\n selected.classList.add(\"selected\");\n label.textContent = selected.textContent;\n }\n document.documentElement.classList.remove(\"toggle-\" + oldValue);\n document.documentElement.classList.add(\"toggle-\" + newValue);\n };\n FilterItemSelect.prototype.fromLocalStorage = function (value) {\n return value;\n };\n FilterItemSelect.prototype.toLocalStorage = function (value) {\n return value;\n };\n return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n __extends(Filter, _super);\n function Filter(options) {\n var _this = _super.call(this, options) || this;\n _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n return _this;\n }\n Filter.isSupported = function () {\n try {\n return typeof window.localStorage != \"undefined\";\n }\n catch (e) {\n return false;\n }\n };\n return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts": +/*!*******************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n __extends(MenuHighlight, _super);\n /**\n * Create a new MenuHighlight instance.\n *\n * @param options Backbone view constructor options.\n */\n function MenuHighlight(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of all discovered anchors.\n */\n _this.anchors = [];\n /**\n * Index of the currently highlighted anchor.\n */\n _this.index = -1;\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n _this.createAnchors();\n return _this;\n }\n /**\n * Find all anchors on the current page.\n */\n MenuHighlight.prototype.createAnchors = function () {\n var _this = this;\n var base = window.location.href;\n if (base.indexOf(\"#\") != -1) {\n base = base.substr(0, base.indexOf(\"#\"));\n }\n this.el.querySelectorAll(\"a\").forEach(function (el) {\n var href = el.href;\n if (href.indexOf(\"#\") == -1)\n return;\n if (href.substr(0, base.length) != base)\n return;\n var hash = href.substr(href.indexOf(\"#\") + 1);\n var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n var link = el.parentNode;\n if (!anchor || !link)\n return;\n _this.anchors.push({\n link: link,\n anchor: anchor,\n position: 0,\n });\n });\n this.onResize();\n };\n /**\n * Triggered after the viewport was resized.\n */\n MenuHighlight.prototype.onResize = function () {\n var anchor;\n for (var index = 0, count = this.anchors.length; index < count; index++) {\n anchor = this.anchors[index];\n var rect = anchor.anchor.getBoundingClientRect();\n anchor.position = rect.top + document.body.scrollTop;\n }\n this.anchors.sort(function (a, b) {\n return a.position - b.position;\n });\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n },\n });\n this.onScroll(event);\n };\n /**\n * Triggered after the viewport was scrolled.\n *\n * @param event The custom event with the current vertical scroll position.\n */\n MenuHighlight.prototype.onScroll = function (event) {\n var scrollTop = event.detail.scrollTop + 5;\n var anchors = this.anchors;\n var count = anchors.length - 1;\n var index = this.index;\n while (index > -1 && anchors[index].position > scrollTop) {\n index -= 1;\n }\n while (index < count && anchors[index + 1].position < scrollTop) {\n index += 1;\n }\n if (this.index != index) {\n if (this.index > -1)\n this.anchors[this.index].link.classList.remove(\"focus\");\n this.index = index;\n if (this.index > -1)\n this.anchors[this.index].link.classList.add(\"focus\");\n }\n };\n return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Search.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Search.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n var searchEl = document.getElementById(\"tsd-search\");\n if (!searchEl)\n return;\n var searchScript = document.getElementById(\"search-script\");\n searchEl.classList.add(\"loading\");\n if (searchScript) {\n searchScript.addEventListener(\"error\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"failure\");\n });\n searchScript.addEventListener(\"load\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n });\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n }\n }\n var field = document.querySelector(\"#tsd-search-field\");\n var results = document.querySelector(\".results\");\n if (!field || !results) {\n throw new Error(\"The input field or the result list wrapper was not found\");\n }\n var resultClicked = false;\n results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n results.addEventListener(\"mouseup\", function () {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n });\n field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n field.addEventListener(\"blur\", function () {\n if (!resultClicked) {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n }\n });\n var state = {\n base: searchEl.dataset.base + \"/\",\n };\n bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n updateResults(searchEl, results, field, state);\n }, 200));\n var preventPress = false;\n field.addEventListener(\"keydown\", function (e) {\n preventPress = true;\n if (e.key == \"Enter\") {\n gotoCurrentResult(results, field);\n }\n else if (e.key == \"Escape\") {\n field.blur();\n }\n else if (e.key == \"ArrowUp\") {\n setCurrentResult(results, -1);\n }\n else if (e.key === \"ArrowDown\") {\n setCurrentResult(results, 1);\n }\n else {\n preventPress = false;\n }\n });\n field.addEventListener(\"keypress\", function (e) {\n if (preventPress)\n e.preventDefault();\n });\n /**\n * Start searching by pressing slash.\n */\n document.body.addEventListener(\"keydown\", function (e) {\n if (e.altKey || e.ctrlKey || e.metaKey)\n return;\n if (!field.matches(\":focus\") && e.key === \"/\") {\n field.focus();\n e.preventDefault();\n }\n });\n}\nfunction checkIndex(state, searchEl) {\n if (state.index)\n return;\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n state.data = window.searchData;\n state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n }\n}\nfunction updateResults(searchEl, results, query, state) {\n checkIndex(state, searchEl);\n // Don't clear results if loading state is not ready,\n // because loading or error message can be removed.\n if (!state.index || !state.data)\n return;\n results.textContent = \"\";\n var searchText = query.value.trim();\n // Perform a wildcard search\n var res = state.index.search(\"*\" + searchText + \"*\");\n for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n var row = state.data.rows[Number(res[i].ref)];\n // Bold the matched part of the query in the search results\n var name_1 = boldMatches(row.name, searchText);\n if (row.parent) {\n name_1 = \"\" + boldMatches(row.parent, searchText) + \".\" + name_1;\n }\n var item = document.createElement(\"li\");\n item.classList.value = row.classes;\n var anchor = document.createElement(\"a\");\n anchor.href = state.base + row.url;\n anchor.classList.add(\"tsd-kind-icon\");\n anchor.innerHTML = name_1;\n item.append(anchor);\n results.appendChild(item);\n }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n if (current) {\n current.classList.add(\"current\");\n }\n }\n else {\n var rel = dir == 1\n ? current.nextElementSibling\n : current.previousElementSibling;\n if (rel) {\n current.classList.remove(\"current\");\n rel.classList.add(\"current\");\n }\n }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(\"li:first-child\");\n }\n if (current) {\n var link = current.querySelector(\"a\");\n if (link) {\n window.location.href = link.href;\n }\n field.blur();\n }\n}\nfunction boldMatches(text, search) {\n if (search === \"\") {\n return text;\n }\n var lowerText = text.toLocaleLowerCase();\n var lowerSearch = search.toLocaleLowerCase();\n var parts = [];\n var lastIndex = 0;\n var index = lowerText.indexOf(lowerSearch);\n while (index != -1) {\n parts.push(escapeHtml(text.substring(lastIndex, index)), \"\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"\");\n lastIndex = index + lowerSearch.length;\n index = lowerText.indexOf(lowerSearch, lastIndex);\n }\n parts.push(escapeHtml(text.substring(lastIndex)));\n return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\",\n};\nfunction escapeHtml(text) {\n return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Signature.ts": +/*!***************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Signature.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n /**\n * Create a new SignatureGroup instance.\n *\n * @param signature The target signature.\n * @param description The description for the signature.\n */\n function SignatureGroup(signature, description) {\n this.signature = signature;\n this.description = description;\n }\n /**\n * Add the given class to all elements of the group.\n *\n * @param className The class name to add.\n */\n SignatureGroup.prototype.addClass = function (className) {\n this.signature.classList.add(className);\n this.description.classList.add(className);\n return this;\n };\n /**\n * Remove the given class from all elements of the group.\n *\n * @param className The class name to remove.\n */\n SignatureGroup.prototype.removeClass = function (className) {\n this.signature.classList.remove(className);\n this.description.classList.remove(className);\n return this;\n };\n return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n __extends(Signature, _super);\n /**\n * Create a new Signature instance.\n *\n * @param options Backbone view constructor options.\n */\n function Signature(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of found signature groups.\n */\n _this.groups = [];\n /**\n * The index of the currently displayed signature.\n */\n _this.index = -1;\n _this.createGroups();\n if (_this.container) {\n _this.el.classList.add(\"active\");\n Array.from(_this.el.children).forEach(function (signature) {\n signature.addEventListener(\"touchstart\", function (event) {\n return _this.onClick(event);\n });\n signature.addEventListener(\"click\", function (event) {\n return _this.onClick(event);\n });\n });\n _this.container.classList.add(\"active\");\n _this.setIndex(0);\n }\n return _this;\n }\n /**\n * Set the index of the active signature.\n *\n * @param index The index of the signature to activate.\n */\n Signature.prototype.setIndex = function (index) {\n if (index < 0)\n index = 0;\n if (index > this.groups.length - 1)\n index = this.groups.length - 1;\n if (this.index == index)\n return;\n var to = this.groups[index];\n if (this.index > -1) {\n var from_1 = this.groups[this.index];\n from_1.removeClass(\"current\").addClass(\"fade-out\");\n to.addClass(\"current\");\n to.addClass(\"fade-in\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n setTimeout(function () {\n from_1.removeClass(\"fade-out\");\n to.removeClass(\"fade-in\");\n }, 300);\n }\n else {\n to.addClass(\"current\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n }\n this.index = index;\n };\n /**\n * Find all signature/description groups.\n */\n Signature.prototype.createGroups = function () {\n var signatures = this.el.children;\n if (signatures.length < 2)\n return;\n this.container = this.el.nextElementSibling;\n var descriptions = this.container.children;\n this.groups = [];\n for (var index = 0; index < signatures.length; index++) {\n this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n }\n };\n /**\n * Triggered when the user clicks onto a signature header.\n *\n * @param e The related event object.\n */\n Signature.prototype.onClick = function (e) {\n var _this = this;\n this.groups.forEach(function (group, index) {\n if (group.signature === e.currentTarget) {\n _this.setIndex(index);\n }\n });\n };\n return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Toggle.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n __extends(Toggle, _super);\n function Toggle(options) {\n var _this = _super.call(this, options) || this;\n _this.className = _this.el.dataset.toggle || \"\";\n _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n return _this.onDocumentPointerDown(e);\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n return _this.onDocumentPointerUp(e);\n });\n return _this;\n }\n Toggle.prototype.setActive = function (value) {\n if (this.active == value)\n return;\n this.active = value;\n document.documentElement.classList.toggle(\"has-\" + this.className, value);\n this.el.classList.toggle(\"active\", value);\n var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n document.documentElement.classList.add(transition);\n setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n };\n Toggle.prototype.onPointerUp = function (event) {\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n this.setActive(true);\n event.preventDefault();\n };\n Toggle.prototype.onDocumentPointerDown = function (e) {\n if (this.active) {\n if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n return;\n }\n this.setActive(false);\n }\n };\n Toggle.prototype.onDocumentPointerUp = function (e) {\n var _this = this;\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n if (this.active) {\n if (e.target.closest(\".col-menu\")) {\n var link = e.target.closest(\"a\");\n if (link) {\n var href = window.location.href;\n if (href.indexOf(\"#\") != -1) {\n href = href.substr(0, href.indexOf(\"#\"));\n }\n if (link.href.substr(0, href.length) == href) {\n setTimeout(function () { return _this.setActive(false); }, 250);\n }\n }\n }\n }\n };\n return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/services/Viewport.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n __extends(Viewport, _super);\n /**\n * Create new Viewport instance.\n */\n function Viewport() {\n var _this = _super.call(this) || this;\n /**\n * The current scroll position.\n */\n _this.scrollTop = 0;\n /**\n * The previous scrollTop.\n */\n _this.lastY = 0;\n /**\n * The width of the window.\n */\n _this.width = 0;\n /**\n * The height of the window.\n */\n _this.height = 0;\n /**\n * Boolean indicating whether the toolbar is shown.\n */\n _this.showToolbar = true;\n _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n _this.onResize();\n _this.onScroll();\n return _this;\n }\n /**\n * Trigger a resize event.\n */\n Viewport.prototype.triggerResize = function () {\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the size of the window has changed.\n */\n Viewport.prototype.onResize = function () {\n this.width = window.innerWidth || 0;\n this.height = window.innerHeight || 0;\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the user scrolled the viewport.\n */\n Viewport.prototype.onScroll = function () {\n this.scrollTop = window.scrollY || 0;\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: this.scrollTop,\n },\n });\n this.dispatchEvent(event);\n this.hideShowToolbar();\n };\n /**\n * Handle hiding/showing of the toolbar.\n */\n Viewport.prototype.hideShowToolbar = function () {\n var isShown = this.showToolbar;\n this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop === 0;\n if (isShown !== this.showToolbar) {\n this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n }\n this.lastY = this.scrollTop;\n };\n Viewport.instance = new Viewport();\n return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/debounce.ts": +/*!*********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () { return fn(args); }, wait);\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/pointer.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */ \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */ \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */ \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */ \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */ \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */ \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */ \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */ \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n isPointerTouch = true;\n pointerDown = \"touchstart\";\n pointerMove = \"touchmove\";\n pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n isPointerDown = true;\n hasPointerMoved = false;\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n pointerDownPosition.y = t.pageY || 0;\n pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n if (!isPointerDown)\n return;\n if (!hasPointerMoved) {\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n var x = pointerDownPosition.x - (t.pageX || 0);\n var y = pointerDownPosition.y - (t.pageY || 0);\n hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n }\n});\ndocument.addEventListener(pointerUp, function () {\n isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n if (preventNextClick) {\n e.preventDefault();\n e.stopImmediatePropagation();\n preventNextClick = false;\n }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/trottle.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var time = Date.now();\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (time + wait - Date.now() < 0) {\n fn.apply(void 0, args);\n time = Date.now();\n }\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ // startup +/******/ // Load entry module +/******/ __webpack_require__("./default/assets/js/src/bootstrap.ts"); +/******/ // This entry module used 'exports' so it can't be inlined +/******/ })() +; \ No newline at end of file diff --git a/docs/v0.7.0/assets/js/search.js b/docs/v0.7.0/assets/js/search.js new file mode 100644 index 00000000..2b2182c5 --- /dev/null +++ b/docs/v0.7.0/assets/js/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"2":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Transformers","url":"modules/transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/transformers.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.creationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.creationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/transformers.html#applyassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/transformers.html#factorout","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/transformers.html#mergewithquantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/transformers.html#moveupempty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/transformers.html#nestedquantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/transformers.html#patternedgeassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/transformers.patternedgeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/transformers.html#removedeadbranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/transformers.html#removeunnecessaryassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/transformers.html#replaceassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/transformers.removeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/transformers.removeassertionscreationoptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/transformers.html#sortassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/transformers.html#unioncharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":2,"name":"JS","url":"modules/js.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"createAssertion","url":"modules/js.html#createassertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":27,"kind":4194304,"name":"BoundaryAssertion","url":"modules/js.html#boundaryassertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":28,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/js.wordboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":29,"kind":1024,"name":"kind","url":"interfaces/js.wordboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":30,"kind":1024,"name":"negate","url":"interfaces/js.wordboundaryassertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":31,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/js.textboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":32,"kind":1024,"name":"kind","url":"interfaces/js.textboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":33,"kind":64,"name":"createCharSet","url":"modules/js.html#createcharset","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":34,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/js.html#predefinedcharacterset","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":35,"kind":256,"name":"AnyCharacterSet","url":"interfaces/js.anycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":36,"kind":1024,"name":"kind","url":"interfaces/js.anycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":37,"kind":256,"name":"DigitCharacterSet","url":"interfaces/js.digitcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":38,"kind":1024,"name":"kind","url":"interfaces/js.digitcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":39,"kind":1024,"name":"negate","url":"interfaces/js.digitcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":40,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/js.propertycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":41,"kind":1024,"name":"kind","url":"interfaces/js.propertycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":42,"kind":1024,"name":"key","url":"interfaces/js.propertycharacterset.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":43,"kind":1024,"name":"value","url":"interfaces/js.propertycharacterset.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":44,"kind":1024,"name":"negate","url":"interfaces/js.propertycharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":45,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/js.spacecharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":46,"kind":1024,"name":"kind","url":"interfaces/js.spacecharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":47,"kind":1024,"name":"negate","url":"interfaces/js.spacecharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":48,"kind":256,"name":"WordCharacterSet","url":"interfaces/js.wordcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":49,"kind":1024,"name":"kind","url":"interfaces/js.wordcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":50,"kind":1024,"name":"negate","url":"interfaces/js.wordcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":51,"kind":64,"name":"toLiteral","url":"modules/js.html#toliteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":52,"kind":256,"name":"ToLiteralOptions","url":"interfaces/js.toliteraloptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":53,"kind":1024,"name":"flags","url":"interfaces/js.toliteraloptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":54,"kind":1024,"name":"fastCharacters","url":"interfaces/js.toliteraloptions.html#fastcharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":55,"kind":256,"name":"Flags","url":"interfaces/js.flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":56,"kind":1024,"name":"dotAll","url":"interfaces/js.flags.html#dotall","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":57,"kind":1024,"name":"global","url":"interfaces/js.flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":58,"kind":1024,"name":"ignoreCase","url":"interfaces/js.flags.html#ignorecase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":59,"kind":1024,"name":"multiline","url":"interfaces/js.flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":60,"kind":1024,"name":"sticky","url":"interfaces/js.flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":61,"kind":1024,"name":"unicode","url":"interfaces/js.flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":62,"kind":256,"name":"Literal","url":"interfaces/js.literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":63,"kind":1024,"name":"source","url":"interfaces/js.literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":64,"kind":1024,"name":"flags","url":"interfaces/js.literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":65,"kind":256,"name":"ParseOptions","url":"interfaces/js.parseoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":66,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/js.parseoptions.html#maxbackreferencewords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":67,"kind":1024,"name":"backreferences","url":"interfaces/js.parseoptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":68,"kind":1024,"name":"assertions","url":"interfaces/js.parseoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":69,"kind":1024,"name":"disableOptimizations","url":"interfaces/js.parseoptions.html#disableoptimizations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":70,"kind":1024,"name":"maxNodes","url":"interfaces/js.parseoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":71,"kind":256,"name":"RegexppAst","url":"interfaces/js.regexppast.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":1024,"name":"pattern","url":"interfaces/js.regexppast.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":73,"kind":1024,"name":"flags","url":"interfaces/js.regexppast.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":74,"kind":4194304,"name":"ParsableElement","url":"modules/js.html#parsableelement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":75,"kind":256,"name":"ParseResult","url":"interfaces/js.parseresult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":76,"kind":1024,"name":"expression","url":"interfaces/js.parseresult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":77,"kind":1024,"name":"maxCharacter","url":"interfaces/js.parseresult.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":78,"kind":128,"name":"Parser","url":"classes/js.parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":2048,"name":"fromLiteral","url":"classes/js.parser.html#fromliteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":80,"kind":2048,"name":"fromAst","url":"classes/js.parser.html#fromast","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":81,"kind":1024,"name":"literal","url":"classes/js.parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":82,"kind":1024,"name":"ast","url":"classes/js.parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":83,"kind":1024,"name":"maxCharacter","url":"classes/js.parser.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":84,"kind":2048,"name":"parse","url":"classes/js.parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":85,"kind":2048,"name":"parseElement","url":"classes/js.parser.html#parseelement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":86,"kind":2,"name":"Words","url":"modules/words.html","classes":"tsd-kind-namespace"},{"id":87,"kind":64,"name":"fromUTF16ToString","url":"modules/words.html#fromutf16tostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":88,"kind":64,"name":"fromUnicodeToString","url":"modules/words.html#fromunicodetostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":89,"kind":64,"name":"fromStringToUTF16","url":"modules/words.html#fromstringtoutf16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":90,"kind":64,"name":"fromStringToUnicode","url":"modules/words.html#fromstringtounicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":91,"kind":64,"name":"wordSetToWords","url":"modules/words.html#wordsettowords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":92,"kind":64,"name":"pickMostReadableCharacter","url":"modules/words.html#pickmostreadablecharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":93,"kind":64,"name":"pickMostReadableWord","url":"modules/words.html#pickmostreadableword","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":94,"kind":4194304,"name":"Char","url":"modules.html#char","classes":"tsd-kind-type-alias"},{"id":95,"kind":4194304,"name":"Word","url":"modules.html#word","classes":"tsd-kind-type-alias"},{"id":96,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#readonlyword","classes":"tsd-kind-type-alias"},{"id":97,"kind":256,"name":"CharRange","url":"interfaces/charrange.html","classes":"tsd-kind-interface"},{"id":98,"kind":1024,"name":"min","url":"interfaces/charrange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":99,"kind":1024,"name":"max","url":"interfaces/charrange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":100,"kind":128,"name":"CharSet","url":"classes/charset.html","classes":"tsd-kind-class"},{"id":101,"kind":2048,"name":"empty","url":"classes/charset.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":102,"kind":2048,"name":"all","url":"classes/charset.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":103,"kind":1024,"name":"maximum","url":"classes/charset.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":104,"kind":1024,"name":"ranges","url":"classes/charset.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":105,"kind":262144,"name":"isEmpty","url":"classes/charset.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":106,"kind":262144,"name":"isAll","url":"classes/charset.html#isall","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":107,"kind":262144,"name":"size","url":"classes/charset.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":108,"kind":2048,"name":"toString","url":"classes/charset.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":109,"kind":2048,"name":"equals","url":"classes/charset.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":110,"kind":2048,"name":"compare","url":"classes/charset.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":111,"kind":2048,"name":"negate","url":"classes/charset.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":112,"kind":2048,"name":"union","url":"classes/charset.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":113,"kind":2048,"name":"intersect","url":"classes/charset.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":114,"kind":2048,"name":"without","url":"classes/charset.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":115,"kind":2048,"name":"has","url":"classes/charset.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":116,"kind":2048,"name":"isSupersetOf","url":"classes/charset.html#issupersetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":117,"kind":2048,"name":"isSubsetOf","url":"classes/charset.html#issubsetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":118,"kind":2048,"name":"isDisjointWith","url":"classes/charset.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":119,"kind":2048,"name":"commonCharacter","url":"classes/charset.html#commoncharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":120,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/readonlycharmap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":121,"kind":1024,"name":"isEmpty","url":"interfaces/readonlycharmap.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":122,"kind":2048,"name":"has","url":"interfaces/readonlycharmap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":123,"kind":2048,"name":"hasEvery","url":"interfaces/readonlycharmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":124,"kind":2048,"name":"hasSome","url":"interfaces/readonlycharmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":125,"kind":2048,"name":"get","url":"interfaces/readonlycharmap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":126,"kind":2048,"name":"forEach","url":"interfaces/readonlycharmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":127,"kind":2048,"name":"keys","url":"interfaces/readonlycharmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":128,"kind":2048,"name":"values","url":"interfaces/readonlycharmap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":129,"kind":2048,"name":"entries","url":"interfaces/readonlycharmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":130,"kind":128,"name":"CharMap","url":"classes/charmap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":131,"kind":512,"name":"constructor","url":"classes/charmap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":132,"kind":262144,"name":"isEmpty","url":"classes/charmap.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":133,"kind":2048,"name":"has","url":"classes/charmap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":134,"kind":2048,"name":"hasEvery","url":"classes/charmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":135,"kind":2048,"name":"hasSome","url":"classes/charmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":136,"kind":2048,"name":"get","url":"classes/charmap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":137,"kind":2048,"name":"set","url":"classes/charmap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":138,"kind":2048,"name":"setEvery","url":"classes/charmap.html#setevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":139,"kind":2048,"name":"delete","url":"classes/charmap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":140,"kind":2048,"name":"deleteEvery","url":"classes/charmap.html#deleteevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":141,"kind":2048,"name":"map","url":"classes/charmap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":142,"kind":2048,"name":"mapRange","url":"classes/charmap.html#maprange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":143,"kind":2048,"name":"forEach","url":"classes/charmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":144,"kind":2048,"name":"keys","url":"classes/charmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":145,"kind":2048,"name":"values","url":"classes/charmap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":146,"kind":2048,"name":"entries","url":"classes/charmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":147,"kind":2048,"name":"[Symbol.iterator]","url":"classes/charmap.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":148,"kind":256,"name":"FiniteAutomaton","url":"interfaces/finiteautomaton.html","classes":"tsd-kind-interface"},{"id":149,"kind":1024,"name":"isEmpty","url":"interfaces/finiteautomaton.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":150,"kind":1024,"name":"isFinite","url":"interfaces/finiteautomaton.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":151,"kind":1024,"name":"maxCharacter","url":"interfaces/finiteautomaton.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":152,"kind":2048,"name":"test","url":"interfaces/finiteautomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":153,"kind":2048,"name":"words","url":"interfaces/finiteautomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":154,"kind":2048,"name":"wordSets","url":"interfaces/finiteautomaton.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":155,"kind":2048,"name":"toString","url":"interfaces/finiteautomaton.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":156,"kind":2048,"name":"toRegex","url":"interfaces/finiteautomaton.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":157,"kind":256,"name":"ToRegexOptions","url":"interfaces/toregexoptions.html","classes":"tsd-kind-interface"},{"id":158,"kind":1024,"name":"maxNodes","url":"interfaces/toregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":159,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/toregexoptions.html#maxoptimizationpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":160,"kind":256,"name":"FAIterator","url":"interfaces/faiterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":161,"kind":1024,"name":"initial","url":"interfaces/faiterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":162,"kind":1024,"name":"getOut","url":"interfaces/faiterator.html#getout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":163,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":164,"kind":1024,"name":"isFinal","url":"interfaces/faiterator.html#isfinal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":165,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":166,"kind":256,"name":"TransitionIterable","url":"interfaces/transitioniterable.html","classes":"tsd-kind-interface"},{"id":167,"kind":1024,"name":"maxCharacter","url":"interfaces/transitioniterable.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":168,"kind":1024,"name":"transitionIterator","url":"interfaces/transitioniterable.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":169,"kind":65536,"name":"__type","url":"interfaces/transitioniterable.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":170,"kind":256,"name":"TransitionIterableFA","url":"interfaces/transitioniterablefa.html","classes":"tsd-kind-interface"},{"id":171,"kind":2048,"name":"isDisjointWith","url":"interfaces/transitioniterablefa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":172,"kind":2048,"name":"intersectionWordSets","url":"interfaces/transitioniterablefa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":173,"kind":2048,"name":"intersectionWords","url":"interfaces/transitioniterablefa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":174,"kind":1024,"name":"isEmpty","url":"interfaces/transitioniterablefa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":175,"kind":1024,"name":"isFinite","url":"interfaces/transitioniterablefa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":176,"kind":1024,"name":"maxCharacter","url":"interfaces/transitioniterablefa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":177,"kind":2048,"name":"test","url":"interfaces/transitioniterablefa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":178,"kind":2048,"name":"words","url":"interfaces/transitioniterablefa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":179,"kind":2048,"name":"wordSets","url":"interfaces/transitioniterablefa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":180,"kind":2048,"name":"toString","url":"interfaces/transitioniterablefa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":181,"kind":2048,"name":"toRegex","url":"interfaces/transitioniterablefa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":182,"kind":1024,"name":"transitionIterator","url":"interfaces/transitioniterablefa.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":183,"kind":65536,"name":"__type","url":"interfaces/transitioniterablefa.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":184,"kind":256,"name":"IntersectionOptions","url":"interfaces/intersectionoptions.html","classes":"tsd-kind-interface"},{"id":185,"kind":1024,"name":"maxNodes","url":"interfaces/intersectionoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"IntersectionOptions"},{"id":186,"kind":128,"name":"TooManyNodesError","url":"classes/toomanynodeserror.html","classes":"tsd-kind-class"},{"id":187,"kind":512,"name":"constructor","url":"classes/toomanynodeserror.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"TooManyNodesError"},{"id":188,"kind":256,"name":"SourceLocation","url":"interfaces/sourcelocation.html","classes":"tsd-kind-interface"},{"id":189,"kind":1024,"name":"start","url":"interfaces/sourcelocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":190,"kind":1024,"name":"end","url":"interfaces/sourcelocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":191,"kind":256,"name":"NodeBase","url":"interfaces/nodebase.html","classes":"tsd-kind-interface"},{"id":192,"kind":1024,"name":"type","url":"interfaces/nodebase.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":193,"kind":1024,"name":"parent","url":"interfaces/nodebase.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":194,"kind":1024,"name":"source","url":"interfaces/nodebase.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":195,"kind":4194304,"name":"Element","url":"modules.html#element","classes":"tsd-kind-type-alias"},{"id":196,"kind":4194304,"name":"Parent","url":"modules.html#parent","classes":"tsd-kind-type-alias"},{"id":197,"kind":4194304,"name":"Node","url":"modules.html#node","classes":"tsd-kind-type-alias"},{"id":198,"kind":256,"name":"Alternation","url":"interfaces/alternation.html","classes":"tsd-kind-interface"},{"id":199,"kind":1024,"name":"type","url":"interfaces/alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":200,"kind":1024,"name":"parent","url":"interfaces/alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":201,"kind":1024,"name":"alternatives","url":"interfaces/alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":202,"kind":1024,"name":"source","url":"interfaces/alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Alternation"},{"id":203,"kind":256,"name":"Assertion","url":"interfaces/assertion.html","classes":"tsd-kind-interface"},{"id":204,"kind":1024,"name":"type","url":"interfaces/assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":205,"kind":1024,"name":"parent","url":"interfaces/assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":206,"kind":1024,"name":"alternatives","url":"interfaces/assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":207,"kind":1024,"name":"kind","url":"interfaces/assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":208,"kind":1024,"name":"negate","url":"interfaces/assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":209,"kind":1024,"name":"source","url":"interfaces/assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Assertion"},{"id":210,"kind":256,"name":"Quantifier","url":"interfaces/quantifier.html","classes":"tsd-kind-interface"},{"id":211,"kind":1024,"name":"type","url":"interfaces/quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":212,"kind":1024,"name":"parent","url":"interfaces/quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":213,"kind":1024,"name":"alternatives","url":"interfaces/quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":214,"kind":1024,"name":"lazy","url":"interfaces/quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":215,"kind":1024,"name":"min","url":"interfaces/quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":216,"kind":1024,"name":"max","url":"interfaces/quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":217,"kind":1024,"name":"source","url":"interfaces/quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Quantifier"},{"id":218,"kind":256,"name":"CharacterClass","url":"interfaces/characterclass.html","classes":"tsd-kind-interface"},{"id":219,"kind":1024,"name":"type","url":"interfaces/characterclass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":220,"kind":1024,"name":"parent","url":"interfaces/characterclass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":221,"kind":1024,"name":"characters","url":"interfaces/characterclass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":222,"kind":1024,"name":"source","url":"interfaces/characterclass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CharacterClass"},{"id":223,"kind":256,"name":"Expression","url":"interfaces/expression.html","classes":"tsd-kind-interface"},{"id":224,"kind":1024,"name":"type","url":"interfaces/expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":225,"kind":1024,"name":"parent","url":"interfaces/expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":226,"kind":1024,"name":"alternatives","url":"interfaces/expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":227,"kind":1024,"name":"source","url":"interfaces/expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Expression"},{"id":228,"kind":256,"name":"Concatenation","url":"interfaces/concatenation.html","classes":"tsd-kind-interface"},{"id":229,"kind":1024,"name":"type","url":"interfaces/concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":230,"kind":1024,"name":"parent","url":"interfaces/concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":231,"kind":1024,"name":"elements","url":"interfaces/concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":232,"kind":1024,"name":"source","url":"interfaces/concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Concatenation"},{"id":233,"kind":4194304,"name":"NoParent","url":"modules.html#noparent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":234,"kind":64,"name":"setParent","url":"modules.html#setparent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":235,"kind":64,"name":"setSource","url":"modules.html#setsource","classes":"tsd-kind-function"},{"id":236,"kind":64,"name":"visitAst","url":"modules.html#visitast","classes":"tsd-kind-function"},{"id":237,"kind":256,"name":"VisitAstHandler","url":"interfaces/visitasthandler.html","classes":"tsd-kind-interface"},{"id":238,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":239,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":240,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":241,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":242,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":243,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":244,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":245,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":246,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":247,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":248,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":249,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":250,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/visitnoparentasthandler.html","classes":"tsd-kind-interface"},{"id":251,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitnoparentasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":252,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitnoparentasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":253,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitnoparentasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":254,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitnoparentasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":255,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitnoparentasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":256,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitnoparentasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":257,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitnoparentasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":258,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitnoparentasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":259,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitnoparentasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":260,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitnoparentasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":261,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitnoparentasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":262,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitnoparentasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":263,"kind":64,"name":"combineTransformers","url":"modules.html#combinetransformers","classes":"tsd-kind-function"},{"id":264,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":265,"kind":256,"name":"Transformer","url":"interfaces/transformer.html","classes":"tsd-kind-interface"},{"id":266,"kind":2048,"name":"onAlternation","url":"interfaces/transformer.html#onalternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":267,"kind":2048,"name":"onAssertion","url":"interfaces/transformer.html#onassertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":268,"kind":2048,"name":"onCharacterClass","url":"interfaces/transformer.html#oncharacterclass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":269,"kind":2048,"name":"onConcatenation","url":"interfaces/transformer.html#onconcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":270,"kind":2048,"name":"onExpression","url":"interfaces/transformer.html#onexpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":271,"kind":2048,"name":"onQuantifier","url":"interfaces/transformer.html#onquantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":272,"kind":256,"name":"TransformContext","url":"interfaces/transformcontext.html","classes":"tsd-kind-interface"},{"id":273,"kind":1024,"name":"maxCharacter","url":"interfaces/transformcontext.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":274,"kind":1024,"name":"signalMutation","url":"interfaces/transformcontext.html#signalmutation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":275,"kind":65536,"name":"__type","url":"interfaces/transformcontext.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransformContext"},{"id":276,"kind":256,"name":"TransformOptions","url":"interfaces/transformoptions.html","classes":"tsd-kind-interface"},{"id":277,"kind":1024,"name":"maxPasses","url":"interfaces/transformoptions.html#maxpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":278,"kind":256,"name":"ReadonlyNFA","url":"interfaces/readonlynfa.html","classes":"tsd-kind-interface"},{"id":279,"kind":1024,"name":"nodes","url":"interfaces/readonlynfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":280,"kind":1024,"name":"options","url":"interfaces/readonlynfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":281,"kind":2048,"name":"stateIterator","url":"interfaces/readonlynfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":282,"kind":2048,"name":"transitionIterator","url":"interfaces/readonlynfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite","parent":"ReadonlyNFA"},{"id":283,"kind":2048,"name":"copy","url":"interfaces/readonlynfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":284,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlynfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":285,"kind":2048,"name":"intersectionWordSets","url":"interfaces/readonlynfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":286,"kind":2048,"name":"intersectionWords","url":"interfaces/readonlynfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":287,"kind":1024,"name":"isEmpty","url":"interfaces/readonlynfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":288,"kind":1024,"name":"isFinite","url":"interfaces/readonlynfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":289,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlynfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":290,"kind":2048,"name":"test","url":"interfaces/readonlynfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":291,"kind":2048,"name":"words","url":"interfaces/readonlynfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":292,"kind":2048,"name":"wordSets","url":"interfaces/readonlynfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":293,"kind":2048,"name":"toString","url":"interfaces/readonlynfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":294,"kind":2048,"name":"toRegex","url":"interfaces/readonlynfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":295,"kind":128,"name":"NFA","url":"classes/nfa.html","classes":"tsd-kind-class"},{"id":296,"kind":2048,"name":"fromIntersection","url":"classes/nfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":297,"kind":2048,"name":"empty","url":"classes/nfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":298,"kind":2048,"name":"all","url":"classes/nfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":299,"kind":2048,"name":"fromRegex","url":"classes/nfa.html#fromregex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":300,"kind":2048,"name":"fromWords","url":"classes/nfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":301,"kind":2048,"name":"fromFA","url":"classes/nfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":302,"kind":2048,"name":"fromTransitionIterator","url":"classes/nfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":303,"kind":1024,"name":"nodes","url":"classes/nfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":304,"kind":1024,"name":"maxCharacter","url":"classes/nfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":305,"kind":262144,"name":"options","url":"classes/nfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":306,"kind":262144,"name":"isEmpty","url":"classes/nfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":307,"kind":262144,"name":"isFinite","url":"classes/nfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":308,"kind":2048,"name":"stateIterator","url":"classes/nfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":309,"kind":2048,"name":"transitionIterator","url":"classes/nfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":310,"kind":2048,"name":"copy","url":"classes/nfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":311,"kind":2048,"name":"test","url":"classes/nfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":312,"kind":2048,"name":"wordSets","url":"classes/nfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":313,"kind":2048,"name":"words","url":"classes/nfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":314,"kind":2048,"name":"toString","url":"classes/nfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":315,"kind":2048,"name":"toRegex","url":"classes/nfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":316,"kind":2048,"name":"isDisjointWith","url":"classes/nfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":317,"kind":2048,"name":"intersectionWordSets","url":"classes/nfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":318,"kind":2048,"name":"intersectionWords","url":"classes/nfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":319,"kind":2048,"name":"union","url":"classes/nfa.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":320,"kind":2048,"name":"append","url":"classes/nfa.html#append","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":321,"kind":2048,"name":"prepend","url":"classes/nfa.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":322,"kind":2048,"name":"quantify","url":"classes/nfa.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":323,"kind":2048,"name":"withoutEmptyWord","url":"classes/nfa.html#withoutemptyword","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":324,"kind":2048,"name":"prefixes","url":"classes/nfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":325,"kind":2048,"name":"suffixes","url":"classes/nfa.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":326,"kind":2048,"name":"reverse","url":"classes/nfa.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":327,"kind":2,"name":"NFA","url":"modules/nfa.html","classes":"tsd-kind-namespace"},{"id":328,"kind":256,"name":"ReadonlyNode","url":"interfaces/nfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":329,"kind":1024,"name":"list","url":"interfaces/nfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":330,"kind":1024,"name":"out","url":"interfaces/nfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":331,"kind":1024,"name":"in","url":"interfaces/nfa.readonlynode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":332,"kind":256,"name":"Node","url":"interfaces/nfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":333,"kind":1024,"name":"list","url":"interfaces/nfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":334,"kind":1024,"name":"out","url":"interfaces/nfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":335,"kind":1024,"name":"in","url":"interfaces/nfa.node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":336,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/nfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":337,"kind":1024,"name":"initial","url":"interfaces/nfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":338,"kind":1024,"name":"finals","url":"interfaces/nfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":339,"kind":2048,"name":"count","url":"interfaces/nfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":340,"kind":128,"name":"NodeList","url":"classes/nfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":341,"kind":512,"name":"constructor","url":"classes/nfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":342,"kind":1024,"name":"initial","url":"classes/nfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":343,"kind":1024,"name":"finals","url":"classes/nfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":344,"kind":2048,"name":"createNode","url":"classes/nfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":345,"kind":2048,"name":"linkNodes","url":"classes/nfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":346,"kind":2048,"name":"unlinkNodes","url":"classes/nfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":347,"kind":2048,"name":"removeUnreachable","url":"classes/nfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":348,"kind":2048,"name":"count","url":"classes/nfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":349,"kind":2048,"name":"[Symbol.iterator]","url":"classes/nfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":350,"kind":256,"name":"CreationOptions","url":"interfaces/nfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":351,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.CreationOptions"},{"id":352,"kind":256,"name":"Options","url":"interfaces/nfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":353,"kind":1024,"name":"maxCharacter","url":"interfaces/nfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":354,"kind":256,"name":"FromRegexOptions","url":"interfaces/nfa.fromregexoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":355,"kind":1024,"name":"assertions","url":"interfaces/nfa.fromregexoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":356,"kind":1024,"name":"infinityThreshold","url":"interfaces/nfa.fromregexoptions.html#infinitythreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":357,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.fromregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"NFA.FromRegexOptions"},{"id":358,"kind":256,"name":"ReadonlyDFA","url":"interfaces/readonlydfa.html","classes":"tsd-kind-interface"},{"id":359,"kind":1024,"name":"nodes","url":"interfaces/readonlydfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":360,"kind":1024,"name":"options","url":"interfaces/readonlydfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":361,"kind":2048,"name":"stateIterator","url":"interfaces/readonlydfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":362,"kind":2048,"name":"transitionIterator","url":"interfaces/readonlydfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite","parent":"ReadonlyDFA"},{"id":363,"kind":2048,"name":"copy","url":"interfaces/readonlydfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":364,"kind":2048,"name":"structurallyEqual","url":"interfaces/readonlydfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":365,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlydfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":366,"kind":2048,"name":"intersectionWordSets","url":"interfaces/readonlydfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":367,"kind":2048,"name":"intersectionWords","url":"interfaces/readonlydfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":368,"kind":1024,"name":"isEmpty","url":"interfaces/readonlydfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":369,"kind":1024,"name":"isFinite","url":"interfaces/readonlydfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":370,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlydfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":371,"kind":2048,"name":"test","url":"interfaces/readonlydfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":372,"kind":2048,"name":"words","url":"interfaces/readonlydfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":373,"kind":2048,"name":"wordSets","url":"interfaces/readonlydfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":374,"kind":2048,"name":"toString","url":"interfaces/readonlydfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":375,"kind":2048,"name":"toRegex","url":"interfaces/readonlydfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":376,"kind":128,"name":"DFA","url":"classes/dfa.html","classes":"tsd-kind-class"},{"id":377,"kind":2048,"name":"fromIntersection","url":"classes/dfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":378,"kind":2048,"name":"empty","url":"classes/dfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":379,"kind":2048,"name":"all","url":"classes/dfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":380,"kind":2048,"name":"fromWords","url":"classes/dfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":381,"kind":2048,"name":"fromFA","url":"classes/dfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":382,"kind":2048,"name":"fromTransitionIterator","url":"classes/dfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":383,"kind":1024,"name":"nodes","url":"classes/dfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":384,"kind":1024,"name":"maxCharacter","url":"classes/dfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":385,"kind":262144,"name":"options","url":"classes/dfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":386,"kind":262144,"name":"isEmpty","url":"classes/dfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":387,"kind":262144,"name":"isFinite","url":"classes/dfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":388,"kind":2048,"name":"stateIterator","url":"classes/dfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":389,"kind":2048,"name":"transitionIterator","url":"classes/dfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":390,"kind":2048,"name":"test","url":"classes/dfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":391,"kind":2048,"name":"wordSets","url":"classes/dfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":392,"kind":2048,"name":"words","url":"classes/dfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":393,"kind":2048,"name":"toString","url":"classes/dfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":394,"kind":2048,"name":"toRegex","url":"classes/dfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":395,"kind":2048,"name":"isDisjointWith","url":"classes/dfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":396,"kind":2048,"name":"intersectionWordSets","url":"classes/dfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":397,"kind":2048,"name":"intersectionWords","url":"classes/dfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":398,"kind":2048,"name":"copy","url":"classes/dfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":399,"kind":2048,"name":"structurallyEqual","url":"classes/dfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":400,"kind":2048,"name":"minimize","url":"classes/dfa.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":401,"kind":2048,"name":"complement","url":"classes/dfa.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":402,"kind":2048,"name":"prefixes","url":"classes/dfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":403,"kind":2,"name":"DFA","url":"modules/dfa.html","classes":"tsd-kind-namespace"},{"id":404,"kind":256,"name":"ReadonlyNode","url":"interfaces/dfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":405,"kind":1024,"name":"list","url":"interfaces/dfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":406,"kind":1024,"name":"out","url":"interfaces/dfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":407,"kind":256,"name":"Node","url":"interfaces/dfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":408,"kind":1024,"name":"list","url":"interfaces/dfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":409,"kind":1024,"name":"out","url":"interfaces/dfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":410,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/dfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":411,"kind":1024,"name":"initial","url":"interfaces/dfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":412,"kind":1024,"name":"finals","url":"interfaces/dfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":413,"kind":2048,"name":"count","url":"interfaces/dfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":414,"kind":128,"name":"NodeList","url":"classes/dfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":415,"kind":512,"name":"constructor","url":"classes/dfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":416,"kind":1024,"name":"initial","url":"classes/dfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":417,"kind":1024,"name":"finals","url":"classes/dfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":418,"kind":2048,"name":"createNode","url":"classes/dfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":419,"kind":2048,"name":"linkNodes","url":"classes/dfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":420,"kind":2048,"name":"_uncheckedLinkNodesWithCharacter","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":421,"kind":2048,"name":"_uncheckedLinkNodesWithCharRange","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharrange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":422,"kind":2048,"name":"_uncheckedLinkNodesWithCharSet","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":423,"kind":2048,"name":"unlinkNodes","url":"classes/dfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":424,"kind":2048,"name":"removeUnreachable","url":"classes/dfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":425,"kind":2048,"name":"count","url":"classes/dfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":426,"kind":2048,"name":"[Symbol.iterator]","url":"classes/dfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":427,"kind":256,"name":"CreationOptions","url":"interfaces/dfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":428,"kind":1024,"name":"maxNodes","url":"interfaces/dfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.CreationOptions"},{"id":429,"kind":256,"name":"Options","url":"interfaces/dfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":430,"kind":1024,"name":"maxCharacter","url":"interfaces/dfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,32.651]],["parent/0",[]],["name/1",[1,48.157]],["parent/1",[0,3.116]],["name/2",[2,48.157]],["parent/2",[3,4.918]],["name/3",[4,48.157]],["parent/3",[3,4.918]],["name/4",[5,56.63]],["parent/4",[0,3.116]],["name/5",[6,56.63]],["parent/5",[0,3.116]],["name/6",[7,51.521]],["parent/6",[0,3.116]],["name/7",[8,56.63]],["parent/7",[0,3.116]],["name/8",[9,56.63]],["parent/8",[0,3.116]],["name/9",[10,56.63]],["parent/9",[0,3.116]],["name/10",[11,56.63]],["parent/10",[0,3.116]],["name/11",[12,56.63]],["parent/11",[0,3.116]],["name/12",[7,51.521]],["parent/12",[13,4.357]],["name/13",[14,56.63]],["parent/13",[13,4.357]],["name/14",[2,48.157]],["parent/14",[13,4.357]],["name/15",[4,48.157]],["parent/15",[13,4.357]],["name/16",[15,56.63]],["parent/16",[0,3.116]],["name/17",[16,56.63]],["parent/17",[0,3.116]],["name/18",[17,56.63]],["parent/18",[0,3.116]],["name/19",[18,56.63]],["parent/19",[0,3.116]],["name/20",[19,56.63]],["parent/20",[20,4.596]],["name/21",[2,48.157]],["parent/21",[20,4.596]],["name/22",[4,48.157]],["parent/22",[20,4.596]],["name/23",[21,56.63]],["parent/23",[0,3.116]],["name/24",[22,56.63]],["parent/24",[0,3.116]],["name/25",[23,30.004]],["parent/25",[]],["name/26",[24,56.63]],["parent/26",[23,2.864]],["name/27",[25,56.63]],["parent/27",[23,2.864]],["name/28",[26,56.63]],["parent/28",[23,2.864]],["name/29",[27,39.284]],["parent/29",[28,4.918]],["name/30",[29,40.535]],["parent/30",[28,4.918]],["name/31",[30,56.63]],["parent/31",[23,2.864]],["name/32",[27,39.284]],["parent/32",[31,5.405]],["name/33",[32,56.63]],["parent/33",[23,2.864]],["name/34",[33,56.63]],["parent/34",[23,2.864]],["name/35",[34,56.63]],["parent/35",[23,2.864]],["name/36",[27,39.284]],["parent/36",[35,5.405]],["name/37",[36,56.63]],["parent/37",[23,2.864]],["name/38",[27,39.284]],["parent/38",[37,4.918]],["name/39",[29,40.535]],["parent/39",[37,4.918]],["name/40",[38,56.63]],["parent/40",[23,2.864]],["name/41",[27,39.284]],["parent/41",[39,4.357]],["name/42",[40,56.63]],["parent/42",[39,4.357]],["name/43",[41,56.63]],["parent/43",[39,4.357]],["name/44",[29,40.535]],["parent/44",[39,4.357]],["name/45",[42,56.63]],["parent/45",[23,2.864]],["name/46",[27,39.284]],["parent/46",[43,4.918]],["name/47",[29,40.535]],["parent/47",[43,4.918]],["name/48",[44,56.63]],["parent/48",[23,2.864]],["name/49",[27,39.284]],["parent/49",[45,4.918]],["name/50",[29,40.535]],["parent/50",[45,4.918]],["name/51",[46,56.63]],["parent/51",[23,2.864]],["name/52",[47,56.63]],["parent/52",[23,2.864]],["name/53",[48,45.643]],["parent/53",[49,4.918]],["name/54",[50,56.63]],["parent/54",[49,4.918]],["name/55",[48,45.643]],["parent/55",[23,2.864]],["name/56",[51,56.63]],["parent/56",[52,4.006]],["name/57",[53,56.63]],["parent/57",[52,4.006]],["name/58",[54,56.63]],["parent/58",[52,4.006]],["name/59",[55,56.63]],["parent/59",[52,4.006]],["name/60",[56,56.63]],["parent/60",[52,4.006]],["name/61",[57,56.63]],["parent/61",[52,4.006]],["name/62",[58,51.521]],["parent/62",[23,2.864]],["name/63",[59,39.284]],["parent/63",[60,4.918]],["name/64",[48,45.643]],["parent/64",[60,4.918]],["name/65",[61,56.63]],["parent/65",[23,2.864]],["name/66",[62,56.63]],["parent/66",[63,4.165]],["name/67",[64,56.63]],["parent/67",[63,4.165]],["name/68",[65,51.521]],["parent/68",[63,4.165]],["name/69",[66,56.63]],["parent/69",[63,4.165]],["name/70",[67,41.966]],["parent/70",[63,4.165]],["name/71",[68,56.63]],["parent/71",[23,2.864]],["name/72",[69,56.63]],["parent/72",[70,4.918]],["name/73",[48,45.643]],["parent/73",[70,4.918]],["name/74",[71,56.63]],["parent/74",[23,2.864]],["name/75",[72,56.63]],["parent/75",[23,2.864]],["name/76",[73,41.966]],["parent/76",[74,4.918]],["name/77",[75,35.427]],["parent/77",[74,4.918]],["name/78",[76,56.63]],["parent/78",[23,2.864]],["name/79",[77,56.63]],["parent/79",[78,3.869]],["name/80",[79,56.63]],["parent/80",[78,3.869]],["name/81",[58,51.521]],["parent/81",[78,3.869]],["name/82",[80,56.63]],["parent/82",[78,3.869]],["name/83",[75,35.427]],["parent/83",[78,3.869]],["name/84",[81,56.63]],["parent/84",[78,3.869]],["name/85",[82,56.63]],["parent/85",[78,3.869]],["name/86",[83,33.943]],["parent/86",[]],["name/87",[84,56.63]],["parent/87",[83,3.24]],["name/88",[85,56.63]],["parent/88",[83,3.24]],["name/89",[86,56.63]],["parent/89",[83,3.24]],["name/90",[87,56.63]],["parent/90",[83,3.24]],["name/91",[88,56.63]],["parent/91",[83,3.24]],["name/92",[89,56.63]],["parent/92",[83,3.24]],["name/93",[90,56.63]],["parent/93",[83,3.24]],["name/94",[91,56.63]],["parent/94",[]],["name/95",[92,56.63]],["parent/95",[]],["name/96",[93,56.63]],["parent/96",[]],["name/97",[94,48.157]],["parent/97",[]],["name/98",[95,51.521]],["parent/98",[94,4.596]],["name/99",[96,51.521]],["parent/99",[94,4.596]],["name/100",[97,30.48]],["parent/100",[]],["name/101",[98,48.157]],["parent/101",[97,2.909]],["name/102",[99,48.157]],["parent/102",[97,2.909]],["name/103",[100,56.63]],["parent/103",[97,2.909]],["name/104",[101,56.63]],["parent/104",[97,2.909]],["name/105",[102,38.171]],["parent/105",[97,2.909]],["name/106",[103,56.63]],["parent/106",[97,2.909]],["name/107",[104,56.63]],["parent/107",[97,2.909]],["name/108",[105,40.535]],["parent/108",[97,2.909]],["name/109",[106,56.63]],["parent/109",[97,2.909]],["name/110",[107,56.63]],["parent/110",[97,2.909]],["name/111",[29,40.535]],["parent/111",[97,2.909]],["name/112",[108,51.521]],["parent/112",[97,2.909]],["name/113",[109,56.63]],["parent/113",[97,2.909]],["name/114",[110,56.63]],["parent/114",[97,2.909]],["name/115",[111,48.157]],["parent/115",[97,2.909]],["name/116",[112,56.63]],["parent/116",[97,2.909]],["name/117",[113,56.63]],["parent/117",[97,2.909]],["name/118",[114,41.966]],["parent/118",[97,2.909]],["name/119",[115,56.63]],["parent/119",[97,2.909]],["name/120",[116,37.171]],["parent/120",[]],["name/121",[102,38.171]],["parent/121",[116,3.548]],["name/122",[111,48.157]],["parent/122",[116,3.548]],["name/123",[117,51.521]],["parent/123",[116,3.548]],["name/124",[118,51.521]],["parent/124",[116,3.548]],["name/125",[119,51.521]],["parent/125",[116,3.548]],["name/126",[120,51.521]],["parent/126",[116,3.548]],["name/127",[121,51.521]],["parent/127",[116,3.548]],["name/128",[122,51.521]],["parent/128",[116,3.548]],["name/129",[123,51.521]],["parent/129",[116,3.548]],["name/130",[124,31.507]],["parent/130",[]],["name/131",[125,45.643]],["parent/131",[124,3.007]],["name/132",[102,38.171]],["parent/132",[124,3.007]],["name/133",[111,48.157]],["parent/133",[124,3.007]],["name/134",[117,51.521]],["parent/134",[124,3.007]],["name/135",[118,51.521]],["parent/135",[124,3.007]],["name/136",[119,51.521]],["parent/136",[124,3.007]],["name/137",[126,56.63]],["parent/137",[124,3.007]],["name/138",[127,56.63]],["parent/138",[124,3.007]],["name/139",[128,56.63]],["parent/139",[124,3.007]],["name/140",[129,56.63]],["parent/140",[124,3.007]],["name/141",[130,56.63]],["parent/141",[124,3.007]],["name/142",[131,56.63]],["parent/142",[124,3.007]],["name/143",[120,51.521]],["parent/143",[124,3.007]],["name/144",[121,51.521]],["parent/144",[124,3.007]],["name/145",[122,51.521]],["parent/145",[124,3.007]],["name/146",[123,51.521]],["parent/146",[124,3.007]],["name/147",[132,48.157]],["parent/147",[124,3.007]],["name/148",[133,38.171]],["parent/148",[]],["name/149",[102,38.171]],["parent/149",[133,3.643]],["name/150",[134,41.966]],["parent/150",[133,3.643]],["name/151",[75,35.427]],["parent/151",[133,3.643]],["name/152",[135,41.966]],["parent/152",[133,3.643]],["name/153",[83,33.943]],["parent/153",[133,3.643]],["name/154",[136,41.966]],["parent/154",[133,3.643]],["name/155",[105,40.535]],["parent/155",[133,3.643]],["name/156",[137,41.966]],["parent/156",[133,3.643]],["name/157",[138,48.157]],["parent/157",[]],["name/158",[67,41.966]],["parent/158",[138,4.596]],["name/159",[139,56.63]],["parent/159",[138,4.596]],["name/160",[140,41.966]],["parent/160",[]],["name/161",[141,43.637]],["parent/161",[140,4.006]],["name/162",[142,56.63]],["parent/162",[140,4.006]],["name/163",[143,43.637]],["parent/163",[140,4.006]],["name/164",[144,56.63]],["parent/164",[140,4.006]],["name/165",[143,43.637]],["parent/165",[140,4.006]],["name/166",[145,45.643]],["parent/166",[]],["name/167",[75,35.427]],["parent/167",[145,4.357]],["name/168",[146,41.966]],["parent/168",[145,4.357]],["name/169",[143,43.637]],["parent/169",[145,4.357]],["name/170",[147,33.943]],["parent/170",[]],["name/171",[114,41.966]],["parent/171",[147,3.24]],["name/172",[148,43.637]],["parent/172",[147,3.24]],["name/173",[149,43.637]],["parent/173",[147,3.24]],["name/174",[102,38.171]],["parent/174",[147,3.24]],["name/175",[134,41.966]],["parent/175",[147,3.24]],["name/176",[75,35.427]],["parent/176",[147,3.24]],["name/177",[135,41.966]],["parent/177",[147,3.24]],["name/178",[83,33.943]],["parent/178",[147,3.24]],["name/179",[136,41.966]],["parent/179",[147,3.24]],["name/180",[105,40.535]],["parent/180",[147,3.24]],["name/181",[137,41.966]],["parent/181",[147,3.24]],["name/182",[146,41.966]],["parent/182",[147,3.24]],["name/183",[143,43.637]],["parent/183",[147,3.24]],["name/184",[150,51.521]],["parent/184",[]],["name/185",[67,41.966]],["parent/185",[150,4.918]],["name/186",[151,51.521]],["parent/186",[]],["name/187",[125,45.643]],["parent/187",[151,4.918]],["name/188",[152,48.157]],["parent/188",[]],["name/189",[153,56.63]],["parent/189",[152,4.596]],["name/190",[154,56.63]],["parent/190",[152,4.596]],["name/191",[155,45.643]],["parent/191",[]],["name/192",[156,40.535]],["parent/192",[155,4.357]],["name/193",[157,39.284]],["parent/193",[155,4.357]],["name/194",[59,39.284]],["parent/194",[155,4.357]],["name/195",[158,56.63]],["parent/195",[]],["name/196",[157,39.284]],["parent/196",[]],["name/197",[159,48.157]],["parent/197",[]],["name/198",[160,43.637]],["parent/198",[]],["name/199",[156,40.535]],["parent/199",[160,4.165]],["name/200",[157,39.284]],["parent/200",[160,4.165]],["name/201",[161,45.643]],["parent/201",[160,4.165]],["name/202",[59,39.284]],["parent/202",[160,4.165]],["name/203",[162,40.535]],["parent/203",[]],["name/204",[156,40.535]],["parent/204",[162,3.869]],["name/205",[157,39.284]],["parent/205",[162,3.869]],["name/206",[161,45.643]],["parent/206",[162,3.869]],["name/207",[27,39.284]],["parent/207",[162,3.869]],["name/208",[29,40.535]],["parent/208",[162,3.869]],["name/209",[59,39.284]],["parent/209",[162,3.869]],["name/210",[163,39.284]],["parent/210",[]],["name/211",[156,40.535]],["parent/211",[163,3.75]],["name/212",[157,39.284]],["parent/212",[163,3.75]],["name/213",[161,45.643]],["parent/213",[163,3.75]],["name/214",[164,56.63]],["parent/214",[163,3.75]],["name/215",[95,51.521]],["parent/215",[163,3.75]],["name/216",[96,51.521]],["parent/216",[163,3.75]],["name/217",[59,39.284]],["parent/217",[163,3.75]],["name/218",[165,43.637]],["parent/218",[]],["name/219",[156,40.535]],["parent/219",[165,4.165]],["name/220",[157,39.284]],["parent/220",[165,4.165]],["name/221",[166,56.63]],["parent/221",[165,4.165]],["name/222",[59,39.284]],["parent/222",[165,4.165]],["name/223",[73,41.966]],["parent/223",[]],["name/224",[156,40.535]],["parent/224",[73,4.006]],["name/225",[157,39.284]],["parent/225",[73,4.006]],["name/226",[161,45.643]],["parent/226",[73,4.006]],["name/227",[59,39.284]],["parent/227",[73,4.006]],["name/228",[167,43.637]],["parent/228",[]],["name/229",[156,40.535]],["parent/229",[167,4.165]],["name/230",[157,39.284]],["parent/230",[167,4.165]],["name/231",[168,56.63]],["parent/231",[167,4.165]],["name/232",[59,39.284]],["parent/232",[167,4.165]],["name/233",[169,56.63]],["parent/233",[]],["name/234",[170,56.63]],["parent/234",[]],["name/235",[171,56.63]],["parent/235",[]],["name/236",[172,56.63]],["parent/236",[]],["name/237",[173,34.657]],["parent/237",[]],["name/238",[174,51.521]],["parent/238",[173,3.308]],["name/239",[175,51.521]],["parent/239",[173,3.308]],["name/240",[176,51.521]],["parent/240",[173,3.308]],["name/241",[177,51.521]],["parent/241",[173,3.308]],["name/242",[178,51.521]],["parent/242",[173,3.308]],["name/243",[179,51.521]],["parent/243",[173,3.308]],["name/244",[180,51.521]],["parent/244",[173,3.308]],["name/245",[181,51.521]],["parent/245",[173,3.308]],["name/246",[182,51.521]],["parent/246",[173,3.308]],["name/247",[183,51.521]],["parent/247",[173,3.308]],["name/248",[184,51.521]],["parent/248",[173,3.308]],["name/249",[185,51.521]],["parent/249",[173,3.308]],["name/250",[186,34.657]],["parent/250",[]],["name/251",[174,51.521]],["parent/251",[186,3.308]],["name/252",[175,51.521]],["parent/252",[186,3.308]],["name/253",[176,51.521]],["parent/253",[186,3.308]],["name/254",[177,51.521]],["parent/254",[186,3.308]],["name/255",[178,51.521]],["parent/255",[186,3.308]],["name/256",[179,51.521]],["parent/256",[186,3.308]],["name/257",[180,51.521]],["parent/257",[186,3.308]],["name/258",[181,51.521]],["parent/258",[186,3.308]],["name/259",[182,51.521]],["parent/259",[186,3.308]],["name/260",[183,51.521]],["parent/260",[186,3.308]],["name/261",[184,51.521]],["parent/261",[186,3.308]],["name/262",[185,51.521]],["parent/262",[186,3.308]],["name/263",[187,56.63]],["parent/263",[]],["name/264",[188,56.63]],["parent/264",[]],["name/265",[189,40.535]],["parent/265",[]],["name/266",[190,56.63]],["parent/266",[189,3.869]],["name/267",[191,56.63]],["parent/267",[189,3.869]],["name/268",[192,56.63]],["parent/268",[189,3.869]],["name/269",[193,56.63]],["parent/269",[189,3.869]],["name/270",[194,56.63]],["parent/270",[189,3.869]],["name/271",[195,56.63]],["parent/271",[189,3.869]],["name/272",[196,45.643]],["parent/272",[]],["name/273",[75,35.427]],["parent/273",[196,4.357]],["name/274",[197,56.63]],["parent/274",[196,4.357]],["name/275",[143,43.637]],["parent/275",[196,4.357]],["name/276",[198,51.521]],["parent/276",[]],["name/277",[199,56.63]],["parent/277",[198,4.918]],["name/278",[200,32.062]],["parent/278",[]],["name/279",[201,45.643]],["parent/279",[200,3.06]],["name/280",[202,41.966]],["parent/280",[200,3.06]],["name/281",[203,45.643]],["parent/281",[200,3.06]],["name/282",[146,41.966]],["parent/282",[200,3.06]],["name/283",[204,45.643]],["parent/283",[200,3.06]],["name/284",[114,41.966]],["parent/284",[200,3.06]],["name/285",[148,43.637]],["parent/285",[200,3.06]],["name/286",[149,43.637]],["parent/286",[200,3.06]],["name/287",[102,38.171]],["parent/287",[200,3.06]],["name/288",[134,41.966]],["parent/288",[200,3.06]],["name/289",[75,35.427]],["parent/289",[200,3.06]],["name/290",[135,41.966]],["parent/290",[200,3.06]],["name/291",[83,33.943]],["parent/291",[200,3.06]],["name/292",[136,41.966]],["parent/292",[200,3.06]],["name/293",[105,40.535]],["parent/293",[200,3.06]],["name/294",[137,41.966]],["parent/294",[200,3.06]],["name/295",[205,23.671]],["parent/295",[]],["name/296",[206,51.521]],["parent/296",[205,2.259]],["name/297",[98,48.157]],["parent/297",[205,2.259]],["name/298",[99,48.157]],["parent/298",[205,2.259]],["name/299",[207,56.63]],["parent/299",[205,2.259]],["name/300",[208,51.521]],["parent/300",[205,2.259]],["name/301",[209,51.521]],["parent/301",[205,2.259]],["name/302",[210,51.521]],["parent/302",[205,2.259]],["name/303",[201,45.643]],["parent/303",[205,2.259]],["name/304",[75,35.427]],["parent/304",[205,2.259]],["name/305",[202,41.966]],["parent/305",[205,2.259]],["name/306",[102,38.171]],["parent/306",[205,2.259]],["name/307",[134,41.966]],["parent/307",[205,2.259]],["name/308",[203,45.643]],["parent/308",[205,2.259]],["name/309",[146,41.966]],["parent/309",[205,2.259]],["name/310",[204,45.643]],["parent/310",[205,2.259]],["name/311",[135,41.966]],["parent/311",[205,2.259]],["name/312",[136,41.966]],["parent/312",[205,2.259]],["name/313",[83,33.943]],["parent/313",[205,2.259]],["name/314",[105,40.535]],["parent/314",[205,2.259]],["name/315",[137,41.966]],["parent/315",[205,2.259]],["name/316",[114,41.966]],["parent/316",[205,2.259]],["name/317",[148,43.637]],["parent/317",[205,2.259]],["name/318",[149,43.637]],["parent/318",[205,2.259]],["name/319",[108,51.521]],["parent/319",[205,2.259]],["name/320",[211,56.63]],["parent/320",[205,2.259]],["name/321",[212,56.63]],["parent/321",[205,2.259]],["name/322",[213,56.63]],["parent/322",[205,2.259]],["name/323",[214,56.63]],["parent/323",[205,2.259]],["name/324",[215,51.521]],["parent/324",[205,2.259]],["name/325",[216,56.63]],["parent/325",[205,2.259]],["name/326",[217,56.63]],["parent/326",[205,2.259]],["name/327",[205,23.671]],["parent/327",[]],["name/328",[218,51.521]],["parent/328",[205,2.259]],["name/329",[219,45.643]],["parent/329",[220,4.596]],["name/330",[221,45.643]],["parent/330",[220,4.596]],["name/331",[222,51.521]],["parent/331",[220,4.596]],["name/332",[159,48.157]],["parent/332",[205,2.259]],["name/333",[219,45.643]],["parent/333",[223,4.596]],["name/334",[221,45.643]],["parent/334",[223,4.596]],["name/335",[222,51.521]],["parent/335",[223,4.596]],["name/336",[224,51.521]],["parent/336",[205,2.259]],["name/337",[141,43.637]],["parent/337",[225,4.596]],["name/338",[226,45.643]],["parent/338",[225,4.596]],["name/339",[227,45.643]],["parent/339",[225,4.596]],["name/340",[228,51.521]],["parent/340",[205,2.259]],["name/341",[125,45.643]],["parent/341",[229,3.643]],["name/342",[141,43.637]],["parent/342",[229,3.643]],["name/343",[226,45.643]],["parent/343",[229,3.643]],["name/344",[230,51.521]],["parent/344",[229,3.643]],["name/345",[231,51.521]],["parent/345",[229,3.643]],["name/346",[232,51.521]],["parent/346",[229,3.643]],["name/347",[233,51.521]],["parent/347",[229,3.643]],["name/348",[227,45.643]],["parent/348",[229,3.643]],["name/349",[132,48.157]],["parent/349",[229,3.643]],["name/350",[1,48.157]],["parent/350",[205,2.259]],["name/351",[67,41.966]],["parent/351",[234,5.405]],["name/352",[202,41.966]],["parent/352",[205,2.259]],["name/353",[75,35.427]],["parent/353",[235,5.405]],["name/354",[236,56.63]],["parent/354",[205,2.259]],["name/355",[65,51.521]],["parent/355",[237,4.596]],["name/356",[238,56.63]],["parent/356",[237,4.596]],["name/357",[67,41.966]],["parent/357",[237,4.596]],["name/358",[239,31.507]],["parent/358",[]],["name/359",[201,45.643]],["parent/359",[239,3.007]],["name/360",[202,41.966]],["parent/360",[239,3.007]],["name/361",[203,45.643]],["parent/361",[239,3.007]],["name/362",[146,41.966]],["parent/362",[239,3.007]],["name/363",[204,45.643]],["parent/363",[239,3.007]],["name/364",[240,51.521]],["parent/364",[239,3.007]],["name/365",[114,41.966]],["parent/365",[239,3.007]],["name/366",[148,43.637]],["parent/366",[239,3.007]],["name/367",[149,43.637]],["parent/367",[239,3.007]],["name/368",[102,38.171]],["parent/368",[239,3.007]],["name/369",[134,41.966]],["parent/369",[239,3.007]],["name/370",[75,35.427]],["parent/370",[239,3.007]],["name/371",[135,41.966]],["parent/371",[239,3.007]],["name/372",[83,33.943]],["parent/372",[239,3.007]],["name/373",[136,41.966]],["parent/373",[239,3.007]],["name/374",[105,40.535]],["parent/374",[239,3.007]],["name/375",[137,41.966]],["parent/375",[239,3.007]],["name/376",[241,25.275]],["parent/376",[]],["name/377",[206,51.521]],["parent/377",[241,2.412]],["name/378",[98,48.157]],["parent/378",[241,2.412]],["name/379",[99,48.157]],["parent/379",[241,2.412]],["name/380",[208,51.521]],["parent/380",[241,2.412]],["name/381",[209,51.521]],["parent/381",[241,2.412]],["name/382",[210,51.521]],["parent/382",[241,2.412]],["name/383",[201,45.643]],["parent/383",[241,2.412]],["name/384",[75,35.427]],["parent/384",[241,2.412]],["name/385",[202,41.966]],["parent/385",[241,2.412]],["name/386",[102,38.171]],["parent/386",[241,2.412]],["name/387",[134,41.966]],["parent/387",[241,2.412]],["name/388",[203,45.643]],["parent/388",[241,2.412]],["name/389",[146,41.966]],["parent/389",[241,2.412]],["name/390",[135,41.966]],["parent/390",[241,2.412]],["name/391",[136,41.966]],["parent/391",[241,2.412]],["name/392",[83,33.943]],["parent/392",[241,2.412]],["name/393",[105,40.535]],["parent/393",[241,2.412]],["name/394",[137,41.966]],["parent/394",[241,2.412]],["name/395",[114,41.966]],["parent/395",[241,2.412]],["name/396",[148,43.637]],["parent/396",[241,2.412]],["name/397",[149,43.637]],["parent/397",[241,2.412]],["name/398",[204,45.643]],["parent/398",[241,2.412]],["name/399",[240,51.521]],["parent/399",[241,2.412]],["name/400",[242,56.63]],["parent/400",[241,2.412]],["name/401",[243,56.63]],["parent/401",[241,2.412]],["name/402",[215,51.521]],["parent/402",[241,2.412]],["name/403",[241,25.275]],["parent/403",[]],["name/404",[218,51.521]],["parent/404",[241,2.412]],["name/405",[219,45.643]],["parent/405",[244,4.918]],["name/406",[221,45.643]],["parent/406",[244,4.918]],["name/407",[159,48.157]],["parent/407",[241,2.412]],["name/408",[219,45.643]],["parent/408",[245,4.918]],["name/409",[221,45.643]],["parent/409",[245,4.918]],["name/410",[224,51.521]],["parent/410",[241,2.412]],["name/411",[141,43.637]],["parent/411",[246,4.596]],["name/412",[226,45.643]],["parent/412",[246,4.596]],["name/413",[227,45.643]],["parent/413",[246,4.596]],["name/414",[228,51.521]],["parent/414",[241,2.412]],["name/415",[125,45.643]],["parent/415",[247,3.381]],["name/416",[141,43.637]],["parent/416",[247,3.381]],["name/417",[226,45.643]],["parent/417",[247,3.381]],["name/418",[230,51.521]],["parent/418",[247,3.381]],["name/419",[231,51.521]],["parent/419",[247,3.381]],["name/420",[248,56.63]],["parent/420",[247,3.381]],["name/421",[249,56.63]],["parent/421",[247,3.381]],["name/422",[250,56.63]],["parent/422",[247,3.381]],["name/423",[232,51.521]],["parent/423",[247,3.381]],["name/424",[233,51.521]],["parent/424",[247,3.381]],["name/425",[227,45.643]],["parent/425",[247,3.381]],["name/426",[132,48.157]],["parent/426",[247,3.381]],["name/427",[1,48.157]],["parent/427",[241,2.412]],["name/428",[67,41.966]],["parent/428",[251,5.405]],["name/429",[202,41.966]],["parent/429",[241,2.412]],["name/430",[75,35.427]],["parent/430",[252,5.405]]],"invertedIndex":[["__type",{"_index":143,"name":{"163":{},"165":{},"169":{},"183":{},"275":{}},"parent":{}}],["_uncheckedlinknodeswithcharacter",{"_index":248,"name":{"420":{}},"parent":{}}],["_uncheckedlinknodeswithcharrange",{"_index":249,"name":{"421":{}},"parent":{}}],["_uncheckedlinknodeswithcharset",{"_index":250,"name":{"422":{}},"parent":{}}],["all",{"_index":99,"name":{"102":{},"298":{},"379":{}},"parent":{}}],["alternation",{"_index":160,"name":{"198":{}},"parent":{"199":{},"200":{},"201":{},"202":{}}}],["alternatives",{"_index":161,"name":{"201":{},"206":{},"213":{},"226":{}},"parent":{}}],["anycharacterset",{"_index":34,"name":{"35":{}},"parent":{}}],["append",{"_index":211,"name":{"320":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["assertion",{"_index":162,"name":{"203":{}},"parent":{"204":{},"205":{},"206":{},"207":{},"208":{},"209":{}}}],["assertions",{"_index":65,"name":{"68":{},"355":{}},"parent":{}}],["ast",{"_index":80,"name":{"82":{}},"parent":{}}],["backreferences",{"_index":64,"name":{"67":{}},"parent":{}}],["boundaryassertion",{"_index":25,"name":{"27":{}},"parent":{}}],["char",{"_index":91,"name":{"94":{}},"parent":{}}],["characterclass",{"_index":165,"name":{"218":{}},"parent":{"219":{},"220":{},"221":{},"222":{}}}],["characters",{"_index":166,"name":{"221":{}},"parent":{}}],["charmap",{"_index":124,"name":{"130":{}},"parent":{"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{}}}],["charrange",{"_index":94,"name":{"97":{}},"parent":{"98":{},"99":{}}}],["charset",{"_index":97,"name":{"100":{}},"parent":{"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{}}}],["combinetransformers",{"_index":187,"name":{"263":{}},"parent":{}}],["commoncharacter",{"_index":115,"name":{"119":{}},"parent":{}}],["compare",{"_index":107,"name":{"110":{}},"parent":{}}],["complement",{"_index":243,"name":{"401":{}},"parent":{}}],["concatenation",{"_index":167,"name":{"228":{}},"parent":{"229":{},"230":{},"231":{},"232":{}}}],["constructor",{"_index":125,"name":{"131":{},"187":{},"341":{},"415":{}},"parent":{}}],["copy",{"_index":204,"name":{"283":{},"310":{},"363":{},"398":{}},"parent":{}}],["count",{"_index":227,"name":{"339":{},"348":{},"413":{},"425":{}},"parent":{}}],["createassertion",{"_index":24,"name":{"26":{}},"parent":{}}],["createcharset",{"_index":32,"name":{"33":{}},"parent":{}}],["createnode",{"_index":230,"name":{"344":{},"418":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{},"350":{},"427":{}},"parent":{}}],["delete",{"_index":128,"name":{"139":{}},"parent":{}}],["deleteevery",{"_index":129,"name":{"140":{}},"parent":{}}],["dfa",{"_index":241,"name":{"376":{},"403":{}},"parent":{"377":{},"378":{},"379":{},"380":{},"381":{},"382":{},"383":{},"384":{},"385":{},"386":{},"387":{},"388":{},"389":{},"390":{},"391":{},"392":{},"393":{},"394":{},"395":{},"396":{},"397":{},"398":{},"399":{},"400":{},"401":{},"402":{},"404":{},"407":{},"410":{},"414":{},"427":{},"429":{}}}],["dfa.creationoptions",{"_index":251,"name":{},"parent":{"428":{}}}],["dfa.node",{"_index":245,"name":{},"parent":{"408":{},"409":{}}}],["dfa.nodelist",{"_index":247,"name":{},"parent":{"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{}}}],["dfa.options",{"_index":252,"name":{},"parent":{"430":{}}}],["dfa.readonlynode",{"_index":244,"name":{},"parent":{"405":{},"406":{}}}],["dfa.readonlynodelist",{"_index":246,"name":{},"parent":{"411":{},"412":{},"413":{}}}],["digitcharacterset",{"_index":36,"name":{"37":{}},"parent":{}}],["disableoptimizations",{"_index":66,"name":{"69":{}},"parent":{}}],["dotall",{"_index":51,"name":{"56":{}},"parent":{}}],["element",{"_index":158,"name":{"195":{}},"parent":{}}],["elements",{"_index":168,"name":{"231":{}},"parent":{}}],["empty",{"_index":98,"name":{"101":{},"297":{},"378":{}},"parent":{}}],["end",{"_index":154,"name":{"190":{}},"parent":{}}],["entries",{"_index":123,"name":{"129":{},"146":{}},"parent":{}}],["equals",{"_index":106,"name":{"109":{}},"parent":{}}],["expression",{"_index":73,"name":{"76":{},"223":{}},"parent":{"224":{},"225":{},"226":{},"227":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["faiterator",{"_index":140,"name":{"160":{}},"parent":{"161":{},"162":{},"163":{},"164":{},"165":{}}}],["fastcharacters",{"_index":50,"name":{"54":{}},"parent":{}}],["finals",{"_index":226,"name":{"338":{},"343":{},"412":{},"417":{}},"parent":{}}],["finiteautomaton",{"_index":133,"name":{"148":{}},"parent":{"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{}}}],["flags",{"_index":48,"name":{"53":{},"55":{},"64":{},"73":{}},"parent":{}}],["foreach",{"_index":120,"name":{"126":{},"143":{}},"parent":{}}],["fromast",{"_index":79,"name":{"80":{}},"parent":{}}],["fromfa",{"_index":209,"name":{"301":{},"381":{}},"parent":{}}],["fromintersection",{"_index":206,"name":{"296":{},"377":{}},"parent":{}}],["fromliteral",{"_index":77,"name":{"79":{}},"parent":{}}],["fromregex",{"_index":207,"name":{"299":{}},"parent":{}}],["fromregexoptions",{"_index":236,"name":{"354":{}},"parent":{}}],["fromstringtounicode",{"_index":87,"name":{"90":{}},"parent":{}}],["fromstringtoutf16",{"_index":86,"name":{"89":{}},"parent":{}}],["fromtransitioniterator",{"_index":210,"name":{"302":{},"382":{}},"parent":{}}],["fromunicodetostring",{"_index":85,"name":{"88":{}},"parent":{}}],["fromutf16tostring",{"_index":84,"name":{"87":{}},"parent":{}}],["fromwords",{"_index":208,"name":{"300":{},"380":{}},"parent":{}}],["get",{"_index":119,"name":{"125":{},"136":{}},"parent":{}}],["getout",{"_index":142,"name":{"162":{}},"parent":{}}],["global",{"_index":53,"name":{"57":{}},"parent":{}}],["has",{"_index":111,"name":{"115":{},"122":{},"133":{}},"parent":{}}],["hasevery",{"_index":117,"name":{"123":{},"134":{}},"parent":{}}],["hassome",{"_index":118,"name":{"124":{},"135":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":54,"name":{"58":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":222,"name":{"331":{},"335":{}},"parent":{}}],["infinitythreshold",{"_index":238,"name":{"356":{}},"parent":{}}],["initial",{"_index":141,"name":{"161":{},"337":{},"342":{},"411":{},"416":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":109,"name":{"113":{}},"parent":{}}],["intersectionoptions",{"_index":150,"name":{"184":{}},"parent":{"185":{}}}],["intersectionwords",{"_index":149,"name":{"173":{},"286":{},"318":{},"367":{},"397":{}},"parent":{}}],["intersectionwordsets",{"_index":148,"name":{"172":{},"285":{},"317":{},"366":{},"396":{}},"parent":{}}],["isall",{"_index":103,"name":{"106":{}},"parent":{}}],["isdisjointwith",{"_index":114,"name":{"118":{},"171":{},"284":{},"316":{},"365":{},"395":{}},"parent":{}}],["isempty",{"_index":102,"name":{"105":{},"121":{},"132":{},"149":{},"174":{},"287":{},"306":{},"368":{},"386":{}},"parent":{}}],["isfinal",{"_index":144,"name":{"164":{}},"parent":{}}],["isfinite",{"_index":134,"name":{"150":{},"175":{},"288":{},"307":{},"369":{},"387":{}},"parent":{}}],["issubsetof",{"_index":113,"name":{"117":{}},"parent":{}}],["issupersetof",{"_index":112,"name":{"116":{}},"parent":{}}],["js",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"31":{},"33":{},"34":{},"35":{},"37":{},"40":{},"45":{},"48":{},"51":{},"52":{},"55":{},"62":{},"65":{},"71":{},"74":{},"75":{},"78":{}}}],["js.anycharacterset",{"_index":35,"name":{},"parent":{"36":{}}}],["js.digitcharacterset",{"_index":37,"name":{},"parent":{"38":{},"39":{}}}],["js.flags",{"_index":52,"name":{},"parent":{"56":{},"57":{},"58":{},"59":{},"60":{},"61":{}}}],["js.literal",{"_index":60,"name":{},"parent":{"63":{},"64":{}}}],["js.parseoptions",{"_index":63,"name":{},"parent":{"66":{},"67":{},"68":{},"69":{},"70":{}}}],["js.parser",{"_index":78,"name":{},"parent":{"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{}}}],["js.parseresult",{"_index":74,"name":{},"parent":{"76":{},"77":{}}}],["js.propertycharacterset",{"_index":39,"name":{},"parent":{"41":{},"42":{},"43":{},"44":{}}}],["js.regexppast",{"_index":70,"name":{},"parent":{"72":{},"73":{}}}],["js.spacecharacterset",{"_index":43,"name":{},"parent":{"46":{},"47":{}}}],["js.textboundaryassertion",{"_index":31,"name":{},"parent":{"32":{}}}],["js.toliteraloptions",{"_index":49,"name":{},"parent":{"53":{},"54":{}}}],["js.wordboundaryassertion",{"_index":28,"name":{},"parent":{"29":{},"30":{}}}],["js.wordcharacterset",{"_index":45,"name":{},"parent":{"49":{},"50":{}}}],["key",{"_index":40,"name":{"42":{}},"parent":{}}],["keys",{"_index":121,"name":{"127":{},"144":{}},"parent":{}}],["kind",{"_index":27,"name":{"29":{},"32":{},"36":{},"38":{},"41":{},"46":{},"49":{},"207":{}},"parent":{}}],["lazy",{"_index":164,"name":{"214":{}},"parent":{}}],["linknodes",{"_index":231,"name":{"345":{},"419":{}},"parent":{}}],["list",{"_index":219,"name":{"329":{},"333":{},"405":{},"408":{}},"parent":{}}],["literal",{"_index":58,"name":{"62":{},"81":{}},"parent":{}}],["map",{"_index":130,"name":{"141":{}},"parent":{}}],["maprange",{"_index":131,"name":{"142":{}},"parent":{}}],["max",{"_index":96,"name":{"99":{},"216":{}},"parent":{}}],["maxbackreferencewords",{"_index":62,"name":{"66":{}},"parent":{}}],["maxcharacter",{"_index":75,"name":{"77":{},"83":{},"151":{},"167":{},"176":{},"273":{},"289":{},"304":{},"353":{},"370":{},"384":{},"430":{}},"parent":{}}],["maximum",{"_index":100,"name":{"103":{}},"parent":{}}],["maxnodes",{"_index":67,"name":{"70":{},"158":{},"185":{},"351":{},"357":{},"428":{}},"parent":{}}],["maxoptimizationpasses",{"_index":139,"name":{"159":{}},"parent":{}}],["maxpasses",{"_index":199,"name":{"277":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":95,"name":{"98":{},"215":{}},"parent":{}}],["minimize",{"_index":242,"name":{"400":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":55,"name":{"59":{}},"parent":{}}],["negate",{"_index":29,"name":{"30":{},"39":{},"44":{},"47":{},"50":{},"111":{},"208":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":205,"name":{"295":{},"327":{}},"parent":{"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{},"311":{},"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"328":{},"332":{},"336":{},"340":{},"350":{},"352":{},"354":{}}}],["nfa.creationoptions",{"_index":234,"name":{},"parent":{"351":{}}}],["nfa.fromregexoptions",{"_index":237,"name":{},"parent":{"355":{},"356":{},"357":{}}}],["nfa.node",{"_index":223,"name":{},"parent":{"333":{},"334":{},"335":{}}}],["nfa.nodelist",{"_index":229,"name":{},"parent":{"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{}}}],["nfa.options",{"_index":235,"name":{},"parent":{"353":{}}}],["nfa.readonlynode",{"_index":220,"name":{},"parent":{"329":{},"330":{},"331":{}}}],["nfa.readonlynodelist",{"_index":225,"name":{},"parent":{"337":{},"338":{},"339":{}}}],["node",{"_index":159,"name":{"197":{},"332":{},"407":{}},"parent":{}}],["nodebase",{"_index":155,"name":{"191":{}},"parent":{"192":{},"193":{},"194":{}}}],["nodelist",{"_index":228,"name":{"340":{},"414":{}},"parent":{}}],["nodes",{"_index":201,"name":{"279":{},"303":{},"359":{},"383":{}},"parent":{}}],["noparent",{"_index":169,"name":{"233":{}},"parent":{}}],["onalternation",{"_index":190,"name":{"266":{}},"parent":{}}],["onalternationenter",{"_index":174,"name":{"238":{},"251":{}},"parent":{}}],["onalternationleave",{"_index":175,"name":{"239":{},"252":{}},"parent":{}}],["onassertion",{"_index":191,"name":{"267":{}},"parent":{}}],["onassertionenter",{"_index":176,"name":{"240":{},"253":{}},"parent":{}}],["onassertionleave",{"_index":177,"name":{"241":{},"254":{}},"parent":{}}],["oncharacterclass",{"_index":192,"name":{"268":{}},"parent":{}}],["oncharacterclassenter",{"_index":178,"name":{"242":{},"255":{}},"parent":{}}],["oncharacterclassleave",{"_index":179,"name":{"243":{},"256":{}},"parent":{}}],["onconcatenation",{"_index":193,"name":{"269":{}},"parent":{}}],["onconcatenationenter",{"_index":180,"name":{"244":{},"257":{}},"parent":{}}],["onconcatenationleave",{"_index":181,"name":{"245":{},"258":{}},"parent":{}}],["onexpression",{"_index":194,"name":{"270":{}},"parent":{}}],["onexpressionenter",{"_index":182,"name":{"246":{},"259":{}},"parent":{}}],["onexpressionleave",{"_index":183,"name":{"247":{},"260":{}},"parent":{}}],["onquantifier",{"_index":195,"name":{"271":{}},"parent":{}}],["onquantifierenter",{"_index":184,"name":{"248":{},"261":{}},"parent":{}}],["onquantifierleave",{"_index":185,"name":{"249":{},"262":{}},"parent":{}}],["options",{"_index":202,"name":{"280":{},"305":{},"352":{},"360":{},"385":{},"429":{}},"parent":{}}],["out",{"_index":221,"name":{"330":{},"334":{},"406":{},"409":{}},"parent":{}}],["parent",{"_index":157,"name":{"193":{},"196":{},"200":{},"205":{},"212":{},"220":{},"225":{},"230":{}},"parent":{}}],["parsableelement",{"_index":71,"name":{"74":{}},"parent":{}}],["parse",{"_index":81,"name":{"84":{}},"parent":{}}],["parseelement",{"_index":82,"name":{"85":{}},"parent":{}}],["parseoptions",{"_index":61,"name":{"65":{}},"parent":{}}],["parser",{"_index":76,"name":{"78":{}},"parent":{}}],["parseresult",{"_index":72,"name":{"75":{}},"parent":{}}],["pattern",{"_index":69,"name":{"72":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":89,"name":{"92":{}},"parent":{}}],["pickmostreadableword",{"_index":90,"name":{"93":{}},"parent":{}}],["predefinedcharacterset",{"_index":33,"name":{"34":{}},"parent":{}}],["prefixes",{"_index":215,"name":{"324":{},"402":{}},"parent":{}}],["prepend",{"_index":212,"name":{"321":{}},"parent":{}}],["propertycharacterset",{"_index":38,"name":{"40":{}},"parent":{}}],["quantifier",{"_index":163,"name":{"210":{}},"parent":{"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{}}}],["quantify",{"_index":213,"name":{"322":{}},"parent":{}}],["ranges",{"_index":101,"name":{"104":{}},"parent":{}}],["readonlycharmap",{"_index":116,"name":{"120":{}},"parent":{"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{}}}],["readonlydfa",{"_index":239,"name":{"358":{}},"parent":{"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{}}}],["readonlynfa",{"_index":200,"name":{"278":{}},"parent":{"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{}}}],["readonlynode",{"_index":218,"name":{"328":{},"404":{}},"parent":{}}],["readonlynodelist",{"_index":224,"name":{"336":{},"410":{}},"parent":{}}],["readonlyword",{"_index":93,"name":{"96":{}},"parent":{}}],["regexppast",{"_index":68,"name":{"71":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":233,"name":{"347":{},"424":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["reverse",{"_index":217,"name":{"326":{}},"parent":{}}],["set",{"_index":126,"name":{"137":{}},"parent":{}}],["setevery",{"_index":127,"name":{"138":{}},"parent":{}}],["setparent",{"_index":170,"name":{"234":{}},"parent":{}}],["setsource",{"_index":171,"name":{"235":{}},"parent":{}}],["signalmutation",{"_index":197,"name":{"274":{}},"parent":{}}],["size",{"_index":104,"name":{"107":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":59,"name":{"63":{},"194":{},"202":{},"209":{},"217":{},"222":{},"227":{},"232":{}},"parent":{}}],["sourcelocation",{"_index":152,"name":{"188":{}},"parent":{"189":{},"190":{}}}],["spacecharacterset",{"_index":42,"name":{"45":{}},"parent":{}}],["start",{"_index":153,"name":{"189":{}},"parent":{}}],["stateiterator",{"_index":203,"name":{"281":{},"308":{},"361":{},"388":{}},"parent":{}}],["sticky",{"_index":56,"name":{"60":{}},"parent":{}}],["structurallyequal",{"_index":240,"name":{"364":{},"399":{}},"parent":{}}],["suffixes",{"_index":216,"name":{"325":{}},"parent":{}}],["symbol.iterator",{"_index":132,"name":{"147":{},"349":{},"426":{}},"parent":{}}],["test",{"_index":135,"name":{"152":{},"177":{},"290":{},"311":{},"371":{},"390":{}},"parent":{}}],["textboundaryassertion",{"_index":30,"name":{"31":{}},"parent":{}}],["toliteral",{"_index":46,"name":{"51":{}},"parent":{}}],["toliteraloptions",{"_index":47,"name":{"52":{}},"parent":{}}],["toomanynodeserror",{"_index":151,"name":{"186":{}},"parent":{"187":{}}}],["toregex",{"_index":137,"name":{"156":{},"181":{},"294":{},"315":{},"375":{},"394":{}},"parent":{}}],["toregexoptions",{"_index":138,"name":{"157":{}},"parent":{"158":{},"159":{}}}],["tostring",{"_index":105,"name":{"108":{},"155":{},"180":{},"293":{},"314":{},"374":{},"393":{}},"parent":{}}],["transform",{"_index":188,"name":{"264":{}},"parent":{}}],["transformcontext",{"_index":196,"name":{"272":{}},"parent":{"273":{},"274":{},"275":{}}}],["transformer",{"_index":189,"name":{"265":{}},"parent":{"266":{},"267":{},"268":{},"269":{},"270":{},"271":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":198,"name":{"276":{}},"parent":{"277":{}}}],["transitioniterable",{"_index":145,"name":{"166":{}},"parent":{"167":{},"168":{},"169":{}}}],["transitioniterablefa",{"_index":147,"name":{"170":{}},"parent":{"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{}}}],["transitioniterator",{"_index":146,"name":{"168":{},"182":{},"282":{},"309":{},"362":{},"389":{}},"parent":{}}],["type",{"_index":156,"name":{"192":{},"199":{},"204":{},"211":{},"219":{},"224":{},"229":{}},"parent":{}}],["unicode",{"_index":57,"name":{"61":{}},"parent":{}}],["union",{"_index":108,"name":{"112":{},"319":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unlinknodes",{"_index":232,"name":{"346":{},"423":{}},"parent":{}}],["value",{"_index":41,"name":{"43":{}},"parent":{}}],["values",{"_index":122,"name":{"128":{},"145":{}},"parent":{}}],["visitast",{"_index":172,"name":{"236":{}},"parent":{}}],["visitasthandler",{"_index":173,"name":{"237":{}},"parent":{"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{}}}],["visitnoparentasthandler",{"_index":186,"name":{"250":{}},"parent":{"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["without",{"_index":110,"name":{"114":{}},"parent":{}}],["withoutemptyword",{"_index":214,"name":{"323":{}},"parent":{}}],["word",{"_index":92,"name":{"95":{}},"parent":{}}],["wordboundaryassertion",{"_index":26,"name":{"28":{}},"parent":{}}],["wordcharacterset",{"_index":44,"name":{"48":{}},"parent":{}}],["words",{"_index":83,"name":{"86":{},"153":{},"178":{},"291":{},"313":{},"372":{},"392":{}},"parent":{"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{}}}],["wordsets",{"_index":136,"name":{"154":{},"179":{},"292":{},"312":{},"373":{},"391":{}},"parent":{}}],["wordsettowords",{"_index":88,"name":{"91":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.7.0/classes/charmap.html b/docs/v0.7.0/classes/charmap.html new file mode 100644 index 00000000..3449fae2 --- /dev/null +++ b/docs/v0.7.0/classes/charmap.html @@ -0,0 +1,714 @@ + + + + + + CharMap | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharMap<T>

+
+
+
+
+
+
+
+
+
+

A map from characters to generic values.

+
+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated + as one character range. The equality of values is given by a custom equal function or JavaScript's strict equality + operator (===).

+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + CharMap +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CharMap<T>(equalFn?: (a: T, b: T) => boolean): CharMap<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      Optional equalFn: (a: T, b: T) => boolean
      +
        +
      • +
          +
        • (a: T, b: T): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            a: T
            +
          • +
          • +
            b: T
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns CharMap<T>

    +
  • +
+
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<[CharRange, T]>
  • +
+
    +
  • + +

    Returns IterableIterator<[CharRange, T]>

    +
  • +
+
+
+ +

delete

+
    +
  • delete(char: Char): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

deleteEvery

+ +
    +
  • + +
    +
    +

    Deletes all characters in the given range.

    +
    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

entries

+ + +
+
+ +

forEach

+ + +
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

map

+ + +
+
+ +

mapRange

+ + +
+
+ +

set

+
    +
  • set(char: Char, value: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    • +
      value: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setEvery

+
    +
  • setEvery(chars: CharRange, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given range.

    +
    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      chars: CharRange
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

values

+
    +
  • values(): IterableIterator<T>
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/charset.html b/docs/v0.7.0/classes/charset.html new file mode 100644 index 00000000..c41417ef --- /dev/null +++ b/docs/v0.7.0/classes/charset.html @@ -0,0 +1,729 @@ + + + + + + CharSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharSet

+
+
+
+
+
+
+
+
+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+
+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • + CharSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maximum

+
maximum: Char
+ +
+
+

The greatest character which can be element of the set.

+
+
+
+
+ +

Readonly ranges

+
ranges: readonly CharRange[]
+ +
+
+

An array of ranges representing this character set.

+
+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+
+

Accessors

+
+ +

isAll

+
    +
  • get isAll(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in + the set.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if this set doesn't contain any characters.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of unique characters in the set.

    +
    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

commonCharacter

+ +
    +
  • + +
    +
    +

    Returns any one of the common characters of this set and the given set or range.

    +
    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +

    Parameters

    + +

    Returns undefined | Char

    +
  • +
+
+
+ +

compare

+
    +
  • compare(other: CharSet): number
  • +
+
    +
  • + +
    +
    +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are + always guaranteed to return 0.

    +
    +

    The order defined by this function is guaranteed to be a + total order. Apart from this, no other guarantees are given.

    +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

equals

+
    +
  • equals(other: CharSet): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this and the given character set are equivalent.

    +
    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and + maximum.
    6. +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

has

+
    +
  • has(character: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

intersect

+ +
    +
  • + +
    +
    +

    Returns the intersection of this set and the given set + and character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

isSubsetOf

+ + +
+
+ +

isSupersetOf

+ + +
+
+ +

negate

+ +
    +
  • + +
    +
    +

    Returns the complement of this set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +

    Returns CharSet

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the character set.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

union

+ +
    +
  • + +
    +
    +

    Returns the union of this set and all given sets and + character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the + maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

without

+ +
    +
  • + +
    +
    +

    Returns a set that contains all characters of this set that are not in the given set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which can be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/dfa.html b/docs/v0.7.0/classes/dfa.html new file mode 100644 index 00000000..77267ed1 --- /dev/null +++ b/docs/v0.7.0/classes/dfa.html @@ -0,0 +1,860 @@ + + + + + + DFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DFA

+
+
+
+
+
+
+
+ +
+
+

Hierarchy

+
    +
  • + DFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

complement

+
    +
  • complement(): void
  • +
+
    +
  • + +
    +
    +

    Complements this DFA.

    +
    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this + function.

    +
    +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

minimize

+
    +
  • minimize(): void
  • +
+
    +
  • + +
    +
    +

    Minimizes this DFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromTransitionIterator

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      InputNode

      +
    • +
    +

    Parameters

    + +

    Returns DFA

    +
  • +
+
+
+ +

Static fromWords

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/dfa.nodelist.html b/docs/v0.7.0/classes/dfa.nodelist.html new file mode 100644 index 00000000..fd99013d --- /dev/null +++ b/docs/v0.7.0/classes/dfa.nodelist.html @@ -0,0 +1,478 @@ + + + + + + NodeList | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+ +

Readonly initial

+
initial: Node
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<Node>
  • +
+
    +
  • + +

    Returns IterableIterator<Node>

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharRange

+
    +
  • _uncheckedLinkNodesWithCharRange(from: Node, to: Node, characters: CharRange): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharSet

+
    +
  • _uncheckedLinkNodesWithCharSet(from: Node, to: Node, characters: CharSet): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharacter

+
    +
  • _uncheckedLinkNodesWithCharacter(from: Node, to: Node, character: Char): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +

    Returns Node

    +
  • +
+
+
+ +

linkNodes

+ + +
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/js.parser.html b/docs/v0.7.0/classes/js.parser.html new file mode 100644 index 00000000..ac36df11 --- /dev/null +++ b/docs/v0.7.0/classes/js.parser.html @@ -0,0 +1,408 @@ + + + + + + Parser | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Parser

+
+
+
+
+
+
+
+
+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+
+

Hierarchy

+
    +
  • + Parser +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly ast

+ + +
+
+

The parsed AST of the literal this parser works on.

+
+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations + based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +

Readonly literal

+
literal: Literal
+ +
+
+

The literal of the parser instance.

+
+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the parsed AST.

+
+

This value will also be returned as part of the ParseResult.

+
+
+
+
+

Methods

+
+ +

parse

+ +
    +
  • + +
    +
    +

    Parsed the entire literal.

    +
    +
    +

    Parameters

    + +

    Returns ParseResult

    +
  • +
+
+
+ +

parseElement

+ + +
+
+ +

Static fromAst

+ +
    +
  • + +
    +
    +

    Creates a new parser from the given regexpp AST.

    +
    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex + again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +

    Parameters

    + +

    Returns Parser

    +
  • +
+
+
+ +

Static fromLiteral

+
    +
  • fromLiteral(literal: Literal, parserOptions?: Options): Parser
  • +
+
    +
  • + +
    +
    +

    Creates a new parser from the given literal.

    +
    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the + given RegExp parser options.

    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
      +
      +
    • +
    +

    Returns Parser

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/nfa.html b/docs/v0.7.0/classes/nfa.html new file mode 100644 index 00000000..d7260e7d --- /dev/null +++ b/docs/v0.7.0/classes/nfa.html @@ -0,0 +1,1057 @@ + + + + + + NFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NFA

+
+
+
+
+
+
+
+
+ +

This class implements epsilon-free NFAs.

+
+
+
+

Hierarchy

+
    +
  • + NFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverse

+
    +
  • reverse(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

withoutEmptyWord

+
    +
  • withoutEmptyWord(): void
  • +
+
    +
  • + +
    +
    +

    Removes the empty word from the accepted languages of this NFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      InputNode

      +
    • +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/nfa.nodelist.html b/docs/v0.7.0/classes/nfa.nodelist.html new file mode 100644 index 00000000..f29ddcbe --- /dev/null +++ b/docs/v0.7.0/classes/nfa.nodelist.html @@ -0,0 +1,412 @@ + + + + + + NodeList | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+

The set of final states of this list.

+
+
+
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/classes/toomanynodeserror.html b/docs/v0.7.0/classes/toomanynodeserror.html new file mode 100644 index 00000000..886f334a --- /dev/null +++ b/docs/v0.7.0/classes/toomanynodeserror.html @@ -0,0 +1,175 @@ + + + + + + TooManyNodesError | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TooManyNodesError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when an operation causes too many nodes to be created.

+
+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in + the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely + abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + TooManyNodesError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns TooManyNodesError

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/index.html b/docs/v0.7.0/index.html new file mode 100644 index 00000000..802355ab --- /dev/null +++ b/docs/v0.7.0/index.html @@ -0,0 +1,491 @@ + + + + + + refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.7.0

+
+
+
+
+
+
+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status + npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ +

Features

+
+
    +
  • Conversions

    +
      +
    • RE to NFA (assertions are not implemented yet)
    • +
    • NFA to DFA and DFA to NFA
    • +
    • NFA to RE and DFA to RE
    • +
    +
  • +
  • DFA and NFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print internal representation in a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the language of an FA is the empty set/a finite set
    • +
    • Accept all prefixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    • Accept all suffixes of a language
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE and RE to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+ +

Converting to and from the RE AST format

+
+

JavaScript RegExp can be converted to the RE AST format by using JS.Parser. JS.toLiteral converts into the other direction. (Note that the conversion from JS RegExp to the RE AST format is lossy (capturing groups) and sometime impossible due to the limitations of the RE AST format.)

+

Converters for other regex dialects might be added in the future as separate packages.

+ +

Universal characters

+
+

refa does not use JavaScript string represent characters or a sequence of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+ +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";
+
+function toNFA(regex: RegExp): NFA {
+    const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+    return NFA.fromRegex(expression, { maxCharacter });
+}
+function toDFA(regex: RegExp): DFA {
+    return DFA.fromFA(toNFA(regex));
+}
+function toRegExp(fa: FiniteAutomaton): RegExp {
+    const literal = JS.toLiteral(fa.toRegex());
+    return new RegExp(literal.source, literal.flags);
+}
+
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ +

Testing whether a word is accepted

+
+
import { Words } from "refa";
+
+const regex = /\w+\d+/;
+const nfa = toNFA(regex);
+
+console.log(nfa.test(Words.fromStringToUTF16("abc")));
+// => false
+console.log(nfa.test(Words.fromStringToUTF16("123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("abc123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("123abc")));
+// => false
+
+ +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
+const regex2 = /Ab*C\d?/;
+
+const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));
+
+console.log(toRegExp(intersection));
+// => /Ab+C/
+
+ +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;
+
+const dfa = toDFA(regex);
+dfa.complement();
+
+console.log(toRegExp(dfa));
+// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i
+
+ +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
+// => /".*"|'.*'/i
+
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
+// Error: Backreferences are not supported.
+
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
+const parseResult = JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });
+
+console.log(JS.toLiteral(parseResult.expression));
+// => { source: 'foo', flags: '' }
+
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+NFA.fromRegex(expression, { maxCharacter });
+// Error: Assertions are not supported yet.
+
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: '->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter });
+console.log(toRegExp(nfa));
+// => /->/i
+
+
+

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
+console.log(toRegExp(nfa));
+// => /->/i
+
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";
+
+const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const applyTransformer = combineTransformers([
+    Transformers.inline(),
+    Transformers.removeDeadBranches(),
+    Transformers.removeUnnecessaryAssertions(),
+    Transformers.sortAssertions(),
+    Transformers.applyAssertions(),
+    Transformers.removeUnnecessaryAssertions(),
+]);
+const modifiedExpression = transform(applyTransformer, expression);
+
+console.log(JS.toLiteral(modifiedExpression));
+// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }
+
+// Most assertions have been removed but the patterns are still equivalent.
+// The only assertions left assert characters beyond the edge of the pattern.
+// Removing those assertions is easy but slightly changes the pattern.
+
+const edgeAssertionTransformer = Transformers.patternEdgeAssertions({ remove: true });
+const finalExpression = transform(edgeAssertionTransformer, modifiedExpression);
+
+console.log(JS.toLiteral(finalExpression));
+// => { source: '[A-Z_]\\w*|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
+
+console.log(JS.toLiteral(nfa.toRegex()));
+// => { source: '->|[A-Z_]\\w*', flags: 'i' }
+
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/alternation.html b/docs/v0.7.0/interfaces/alternation.html new file mode 100644 index 00000000..d0513798 --- /dev/null +++ b/docs/v0.7.0/interfaces/alternation.html @@ -0,0 +1,188 @@ + + + + + + Alternation | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Alternation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Alternation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Alternation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/assertion.html b/docs/v0.7.0/interfaces/assertion.html new file mode 100644 index 00000000..fd525733 --- /dev/null +++ b/docs/v0.7.0/interfaces/assertion.html @@ -0,0 +1,210 @@ + + + + + + Assertion | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Assertion

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

kind

+
kind: "ahead" | "behind"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Assertion"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/characterclass.html b/docs/v0.7.0/interfaces/characterclass.html new file mode 100644 index 00000000..a746954e --- /dev/null +++ b/docs/v0.7.0/interfaces/characterclass.html @@ -0,0 +1,188 @@ + + + + + + CharacterClass | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharacterClass

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + CharacterClass +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

characters

+
characters: CharSet
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "CharacterClass"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/charrange.html b/docs/v0.7.0/interfaces/charrange.html new file mode 100644 index 00000000..73120536 --- /dev/null +++ b/docs/v0.7.0/interfaces/charrange.html @@ -0,0 +1,178 @@ + + + + + + CharRange | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharRange

+
+
+
+
+
+
+
+
+
+

An immutable interval of Chars with inclusive ends.

+
+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • + CharRange +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly max

+
max: Char
+ +
+
+

The inclusive maximum of the interval.

+
+

This value has to be greater or equal to min.

+
+
+
+ +

Readonly min

+
min: Char
+ +
+
+

The inclusive minimum of the interval.

+
+

This value has to be less or equal to max.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/concatenation.html b/docs/v0.7.0/interfaces/concatenation.html new file mode 100644 index 00000000..11741ed0 --- /dev/null +++ b/docs/v0.7.0/interfaces/concatenation.html @@ -0,0 +1,188 @@ + + + + + + Concatenation | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Concatenation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Concatenation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

elements

+
elements: Element[]
+ +
+
+ +

parent

+
parent: Parent
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/dfa.creationoptions.html b/docs/v0.7.0/interfaces/dfa.creationoptions.html new file mode 100644 index 00000000..e5ef0eb5 --- /dev/null +++ b/docs/v0.7.0/interfaces/dfa.creationoptions.html @@ -0,0 +1,203 @@ + + + + + + CreationOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a DFA will be created.

+
+
+
+
+

Hierarchy

+
    +
  • + CreationOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the DFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the DFA creation operation may create as many nodes as + necessary to construct the DFA. This might cause the machine to run out of memory. I.e. the conversion from + NFA to DFA may create O(2^n) many nodes and an intersection may created O(n * m) many.

+

Note: This limit describes the maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/dfa.node.html b/docs/v0.7.0/interfaces/dfa.node.html new file mode 100644 index 00000000..77b11806 --- /dev/null +++ b/docs/v0.7.0/interfaces/dfa.node.html @@ -0,0 +1,198 @@ + + + + + + Node | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/dfa.options.html b/docs/v0.7.0/interfaces/dfa.options.html new file mode 100644 index 00000000..5ee4e060 --- /dev/null +++ b/docs/v0.7.0/interfaces/dfa.options.html @@ -0,0 +1,186 @@ + + + + + + Options | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/dfa.readonlynode.html b/docs/v0.7.0/interfaces/dfa.readonlynode.html new file mode 100644 index 00000000..67883bfb --- /dev/null +++ b/docs/v0.7.0/interfaces/dfa.readonlynode.html @@ -0,0 +1,196 @@ + + + + + + ReadonlyNode | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/dfa.readonlynodelist.html b/docs/v0.7.0/interfaces/dfa.readonlynodelist.html new file mode 100644 index 00000000..c22f65d0 --- /dev/null +++ b/docs/v0.7.0/interfaces/dfa.readonlynodelist.html @@ -0,0 +1,235 @@ + + + + + + ReadonlyNodeList | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/expression.html b/docs/v0.7.0/interfaces/expression.html new file mode 100644 index 00000000..898cdc53 --- /dev/null +++ b/docs/v0.7.0/interfaces/expression.html @@ -0,0 +1,188 @@ + + + + + + Expression | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Expression

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+
parent: null
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Expression"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/faiterator.html b/docs/v0.7.0/interfaces/faiterator.html new file mode 100644 index 00000000..397d928b --- /dev/null +++ b/docs/v0.7.0/interfaces/faiterator.html @@ -0,0 +1,260 @@ + + + + + + FAIterator | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FAIterator<S, O>

+
+
+
+
+
+
+
+
+
+

A graph iterator for all states of an FA with final states.

+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state in the FA to iterate.

    +
    +
    +
  • +
  • +

    O = Iterable<S>

    +
    +
    +

    The type of the value each state maps to.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FAIterator +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly getOut

+
getOut: (state: S) => O
+ +
+
+

Returns the value a state maps to.

+
+

This function is guaranteed to be deterministic during the time the iterator is used. Subsequent invocations will + always return values that are equal to the first returned value. Equality is defined by + the key equality of the Map class. + This function is also guaranteed to be sufficiently fast, usually O(1) can be assumed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns O

      +
    • +
    +
  • +
+
+
+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Readonly isFinal

+
isFinal: (state: S) => boolean
+ +
+
+

Returns whether the given state is a final state.

+
+

This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be + sufficiently fast, usually O(1) can be assumed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns boolean

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/finiteautomaton.html b/docs/v0.7.0/interfaces/finiteautomaton.html new file mode 100644 index 00000000..0df67086 --- /dev/null +++ b/docs/v0.7.0/interfaces/finiteautomaton.html @@ -0,0 +1,336 @@ + + + + + + FiniteAutomaton | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FiniteAutomaton

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+
+

Methods

+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/intersectionoptions.html b/docs/v0.7.0/interfaces/intersectionoptions.html new file mode 100644 index 00000000..cf66d117 --- /dev/null +++ b/docs/v0.7.0/interfaces/intersectionoptions.html @@ -0,0 +1,160 @@ + + + + + + IntersectionOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface IntersectionOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + IntersectionOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the intersection operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is unset or set to Infinity, the intersection operation may create as many nodes + as necessary to construct the intersection. This might cause the machine to run out of memory.

+
+
default
+

Infinity

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.anycharacterset.html b/docs/v0.7.0/interfaces/js.anycharacterset.html new file mode 100644 index 00000000..d189621d --- /dev/null +++ b/docs/v0.7.0/interfaces/js.anycharacterset.html @@ -0,0 +1,222 @@ + + + + + + AnyCharacterSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface AnyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + AnyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "any"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.digitcharacterset.html b/docs/v0.7.0/interfaces/js.digitcharacterset.html new file mode 100644 index 00000000..c2c687f5 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.digitcharacterset.html @@ -0,0 +1,233 @@ + + + + + + DigitCharacterSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface DigitCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DigitCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "digit"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.flags.html b/docs/v0.7.0/interfaces/js.flags.html new file mode 100644 index 00000000..8f7be9e0 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.flags.html @@ -0,0 +1,326 @@ + + + + + + Flags | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Flags

+
+
+
+
+
+
+
+
+
+

A partial set of RegExp flags.

+
+
+
+
+

Hierarchy

+
    +
  • + Flags +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional dotAll

+
dotAll: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional global

+
global: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreCase

+
ignoreCase: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional multiline

+
multiline: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional sticky

+
sticky: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional unicode

+
unicode: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.literal.html b/docs/v0.7.0/interfaces/js.literal.html new file mode 100644 index 00000000..4e72cb13 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.literal.html @@ -0,0 +1,242 @@ + + + + + + Literal | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Literal

+
+
+
+
+
+
+
+
+
+

A light-weight representation of a + JavaScript RegExp object.

+
+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • + Literal +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: string
+ +
+
+ +

Readonly source

+
source: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.parseoptions.html b/docs/v0.7.0/interfaces/js.parseoptions.html new file mode 100644 index 00000000..460d9c14 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.parseoptions.html @@ -0,0 +1,352 @@ + + + + + + ParseOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw" | "parse"
+ +
+
+

How the parser will handle assertions.

+
+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions + (e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all + paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
+
+
default
+

"parse"

+
+
+
+
+
+ +

Optional backreferences

+
backreferences: undefined | "disable" | "throw"
+ +
+
+

How to the parser will handle unresolved backreferences.

+
+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing + a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)([]|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because + of the empty character class.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional disableOptimizations

+
disableOptimizations: undefined | boolean
+ +
+
+

By default, the parser will try to optimize the generated RE as much as possible.

+
+

If set to true, all trivial optimizations will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These optimization might prevent that certain backreferences or assertions from throwing an error.

+
+
default
+

false

+
+
+
+
+
+ +

Optional maxBackreferenceWords

+
maxBackreferenceWords: undefined | number
+ +
+
+

The maximum number of words a backreference can be replaced by.

+
+

Set this to 0 to disable resolving backreferences.

+
+
default
+

100

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the parser is allowed to create.

+
+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.parseresult.html b/docs/v0.7.0/interfaces/js.parseresult.html new file mode 100644 index 00000000..76de4122 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.parseresult.html @@ -0,0 +1,233 @@ + + + + + + ParseResult | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

expression

+
expression: Expression
+ +
+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.propertycharacterset.html b/docs/v0.7.0/interfaces/js.propertycharacterset.html new file mode 100644 index 00000000..0ced5b90 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.propertycharacterset.html @@ -0,0 +1,255 @@ + + + + + + PropertyCharacterSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PropertyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + PropertyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

key

+
key: string
+ +
+
+ +

kind

+
kind: "property"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

value

+
value: null | string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.regexppast.html b/docs/v0.7.0/interfaces/js.regexppast.html new file mode 100644 index 00000000..55768443 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.regexppast.html @@ -0,0 +1,233 @@ + + + + + + RegexppAst | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegexppAst

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegexppAst +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: Flags
+ +
+
+ +

Readonly pattern

+
pattern: Pattern
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.spacecharacterset.html b/docs/v0.7.0/interfaces/js.spacecharacterset.html new file mode 100644 index 00000000..d58a8915 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.spacecharacterset.html @@ -0,0 +1,233 @@ + + + + + + SpaceCharacterSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SpaceCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "space"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.textboundaryassertion.html b/docs/v0.7.0/interfaces/js.textboundaryassertion.html new file mode 100644 index 00000000..652fc3a5 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.textboundaryassertion.html @@ -0,0 +1,222 @@ + + + + + + TextBoundaryAssertion | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TextBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "end" | "start"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.toliteraloptions.html b/docs/v0.7.0/interfaces/js.toliteraloptions.html new file mode 100644 index 00000000..ca1d70a7 --- /dev/null +++ b/docs/v0.7.0/interfaces/js.toliteraloptions.html @@ -0,0 +1,256 @@ + + + + + + ToLiteralOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToLiteralOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToLiteralOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fastCharacters

+
fastCharacters: undefined | boolean
+ +
+
+

This will force the function to print characters as fast as possible.

+
+

Literals created with this option will usually be created about 10x faster but the result will usually be very + hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
default
+

false

+
+
+
+
+
+ +

Optional flags

+
flags: undefined | Flags
+ +
+
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+
+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that + are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are + given, the implementation will generally try to choose flags such that it can create literal that is as + small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.wordboundaryassertion.html b/docs/v0.7.0/interfaces/js.wordboundaryassertion.html new file mode 100644 index 00000000..202a5edd --- /dev/null +++ b/docs/v0.7.0/interfaces/js.wordboundaryassertion.html @@ -0,0 +1,233 @@ + + + + + + WordBoundaryAssertion | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/js.wordcharacterset.html b/docs/v0.7.0/interfaces/js.wordcharacterset.html new file mode 100644 index 00000000..be8fe8ff --- /dev/null +++ b/docs/v0.7.0/interfaces/js.wordcharacterset.html @@ -0,0 +1,233 @@ + + + + + + WordCharacterSet | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.creationoptions.html b/docs/v0.7.0/interfaces/nfa.creationoptions.html new file mode 100644 index 00000000..5f5bbb37 --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.creationoptions.html @@ -0,0 +1,211 @@ + + + + + + CreationOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a NFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.fromregexoptions.html b/docs/v0.7.0/interfaces/nfa.fromregexoptions.html new file mode 100644 index 00000000..2eb4b086 --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.fromregexoptions.html @@ -0,0 +1,257 @@ + + + + + + FromRegexOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw"
+ +
+
+

How to handle assertions when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: undefined | number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.node.html b/docs/v0.7.0/interfaces/nfa.node.html new file mode 100644 index 00000000..df61762a --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.node.html @@ -0,0 +1,213 @@ + + + + + + Node | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.options.html b/docs/v0.7.0/interfaces/nfa.options.html new file mode 100644 index 00000000..b394c0f1 --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.options.html @@ -0,0 +1,189 @@ + + + + + + Options | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.readonlynode.html b/docs/v0.7.0/interfaces/nfa.readonlynode.html new file mode 100644 index 00000000..5ebc0bc4 --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.readonlynode.html @@ -0,0 +1,210 @@ + + + + + + ReadonlyNode | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nfa.readonlynodelist.html b/docs/v0.7.0/interfaces/nfa.readonlynodelist.html new file mode 100644 index 00000000..de9a8ad4 --- /dev/null +++ b/docs/v0.7.0/interfaces/nfa.readonlynodelist.html @@ -0,0 +1,238 @@ + + + + + + ReadonlyNodeList | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/nodebase.html b/docs/v0.7.0/interfaces/nodebase.html new file mode 100644 index 00000000..009e7d86 --- /dev/null +++ b/docs/v0.7.0/interfaces/nodebase.html @@ -0,0 +1,189 @@ + + + + + + NodeBase | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface NodeBase

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Expression" | "CharacterClass" | "Alternation" | "Quantifier" | "Assertion" | "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/quantifier.html b/docs/v0.7.0/interfaces/quantifier.html new file mode 100644 index 00000000..13aed5ac --- /dev/null +++ b/docs/v0.7.0/interfaces/quantifier.html @@ -0,0 +1,221 @@ + + + + + + Quantifier | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Quantifier

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

lazy

+
lazy: boolean
+ +
+
+ +

max

+
max: number
+ +
+
+ +

min

+
min: number
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Quantifier"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/readonlycharmap.html b/docs/v0.7.0/interfaces/readonlycharmap.html new file mode 100644 index 00000000..a2c48380 --- /dev/null +++ b/docs/v0.7.0/interfaces/readonlycharmap.html @@ -0,0 +1,417 @@ + + + + + + ReadonlyCharMap | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Iterable<[CharRange, T]> +
      +
    • + ReadonlyCharMap +
    • +
    +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

isEmpty

+
isEmpty: boolean
+ +
+
+
+

Methods

+
+ +

entries

+ +
    +
  • + +

    Parameters

    + +

    Returns Iterable<[CharRange, T]>

    +
  • +
+
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

values

+
    +
  • values(): Iterable<T>
  • +
+
    +
  • + +

    Returns Iterable<T>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/readonlydfa.html b/docs/v0.7.0/interfaces/readonlydfa.html new file mode 100644 index 00000000..a4c1b438 --- /dev/null +++ b/docs/v0.7.0/interfaces/readonlydfa.html @@ -0,0 +1,567 @@ + + + + + + ReadonlyDFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyDFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+ +
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/readonlynfa.html b/docs/v0.7.0/interfaces/readonlynfa.html new file mode 100644 index 00000000..4c7582ab --- /dev/null +++ b/docs/v0.7.0/interfaces/readonlynfa.html @@ -0,0 +1,535 @@ + + + + + + ReadonlyNFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+ +
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/sourcelocation.html b/docs/v0.7.0/interfaces/sourcelocation.html new file mode 100644 index 00000000..8d4c04bf --- /dev/null +++ b/docs/v0.7.0/interfaces/sourcelocation.html @@ -0,0 +1,158 @@ + + + + + + SourceLocation | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SourceLocation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SourceLocation +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

end

+
end: number
+ +
+
+ +

start

+
start: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/toregexoptions.html b/docs/v0.7.0/interfaces/toregexoptions.html new file mode 100644 index 00000000..2718c5a5 --- /dev/null +++ b/docs/v0.7.0/interfaces/toregexoptions.html @@ -0,0 +1,178 @@ + + + + + + ToRegexOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToRegexOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of RE AST nodes the implementation is allowed to create.

+
+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This + maximum will be check before any optimization passes.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional maxOptimizationPasses

+
maxOptimizationPasses: undefined | number
+ +
+
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+
+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize + the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformcontext.html b/docs/v0.7.0/interfaces/transformcontext.html new file mode 100644 index 00000000..81e4e085 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformcontext.html @@ -0,0 +1,185 @@ + + + + + + TransformContext | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformContext

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformContext +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the AST.

+
+

If the expression to transform does not contain any characters at the start of the transformation, then this + value will be 0.

+
+
+
+ +

Readonly signalMutation

+
signalMutation: () => void
+ +
+
+

Signals that the transformer changed the AST.

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    +
      +
    • +

      Returns void

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformer.html b/docs/v0.7.0/interfaces/transformer.html new file mode 100644 index 00000000..5f82bb57 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformer.html @@ -0,0 +1,310 @@ + + + + + + Transformer | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Transformer

+
+
+
+
+
+
+
+
+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. + They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure + functions.

+
+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change + the given AST.

+
+
+
+

Hierarchy

+
    +
  • + Transformer +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternation

+ + +
+
+ +

Optional onAssertion

+ + +
+
+ +

Optional onCharacterClass

+ + +
+
+ +

Optional onConcatenation

+ + +
+
+ +

Optional onExpression

+ + +
+
+ +

Optional onQuantifier

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformers.creationoptions.html b/docs/v0.7.0/interfaces/transformers.creationoptions.html new file mode 100644 index 00000000..4bae0189 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformers.creationoptions.html @@ -0,0 +1,247 @@ + + + + + + CreationOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformers.patternedgeassertionscreationoptions.html b/docs/v0.7.0/interfaces/transformers.patternedgeassertionscreationoptions.html new file mode 100644 index 00000000..3a865740 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformers.patternedgeassertionscreationoptions.html @@ -0,0 +1,282 @@ + + + + + + PatternEdgeAssertionsCreationOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional inline

+
inline: undefined | boolean
+ +
+
+
default
+

true

+
+
+
+
+
+ +

Optional remove

+
remove: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformers.removeassertionscreationoptions.html b/docs/v0.7.0/interfaces/transformers.removeassertionscreationoptions.html new file mode 100644 index 00000000..b89bb259 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformers.removeassertionscreationoptions.html @@ -0,0 +1,264 @@ + + + + + + RemoveAssertionsCreationOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional replacement

+
replacement: undefined | "empty-set" | "empty-word"
+ +
+
+
default
+

"empty-set"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transformoptions.html b/docs/v0.7.0/interfaces/transformoptions.html new file mode 100644 index 00000000..6a187d29 --- /dev/null +++ b/docs/v0.7.0/interfaces/transformoptions.html @@ -0,0 +1,159 @@ + + + + + + TransformOptions | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxPasses

+
maxPasses: undefined | number
+ +
+
+

The maximum number of times the transformer will be applied to the AST.

+
+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified + anymore.

+
+
default
+

10

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transitioniterable.html b/docs/v0.7.0/interfaces/transitioniterable.html new file mode 100644 index 00000000..f3882f05 --- /dev/null +++ b/docs/v0.7.0/interfaces/transitioniterable.html @@ -0,0 +1,178 @@ + + + + + + TransitionIterable | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterable

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => FAIterator<any, ReadonlyMap<unknown, CharSet>>
+ +
+

Type declaration

+ +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/transitioniterablefa.html b/docs/v0.7.0/interfaces/transitioniterablefa.html new file mode 100644 index 00000000..6a7a5eaf --- /dev/null +++ b/docs/v0.7.0/interfaces/transitioniterablefa.html @@ -0,0 +1,483 @@ + + + + + + TransitionIterableFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterableFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly transitionIterator

+
transitionIterator: () => FAIterator<any, ReadonlyMap<unknown, CharSet>>
+ +
+

Type declaration

+ +
+
+
+
+

Methods

+
+ +

intersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to NFA.fromIntersection(this, other).wordSets() but implemented more efficiently.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

intersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to NFA.fromIntersection(this, other).words() but implemented more efficiently.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/visitasthandler.html b/docs/v0.7.0/interfaces/visitasthandler.html new file mode 100644 index 00000000..1bf03447 --- /dev/null +++ b/docs/v0.7.0/interfaces/visitasthandler.html @@ -0,0 +1,424 @@ + + + + + + VisitAstHandler | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/interfaces/visitnoparentasthandler.html b/docs/v0.7.0/interfaces/visitnoparentasthandler.html new file mode 100644 index 00000000..233fe172 --- /dev/null +++ b/docs/v0.7.0/interfaces/visitnoparentasthandler.html @@ -0,0 +1,424 @@ + + + + + + VisitNoParentAstHandler | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitNoParentAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+
    +
  • onAlternationEnter(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+
    +
  • onAlternationLeave(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+
    +
  • onConcatenationEnter(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+
    +
  • onConcatenationLeave(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+
    +
  • onExpressionEnter(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+
    +
  • onExpressionLeave(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+
    +
  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+
    +
  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules.html b/docs/v0.7.0/modules.html new file mode 100644 index 00000000..dc1ca99c --- /dev/null +++ b/docs/v0.7.0/modules.html @@ -0,0 +1,585 @@ + + + + + + refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.7.0

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Char

+
Char: number & { __char?: never }
+ +
+
+

A character is a non-negative integer.

+
+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or + Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even + text in general since the integers used as character may represent arbitrary concepts.

+

The only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
+ +

Element

+ + +
+
+ +

NoParent

+
NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+ +
+
+

A view of an AST node that hides the parent property.

+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Node

+ + +
+
+ +

Parent

+ + +
+
+ +

ReadonlyWord

+
ReadonlyWord: readonly Char[]
+ +
+
+

An immutable finite sequence of Chars.

+
+

This is an immutable view on a Word.

+
+
+
+ +

Word

+
Word: Char[]
+ +
+
+

A word is finite sequence of Chars.

+
+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on + Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string + representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
+

Functions

+
+ +

combineTransformers

+ +
    +
  • + +
    +
    +

    Creates a new transformer that performs all given transformers in sequentially in order for each node.

    +
    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are + given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

setParent

+
    +
  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +
+
    +
  • + +
    +
    +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type parameters

    + +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +
      +

      The parent of node.

      +
      +
    • +
    +

    Returns asserts node is T

    +
  • +
+
+
+ +

setSource

+ +
    +
  • + +
    +
    +

    Sets the source property of the given node and all of its child nodes.

    +
    +

    If source is not a function, then the source object will be copied for all source properties to be set. The + object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

transform

+ +
    +
  • + +
    +
    +

    Transforms the given expression according to the given transformer.

    +
    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

visitAst

+ +
    +
  • + +
    +
    +

    Calls the given visitor on the given node and all of its children.

    +
    +

    If the given visitor throws an error, the traversal will stop and the error will be re-thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules/dfa.html b/docs/v0.7.0/modules/dfa.html new file mode 100644 index 00000000..d7d7dcb6 --- /dev/null +++ b/docs/v0.7.0/modules/dfa.html @@ -0,0 +1,172 @@ + + + + + + DFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace DFA

+
+
+
+
+
+
+
+
+
+

A namespace for DFA-specific classes and interfaces.

+
+
+
see
+

DFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules/js.html b/docs/v0.7.0/modules/js.html new file mode 100644 index 00000000..7f8d74e0 --- /dev/null +++ b/docs/v0.7.0/modules/js.html @@ -0,0 +1,387 @@ + + + + + + JS | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace JS

+
+
+
+
+
+
+
+
+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+
+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the + ECMAScript standard.

+
+
see
+

Parser: A class to convert from JS RegExp to refa AST.

+
+
see
+

toLiteral: A function to convert from refa AST to JS RegExp.

+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

BoundaryAssertion

+ + +
+
+ +

ParsableElement

+
ParsableElement: AST.Group | AST.CapturingGroup | AST.Pattern | AST.Alternative
+ +
+
+ +

PredefinedCharacterSet

+ + +
+
+
+

Functions

+
+ +

createAssertion

+ + +
+
+ +

createCharSet

+ +
    +
  • + +
    +
    +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

toLiteral

+ +
    +
  • + +
    +
    +

    Converts the given AST or AST subtree into a JS literal.

    +
    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to + builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules/nfa.html b/docs/v0.7.0/modules/nfa.html new file mode 100644 index 00000000..31d2776b --- /dev/null +++ b/docs/v0.7.0/modules/nfa.html @@ -0,0 +1,176 @@ + + + + + + NFA | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace NFA

+
+
+
+
+
+
+
+
+
+

A namespace for NFA-specific classes and interfaces.

+
+
+
see
+

NFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules/transformers.html b/docs/v0.7.0/modules/transformers.html new file mode 100644 index 00000000..c00a5f5e --- /dev/null +++ b/docs/v0.7.0/modules/transformers.html @@ -0,0 +1,569 @@ + + + + + + Transformers | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Transformers

+
+
+
+
+
+
+
+
+
+

Contains all AST transformer implementations of refa.

+
+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. + This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

applyAssertions

+ +
    +
  • + +
    +
    +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in + assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

factorOut

+ +
    +
  • + +
    +
    +

    This will factor out common prefixes and suffixes in parent nodes.

    +
    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious + case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty + alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

inline

+ +
    +
  • + +
    +
    +

    This transformer will simplify the AST by doing trivial inlining operations.

    +
    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

mergeWithQuantifier

+ +
    +
  • + +
    +
    +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +
    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

moveUpEmpty

+ +
    +
  • + +
    +
    +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression + such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the + sub-expression to accept the empty string moves closer to the root of the tree.

    +
    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

nestedQuantifiers

+ +
    +
  • + +
    +
    +

    This merges/optimizes nested quantifiers.

    +
    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

patternEdgeAssertions

+ +
    +
  • + +
    +
    +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +
    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) + and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which + may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) + in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => + a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeDeadBranches

+ +
    +
  • + +
    +
    +

    This removes dead branches in the AST.

    +
    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will + be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeUnnecessaryAssertions

+ +
    +
  • + +
    +
    +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

replaceAssertions

+ + +
+
+ +

sortAssertions

+ +
    +
  • + +
    +
    +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +
    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

unionCharacters

+ +
    +
  • + +
    +
    +

    Combines single-character alternatives.

    +
    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.0/modules/words.html b/docs/v0.7.0/modules/words.html new file mode 100644 index 00000000..15736af4 --- /dev/null +++ b/docs/v0.7.0/modules/words.html @@ -0,0 +1,359 @@ + + + + + + Words | refa - v0.7.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Words

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

fromStringToUTF16

+
    +
  • fromStringToUTF16(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of UTF16 character codes.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromStringToUnicode

+
    +
  • fromStringToUnicode(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of Unicode code points.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromUTF16ToString

+ +
    +
  • + +
    +
    +

    Converts the given array of UTF16 character codes into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

fromUnicodeToString

+ +
    +
  • + +
    +
    +

    Converts the given array of Unicode code points into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

pickMostReadableCharacter

+
    +
  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +
+
    +
  • + +
    +
    +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely + implementation-defined but, generally, word characters will be picked over non-word characters and printable + characters will be picked over non-printable characters.

    +
    +

    If the given character set is empty, undefined will be returned.

    +
    +

    Parameters

    + +

    Returns Char | undefined

    +
  • +
+
+
+ +

pickMostReadableWord

+
    +
  • pickMostReadableWord(wordSet: Iterable<CharSet>): Word | undefined
  • +
+
    +
  • + +
    +
    +

    Returns a word of the given word set that is the most humanly readable.

    +
    +

    If at least one of the given character sets is empty, undefined will be returned.

    +
    +

    Parameters

    +
      +
    • +
      wordSet: Iterable<CharSet>
      +
      +
      +
    • +
    +

    Returns Word | undefined

    +
  • +
+
+
+ +

wordSetToWords

+
    +
  • wordSetToWords(wordSet: readonly CharSet[]): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Iterates all words which can be constructed from the given word set (array of character sets).

    +
    +
    +

    Parameters

    +
      +
    • +
      wordSet: readonly CharSet[]
      +
      +
      +
    • +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/assets/css/main.css b/docs/v0.7.1/assets/css/main.css new file mode 100644 index 00000000..ca83efe4 --- /dev/null +++ b/docs/v0.7.1/assets/css/main.css @@ -0,0 +1,2638 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: #fdfdfd; + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: #222; +} + +a { + color: #4da6ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.04); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: #fff; + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: #707070; +} +.tsd-breadcrumb a { + color: #707070; + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid #707070; + color: #707070; + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: #fff; + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid #eee; + background-color: #fff; +} +footer.with-border-bottom { + border-bottom: 1px solid #eee; +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-parent-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-is-private a { + color: #707070; +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: #fff; + background-color: #707070; + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member a[data-tsd-kind] { + color: #9600ff; +} +.tsd-member a[data-tsd-kind=Interface] { + color: #647F1B; +} +.tsd-member a[data-tsd-kind=Enum] { + color: #937210; +} +.tsd-member a[data-tsd-kind=Class] { + color: #0672DE; +} +.tsd-member a[data-tsd-kind=Private] { + color: #707070; +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: #222; + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid #eee; +} +.tsd-navigation.primary li { + border-top: 1px solid #eee; +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: #707070; +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: #eee; +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: #eee; +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: #222; +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: #fdfdfd; +} +#tsd-search .results li:nth-child(even) { + background-color: #fff; +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: #eee; +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: #707070; + font-weight: normal; +} +#tsd-search.has-focus { + background-color: #eee; +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid #eee; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: #707070; + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid #eee; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: #eee; +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: #707070; + margin: 0 0 1em 0; +} +.tsd-sources a { + color: #707070; + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: #333; + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: #eee; +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: #fdfdfd; +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: #fff; +} +.tsd-select .tsd-select-list li:hover { + background-color: #eee; +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.7.1/assets/images/icons.png b/docs/v0.7.1/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.7.1/assets/images/icons.png differ diff --git a/docs/v0.7.1/assets/images/icons@2x.png b/docs/v0.7.1/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.7.1/assets/images/icons@2x.png differ diff --git a/docs/v0.7.1/assets/images/widgets.png b/docs/v0.7.1/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.7.1/assets/images/widgets.png differ diff --git a/docs/v0.7.1/assets/images/widgets@2x.png b/docs/v0.7.1/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.7.1/assets/images/widgets@2x.png differ diff --git a/docs/v0.7.1/assets/js/main.js b/docs/v0.7.1/assets/js/main.js new file mode 100644 index 00000000..715fdab0 --- /dev/null +++ b/docs/v0.7.1/assets/js/main.js @@ -0,0 +1,248 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../node_modules/lunr/lunr.js": +/*!************************************!*\ + !*** ../node_modules/lunr/lunr.js ***! + \************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?"); + +/***/ }), + +/***/ "./default/assets/css/main.sass": +/*!**************************************!*\ + !*** ./default/assets/css/main.sass ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?"); + +/***/ }), + +/***/ "./default/assets/js/src/bootstrap.ts": +/*!********************************************!*\ + !*** ./default/assets/js/src/bootstrap.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Application.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/Application.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */ \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n components.push({\n selector: selector,\n constructor: constructor,\n });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n /**\n * Create a new Application instance.\n */\n function Application() {\n this.createComponents(document.body);\n }\n /**\n * Create all components beneath the given jQuery element.\n */\n Application.prototype.createComponents = function (context) {\n components.forEach(function (c) {\n context.querySelectorAll(c.selector).forEach(function (el) {\n if (!el.dataset.hasInstance) {\n new c.constructor({ el: el });\n el.dataset.hasInstance = String(true);\n }\n });\n });\n };\n return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Component.ts": +/*!****************************************************!*\ + !*** ./default/assets/js/src/typedoc/Component.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n function Component(options) {\n this.el = options.el;\n }\n return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/EventTarget.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/EventTarget.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n function EventTarget() {\n this.listeners = {};\n }\n EventTarget.prototype.addEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n };\n EventTarget.prototype.removeEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n };\n EventTarget.prototype.dispatchEvent = function (event) {\n if (!(event.type in this.listeners)) {\n return true;\n }\n var stack = this.listeners[event.type].slice();\n for (var i = 0, l = stack.length; i < l; i++) {\n stack[i].call(this, event);\n }\n return !event.defaultPrevented;\n };\n return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Filter.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Filter.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n function FilterItem(key, value) {\n this.key = key;\n this.value = value;\n this.defaultValue = value;\n this.initialize();\n if (window.localStorage[this.key]) {\n this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n }\n }\n FilterItem.prototype.initialize = function () { };\n FilterItem.prototype.setValue = function (value) {\n if (this.value == value)\n return;\n var oldValue = this.value;\n this.value = value;\n window.localStorage[this.key] = this.toLocalStorage(value);\n this.handleValueChange(oldValue, value);\n };\n return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n __extends(FilterItemCheckbox, _super);\n function FilterItemCheckbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemCheckbox.prototype.initialize = function () {\n var _this = this;\n var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!checkbox)\n return;\n this.checkbox = checkbox;\n this.checkbox.addEventListener(\"change\", function () {\n _this.setValue(_this.checkbox.checked);\n });\n };\n FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n if (!this.checkbox)\n return;\n this.checkbox.checked = this.value;\n document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n };\n FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n return value == \"true\";\n };\n FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n return value ? \"true\" : \"false\";\n };\n return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n __extends(FilterItemSelect, _super);\n function FilterItemSelect() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemSelect.prototype.initialize = function () {\n var _this = this;\n document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n var select = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!select)\n return;\n this.select = select;\n var onActivate = function () {\n _this.select.classList.add(\"active\");\n };\n var onDeactivate = function () {\n _this.select.classList.remove(\"active\");\n };\n this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n this.select.addEventListener(\"mouseover\", onActivate);\n this.select.addEventListener(\"mouseleave\", onDeactivate);\n this.select.querySelectorAll(\"li\").forEach(function (el) {\n el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n select.classList.remove(\"active\");\n _this.setValue(e.target.dataset.value || \"\");\n });\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n if (_this.select.contains(e.target))\n return;\n _this.select.classList.remove(\"active\");\n });\n };\n FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n el.classList.remove(\"selected\");\n });\n var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n var label = this.select.querySelector(\".tsd-select-label\");\n if (selected && label) {\n selected.classList.add(\"selected\");\n label.textContent = selected.textContent;\n }\n document.documentElement.classList.remove(\"toggle-\" + oldValue);\n document.documentElement.classList.add(\"toggle-\" + newValue);\n };\n FilterItemSelect.prototype.fromLocalStorage = function (value) {\n return value;\n };\n FilterItemSelect.prototype.toLocalStorage = function (value) {\n return value;\n };\n return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n __extends(Filter, _super);\n function Filter(options) {\n var _this = _super.call(this, options) || this;\n _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n return _this;\n }\n Filter.isSupported = function () {\n try {\n return typeof window.localStorage != \"undefined\";\n }\n catch (e) {\n return false;\n }\n };\n return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts": +/*!*******************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n __extends(MenuHighlight, _super);\n /**\n * Create a new MenuHighlight instance.\n *\n * @param options Backbone view constructor options.\n */\n function MenuHighlight(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of all discovered anchors.\n */\n _this.anchors = [];\n /**\n * Index of the currently highlighted anchor.\n */\n _this.index = -1;\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n _this.createAnchors();\n return _this;\n }\n /**\n * Find all anchors on the current page.\n */\n MenuHighlight.prototype.createAnchors = function () {\n var _this = this;\n var base = window.location.href;\n if (base.indexOf(\"#\") != -1) {\n base = base.substr(0, base.indexOf(\"#\"));\n }\n this.el.querySelectorAll(\"a\").forEach(function (el) {\n var href = el.href;\n if (href.indexOf(\"#\") == -1)\n return;\n if (href.substr(0, base.length) != base)\n return;\n var hash = href.substr(href.indexOf(\"#\") + 1);\n var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n var link = el.parentNode;\n if (!anchor || !link)\n return;\n _this.anchors.push({\n link: link,\n anchor: anchor,\n position: 0,\n });\n });\n this.onResize();\n };\n /**\n * Triggered after the viewport was resized.\n */\n MenuHighlight.prototype.onResize = function () {\n var anchor;\n for (var index = 0, count = this.anchors.length; index < count; index++) {\n anchor = this.anchors[index];\n var rect = anchor.anchor.getBoundingClientRect();\n anchor.position = rect.top + document.body.scrollTop;\n }\n this.anchors.sort(function (a, b) {\n return a.position - b.position;\n });\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n },\n });\n this.onScroll(event);\n };\n /**\n * Triggered after the viewport was scrolled.\n *\n * @param event The custom event with the current vertical scroll position.\n */\n MenuHighlight.prototype.onScroll = function (event) {\n var scrollTop = event.detail.scrollTop + 5;\n var anchors = this.anchors;\n var count = anchors.length - 1;\n var index = this.index;\n while (index > -1 && anchors[index].position > scrollTop) {\n index -= 1;\n }\n while (index < count && anchors[index + 1].position < scrollTop) {\n index += 1;\n }\n if (this.index != index) {\n if (this.index > -1)\n this.anchors[this.index].link.classList.remove(\"focus\");\n this.index = index;\n if (this.index > -1)\n this.anchors[this.index].link.classList.add(\"focus\");\n }\n };\n return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Search.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Search.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n var searchEl = document.getElementById(\"tsd-search\");\n if (!searchEl)\n return;\n var searchScript = document.getElementById(\"search-script\");\n searchEl.classList.add(\"loading\");\n if (searchScript) {\n searchScript.addEventListener(\"error\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"failure\");\n });\n searchScript.addEventListener(\"load\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n });\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n }\n }\n var field = document.querySelector(\"#tsd-search-field\");\n var results = document.querySelector(\".results\");\n if (!field || !results) {\n throw new Error(\"The input field or the result list wrapper was not found\");\n }\n var resultClicked = false;\n results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n results.addEventListener(\"mouseup\", function () {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n });\n field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n field.addEventListener(\"blur\", function () {\n if (!resultClicked) {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n }\n });\n var state = {\n base: searchEl.dataset.base + \"/\",\n };\n bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n updateResults(searchEl, results, field, state);\n }, 200));\n var preventPress = false;\n field.addEventListener(\"keydown\", function (e) {\n preventPress = true;\n if (e.key == \"Enter\") {\n gotoCurrentResult(results, field);\n }\n else if (e.key == \"Escape\") {\n field.blur();\n }\n else if (e.key == \"ArrowUp\") {\n setCurrentResult(results, -1);\n }\n else if (e.key === \"ArrowDown\") {\n setCurrentResult(results, 1);\n }\n else {\n preventPress = false;\n }\n });\n field.addEventListener(\"keypress\", function (e) {\n if (preventPress)\n e.preventDefault();\n });\n /**\n * Start searching by pressing slash.\n */\n document.body.addEventListener(\"keydown\", function (e) {\n if (e.altKey || e.ctrlKey || e.metaKey)\n return;\n if (!field.matches(\":focus\") && e.key === \"/\") {\n field.focus();\n e.preventDefault();\n }\n });\n}\nfunction checkIndex(state, searchEl) {\n if (state.index)\n return;\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n state.data = window.searchData;\n state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n }\n}\nfunction updateResults(searchEl, results, query, state) {\n checkIndex(state, searchEl);\n // Don't clear results if loading state is not ready,\n // because loading or error message can be removed.\n if (!state.index || !state.data)\n return;\n results.textContent = \"\";\n var searchText = query.value.trim();\n // Perform a wildcard search\n var res = state.index.search(\"*\" + searchText + \"*\");\n for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n var row = state.data.rows[Number(res[i].ref)];\n // Bold the matched part of the query in the search results\n var name_1 = boldMatches(row.name, searchText);\n if (row.parent) {\n name_1 = \"\" + boldMatches(row.parent, searchText) + \".\" + name_1;\n }\n var item = document.createElement(\"li\");\n item.classList.value = row.classes;\n var anchor = document.createElement(\"a\");\n anchor.href = state.base + row.url;\n anchor.classList.add(\"tsd-kind-icon\");\n anchor.innerHTML = name_1;\n item.append(anchor);\n results.appendChild(item);\n }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n if (current) {\n current.classList.add(\"current\");\n }\n }\n else {\n var rel = dir == 1\n ? current.nextElementSibling\n : current.previousElementSibling;\n if (rel) {\n current.classList.remove(\"current\");\n rel.classList.add(\"current\");\n }\n }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(\"li:first-child\");\n }\n if (current) {\n var link = current.querySelector(\"a\");\n if (link) {\n window.location.href = link.href;\n }\n field.blur();\n }\n}\nfunction boldMatches(text, search) {\n if (search === \"\") {\n return text;\n }\n var lowerText = text.toLocaleLowerCase();\n var lowerSearch = search.toLocaleLowerCase();\n var parts = [];\n var lastIndex = 0;\n var index = lowerText.indexOf(lowerSearch);\n while (index != -1) {\n parts.push(escapeHtml(text.substring(lastIndex, index)), \"\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"\");\n lastIndex = index + lowerSearch.length;\n index = lowerText.indexOf(lowerSearch, lastIndex);\n }\n parts.push(escapeHtml(text.substring(lastIndex)));\n return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\",\n};\nfunction escapeHtml(text) {\n return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Signature.ts": +/*!***************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Signature.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n /**\n * Create a new SignatureGroup instance.\n *\n * @param signature The target signature.\n * @param description The description for the signature.\n */\n function SignatureGroup(signature, description) {\n this.signature = signature;\n this.description = description;\n }\n /**\n * Add the given class to all elements of the group.\n *\n * @param className The class name to add.\n */\n SignatureGroup.prototype.addClass = function (className) {\n this.signature.classList.add(className);\n this.description.classList.add(className);\n return this;\n };\n /**\n * Remove the given class from all elements of the group.\n *\n * @param className The class name to remove.\n */\n SignatureGroup.prototype.removeClass = function (className) {\n this.signature.classList.remove(className);\n this.description.classList.remove(className);\n return this;\n };\n return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n __extends(Signature, _super);\n /**\n * Create a new Signature instance.\n *\n * @param options Backbone view constructor options.\n */\n function Signature(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of found signature groups.\n */\n _this.groups = [];\n /**\n * The index of the currently displayed signature.\n */\n _this.index = -1;\n _this.createGroups();\n if (_this.container) {\n _this.el.classList.add(\"active\");\n Array.from(_this.el.children).forEach(function (signature) {\n signature.addEventListener(\"touchstart\", function (event) {\n return _this.onClick(event);\n });\n signature.addEventListener(\"click\", function (event) {\n return _this.onClick(event);\n });\n });\n _this.container.classList.add(\"active\");\n _this.setIndex(0);\n }\n return _this;\n }\n /**\n * Set the index of the active signature.\n *\n * @param index The index of the signature to activate.\n */\n Signature.prototype.setIndex = function (index) {\n if (index < 0)\n index = 0;\n if (index > this.groups.length - 1)\n index = this.groups.length - 1;\n if (this.index == index)\n return;\n var to = this.groups[index];\n if (this.index > -1) {\n var from_1 = this.groups[this.index];\n from_1.removeClass(\"current\").addClass(\"fade-out\");\n to.addClass(\"current\");\n to.addClass(\"fade-in\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n setTimeout(function () {\n from_1.removeClass(\"fade-out\");\n to.removeClass(\"fade-in\");\n }, 300);\n }\n else {\n to.addClass(\"current\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n }\n this.index = index;\n };\n /**\n * Find all signature/description groups.\n */\n Signature.prototype.createGroups = function () {\n var signatures = this.el.children;\n if (signatures.length < 2)\n return;\n this.container = this.el.nextElementSibling;\n var descriptions = this.container.children;\n this.groups = [];\n for (var index = 0; index < signatures.length; index++) {\n this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n }\n };\n /**\n * Triggered when the user clicks onto a signature header.\n *\n * @param e The related event object.\n */\n Signature.prototype.onClick = function (e) {\n var _this = this;\n this.groups.forEach(function (group, index) {\n if (group.signature === e.currentTarget) {\n _this.setIndex(index);\n }\n });\n };\n return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Toggle.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n __extends(Toggle, _super);\n function Toggle(options) {\n var _this = _super.call(this, options) || this;\n _this.className = _this.el.dataset.toggle || \"\";\n _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n return _this.onDocumentPointerDown(e);\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n return _this.onDocumentPointerUp(e);\n });\n return _this;\n }\n Toggle.prototype.setActive = function (value) {\n if (this.active == value)\n return;\n this.active = value;\n document.documentElement.classList.toggle(\"has-\" + this.className, value);\n this.el.classList.toggle(\"active\", value);\n var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n document.documentElement.classList.add(transition);\n setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n };\n Toggle.prototype.onPointerUp = function (event) {\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n this.setActive(true);\n event.preventDefault();\n };\n Toggle.prototype.onDocumentPointerDown = function (e) {\n if (this.active) {\n if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n return;\n }\n this.setActive(false);\n }\n };\n Toggle.prototype.onDocumentPointerUp = function (e) {\n var _this = this;\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n if (this.active) {\n if (e.target.closest(\".col-menu\")) {\n var link = e.target.closest(\"a\");\n if (link) {\n var href = window.location.href;\n if (href.indexOf(\"#\") != -1) {\n href = href.substr(0, href.indexOf(\"#\"));\n }\n if (link.href.substr(0, href.length) == href) {\n setTimeout(function () { return _this.setActive(false); }, 250);\n }\n }\n }\n }\n };\n return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/services/Viewport.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n __extends(Viewport, _super);\n /**\n * Create new Viewport instance.\n */\n function Viewport() {\n var _this = _super.call(this) || this;\n /**\n * The current scroll position.\n */\n _this.scrollTop = 0;\n /**\n * The previous scrollTop.\n */\n _this.lastY = 0;\n /**\n * The width of the window.\n */\n _this.width = 0;\n /**\n * The height of the window.\n */\n _this.height = 0;\n /**\n * Boolean indicating whether the toolbar is shown.\n */\n _this.showToolbar = true;\n _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n _this.onResize();\n _this.onScroll();\n return _this;\n }\n /**\n * Trigger a resize event.\n */\n Viewport.prototype.triggerResize = function () {\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the size of the window has changed.\n */\n Viewport.prototype.onResize = function () {\n this.width = window.innerWidth || 0;\n this.height = window.innerHeight || 0;\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the user scrolled the viewport.\n */\n Viewport.prototype.onScroll = function () {\n this.scrollTop = window.scrollY || 0;\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: this.scrollTop,\n },\n });\n this.dispatchEvent(event);\n this.hideShowToolbar();\n };\n /**\n * Handle hiding/showing of the toolbar.\n */\n Viewport.prototype.hideShowToolbar = function () {\n var isShown = this.showToolbar;\n this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop === 0;\n if (isShown !== this.showToolbar) {\n this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n }\n this.lastY = this.scrollTop;\n };\n Viewport.instance = new Viewport();\n return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/debounce.ts": +/*!*********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () { return fn(args); }, wait);\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/pointer.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */ \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */ \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */ \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */ \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */ \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */ \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */ \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */ \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n isPointerTouch = true;\n pointerDown = \"touchstart\";\n pointerMove = \"touchmove\";\n pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n isPointerDown = true;\n hasPointerMoved = false;\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n pointerDownPosition.y = t.pageY || 0;\n pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n if (!isPointerDown)\n return;\n if (!hasPointerMoved) {\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n var x = pointerDownPosition.x - (t.pageX || 0);\n var y = pointerDownPosition.y - (t.pageY || 0);\n hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n }\n});\ndocument.addEventListener(pointerUp, function () {\n isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n if (preventNextClick) {\n e.preventDefault();\n e.stopImmediatePropagation();\n preventNextClick = false;\n }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/trottle.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var time = Date.now();\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (time + wait - Date.now() < 0) {\n fn.apply(void 0, args);\n time = Date.now();\n }\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ // startup +/******/ // Load entry module +/******/ __webpack_require__("./default/assets/js/src/bootstrap.ts"); +/******/ // This entry module used 'exports' so it can't be inlined +/******/ })() +; \ No newline at end of file diff --git a/docs/v0.7.1/assets/js/search.js b/docs/v0.7.1/assets/js/search.js new file mode 100644 index 00000000..2b2182c5 --- /dev/null +++ b/docs/v0.7.1/assets/js/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"2":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Transformers","url":"modules/transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/transformers.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.creationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.creationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/transformers.html#applyassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/transformers.html#factorout","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/transformers.html#mergewithquantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/transformers.html#moveupempty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/transformers.html#nestedquantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/transformers.html#patternedgeassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/transformers.patternedgeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/transformers.html#removedeadbranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/transformers.html#removeunnecessaryassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/transformers.html#replaceassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/transformers.removeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/transformers.removeassertionscreationoptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/transformers.html#sortassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/transformers.html#unioncharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":2,"name":"JS","url":"modules/js.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"createAssertion","url":"modules/js.html#createassertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":27,"kind":4194304,"name":"BoundaryAssertion","url":"modules/js.html#boundaryassertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":28,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/js.wordboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":29,"kind":1024,"name":"kind","url":"interfaces/js.wordboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":30,"kind":1024,"name":"negate","url":"interfaces/js.wordboundaryassertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":31,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/js.textboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":32,"kind":1024,"name":"kind","url":"interfaces/js.textboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":33,"kind":64,"name":"createCharSet","url":"modules/js.html#createcharset","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":34,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/js.html#predefinedcharacterset","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":35,"kind":256,"name":"AnyCharacterSet","url":"interfaces/js.anycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":36,"kind":1024,"name":"kind","url":"interfaces/js.anycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":37,"kind":256,"name":"DigitCharacterSet","url":"interfaces/js.digitcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":38,"kind":1024,"name":"kind","url":"interfaces/js.digitcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":39,"kind":1024,"name":"negate","url":"interfaces/js.digitcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":40,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/js.propertycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":41,"kind":1024,"name":"kind","url":"interfaces/js.propertycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":42,"kind":1024,"name":"key","url":"interfaces/js.propertycharacterset.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":43,"kind":1024,"name":"value","url":"interfaces/js.propertycharacterset.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":44,"kind":1024,"name":"negate","url":"interfaces/js.propertycharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":45,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/js.spacecharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":46,"kind":1024,"name":"kind","url":"interfaces/js.spacecharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":47,"kind":1024,"name":"negate","url":"interfaces/js.spacecharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":48,"kind":256,"name":"WordCharacterSet","url":"interfaces/js.wordcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":49,"kind":1024,"name":"kind","url":"interfaces/js.wordcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":50,"kind":1024,"name":"negate","url":"interfaces/js.wordcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":51,"kind":64,"name":"toLiteral","url":"modules/js.html#toliteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":52,"kind":256,"name":"ToLiteralOptions","url":"interfaces/js.toliteraloptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":53,"kind":1024,"name":"flags","url":"interfaces/js.toliteraloptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":54,"kind":1024,"name":"fastCharacters","url":"interfaces/js.toliteraloptions.html#fastcharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":55,"kind":256,"name":"Flags","url":"interfaces/js.flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":56,"kind":1024,"name":"dotAll","url":"interfaces/js.flags.html#dotall","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":57,"kind":1024,"name":"global","url":"interfaces/js.flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":58,"kind":1024,"name":"ignoreCase","url":"interfaces/js.flags.html#ignorecase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":59,"kind":1024,"name":"multiline","url":"interfaces/js.flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":60,"kind":1024,"name":"sticky","url":"interfaces/js.flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":61,"kind":1024,"name":"unicode","url":"interfaces/js.flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":62,"kind":256,"name":"Literal","url":"interfaces/js.literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":63,"kind":1024,"name":"source","url":"interfaces/js.literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":64,"kind":1024,"name":"flags","url":"interfaces/js.literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":65,"kind":256,"name":"ParseOptions","url":"interfaces/js.parseoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":66,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/js.parseoptions.html#maxbackreferencewords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":67,"kind":1024,"name":"backreferences","url":"interfaces/js.parseoptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":68,"kind":1024,"name":"assertions","url":"interfaces/js.parseoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":69,"kind":1024,"name":"disableOptimizations","url":"interfaces/js.parseoptions.html#disableoptimizations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":70,"kind":1024,"name":"maxNodes","url":"interfaces/js.parseoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":71,"kind":256,"name":"RegexppAst","url":"interfaces/js.regexppast.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":1024,"name":"pattern","url":"interfaces/js.regexppast.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":73,"kind":1024,"name":"flags","url":"interfaces/js.regexppast.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":74,"kind":4194304,"name":"ParsableElement","url":"modules/js.html#parsableelement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":75,"kind":256,"name":"ParseResult","url":"interfaces/js.parseresult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":76,"kind":1024,"name":"expression","url":"interfaces/js.parseresult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":77,"kind":1024,"name":"maxCharacter","url":"interfaces/js.parseresult.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":78,"kind":128,"name":"Parser","url":"classes/js.parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":2048,"name":"fromLiteral","url":"classes/js.parser.html#fromliteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":80,"kind":2048,"name":"fromAst","url":"classes/js.parser.html#fromast","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":81,"kind":1024,"name":"literal","url":"classes/js.parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":82,"kind":1024,"name":"ast","url":"classes/js.parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":83,"kind":1024,"name":"maxCharacter","url":"classes/js.parser.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":84,"kind":2048,"name":"parse","url":"classes/js.parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":85,"kind":2048,"name":"parseElement","url":"classes/js.parser.html#parseelement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":86,"kind":2,"name":"Words","url":"modules/words.html","classes":"tsd-kind-namespace"},{"id":87,"kind":64,"name":"fromUTF16ToString","url":"modules/words.html#fromutf16tostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":88,"kind":64,"name":"fromUnicodeToString","url":"modules/words.html#fromunicodetostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":89,"kind":64,"name":"fromStringToUTF16","url":"modules/words.html#fromstringtoutf16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":90,"kind":64,"name":"fromStringToUnicode","url":"modules/words.html#fromstringtounicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":91,"kind":64,"name":"wordSetToWords","url":"modules/words.html#wordsettowords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":92,"kind":64,"name":"pickMostReadableCharacter","url":"modules/words.html#pickmostreadablecharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":93,"kind":64,"name":"pickMostReadableWord","url":"modules/words.html#pickmostreadableword","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":94,"kind":4194304,"name":"Char","url":"modules.html#char","classes":"tsd-kind-type-alias"},{"id":95,"kind":4194304,"name":"Word","url":"modules.html#word","classes":"tsd-kind-type-alias"},{"id":96,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#readonlyword","classes":"tsd-kind-type-alias"},{"id":97,"kind":256,"name":"CharRange","url":"interfaces/charrange.html","classes":"tsd-kind-interface"},{"id":98,"kind":1024,"name":"min","url":"interfaces/charrange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":99,"kind":1024,"name":"max","url":"interfaces/charrange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":100,"kind":128,"name":"CharSet","url":"classes/charset.html","classes":"tsd-kind-class"},{"id":101,"kind":2048,"name":"empty","url":"classes/charset.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":102,"kind":2048,"name":"all","url":"classes/charset.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":103,"kind":1024,"name":"maximum","url":"classes/charset.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":104,"kind":1024,"name":"ranges","url":"classes/charset.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":105,"kind":262144,"name":"isEmpty","url":"classes/charset.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":106,"kind":262144,"name":"isAll","url":"classes/charset.html#isall","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":107,"kind":262144,"name":"size","url":"classes/charset.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":108,"kind":2048,"name":"toString","url":"classes/charset.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":109,"kind":2048,"name":"equals","url":"classes/charset.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":110,"kind":2048,"name":"compare","url":"classes/charset.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":111,"kind":2048,"name":"negate","url":"classes/charset.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":112,"kind":2048,"name":"union","url":"classes/charset.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":113,"kind":2048,"name":"intersect","url":"classes/charset.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":114,"kind":2048,"name":"without","url":"classes/charset.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":115,"kind":2048,"name":"has","url":"classes/charset.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":116,"kind":2048,"name":"isSupersetOf","url":"classes/charset.html#issupersetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":117,"kind":2048,"name":"isSubsetOf","url":"classes/charset.html#issubsetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":118,"kind":2048,"name":"isDisjointWith","url":"classes/charset.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":119,"kind":2048,"name":"commonCharacter","url":"classes/charset.html#commoncharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":120,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/readonlycharmap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":121,"kind":1024,"name":"isEmpty","url":"interfaces/readonlycharmap.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":122,"kind":2048,"name":"has","url":"interfaces/readonlycharmap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":123,"kind":2048,"name":"hasEvery","url":"interfaces/readonlycharmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":124,"kind":2048,"name":"hasSome","url":"interfaces/readonlycharmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":125,"kind":2048,"name":"get","url":"interfaces/readonlycharmap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":126,"kind":2048,"name":"forEach","url":"interfaces/readonlycharmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":127,"kind":2048,"name":"keys","url":"interfaces/readonlycharmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":128,"kind":2048,"name":"values","url":"interfaces/readonlycharmap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":129,"kind":2048,"name":"entries","url":"interfaces/readonlycharmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":130,"kind":128,"name":"CharMap","url":"classes/charmap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":131,"kind":512,"name":"constructor","url":"classes/charmap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":132,"kind":262144,"name":"isEmpty","url":"classes/charmap.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":133,"kind":2048,"name":"has","url":"classes/charmap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":134,"kind":2048,"name":"hasEvery","url":"classes/charmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":135,"kind":2048,"name":"hasSome","url":"classes/charmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":136,"kind":2048,"name":"get","url":"classes/charmap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":137,"kind":2048,"name":"set","url":"classes/charmap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":138,"kind":2048,"name":"setEvery","url":"classes/charmap.html#setevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":139,"kind":2048,"name":"delete","url":"classes/charmap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":140,"kind":2048,"name":"deleteEvery","url":"classes/charmap.html#deleteevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":141,"kind":2048,"name":"map","url":"classes/charmap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":142,"kind":2048,"name":"mapRange","url":"classes/charmap.html#maprange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":143,"kind":2048,"name":"forEach","url":"classes/charmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":144,"kind":2048,"name":"keys","url":"classes/charmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":145,"kind":2048,"name":"values","url":"classes/charmap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":146,"kind":2048,"name":"entries","url":"classes/charmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":147,"kind":2048,"name":"[Symbol.iterator]","url":"classes/charmap.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":148,"kind":256,"name":"FiniteAutomaton","url":"interfaces/finiteautomaton.html","classes":"tsd-kind-interface"},{"id":149,"kind":1024,"name":"isEmpty","url":"interfaces/finiteautomaton.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":150,"kind":1024,"name":"isFinite","url":"interfaces/finiteautomaton.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":151,"kind":1024,"name":"maxCharacter","url":"interfaces/finiteautomaton.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":152,"kind":2048,"name":"test","url":"interfaces/finiteautomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":153,"kind":2048,"name":"words","url":"interfaces/finiteautomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":154,"kind":2048,"name":"wordSets","url":"interfaces/finiteautomaton.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":155,"kind":2048,"name":"toString","url":"interfaces/finiteautomaton.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":156,"kind":2048,"name":"toRegex","url":"interfaces/finiteautomaton.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":157,"kind":256,"name":"ToRegexOptions","url":"interfaces/toregexoptions.html","classes":"tsd-kind-interface"},{"id":158,"kind":1024,"name":"maxNodes","url":"interfaces/toregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":159,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/toregexoptions.html#maxoptimizationpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":160,"kind":256,"name":"FAIterator","url":"interfaces/faiterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":161,"kind":1024,"name":"initial","url":"interfaces/faiterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":162,"kind":1024,"name":"getOut","url":"interfaces/faiterator.html#getout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":163,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":164,"kind":1024,"name":"isFinal","url":"interfaces/faiterator.html#isfinal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":165,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":166,"kind":256,"name":"TransitionIterable","url":"interfaces/transitioniterable.html","classes":"tsd-kind-interface"},{"id":167,"kind":1024,"name":"maxCharacter","url":"interfaces/transitioniterable.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":168,"kind":1024,"name":"transitionIterator","url":"interfaces/transitioniterable.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":169,"kind":65536,"name":"__type","url":"interfaces/transitioniterable.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":170,"kind":256,"name":"TransitionIterableFA","url":"interfaces/transitioniterablefa.html","classes":"tsd-kind-interface"},{"id":171,"kind":2048,"name":"isDisjointWith","url":"interfaces/transitioniterablefa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":172,"kind":2048,"name":"intersectionWordSets","url":"interfaces/transitioniterablefa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":173,"kind":2048,"name":"intersectionWords","url":"interfaces/transitioniterablefa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":174,"kind":1024,"name":"isEmpty","url":"interfaces/transitioniterablefa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":175,"kind":1024,"name":"isFinite","url":"interfaces/transitioniterablefa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":176,"kind":1024,"name":"maxCharacter","url":"interfaces/transitioniterablefa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":177,"kind":2048,"name":"test","url":"interfaces/transitioniterablefa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":178,"kind":2048,"name":"words","url":"interfaces/transitioniterablefa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":179,"kind":2048,"name":"wordSets","url":"interfaces/transitioniterablefa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":180,"kind":2048,"name":"toString","url":"interfaces/transitioniterablefa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":181,"kind":2048,"name":"toRegex","url":"interfaces/transitioniterablefa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":182,"kind":1024,"name":"transitionIterator","url":"interfaces/transitioniterablefa.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TransitionIterableFA"},{"id":183,"kind":65536,"name":"__type","url":"interfaces/transitioniterablefa.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransitionIterableFA"},{"id":184,"kind":256,"name":"IntersectionOptions","url":"interfaces/intersectionoptions.html","classes":"tsd-kind-interface"},{"id":185,"kind":1024,"name":"maxNodes","url":"interfaces/intersectionoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"IntersectionOptions"},{"id":186,"kind":128,"name":"TooManyNodesError","url":"classes/toomanynodeserror.html","classes":"tsd-kind-class"},{"id":187,"kind":512,"name":"constructor","url":"classes/toomanynodeserror.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"TooManyNodesError"},{"id":188,"kind":256,"name":"SourceLocation","url":"interfaces/sourcelocation.html","classes":"tsd-kind-interface"},{"id":189,"kind":1024,"name":"start","url":"interfaces/sourcelocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":190,"kind":1024,"name":"end","url":"interfaces/sourcelocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":191,"kind":256,"name":"NodeBase","url":"interfaces/nodebase.html","classes":"tsd-kind-interface"},{"id":192,"kind":1024,"name":"type","url":"interfaces/nodebase.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":193,"kind":1024,"name":"parent","url":"interfaces/nodebase.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":194,"kind":1024,"name":"source","url":"interfaces/nodebase.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NodeBase"},{"id":195,"kind":4194304,"name":"Element","url":"modules.html#element","classes":"tsd-kind-type-alias"},{"id":196,"kind":4194304,"name":"Parent","url":"modules.html#parent","classes":"tsd-kind-type-alias"},{"id":197,"kind":4194304,"name":"Node","url":"modules.html#node","classes":"tsd-kind-type-alias"},{"id":198,"kind":256,"name":"Alternation","url":"interfaces/alternation.html","classes":"tsd-kind-interface"},{"id":199,"kind":1024,"name":"type","url":"interfaces/alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":200,"kind":1024,"name":"parent","url":"interfaces/alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":201,"kind":1024,"name":"alternatives","url":"interfaces/alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":202,"kind":1024,"name":"source","url":"interfaces/alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Alternation"},{"id":203,"kind":256,"name":"Assertion","url":"interfaces/assertion.html","classes":"tsd-kind-interface"},{"id":204,"kind":1024,"name":"type","url":"interfaces/assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":205,"kind":1024,"name":"parent","url":"interfaces/assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":206,"kind":1024,"name":"alternatives","url":"interfaces/assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":207,"kind":1024,"name":"kind","url":"interfaces/assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":208,"kind":1024,"name":"negate","url":"interfaces/assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":209,"kind":1024,"name":"source","url":"interfaces/assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Assertion"},{"id":210,"kind":256,"name":"Quantifier","url":"interfaces/quantifier.html","classes":"tsd-kind-interface"},{"id":211,"kind":1024,"name":"type","url":"interfaces/quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":212,"kind":1024,"name":"parent","url":"interfaces/quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":213,"kind":1024,"name":"alternatives","url":"interfaces/quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":214,"kind":1024,"name":"lazy","url":"interfaces/quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":215,"kind":1024,"name":"min","url":"interfaces/quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":216,"kind":1024,"name":"max","url":"interfaces/quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":217,"kind":1024,"name":"source","url":"interfaces/quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Quantifier"},{"id":218,"kind":256,"name":"CharacterClass","url":"interfaces/characterclass.html","classes":"tsd-kind-interface"},{"id":219,"kind":1024,"name":"type","url":"interfaces/characterclass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":220,"kind":1024,"name":"parent","url":"interfaces/characterclass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":221,"kind":1024,"name":"characters","url":"interfaces/characterclass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":222,"kind":1024,"name":"source","url":"interfaces/characterclass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CharacterClass"},{"id":223,"kind":256,"name":"Expression","url":"interfaces/expression.html","classes":"tsd-kind-interface"},{"id":224,"kind":1024,"name":"type","url":"interfaces/expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":225,"kind":1024,"name":"parent","url":"interfaces/expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":226,"kind":1024,"name":"alternatives","url":"interfaces/expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":227,"kind":1024,"name":"source","url":"interfaces/expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Expression"},{"id":228,"kind":256,"name":"Concatenation","url":"interfaces/concatenation.html","classes":"tsd-kind-interface"},{"id":229,"kind":1024,"name":"type","url":"interfaces/concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":230,"kind":1024,"name":"parent","url":"interfaces/concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":231,"kind":1024,"name":"elements","url":"interfaces/concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":232,"kind":1024,"name":"source","url":"interfaces/concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Concatenation"},{"id":233,"kind":4194304,"name":"NoParent","url":"modules.html#noparent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":234,"kind":64,"name":"setParent","url":"modules.html#setparent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":235,"kind":64,"name":"setSource","url":"modules.html#setsource","classes":"tsd-kind-function"},{"id":236,"kind":64,"name":"visitAst","url":"modules.html#visitast","classes":"tsd-kind-function"},{"id":237,"kind":256,"name":"VisitAstHandler","url":"interfaces/visitasthandler.html","classes":"tsd-kind-interface"},{"id":238,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":239,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":240,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":241,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":242,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":243,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":244,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":245,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":246,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":247,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":248,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":249,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":250,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/visitnoparentasthandler.html","classes":"tsd-kind-interface"},{"id":251,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitnoparentasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":252,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitnoparentasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":253,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitnoparentasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":254,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitnoparentasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":255,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitnoparentasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":256,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitnoparentasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":257,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitnoparentasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":258,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitnoparentasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":259,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitnoparentasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":260,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitnoparentasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":261,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitnoparentasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":262,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitnoparentasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":263,"kind":64,"name":"combineTransformers","url":"modules.html#combinetransformers","classes":"tsd-kind-function"},{"id":264,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":265,"kind":256,"name":"Transformer","url":"interfaces/transformer.html","classes":"tsd-kind-interface"},{"id":266,"kind":2048,"name":"onAlternation","url":"interfaces/transformer.html#onalternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":267,"kind":2048,"name":"onAssertion","url":"interfaces/transformer.html#onassertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":268,"kind":2048,"name":"onCharacterClass","url":"interfaces/transformer.html#oncharacterclass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":269,"kind":2048,"name":"onConcatenation","url":"interfaces/transformer.html#onconcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":270,"kind":2048,"name":"onExpression","url":"interfaces/transformer.html#onexpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":271,"kind":2048,"name":"onQuantifier","url":"interfaces/transformer.html#onquantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":272,"kind":256,"name":"TransformContext","url":"interfaces/transformcontext.html","classes":"tsd-kind-interface"},{"id":273,"kind":1024,"name":"maxCharacter","url":"interfaces/transformcontext.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":274,"kind":1024,"name":"signalMutation","url":"interfaces/transformcontext.html#signalmutation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":275,"kind":65536,"name":"__type","url":"interfaces/transformcontext.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransformContext"},{"id":276,"kind":256,"name":"TransformOptions","url":"interfaces/transformoptions.html","classes":"tsd-kind-interface"},{"id":277,"kind":1024,"name":"maxPasses","url":"interfaces/transformoptions.html#maxpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":278,"kind":256,"name":"ReadonlyNFA","url":"interfaces/readonlynfa.html","classes":"tsd-kind-interface"},{"id":279,"kind":1024,"name":"nodes","url":"interfaces/readonlynfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":280,"kind":1024,"name":"options","url":"interfaces/readonlynfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":281,"kind":2048,"name":"stateIterator","url":"interfaces/readonlynfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":282,"kind":2048,"name":"transitionIterator","url":"interfaces/readonlynfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite","parent":"ReadonlyNFA"},{"id":283,"kind":2048,"name":"copy","url":"interfaces/readonlynfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":284,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlynfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":285,"kind":2048,"name":"intersectionWordSets","url":"interfaces/readonlynfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":286,"kind":2048,"name":"intersectionWords","url":"interfaces/readonlynfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":287,"kind":1024,"name":"isEmpty","url":"interfaces/readonlynfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":288,"kind":1024,"name":"isFinite","url":"interfaces/readonlynfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":289,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlynfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":290,"kind":2048,"name":"test","url":"interfaces/readonlynfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":291,"kind":2048,"name":"words","url":"interfaces/readonlynfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":292,"kind":2048,"name":"wordSets","url":"interfaces/readonlynfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":293,"kind":2048,"name":"toString","url":"interfaces/readonlynfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":294,"kind":2048,"name":"toRegex","url":"interfaces/readonlynfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":295,"kind":128,"name":"NFA","url":"classes/nfa.html","classes":"tsd-kind-class"},{"id":296,"kind":2048,"name":"fromIntersection","url":"classes/nfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":297,"kind":2048,"name":"empty","url":"classes/nfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":298,"kind":2048,"name":"all","url":"classes/nfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":299,"kind":2048,"name":"fromRegex","url":"classes/nfa.html#fromregex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":300,"kind":2048,"name":"fromWords","url":"classes/nfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":301,"kind":2048,"name":"fromFA","url":"classes/nfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":302,"kind":2048,"name":"fromTransitionIterator","url":"classes/nfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":303,"kind":1024,"name":"nodes","url":"classes/nfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":304,"kind":1024,"name":"maxCharacter","url":"classes/nfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":305,"kind":262144,"name":"options","url":"classes/nfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":306,"kind":262144,"name":"isEmpty","url":"classes/nfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":307,"kind":262144,"name":"isFinite","url":"classes/nfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":308,"kind":2048,"name":"stateIterator","url":"classes/nfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":309,"kind":2048,"name":"transitionIterator","url":"classes/nfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":310,"kind":2048,"name":"copy","url":"classes/nfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":311,"kind":2048,"name":"test","url":"classes/nfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":312,"kind":2048,"name":"wordSets","url":"classes/nfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":313,"kind":2048,"name":"words","url":"classes/nfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":314,"kind":2048,"name":"toString","url":"classes/nfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":315,"kind":2048,"name":"toRegex","url":"classes/nfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":316,"kind":2048,"name":"isDisjointWith","url":"classes/nfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":317,"kind":2048,"name":"intersectionWordSets","url":"classes/nfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":318,"kind":2048,"name":"intersectionWords","url":"classes/nfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":319,"kind":2048,"name":"union","url":"classes/nfa.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":320,"kind":2048,"name":"append","url":"classes/nfa.html#append","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":321,"kind":2048,"name":"prepend","url":"classes/nfa.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":322,"kind":2048,"name":"quantify","url":"classes/nfa.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":323,"kind":2048,"name":"withoutEmptyWord","url":"classes/nfa.html#withoutemptyword","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":324,"kind":2048,"name":"prefixes","url":"classes/nfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":325,"kind":2048,"name":"suffixes","url":"classes/nfa.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":326,"kind":2048,"name":"reverse","url":"classes/nfa.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":327,"kind":2,"name":"NFA","url":"modules/nfa.html","classes":"tsd-kind-namespace"},{"id":328,"kind":256,"name":"ReadonlyNode","url":"interfaces/nfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":329,"kind":1024,"name":"list","url":"interfaces/nfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":330,"kind":1024,"name":"out","url":"interfaces/nfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":331,"kind":1024,"name":"in","url":"interfaces/nfa.readonlynode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":332,"kind":256,"name":"Node","url":"interfaces/nfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":333,"kind":1024,"name":"list","url":"interfaces/nfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":334,"kind":1024,"name":"out","url":"interfaces/nfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":335,"kind":1024,"name":"in","url":"interfaces/nfa.node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":336,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/nfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":337,"kind":1024,"name":"initial","url":"interfaces/nfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":338,"kind":1024,"name":"finals","url":"interfaces/nfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":339,"kind":2048,"name":"count","url":"interfaces/nfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":340,"kind":128,"name":"NodeList","url":"classes/nfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":341,"kind":512,"name":"constructor","url":"classes/nfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":342,"kind":1024,"name":"initial","url":"classes/nfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":343,"kind":1024,"name":"finals","url":"classes/nfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":344,"kind":2048,"name":"createNode","url":"classes/nfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":345,"kind":2048,"name":"linkNodes","url":"classes/nfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":346,"kind":2048,"name":"unlinkNodes","url":"classes/nfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":347,"kind":2048,"name":"removeUnreachable","url":"classes/nfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":348,"kind":2048,"name":"count","url":"classes/nfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":349,"kind":2048,"name":"[Symbol.iterator]","url":"classes/nfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":350,"kind":256,"name":"CreationOptions","url":"interfaces/nfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":351,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.CreationOptions"},{"id":352,"kind":256,"name":"Options","url":"interfaces/nfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":353,"kind":1024,"name":"maxCharacter","url":"interfaces/nfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":354,"kind":256,"name":"FromRegexOptions","url":"interfaces/nfa.fromregexoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":355,"kind":1024,"name":"assertions","url":"interfaces/nfa.fromregexoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":356,"kind":1024,"name":"infinityThreshold","url":"interfaces/nfa.fromregexoptions.html#infinitythreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":357,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.fromregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"NFA.FromRegexOptions"},{"id":358,"kind":256,"name":"ReadonlyDFA","url":"interfaces/readonlydfa.html","classes":"tsd-kind-interface"},{"id":359,"kind":1024,"name":"nodes","url":"interfaces/readonlydfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":360,"kind":1024,"name":"options","url":"interfaces/readonlydfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":361,"kind":2048,"name":"stateIterator","url":"interfaces/readonlydfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":362,"kind":2048,"name":"transitionIterator","url":"interfaces/readonlydfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-overwrite","parent":"ReadonlyDFA"},{"id":363,"kind":2048,"name":"copy","url":"interfaces/readonlydfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":364,"kind":2048,"name":"structurallyEqual","url":"interfaces/readonlydfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":365,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlydfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":366,"kind":2048,"name":"intersectionWordSets","url":"interfaces/readonlydfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":367,"kind":2048,"name":"intersectionWords","url":"interfaces/readonlydfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":368,"kind":1024,"name":"isEmpty","url":"interfaces/readonlydfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":369,"kind":1024,"name":"isFinite","url":"interfaces/readonlydfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":370,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlydfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":371,"kind":2048,"name":"test","url":"interfaces/readonlydfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":372,"kind":2048,"name":"words","url":"interfaces/readonlydfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":373,"kind":2048,"name":"wordSets","url":"interfaces/readonlydfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":374,"kind":2048,"name":"toString","url":"interfaces/readonlydfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":375,"kind":2048,"name":"toRegex","url":"interfaces/readonlydfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":376,"kind":128,"name":"DFA","url":"classes/dfa.html","classes":"tsd-kind-class"},{"id":377,"kind":2048,"name":"fromIntersection","url":"classes/dfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":378,"kind":2048,"name":"empty","url":"classes/dfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":379,"kind":2048,"name":"all","url":"classes/dfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":380,"kind":2048,"name":"fromWords","url":"classes/dfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":381,"kind":2048,"name":"fromFA","url":"classes/dfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":382,"kind":2048,"name":"fromTransitionIterator","url":"classes/dfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":383,"kind":1024,"name":"nodes","url":"classes/dfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":384,"kind":1024,"name":"maxCharacter","url":"classes/dfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":385,"kind":262144,"name":"options","url":"classes/dfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":386,"kind":262144,"name":"isEmpty","url":"classes/dfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":387,"kind":262144,"name":"isFinite","url":"classes/dfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":388,"kind":2048,"name":"stateIterator","url":"classes/dfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":389,"kind":2048,"name":"transitionIterator","url":"classes/dfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":390,"kind":2048,"name":"test","url":"classes/dfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":391,"kind":2048,"name":"wordSets","url":"classes/dfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":392,"kind":2048,"name":"words","url":"classes/dfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":393,"kind":2048,"name":"toString","url":"classes/dfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":394,"kind":2048,"name":"toRegex","url":"classes/dfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":395,"kind":2048,"name":"isDisjointWith","url":"classes/dfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":396,"kind":2048,"name":"intersectionWordSets","url":"classes/dfa.html#intersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":397,"kind":2048,"name":"intersectionWords","url":"classes/dfa.html#intersectionwords","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":398,"kind":2048,"name":"copy","url":"classes/dfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":399,"kind":2048,"name":"structurallyEqual","url":"classes/dfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":400,"kind":2048,"name":"minimize","url":"classes/dfa.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":401,"kind":2048,"name":"complement","url":"classes/dfa.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":402,"kind":2048,"name":"prefixes","url":"classes/dfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":403,"kind":2,"name":"DFA","url":"modules/dfa.html","classes":"tsd-kind-namespace"},{"id":404,"kind":256,"name":"ReadonlyNode","url":"interfaces/dfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":405,"kind":1024,"name":"list","url":"interfaces/dfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":406,"kind":1024,"name":"out","url":"interfaces/dfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":407,"kind":256,"name":"Node","url":"interfaces/dfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":408,"kind":1024,"name":"list","url":"interfaces/dfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":409,"kind":1024,"name":"out","url":"interfaces/dfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":410,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/dfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":411,"kind":1024,"name":"initial","url":"interfaces/dfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":412,"kind":1024,"name":"finals","url":"interfaces/dfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":413,"kind":2048,"name":"count","url":"interfaces/dfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":414,"kind":128,"name":"NodeList","url":"classes/dfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":415,"kind":512,"name":"constructor","url":"classes/dfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":416,"kind":1024,"name":"initial","url":"classes/dfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":417,"kind":1024,"name":"finals","url":"classes/dfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":418,"kind":2048,"name":"createNode","url":"classes/dfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":419,"kind":2048,"name":"linkNodes","url":"classes/dfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":420,"kind":2048,"name":"_uncheckedLinkNodesWithCharacter","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":421,"kind":2048,"name":"_uncheckedLinkNodesWithCharRange","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharrange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":422,"kind":2048,"name":"_uncheckedLinkNodesWithCharSet","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":423,"kind":2048,"name":"unlinkNodes","url":"classes/dfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":424,"kind":2048,"name":"removeUnreachable","url":"classes/dfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":425,"kind":2048,"name":"count","url":"classes/dfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":426,"kind":2048,"name":"[Symbol.iterator]","url":"classes/dfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":427,"kind":256,"name":"CreationOptions","url":"interfaces/dfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":428,"kind":1024,"name":"maxNodes","url":"interfaces/dfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.CreationOptions"},{"id":429,"kind":256,"name":"Options","url":"interfaces/dfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":430,"kind":1024,"name":"maxCharacter","url":"interfaces/dfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,32.651]],["parent/0",[]],["name/1",[1,48.157]],["parent/1",[0,3.116]],["name/2",[2,48.157]],["parent/2",[3,4.918]],["name/3",[4,48.157]],["parent/3",[3,4.918]],["name/4",[5,56.63]],["parent/4",[0,3.116]],["name/5",[6,56.63]],["parent/5",[0,3.116]],["name/6",[7,51.521]],["parent/6",[0,3.116]],["name/7",[8,56.63]],["parent/7",[0,3.116]],["name/8",[9,56.63]],["parent/8",[0,3.116]],["name/9",[10,56.63]],["parent/9",[0,3.116]],["name/10",[11,56.63]],["parent/10",[0,3.116]],["name/11",[12,56.63]],["parent/11",[0,3.116]],["name/12",[7,51.521]],["parent/12",[13,4.357]],["name/13",[14,56.63]],["parent/13",[13,4.357]],["name/14",[2,48.157]],["parent/14",[13,4.357]],["name/15",[4,48.157]],["parent/15",[13,4.357]],["name/16",[15,56.63]],["parent/16",[0,3.116]],["name/17",[16,56.63]],["parent/17",[0,3.116]],["name/18",[17,56.63]],["parent/18",[0,3.116]],["name/19",[18,56.63]],["parent/19",[0,3.116]],["name/20",[19,56.63]],["parent/20",[20,4.596]],["name/21",[2,48.157]],["parent/21",[20,4.596]],["name/22",[4,48.157]],["parent/22",[20,4.596]],["name/23",[21,56.63]],["parent/23",[0,3.116]],["name/24",[22,56.63]],["parent/24",[0,3.116]],["name/25",[23,30.004]],["parent/25",[]],["name/26",[24,56.63]],["parent/26",[23,2.864]],["name/27",[25,56.63]],["parent/27",[23,2.864]],["name/28",[26,56.63]],["parent/28",[23,2.864]],["name/29",[27,39.284]],["parent/29",[28,4.918]],["name/30",[29,40.535]],["parent/30",[28,4.918]],["name/31",[30,56.63]],["parent/31",[23,2.864]],["name/32",[27,39.284]],["parent/32",[31,5.405]],["name/33",[32,56.63]],["parent/33",[23,2.864]],["name/34",[33,56.63]],["parent/34",[23,2.864]],["name/35",[34,56.63]],["parent/35",[23,2.864]],["name/36",[27,39.284]],["parent/36",[35,5.405]],["name/37",[36,56.63]],["parent/37",[23,2.864]],["name/38",[27,39.284]],["parent/38",[37,4.918]],["name/39",[29,40.535]],["parent/39",[37,4.918]],["name/40",[38,56.63]],["parent/40",[23,2.864]],["name/41",[27,39.284]],["parent/41",[39,4.357]],["name/42",[40,56.63]],["parent/42",[39,4.357]],["name/43",[41,56.63]],["parent/43",[39,4.357]],["name/44",[29,40.535]],["parent/44",[39,4.357]],["name/45",[42,56.63]],["parent/45",[23,2.864]],["name/46",[27,39.284]],["parent/46",[43,4.918]],["name/47",[29,40.535]],["parent/47",[43,4.918]],["name/48",[44,56.63]],["parent/48",[23,2.864]],["name/49",[27,39.284]],["parent/49",[45,4.918]],["name/50",[29,40.535]],["parent/50",[45,4.918]],["name/51",[46,56.63]],["parent/51",[23,2.864]],["name/52",[47,56.63]],["parent/52",[23,2.864]],["name/53",[48,45.643]],["parent/53",[49,4.918]],["name/54",[50,56.63]],["parent/54",[49,4.918]],["name/55",[48,45.643]],["parent/55",[23,2.864]],["name/56",[51,56.63]],["parent/56",[52,4.006]],["name/57",[53,56.63]],["parent/57",[52,4.006]],["name/58",[54,56.63]],["parent/58",[52,4.006]],["name/59",[55,56.63]],["parent/59",[52,4.006]],["name/60",[56,56.63]],["parent/60",[52,4.006]],["name/61",[57,56.63]],["parent/61",[52,4.006]],["name/62",[58,51.521]],["parent/62",[23,2.864]],["name/63",[59,39.284]],["parent/63",[60,4.918]],["name/64",[48,45.643]],["parent/64",[60,4.918]],["name/65",[61,56.63]],["parent/65",[23,2.864]],["name/66",[62,56.63]],["parent/66",[63,4.165]],["name/67",[64,56.63]],["parent/67",[63,4.165]],["name/68",[65,51.521]],["parent/68",[63,4.165]],["name/69",[66,56.63]],["parent/69",[63,4.165]],["name/70",[67,41.966]],["parent/70",[63,4.165]],["name/71",[68,56.63]],["parent/71",[23,2.864]],["name/72",[69,56.63]],["parent/72",[70,4.918]],["name/73",[48,45.643]],["parent/73",[70,4.918]],["name/74",[71,56.63]],["parent/74",[23,2.864]],["name/75",[72,56.63]],["parent/75",[23,2.864]],["name/76",[73,41.966]],["parent/76",[74,4.918]],["name/77",[75,35.427]],["parent/77",[74,4.918]],["name/78",[76,56.63]],["parent/78",[23,2.864]],["name/79",[77,56.63]],["parent/79",[78,3.869]],["name/80",[79,56.63]],["parent/80",[78,3.869]],["name/81",[58,51.521]],["parent/81",[78,3.869]],["name/82",[80,56.63]],["parent/82",[78,3.869]],["name/83",[75,35.427]],["parent/83",[78,3.869]],["name/84",[81,56.63]],["parent/84",[78,3.869]],["name/85",[82,56.63]],["parent/85",[78,3.869]],["name/86",[83,33.943]],["parent/86",[]],["name/87",[84,56.63]],["parent/87",[83,3.24]],["name/88",[85,56.63]],["parent/88",[83,3.24]],["name/89",[86,56.63]],["parent/89",[83,3.24]],["name/90",[87,56.63]],["parent/90",[83,3.24]],["name/91",[88,56.63]],["parent/91",[83,3.24]],["name/92",[89,56.63]],["parent/92",[83,3.24]],["name/93",[90,56.63]],["parent/93",[83,3.24]],["name/94",[91,56.63]],["parent/94",[]],["name/95",[92,56.63]],["parent/95",[]],["name/96",[93,56.63]],["parent/96",[]],["name/97",[94,48.157]],["parent/97",[]],["name/98",[95,51.521]],["parent/98",[94,4.596]],["name/99",[96,51.521]],["parent/99",[94,4.596]],["name/100",[97,30.48]],["parent/100",[]],["name/101",[98,48.157]],["parent/101",[97,2.909]],["name/102",[99,48.157]],["parent/102",[97,2.909]],["name/103",[100,56.63]],["parent/103",[97,2.909]],["name/104",[101,56.63]],["parent/104",[97,2.909]],["name/105",[102,38.171]],["parent/105",[97,2.909]],["name/106",[103,56.63]],["parent/106",[97,2.909]],["name/107",[104,56.63]],["parent/107",[97,2.909]],["name/108",[105,40.535]],["parent/108",[97,2.909]],["name/109",[106,56.63]],["parent/109",[97,2.909]],["name/110",[107,56.63]],["parent/110",[97,2.909]],["name/111",[29,40.535]],["parent/111",[97,2.909]],["name/112",[108,51.521]],["parent/112",[97,2.909]],["name/113",[109,56.63]],["parent/113",[97,2.909]],["name/114",[110,56.63]],["parent/114",[97,2.909]],["name/115",[111,48.157]],["parent/115",[97,2.909]],["name/116",[112,56.63]],["parent/116",[97,2.909]],["name/117",[113,56.63]],["parent/117",[97,2.909]],["name/118",[114,41.966]],["parent/118",[97,2.909]],["name/119",[115,56.63]],["parent/119",[97,2.909]],["name/120",[116,37.171]],["parent/120",[]],["name/121",[102,38.171]],["parent/121",[116,3.548]],["name/122",[111,48.157]],["parent/122",[116,3.548]],["name/123",[117,51.521]],["parent/123",[116,3.548]],["name/124",[118,51.521]],["parent/124",[116,3.548]],["name/125",[119,51.521]],["parent/125",[116,3.548]],["name/126",[120,51.521]],["parent/126",[116,3.548]],["name/127",[121,51.521]],["parent/127",[116,3.548]],["name/128",[122,51.521]],["parent/128",[116,3.548]],["name/129",[123,51.521]],["parent/129",[116,3.548]],["name/130",[124,31.507]],["parent/130",[]],["name/131",[125,45.643]],["parent/131",[124,3.007]],["name/132",[102,38.171]],["parent/132",[124,3.007]],["name/133",[111,48.157]],["parent/133",[124,3.007]],["name/134",[117,51.521]],["parent/134",[124,3.007]],["name/135",[118,51.521]],["parent/135",[124,3.007]],["name/136",[119,51.521]],["parent/136",[124,3.007]],["name/137",[126,56.63]],["parent/137",[124,3.007]],["name/138",[127,56.63]],["parent/138",[124,3.007]],["name/139",[128,56.63]],["parent/139",[124,3.007]],["name/140",[129,56.63]],["parent/140",[124,3.007]],["name/141",[130,56.63]],["parent/141",[124,3.007]],["name/142",[131,56.63]],["parent/142",[124,3.007]],["name/143",[120,51.521]],["parent/143",[124,3.007]],["name/144",[121,51.521]],["parent/144",[124,3.007]],["name/145",[122,51.521]],["parent/145",[124,3.007]],["name/146",[123,51.521]],["parent/146",[124,3.007]],["name/147",[132,48.157]],["parent/147",[124,3.007]],["name/148",[133,38.171]],["parent/148",[]],["name/149",[102,38.171]],["parent/149",[133,3.643]],["name/150",[134,41.966]],["parent/150",[133,3.643]],["name/151",[75,35.427]],["parent/151",[133,3.643]],["name/152",[135,41.966]],["parent/152",[133,3.643]],["name/153",[83,33.943]],["parent/153",[133,3.643]],["name/154",[136,41.966]],["parent/154",[133,3.643]],["name/155",[105,40.535]],["parent/155",[133,3.643]],["name/156",[137,41.966]],["parent/156",[133,3.643]],["name/157",[138,48.157]],["parent/157",[]],["name/158",[67,41.966]],["parent/158",[138,4.596]],["name/159",[139,56.63]],["parent/159",[138,4.596]],["name/160",[140,41.966]],["parent/160",[]],["name/161",[141,43.637]],["parent/161",[140,4.006]],["name/162",[142,56.63]],["parent/162",[140,4.006]],["name/163",[143,43.637]],["parent/163",[140,4.006]],["name/164",[144,56.63]],["parent/164",[140,4.006]],["name/165",[143,43.637]],["parent/165",[140,4.006]],["name/166",[145,45.643]],["parent/166",[]],["name/167",[75,35.427]],["parent/167",[145,4.357]],["name/168",[146,41.966]],["parent/168",[145,4.357]],["name/169",[143,43.637]],["parent/169",[145,4.357]],["name/170",[147,33.943]],["parent/170",[]],["name/171",[114,41.966]],["parent/171",[147,3.24]],["name/172",[148,43.637]],["parent/172",[147,3.24]],["name/173",[149,43.637]],["parent/173",[147,3.24]],["name/174",[102,38.171]],["parent/174",[147,3.24]],["name/175",[134,41.966]],["parent/175",[147,3.24]],["name/176",[75,35.427]],["parent/176",[147,3.24]],["name/177",[135,41.966]],["parent/177",[147,3.24]],["name/178",[83,33.943]],["parent/178",[147,3.24]],["name/179",[136,41.966]],["parent/179",[147,3.24]],["name/180",[105,40.535]],["parent/180",[147,3.24]],["name/181",[137,41.966]],["parent/181",[147,3.24]],["name/182",[146,41.966]],["parent/182",[147,3.24]],["name/183",[143,43.637]],["parent/183",[147,3.24]],["name/184",[150,51.521]],["parent/184",[]],["name/185",[67,41.966]],["parent/185",[150,4.918]],["name/186",[151,51.521]],["parent/186",[]],["name/187",[125,45.643]],["parent/187",[151,4.918]],["name/188",[152,48.157]],["parent/188",[]],["name/189",[153,56.63]],["parent/189",[152,4.596]],["name/190",[154,56.63]],["parent/190",[152,4.596]],["name/191",[155,45.643]],["parent/191",[]],["name/192",[156,40.535]],["parent/192",[155,4.357]],["name/193",[157,39.284]],["parent/193",[155,4.357]],["name/194",[59,39.284]],["parent/194",[155,4.357]],["name/195",[158,56.63]],["parent/195",[]],["name/196",[157,39.284]],["parent/196",[]],["name/197",[159,48.157]],["parent/197",[]],["name/198",[160,43.637]],["parent/198",[]],["name/199",[156,40.535]],["parent/199",[160,4.165]],["name/200",[157,39.284]],["parent/200",[160,4.165]],["name/201",[161,45.643]],["parent/201",[160,4.165]],["name/202",[59,39.284]],["parent/202",[160,4.165]],["name/203",[162,40.535]],["parent/203",[]],["name/204",[156,40.535]],["parent/204",[162,3.869]],["name/205",[157,39.284]],["parent/205",[162,3.869]],["name/206",[161,45.643]],["parent/206",[162,3.869]],["name/207",[27,39.284]],["parent/207",[162,3.869]],["name/208",[29,40.535]],["parent/208",[162,3.869]],["name/209",[59,39.284]],["parent/209",[162,3.869]],["name/210",[163,39.284]],["parent/210",[]],["name/211",[156,40.535]],["parent/211",[163,3.75]],["name/212",[157,39.284]],["parent/212",[163,3.75]],["name/213",[161,45.643]],["parent/213",[163,3.75]],["name/214",[164,56.63]],["parent/214",[163,3.75]],["name/215",[95,51.521]],["parent/215",[163,3.75]],["name/216",[96,51.521]],["parent/216",[163,3.75]],["name/217",[59,39.284]],["parent/217",[163,3.75]],["name/218",[165,43.637]],["parent/218",[]],["name/219",[156,40.535]],["parent/219",[165,4.165]],["name/220",[157,39.284]],["parent/220",[165,4.165]],["name/221",[166,56.63]],["parent/221",[165,4.165]],["name/222",[59,39.284]],["parent/222",[165,4.165]],["name/223",[73,41.966]],["parent/223",[]],["name/224",[156,40.535]],["parent/224",[73,4.006]],["name/225",[157,39.284]],["parent/225",[73,4.006]],["name/226",[161,45.643]],["parent/226",[73,4.006]],["name/227",[59,39.284]],["parent/227",[73,4.006]],["name/228",[167,43.637]],["parent/228",[]],["name/229",[156,40.535]],["parent/229",[167,4.165]],["name/230",[157,39.284]],["parent/230",[167,4.165]],["name/231",[168,56.63]],["parent/231",[167,4.165]],["name/232",[59,39.284]],["parent/232",[167,4.165]],["name/233",[169,56.63]],["parent/233",[]],["name/234",[170,56.63]],["parent/234",[]],["name/235",[171,56.63]],["parent/235",[]],["name/236",[172,56.63]],["parent/236",[]],["name/237",[173,34.657]],["parent/237",[]],["name/238",[174,51.521]],["parent/238",[173,3.308]],["name/239",[175,51.521]],["parent/239",[173,3.308]],["name/240",[176,51.521]],["parent/240",[173,3.308]],["name/241",[177,51.521]],["parent/241",[173,3.308]],["name/242",[178,51.521]],["parent/242",[173,3.308]],["name/243",[179,51.521]],["parent/243",[173,3.308]],["name/244",[180,51.521]],["parent/244",[173,3.308]],["name/245",[181,51.521]],["parent/245",[173,3.308]],["name/246",[182,51.521]],["parent/246",[173,3.308]],["name/247",[183,51.521]],["parent/247",[173,3.308]],["name/248",[184,51.521]],["parent/248",[173,3.308]],["name/249",[185,51.521]],["parent/249",[173,3.308]],["name/250",[186,34.657]],["parent/250",[]],["name/251",[174,51.521]],["parent/251",[186,3.308]],["name/252",[175,51.521]],["parent/252",[186,3.308]],["name/253",[176,51.521]],["parent/253",[186,3.308]],["name/254",[177,51.521]],["parent/254",[186,3.308]],["name/255",[178,51.521]],["parent/255",[186,3.308]],["name/256",[179,51.521]],["parent/256",[186,3.308]],["name/257",[180,51.521]],["parent/257",[186,3.308]],["name/258",[181,51.521]],["parent/258",[186,3.308]],["name/259",[182,51.521]],["parent/259",[186,3.308]],["name/260",[183,51.521]],["parent/260",[186,3.308]],["name/261",[184,51.521]],["parent/261",[186,3.308]],["name/262",[185,51.521]],["parent/262",[186,3.308]],["name/263",[187,56.63]],["parent/263",[]],["name/264",[188,56.63]],["parent/264",[]],["name/265",[189,40.535]],["parent/265",[]],["name/266",[190,56.63]],["parent/266",[189,3.869]],["name/267",[191,56.63]],["parent/267",[189,3.869]],["name/268",[192,56.63]],["parent/268",[189,3.869]],["name/269",[193,56.63]],["parent/269",[189,3.869]],["name/270",[194,56.63]],["parent/270",[189,3.869]],["name/271",[195,56.63]],["parent/271",[189,3.869]],["name/272",[196,45.643]],["parent/272",[]],["name/273",[75,35.427]],["parent/273",[196,4.357]],["name/274",[197,56.63]],["parent/274",[196,4.357]],["name/275",[143,43.637]],["parent/275",[196,4.357]],["name/276",[198,51.521]],["parent/276",[]],["name/277",[199,56.63]],["parent/277",[198,4.918]],["name/278",[200,32.062]],["parent/278",[]],["name/279",[201,45.643]],["parent/279",[200,3.06]],["name/280",[202,41.966]],["parent/280",[200,3.06]],["name/281",[203,45.643]],["parent/281",[200,3.06]],["name/282",[146,41.966]],["parent/282",[200,3.06]],["name/283",[204,45.643]],["parent/283",[200,3.06]],["name/284",[114,41.966]],["parent/284",[200,3.06]],["name/285",[148,43.637]],["parent/285",[200,3.06]],["name/286",[149,43.637]],["parent/286",[200,3.06]],["name/287",[102,38.171]],["parent/287",[200,3.06]],["name/288",[134,41.966]],["parent/288",[200,3.06]],["name/289",[75,35.427]],["parent/289",[200,3.06]],["name/290",[135,41.966]],["parent/290",[200,3.06]],["name/291",[83,33.943]],["parent/291",[200,3.06]],["name/292",[136,41.966]],["parent/292",[200,3.06]],["name/293",[105,40.535]],["parent/293",[200,3.06]],["name/294",[137,41.966]],["parent/294",[200,3.06]],["name/295",[205,23.671]],["parent/295",[]],["name/296",[206,51.521]],["parent/296",[205,2.259]],["name/297",[98,48.157]],["parent/297",[205,2.259]],["name/298",[99,48.157]],["parent/298",[205,2.259]],["name/299",[207,56.63]],["parent/299",[205,2.259]],["name/300",[208,51.521]],["parent/300",[205,2.259]],["name/301",[209,51.521]],["parent/301",[205,2.259]],["name/302",[210,51.521]],["parent/302",[205,2.259]],["name/303",[201,45.643]],["parent/303",[205,2.259]],["name/304",[75,35.427]],["parent/304",[205,2.259]],["name/305",[202,41.966]],["parent/305",[205,2.259]],["name/306",[102,38.171]],["parent/306",[205,2.259]],["name/307",[134,41.966]],["parent/307",[205,2.259]],["name/308",[203,45.643]],["parent/308",[205,2.259]],["name/309",[146,41.966]],["parent/309",[205,2.259]],["name/310",[204,45.643]],["parent/310",[205,2.259]],["name/311",[135,41.966]],["parent/311",[205,2.259]],["name/312",[136,41.966]],["parent/312",[205,2.259]],["name/313",[83,33.943]],["parent/313",[205,2.259]],["name/314",[105,40.535]],["parent/314",[205,2.259]],["name/315",[137,41.966]],["parent/315",[205,2.259]],["name/316",[114,41.966]],["parent/316",[205,2.259]],["name/317",[148,43.637]],["parent/317",[205,2.259]],["name/318",[149,43.637]],["parent/318",[205,2.259]],["name/319",[108,51.521]],["parent/319",[205,2.259]],["name/320",[211,56.63]],["parent/320",[205,2.259]],["name/321",[212,56.63]],["parent/321",[205,2.259]],["name/322",[213,56.63]],["parent/322",[205,2.259]],["name/323",[214,56.63]],["parent/323",[205,2.259]],["name/324",[215,51.521]],["parent/324",[205,2.259]],["name/325",[216,56.63]],["parent/325",[205,2.259]],["name/326",[217,56.63]],["parent/326",[205,2.259]],["name/327",[205,23.671]],["parent/327",[]],["name/328",[218,51.521]],["parent/328",[205,2.259]],["name/329",[219,45.643]],["parent/329",[220,4.596]],["name/330",[221,45.643]],["parent/330",[220,4.596]],["name/331",[222,51.521]],["parent/331",[220,4.596]],["name/332",[159,48.157]],["parent/332",[205,2.259]],["name/333",[219,45.643]],["parent/333",[223,4.596]],["name/334",[221,45.643]],["parent/334",[223,4.596]],["name/335",[222,51.521]],["parent/335",[223,4.596]],["name/336",[224,51.521]],["parent/336",[205,2.259]],["name/337",[141,43.637]],["parent/337",[225,4.596]],["name/338",[226,45.643]],["parent/338",[225,4.596]],["name/339",[227,45.643]],["parent/339",[225,4.596]],["name/340",[228,51.521]],["parent/340",[205,2.259]],["name/341",[125,45.643]],["parent/341",[229,3.643]],["name/342",[141,43.637]],["parent/342",[229,3.643]],["name/343",[226,45.643]],["parent/343",[229,3.643]],["name/344",[230,51.521]],["parent/344",[229,3.643]],["name/345",[231,51.521]],["parent/345",[229,3.643]],["name/346",[232,51.521]],["parent/346",[229,3.643]],["name/347",[233,51.521]],["parent/347",[229,3.643]],["name/348",[227,45.643]],["parent/348",[229,3.643]],["name/349",[132,48.157]],["parent/349",[229,3.643]],["name/350",[1,48.157]],["parent/350",[205,2.259]],["name/351",[67,41.966]],["parent/351",[234,5.405]],["name/352",[202,41.966]],["parent/352",[205,2.259]],["name/353",[75,35.427]],["parent/353",[235,5.405]],["name/354",[236,56.63]],["parent/354",[205,2.259]],["name/355",[65,51.521]],["parent/355",[237,4.596]],["name/356",[238,56.63]],["parent/356",[237,4.596]],["name/357",[67,41.966]],["parent/357",[237,4.596]],["name/358",[239,31.507]],["parent/358",[]],["name/359",[201,45.643]],["parent/359",[239,3.007]],["name/360",[202,41.966]],["parent/360",[239,3.007]],["name/361",[203,45.643]],["parent/361",[239,3.007]],["name/362",[146,41.966]],["parent/362",[239,3.007]],["name/363",[204,45.643]],["parent/363",[239,3.007]],["name/364",[240,51.521]],["parent/364",[239,3.007]],["name/365",[114,41.966]],["parent/365",[239,3.007]],["name/366",[148,43.637]],["parent/366",[239,3.007]],["name/367",[149,43.637]],["parent/367",[239,3.007]],["name/368",[102,38.171]],["parent/368",[239,3.007]],["name/369",[134,41.966]],["parent/369",[239,3.007]],["name/370",[75,35.427]],["parent/370",[239,3.007]],["name/371",[135,41.966]],["parent/371",[239,3.007]],["name/372",[83,33.943]],["parent/372",[239,3.007]],["name/373",[136,41.966]],["parent/373",[239,3.007]],["name/374",[105,40.535]],["parent/374",[239,3.007]],["name/375",[137,41.966]],["parent/375",[239,3.007]],["name/376",[241,25.275]],["parent/376",[]],["name/377",[206,51.521]],["parent/377",[241,2.412]],["name/378",[98,48.157]],["parent/378",[241,2.412]],["name/379",[99,48.157]],["parent/379",[241,2.412]],["name/380",[208,51.521]],["parent/380",[241,2.412]],["name/381",[209,51.521]],["parent/381",[241,2.412]],["name/382",[210,51.521]],["parent/382",[241,2.412]],["name/383",[201,45.643]],["parent/383",[241,2.412]],["name/384",[75,35.427]],["parent/384",[241,2.412]],["name/385",[202,41.966]],["parent/385",[241,2.412]],["name/386",[102,38.171]],["parent/386",[241,2.412]],["name/387",[134,41.966]],["parent/387",[241,2.412]],["name/388",[203,45.643]],["parent/388",[241,2.412]],["name/389",[146,41.966]],["parent/389",[241,2.412]],["name/390",[135,41.966]],["parent/390",[241,2.412]],["name/391",[136,41.966]],["parent/391",[241,2.412]],["name/392",[83,33.943]],["parent/392",[241,2.412]],["name/393",[105,40.535]],["parent/393",[241,2.412]],["name/394",[137,41.966]],["parent/394",[241,2.412]],["name/395",[114,41.966]],["parent/395",[241,2.412]],["name/396",[148,43.637]],["parent/396",[241,2.412]],["name/397",[149,43.637]],["parent/397",[241,2.412]],["name/398",[204,45.643]],["parent/398",[241,2.412]],["name/399",[240,51.521]],["parent/399",[241,2.412]],["name/400",[242,56.63]],["parent/400",[241,2.412]],["name/401",[243,56.63]],["parent/401",[241,2.412]],["name/402",[215,51.521]],["parent/402",[241,2.412]],["name/403",[241,25.275]],["parent/403",[]],["name/404",[218,51.521]],["parent/404",[241,2.412]],["name/405",[219,45.643]],["parent/405",[244,4.918]],["name/406",[221,45.643]],["parent/406",[244,4.918]],["name/407",[159,48.157]],["parent/407",[241,2.412]],["name/408",[219,45.643]],["parent/408",[245,4.918]],["name/409",[221,45.643]],["parent/409",[245,4.918]],["name/410",[224,51.521]],["parent/410",[241,2.412]],["name/411",[141,43.637]],["parent/411",[246,4.596]],["name/412",[226,45.643]],["parent/412",[246,4.596]],["name/413",[227,45.643]],["parent/413",[246,4.596]],["name/414",[228,51.521]],["parent/414",[241,2.412]],["name/415",[125,45.643]],["parent/415",[247,3.381]],["name/416",[141,43.637]],["parent/416",[247,3.381]],["name/417",[226,45.643]],["parent/417",[247,3.381]],["name/418",[230,51.521]],["parent/418",[247,3.381]],["name/419",[231,51.521]],["parent/419",[247,3.381]],["name/420",[248,56.63]],["parent/420",[247,3.381]],["name/421",[249,56.63]],["parent/421",[247,3.381]],["name/422",[250,56.63]],["parent/422",[247,3.381]],["name/423",[232,51.521]],["parent/423",[247,3.381]],["name/424",[233,51.521]],["parent/424",[247,3.381]],["name/425",[227,45.643]],["parent/425",[247,3.381]],["name/426",[132,48.157]],["parent/426",[247,3.381]],["name/427",[1,48.157]],["parent/427",[241,2.412]],["name/428",[67,41.966]],["parent/428",[251,5.405]],["name/429",[202,41.966]],["parent/429",[241,2.412]],["name/430",[75,35.427]],["parent/430",[252,5.405]]],"invertedIndex":[["__type",{"_index":143,"name":{"163":{},"165":{},"169":{},"183":{},"275":{}},"parent":{}}],["_uncheckedlinknodeswithcharacter",{"_index":248,"name":{"420":{}},"parent":{}}],["_uncheckedlinknodeswithcharrange",{"_index":249,"name":{"421":{}},"parent":{}}],["_uncheckedlinknodeswithcharset",{"_index":250,"name":{"422":{}},"parent":{}}],["all",{"_index":99,"name":{"102":{},"298":{},"379":{}},"parent":{}}],["alternation",{"_index":160,"name":{"198":{}},"parent":{"199":{},"200":{},"201":{},"202":{}}}],["alternatives",{"_index":161,"name":{"201":{},"206":{},"213":{},"226":{}},"parent":{}}],["anycharacterset",{"_index":34,"name":{"35":{}},"parent":{}}],["append",{"_index":211,"name":{"320":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["assertion",{"_index":162,"name":{"203":{}},"parent":{"204":{},"205":{},"206":{},"207":{},"208":{},"209":{}}}],["assertions",{"_index":65,"name":{"68":{},"355":{}},"parent":{}}],["ast",{"_index":80,"name":{"82":{}},"parent":{}}],["backreferences",{"_index":64,"name":{"67":{}},"parent":{}}],["boundaryassertion",{"_index":25,"name":{"27":{}},"parent":{}}],["char",{"_index":91,"name":{"94":{}},"parent":{}}],["characterclass",{"_index":165,"name":{"218":{}},"parent":{"219":{},"220":{},"221":{},"222":{}}}],["characters",{"_index":166,"name":{"221":{}},"parent":{}}],["charmap",{"_index":124,"name":{"130":{}},"parent":{"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{}}}],["charrange",{"_index":94,"name":{"97":{}},"parent":{"98":{},"99":{}}}],["charset",{"_index":97,"name":{"100":{}},"parent":{"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{}}}],["combinetransformers",{"_index":187,"name":{"263":{}},"parent":{}}],["commoncharacter",{"_index":115,"name":{"119":{}},"parent":{}}],["compare",{"_index":107,"name":{"110":{}},"parent":{}}],["complement",{"_index":243,"name":{"401":{}},"parent":{}}],["concatenation",{"_index":167,"name":{"228":{}},"parent":{"229":{},"230":{},"231":{},"232":{}}}],["constructor",{"_index":125,"name":{"131":{},"187":{},"341":{},"415":{}},"parent":{}}],["copy",{"_index":204,"name":{"283":{},"310":{},"363":{},"398":{}},"parent":{}}],["count",{"_index":227,"name":{"339":{},"348":{},"413":{},"425":{}},"parent":{}}],["createassertion",{"_index":24,"name":{"26":{}},"parent":{}}],["createcharset",{"_index":32,"name":{"33":{}},"parent":{}}],["createnode",{"_index":230,"name":{"344":{},"418":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{},"350":{},"427":{}},"parent":{}}],["delete",{"_index":128,"name":{"139":{}},"parent":{}}],["deleteevery",{"_index":129,"name":{"140":{}},"parent":{}}],["dfa",{"_index":241,"name":{"376":{},"403":{}},"parent":{"377":{},"378":{},"379":{},"380":{},"381":{},"382":{},"383":{},"384":{},"385":{},"386":{},"387":{},"388":{},"389":{},"390":{},"391":{},"392":{},"393":{},"394":{},"395":{},"396":{},"397":{},"398":{},"399":{},"400":{},"401":{},"402":{},"404":{},"407":{},"410":{},"414":{},"427":{},"429":{}}}],["dfa.creationoptions",{"_index":251,"name":{},"parent":{"428":{}}}],["dfa.node",{"_index":245,"name":{},"parent":{"408":{},"409":{}}}],["dfa.nodelist",{"_index":247,"name":{},"parent":{"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{}}}],["dfa.options",{"_index":252,"name":{},"parent":{"430":{}}}],["dfa.readonlynode",{"_index":244,"name":{},"parent":{"405":{},"406":{}}}],["dfa.readonlynodelist",{"_index":246,"name":{},"parent":{"411":{},"412":{},"413":{}}}],["digitcharacterset",{"_index":36,"name":{"37":{}},"parent":{}}],["disableoptimizations",{"_index":66,"name":{"69":{}},"parent":{}}],["dotall",{"_index":51,"name":{"56":{}},"parent":{}}],["element",{"_index":158,"name":{"195":{}},"parent":{}}],["elements",{"_index":168,"name":{"231":{}},"parent":{}}],["empty",{"_index":98,"name":{"101":{},"297":{},"378":{}},"parent":{}}],["end",{"_index":154,"name":{"190":{}},"parent":{}}],["entries",{"_index":123,"name":{"129":{},"146":{}},"parent":{}}],["equals",{"_index":106,"name":{"109":{}},"parent":{}}],["expression",{"_index":73,"name":{"76":{},"223":{}},"parent":{"224":{},"225":{},"226":{},"227":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["faiterator",{"_index":140,"name":{"160":{}},"parent":{"161":{},"162":{},"163":{},"164":{},"165":{}}}],["fastcharacters",{"_index":50,"name":{"54":{}},"parent":{}}],["finals",{"_index":226,"name":{"338":{},"343":{},"412":{},"417":{}},"parent":{}}],["finiteautomaton",{"_index":133,"name":{"148":{}},"parent":{"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{}}}],["flags",{"_index":48,"name":{"53":{},"55":{},"64":{},"73":{}},"parent":{}}],["foreach",{"_index":120,"name":{"126":{},"143":{}},"parent":{}}],["fromast",{"_index":79,"name":{"80":{}},"parent":{}}],["fromfa",{"_index":209,"name":{"301":{},"381":{}},"parent":{}}],["fromintersection",{"_index":206,"name":{"296":{},"377":{}},"parent":{}}],["fromliteral",{"_index":77,"name":{"79":{}},"parent":{}}],["fromregex",{"_index":207,"name":{"299":{}},"parent":{}}],["fromregexoptions",{"_index":236,"name":{"354":{}},"parent":{}}],["fromstringtounicode",{"_index":87,"name":{"90":{}},"parent":{}}],["fromstringtoutf16",{"_index":86,"name":{"89":{}},"parent":{}}],["fromtransitioniterator",{"_index":210,"name":{"302":{},"382":{}},"parent":{}}],["fromunicodetostring",{"_index":85,"name":{"88":{}},"parent":{}}],["fromutf16tostring",{"_index":84,"name":{"87":{}},"parent":{}}],["fromwords",{"_index":208,"name":{"300":{},"380":{}},"parent":{}}],["get",{"_index":119,"name":{"125":{},"136":{}},"parent":{}}],["getout",{"_index":142,"name":{"162":{}},"parent":{}}],["global",{"_index":53,"name":{"57":{}},"parent":{}}],["has",{"_index":111,"name":{"115":{},"122":{},"133":{}},"parent":{}}],["hasevery",{"_index":117,"name":{"123":{},"134":{}},"parent":{}}],["hassome",{"_index":118,"name":{"124":{},"135":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":54,"name":{"58":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":222,"name":{"331":{},"335":{}},"parent":{}}],["infinitythreshold",{"_index":238,"name":{"356":{}},"parent":{}}],["initial",{"_index":141,"name":{"161":{},"337":{},"342":{},"411":{},"416":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":109,"name":{"113":{}},"parent":{}}],["intersectionoptions",{"_index":150,"name":{"184":{}},"parent":{"185":{}}}],["intersectionwords",{"_index":149,"name":{"173":{},"286":{},"318":{},"367":{},"397":{}},"parent":{}}],["intersectionwordsets",{"_index":148,"name":{"172":{},"285":{},"317":{},"366":{},"396":{}},"parent":{}}],["isall",{"_index":103,"name":{"106":{}},"parent":{}}],["isdisjointwith",{"_index":114,"name":{"118":{},"171":{},"284":{},"316":{},"365":{},"395":{}},"parent":{}}],["isempty",{"_index":102,"name":{"105":{},"121":{},"132":{},"149":{},"174":{},"287":{},"306":{},"368":{},"386":{}},"parent":{}}],["isfinal",{"_index":144,"name":{"164":{}},"parent":{}}],["isfinite",{"_index":134,"name":{"150":{},"175":{},"288":{},"307":{},"369":{},"387":{}},"parent":{}}],["issubsetof",{"_index":113,"name":{"117":{}},"parent":{}}],["issupersetof",{"_index":112,"name":{"116":{}},"parent":{}}],["js",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"31":{},"33":{},"34":{},"35":{},"37":{},"40":{},"45":{},"48":{},"51":{},"52":{},"55":{},"62":{},"65":{},"71":{},"74":{},"75":{},"78":{}}}],["js.anycharacterset",{"_index":35,"name":{},"parent":{"36":{}}}],["js.digitcharacterset",{"_index":37,"name":{},"parent":{"38":{},"39":{}}}],["js.flags",{"_index":52,"name":{},"parent":{"56":{},"57":{},"58":{},"59":{},"60":{},"61":{}}}],["js.literal",{"_index":60,"name":{},"parent":{"63":{},"64":{}}}],["js.parseoptions",{"_index":63,"name":{},"parent":{"66":{},"67":{},"68":{},"69":{},"70":{}}}],["js.parser",{"_index":78,"name":{},"parent":{"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{}}}],["js.parseresult",{"_index":74,"name":{},"parent":{"76":{},"77":{}}}],["js.propertycharacterset",{"_index":39,"name":{},"parent":{"41":{},"42":{},"43":{},"44":{}}}],["js.regexppast",{"_index":70,"name":{},"parent":{"72":{},"73":{}}}],["js.spacecharacterset",{"_index":43,"name":{},"parent":{"46":{},"47":{}}}],["js.textboundaryassertion",{"_index":31,"name":{},"parent":{"32":{}}}],["js.toliteraloptions",{"_index":49,"name":{},"parent":{"53":{},"54":{}}}],["js.wordboundaryassertion",{"_index":28,"name":{},"parent":{"29":{},"30":{}}}],["js.wordcharacterset",{"_index":45,"name":{},"parent":{"49":{},"50":{}}}],["key",{"_index":40,"name":{"42":{}},"parent":{}}],["keys",{"_index":121,"name":{"127":{},"144":{}},"parent":{}}],["kind",{"_index":27,"name":{"29":{},"32":{},"36":{},"38":{},"41":{},"46":{},"49":{},"207":{}},"parent":{}}],["lazy",{"_index":164,"name":{"214":{}},"parent":{}}],["linknodes",{"_index":231,"name":{"345":{},"419":{}},"parent":{}}],["list",{"_index":219,"name":{"329":{},"333":{},"405":{},"408":{}},"parent":{}}],["literal",{"_index":58,"name":{"62":{},"81":{}},"parent":{}}],["map",{"_index":130,"name":{"141":{}},"parent":{}}],["maprange",{"_index":131,"name":{"142":{}},"parent":{}}],["max",{"_index":96,"name":{"99":{},"216":{}},"parent":{}}],["maxbackreferencewords",{"_index":62,"name":{"66":{}},"parent":{}}],["maxcharacter",{"_index":75,"name":{"77":{},"83":{},"151":{},"167":{},"176":{},"273":{},"289":{},"304":{},"353":{},"370":{},"384":{},"430":{}},"parent":{}}],["maximum",{"_index":100,"name":{"103":{}},"parent":{}}],["maxnodes",{"_index":67,"name":{"70":{},"158":{},"185":{},"351":{},"357":{},"428":{}},"parent":{}}],["maxoptimizationpasses",{"_index":139,"name":{"159":{}},"parent":{}}],["maxpasses",{"_index":199,"name":{"277":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":95,"name":{"98":{},"215":{}},"parent":{}}],["minimize",{"_index":242,"name":{"400":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":55,"name":{"59":{}},"parent":{}}],["negate",{"_index":29,"name":{"30":{},"39":{},"44":{},"47":{},"50":{},"111":{},"208":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":205,"name":{"295":{},"327":{}},"parent":{"296":{},"297":{},"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{},"311":{},"312":{},"313":{},"314":{},"315":{},"316":{},"317":{},"318":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"328":{},"332":{},"336":{},"340":{},"350":{},"352":{},"354":{}}}],["nfa.creationoptions",{"_index":234,"name":{},"parent":{"351":{}}}],["nfa.fromregexoptions",{"_index":237,"name":{},"parent":{"355":{},"356":{},"357":{}}}],["nfa.node",{"_index":223,"name":{},"parent":{"333":{},"334":{},"335":{}}}],["nfa.nodelist",{"_index":229,"name":{},"parent":{"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{}}}],["nfa.options",{"_index":235,"name":{},"parent":{"353":{}}}],["nfa.readonlynode",{"_index":220,"name":{},"parent":{"329":{},"330":{},"331":{}}}],["nfa.readonlynodelist",{"_index":225,"name":{},"parent":{"337":{},"338":{},"339":{}}}],["node",{"_index":159,"name":{"197":{},"332":{},"407":{}},"parent":{}}],["nodebase",{"_index":155,"name":{"191":{}},"parent":{"192":{},"193":{},"194":{}}}],["nodelist",{"_index":228,"name":{"340":{},"414":{}},"parent":{}}],["nodes",{"_index":201,"name":{"279":{},"303":{},"359":{},"383":{}},"parent":{}}],["noparent",{"_index":169,"name":{"233":{}},"parent":{}}],["onalternation",{"_index":190,"name":{"266":{}},"parent":{}}],["onalternationenter",{"_index":174,"name":{"238":{},"251":{}},"parent":{}}],["onalternationleave",{"_index":175,"name":{"239":{},"252":{}},"parent":{}}],["onassertion",{"_index":191,"name":{"267":{}},"parent":{}}],["onassertionenter",{"_index":176,"name":{"240":{},"253":{}},"parent":{}}],["onassertionleave",{"_index":177,"name":{"241":{},"254":{}},"parent":{}}],["oncharacterclass",{"_index":192,"name":{"268":{}},"parent":{}}],["oncharacterclassenter",{"_index":178,"name":{"242":{},"255":{}},"parent":{}}],["oncharacterclassleave",{"_index":179,"name":{"243":{},"256":{}},"parent":{}}],["onconcatenation",{"_index":193,"name":{"269":{}},"parent":{}}],["onconcatenationenter",{"_index":180,"name":{"244":{},"257":{}},"parent":{}}],["onconcatenationleave",{"_index":181,"name":{"245":{},"258":{}},"parent":{}}],["onexpression",{"_index":194,"name":{"270":{}},"parent":{}}],["onexpressionenter",{"_index":182,"name":{"246":{},"259":{}},"parent":{}}],["onexpressionleave",{"_index":183,"name":{"247":{},"260":{}},"parent":{}}],["onquantifier",{"_index":195,"name":{"271":{}},"parent":{}}],["onquantifierenter",{"_index":184,"name":{"248":{},"261":{}},"parent":{}}],["onquantifierleave",{"_index":185,"name":{"249":{},"262":{}},"parent":{}}],["options",{"_index":202,"name":{"280":{},"305":{},"352":{},"360":{},"385":{},"429":{}},"parent":{}}],["out",{"_index":221,"name":{"330":{},"334":{},"406":{},"409":{}},"parent":{}}],["parent",{"_index":157,"name":{"193":{},"196":{},"200":{},"205":{},"212":{},"220":{},"225":{},"230":{}},"parent":{}}],["parsableelement",{"_index":71,"name":{"74":{}},"parent":{}}],["parse",{"_index":81,"name":{"84":{}},"parent":{}}],["parseelement",{"_index":82,"name":{"85":{}},"parent":{}}],["parseoptions",{"_index":61,"name":{"65":{}},"parent":{}}],["parser",{"_index":76,"name":{"78":{}},"parent":{}}],["parseresult",{"_index":72,"name":{"75":{}},"parent":{}}],["pattern",{"_index":69,"name":{"72":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":89,"name":{"92":{}},"parent":{}}],["pickmostreadableword",{"_index":90,"name":{"93":{}},"parent":{}}],["predefinedcharacterset",{"_index":33,"name":{"34":{}},"parent":{}}],["prefixes",{"_index":215,"name":{"324":{},"402":{}},"parent":{}}],["prepend",{"_index":212,"name":{"321":{}},"parent":{}}],["propertycharacterset",{"_index":38,"name":{"40":{}},"parent":{}}],["quantifier",{"_index":163,"name":{"210":{}},"parent":{"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{}}}],["quantify",{"_index":213,"name":{"322":{}},"parent":{}}],["ranges",{"_index":101,"name":{"104":{}},"parent":{}}],["readonlycharmap",{"_index":116,"name":{"120":{}},"parent":{"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{}}}],["readonlydfa",{"_index":239,"name":{"358":{}},"parent":{"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{}}}],["readonlynfa",{"_index":200,"name":{"278":{}},"parent":{"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{}}}],["readonlynode",{"_index":218,"name":{"328":{},"404":{}},"parent":{}}],["readonlynodelist",{"_index":224,"name":{"336":{},"410":{}},"parent":{}}],["readonlyword",{"_index":93,"name":{"96":{}},"parent":{}}],["regexppast",{"_index":68,"name":{"71":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":233,"name":{"347":{},"424":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["reverse",{"_index":217,"name":{"326":{}},"parent":{}}],["set",{"_index":126,"name":{"137":{}},"parent":{}}],["setevery",{"_index":127,"name":{"138":{}},"parent":{}}],["setparent",{"_index":170,"name":{"234":{}},"parent":{}}],["setsource",{"_index":171,"name":{"235":{}},"parent":{}}],["signalmutation",{"_index":197,"name":{"274":{}},"parent":{}}],["size",{"_index":104,"name":{"107":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":59,"name":{"63":{},"194":{},"202":{},"209":{},"217":{},"222":{},"227":{},"232":{}},"parent":{}}],["sourcelocation",{"_index":152,"name":{"188":{}},"parent":{"189":{},"190":{}}}],["spacecharacterset",{"_index":42,"name":{"45":{}},"parent":{}}],["start",{"_index":153,"name":{"189":{}},"parent":{}}],["stateiterator",{"_index":203,"name":{"281":{},"308":{},"361":{},"388":{}},"parent":{}}],["sticky",{"_index":56,"name":{"60":{}},"parent":{}}],["structurallyequal",{"_index":240,"name":{"364":{},"399":{}},"parent":{}}],["suffixes",{"_index":216,"name":{"325":{}},"parent":{}}],["symbol.iterator",{"_index":132,"name":{"147":{},"349":{},"426":{}},"parent":{}}],["test",{"_index":135,"name":{"152":{},"177":{},"290":{},"311":{},"371":{},"390":{}},"parent":{}}],["textboundaryassertion",{"_index":30,"name":{"31":{}},"parent":{}}],["toliteral",{"_index":46,"name":{"51":{}},"parent":{}}],["toliteraloptions",{"_index":47,"name":{"52":{}},"parent":{}}],["toomanynodeserror",{"_index":151,"name":{"186":{}},"parent":{"187":{}}}],["toregex",{"_index":137,"name":{"156":{},"181":{},"294":{},"315":{},"375":{},"394":{}},"parent":{}}],["toregexoptions",{"_index":138,"name":{"157":{}},"parent":{"158":{},"159":{}}}],["tostring",{"_index":105,"name":{"108":{},"155":{},"180":{},"293":{},"314":{},"374":{},"393":{}},"parent":{}}],["transform",{"_index":188,"name":{"264":{}},"parent":{}}],["transformcontext",{"_index":196,"name":{"272":{}},"parent":{"273":{},"274":{},"275":{}}}],["transformer",{"_index":189,"name":{"265":{}},"parent":{"266":{},"267":{},"268":{},"269":{},"270":{},"271":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":198,"name":{"276":{}},"parent":{"277":{}}}],["transitioniterable",{"_index":145,"name":{"166":{}},"parent":{"167":{},"168":{},"169":{}}}],["transitioniterablefa",{"_index":147,"name":{"170":{}},"parent":{"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{}}}],["transitioniterator",{"_index":146,"name":{"168":{},"182":{},"282":{},"309":{},"362":{},"389":{}},"parent":{}}],["type",{"_index":156,"name":{"192":{},"199":{},"204":{},"211":{},"219":{},"224":{},"229":{}},"parent":{}}],["unicode",{"_index":57,"name":{"61":{}},"parent":{}}],["union",{"_index":108,"name":{"112":{},"319":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unlinknodes",{"_index":232,"name":{"346":{},"423":{}},"parent":{}}],["value",{"_index":41,"name":{"43":{}},"parent":{}}],["values",{"_index":122,"name":{"128":{},"145":{}},"parent":{}}],["visitast",{"_index":172,"name":{"236":{}},"parent":{}}],["visitasthandler",{"_index":173,"name":{"237":{}},"parent":{"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{}}}],["visitnoparentasthandler",{"_index":186,"name":{"250":{}},"parent":{"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["without",{"_index":110,"name":{"114":{}},"parent":{}}],["withoutemptyword",{"_index":214,"name":{"323":{}},"parent":{}}],["word",{"_index":92,"name":{"95":{}},"parent":{}}],["wordboundaryassertion",{"_index":26,"name":{"28":{}},"parent":{}}],["wordcharacterset",{"_index":44,"name":{"48":{}},"parent":{}}],["words",{"_index":83,"name":{"86":{},"153":{},"178":{},"291":{},"313":{},"372":{},"392":{}},"parent":{"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{}}}],["wordsets",{"_index":136,"name":{"154":{},"179":{},"292":{},"312":{},"373":{},"391":{}},"parent":{}}],["wordsettowords",{"_index":88,"name":{"91":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.7.1/classes/charmap.html b/docs/v0.7.1/classes/charmap.html new file mode 100644 index 00000000..530fae02 --- /dev/null +++ b/docs/v0.7.1/classes/charmap.html @@ -0,0 +1,714 @@ + + + + + + CharMap | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharMap<T>

+
+
+
+
+
+
+
+
+
+

A map from characters to generic values.

+
+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated + as one character range. The equality of values is given by a custom equal function or JavaScript's strict equality + operator (===).

+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + CharMap +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CharMap<T>(equalFn?: (a: T, b: T) => boolean): CharMap<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      Optional equalFn: (a: T, b: T) => boolean
      +
        +
      • +
          +
        • (a: T, b: T): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            a: T
            +
          • +
          • +
            b: T
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns CharMap<T>

    +
  • +
+
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<[CharRange, T]>
  • +
+
    +
  • + +

    Returns IterableIterator<[CharRange, T]>

    +
  • +
+
+
+ +

delete

+
    +
  • delete(char: Char): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

deleteEvery

+ +
    +
  • + +
    +
    +

    Deletes all characters in the given range.

    +
    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

entries

+ + +
+
+ +

forEach

+ + +
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

map

+ + +
+
+ +

mapRange

+ + +
+
+ +

set

+
    +
  • set(char: Char, value: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    • +
      value: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setEvery

+
    +
  • setEvery(chars: CharRange, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given range.

    +
    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      chars: CharRange
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

values

+
    +
  • values(): IterableIterator<T>
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/charset.html b/docs/v0.7.1/classes/charset.html new file mode 100644 index 00000000..02a85caf --- /dev/null +++ b/docs/v0.7.1/classes/charset.html @@ -0,0 +1,729 @@ + + + + + + CharSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharSet

+
+
+
+
+
+
+
+
+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+
+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • + CharSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maximum

+
maximum: Char
+ +
+
+

The greatest character which can be element of the set.

+
+
+
+
+ +

Readonly ranges

+
ranges: readonly CharRange[]
+ +
+
+

An array of ranges representing this character set.

+
+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+
+

Accessors

+
+ +

isAll

+
    +
  • get isAll(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in + the set.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if this set doesn't contain any characters.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of unique characters in the set.

    +
    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

commonCharacter

+ +
    +
  • + +
    +
    +

    Returns any one of the common characters of this set and the given set or range.

    +
    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +

    Parameters

    + +

    Returns undefined | Char

    +
  • +
+
+
+ +

compare

+
    +
  • compare(other: CharSet): number
  • +
+
    +
  • + +
    +
    +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are + always guaranteed to return 0.

    +
    +

    The order defined by this function is guaranteed to be a + total order. Apart from this, no other guarantees are given.

    +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

equals

+
    +
  • equals(other: CharSet): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this and the given character set are equivalent.

    +
    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and + maximum.
    6. +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

has

+
    +
  • has(character: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

intersect

+ +
    +
  • + +
    +
    +

    Returns the intersection of this set and the given set + and character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

isSubsetOf

+ + +
+
+ +

isSupersetOf

+ + +
+
+ +

negate

+ +
    +
  • + +
    +
    +

    Returns the complement of this set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +

    Returns CharSet

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the character set.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

union

+ +
    +
  • + +
    +
    +

    Returns the union of this set and all given sets and + character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the + maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

without

+ +
    +
  • + +
    +
    +

    Returns a set that contains all characters of this set that are not in the given set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which can be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/dfa.html b/docs/v0.7.1/classes/dfa.html new file mode 100644 index 00000000..151a8a76 --- /dev/null +++ b/docs/v0.7.1/classes/dfa.html @@ -0,0 +1,860 @@ + + + + + + DFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DFA

+
+
+
+
+
+
+
+ +
+
+

Hierarchy

+
    +
  • + DFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

complement

+
    +
  • complement(): void
  • +
+
    +
  • + +
    +
    +

    Complements this DFA.

    +
    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this + function.

    +
    +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

minimize

+
    +
  • minimize(): void
  • +
+
    +
  • + +
    +
    +

    Minimizes this DFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromTransitionIterator

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      InputNode

      +
    • +
    +

    Parameters

    + +

    Returns DFA

    +
  • +
+
+
+ +

Static fromWords

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/dfa.nodelist.html b/docs/v0.7.1/classes/dfa.nodelist.html new file mode 100644 index 00000000..f924647e --- /dev/null +++ b/docs/v0.7.1/classes/dfa.nodelist.html @@ -0,0 +1,478 @@ + + + + + + NodeList | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+ +

Readonly initial

+
initial: Node
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<Node>
  • +
+
    +
  • + +

    Returns IterableIterator<Node>

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharRange

+
    +
  • _uncheckedLinkNodesWithCharRange(from: Node, to: Node, characters: CharRange): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharSet

+
    +
  • _uncheckedLinkNodesWithCharSet(from: Node, to: Node, characters: CharSet): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharacter

+
    +
  • _uncheckedLinkNodesWithCharacter(from: Node, to: Node, character: Char): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +

    Returns Node

    +
  • +
+
+
+ +

linkNodes

+ + +
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/js.parser.html b/docs/v0.7.1/classes/js.parser.html new file mode 100644 index 00000000..ad7e4284 --- /dev/null +++ b/docs/v0.7.1/classes/js.parser.html @@ -0,0 +1,408 @@ + + + + + + Parser | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Parser

+
+
+
+
+
+
+
+
+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+
+

Hierarchy

+
    +
  • + Parser +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly ast

+ + +
+
+

The parsed AST of the literal this parser works on.

+
+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations + based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +

Readonly literal

+
literal: Literal
+ +
+
+

The literal of the parser instance.

+
+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the parsed AST.

+
+

This value will also be returned as part of the ParseResult.

+
+
+
+
+

Methods

+
+ +

parse

+ +
    +
  • + +
    +
    +

    Parsed the entire literal.

    +
    +
    +

    Parameters

    + +

    Returns ParseResult

    +
  • +
+
+
+ +

parseElement

+ + +
+
+ +

Static fromAst

+ +
    +
  • + +
    +
    +

    Creates a new parser from the given regexpp AST.

    +
    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex + again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +

    Parameters

    + +

    Returns Parser

    +
  • +
+
+
+ +

Static fromLiteral

+
    +
  • fromLiteral(literal: Literal, parserOptions?: Options): Parser
  • +
+
    +
  • + +
    +
    +

    Creates a new parser from the given literal.

    +
    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the + given RegExp parser options.

    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
      +
      +
    • +
    +

    Returns Parser

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/nfa.html b/docs/v0.7.1/classes/nfa.html new file mode 100644 index 00000000..c0f15e06 --- /dev/null +++ b/docs/v0.7.1/classes/nfa.html @@ -0,0 +1,1057 @@ + + + + + + NFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NFA

+
+
+
+
+
+
+
+
+ +

This class implements epsilon-free NFAs.

+
+
+
+

Hierarchy

+
    +
  • + NFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverse

+
    +
  • reverse(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

withoutEmptyWord

+
    +
  • withoutEmptyWord(): void
  • +
+
    +
  • + +
    +
    +

    Removes the empty word from the accepted languages of this NFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      InputNode

      +
    • +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/nfa.nodelist.html b/docs/v0.7.1/classes/nfa.nodelist.html new file mode 100644 index 00000000..0a4c6b15 --- /dev/null +++ b/docs/v0.7.1/classes/nfa.nodelist.html @@ -0,0 +1,412 @@ + + + + + + NodeList | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+

The set of final states of this list.

+
+
+
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/classes/toomanynodeserror.html b/docs/v0.7.1/classes/toomanynodeserror.html new file mode 100644 index 00000000..a6e87a13 --- /dev/null +++ b/docs/v0.7.1/classes/toomanynodeserror.html @@ -0,0 +1,175 @@ + + + + + + TooManyNodesError | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TooManyNodesError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when an operation causes too many nodes to be created.

+
+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in + the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely + abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + TooManyNodesError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns TooManyNodesError

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/index.html b/docs/v0.7.1/index.html new file mode 100644 index 00000000..1ad039d3 --- /dev/null +++ b/docs/v0.7.1/index.html @@ -0,0 +1,495 @@ + + + + + + refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.7.1

+
+
+
+
+
+
+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status + npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ +

Features

+
+
    +
  • Conversions

    +
      +
    • RE to NFA (assertions are not implemented yet)
    • +
    • NFA to DFA and DFA to NFA
    • +
    • NFA to RE and DFA to RE
    • +
    +
  • +
  • DFA and NFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print internal representation in a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the language of an FA is the empty set/a finite set
    • +
    • Accept all prefixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    • Accept all suffixes of a language
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE and RE to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+ +

Converting to and from the RE AST format

+
+

JavaScript RegExp can be converted to the RE AST format by using JS.Parser. JS.toLiteral converts into the other direction. (Note that the conversion from JS RegExp to the RE AST format is lossy (capturing groups) and sometime impossible due to the limitations of the RE AST format.)

+

Converters for other regex dialects might be added in the future as separate packages.

+ +

Universal characters

+
+

refa does not use JavaScript string represent characters or a sequence of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+ +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";
+
+function toNFA(regex: RegExp): NFA {
+    const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+    return NFA.fromRegex(expression, { maxCharacter });
+}
+function toDFA(regex: RegExp): DFA {
+    return DFA.fromFA(toNFA(regex));
+}
+function toRegExp(fa: FiniteAutomaton): RegExp {
+    const literal = JS.toLiteral(fa.toRegex());
+    return new RegExp(literal.source, literal.flags);
+}
+
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ +

Testing whether a word is accepted

+
+
import { Words } from "refa";
+
+const regex = /\w+\d+/;
+const nfa = toNFA(regex);
+
+console.log(nfa.test(Words.fromStringToUTF16("abc")));
+// => false
+console.log(nfa.test(Words.fromStringToUTF16("123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("abc123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("123abc")));
+// => false
+
+ +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
+const regex2 = /Ab*C\d?/;
+
+const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));
+
+console.log(toRegExp(intersection));
+// => /Ab+C/
+
+ +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;
+
+const dfa = toDFA(regex);
+dfa.complement();
+
+console.log(toRegExp(dfa));
+// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i
+
+ +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
+// => /".*"|'.*'/i
+
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
+// Error: Backreferences are not supported.
+
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
+const { expression } =
+    JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: 'foo', flags: '' }
+
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+NFA.fromRegex(expression, { maxCharacter });
+// Error: Assertions are not supported yet.
+
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } =
+    JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: '->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter });
+console.log(toRegExp(nfa));
+// => /->/i
+
+
+

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
+console.log(toRegExp(nfa));
+// => /->/i
+
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";
+
+const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const applyTransformer = combineTransformers([
+    Transformers.inline(),
+    Transformers.removeDeadBranches(),
+    Transformers.removeUnnecessaryAssertions(),
+    Transformers.sortAssertions(),
+    Transformers.applyAssertions(),
+    Transformers.removeUnnecessaryAssertions(),
+]);
+const modifiedExpression = transform(applyTransformer, expression);
+
+console.log(JS.toLiteral(modifiedExpression));
+// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }
+
+// Most assertions have been removed but the patterns are still equivalent.
+// The only assertions left assert characters beyond the edge of the pattern.
+// Removing those assertions is easy but slightly changes the pattern.
+
+const finalExpression = transform(
+    Transformers.patternEdgeAssertions({ remove: true }),
+    modifiedExpression
+);
+
+console.log(JS.toLiteral(finalExpression));
+// => { source: '[A-Z_]\\w*|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
+
+console.log(JS.toLiteral(nfa.toRegex()));
+// => { source: '->|[A-Z_]\\w*', flags: 'i' }
+
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/alternation.html b/docs/v0.7.1/interfaces/alternation.html new file mode 100644 index 00000000..3e8816a4 --- /dev/null +++ b/docs/v0.7.1/interfaces/alternation.html @@ -0,0 +1,188 @@ + + + + + + Alternation | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Alternation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Alternation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Alternation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/assertion.html b/docs/v0.7.1/interfaces/assertion.html new file mode 100644 index 00000000..54d397ba --- /dev/null +++ b/docs/v0.7.1/interfaces/assertion.html @@ -0,0 +1,210 @@ + + + + + + Assertion | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Assertion

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

kind

+
kind: "ahead" | "behind"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Assertion"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/characterclass.html b/docs/v0.7.1/interfaces/characterclass.html new file mode 100644 index 00000000..1c123859 --- /dev/null +++ b/docs/v0.7.1/interfaces/characterclass.html @@ -0,0 +1,188 @@ + + + + + + CharacterClass | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharacterClass

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + CharacterClass +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

characters

+
characters: CharSet
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "CharacterClass"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/charrange.html b/docs/v0.7.1/interfaces/charrange.html new file mode 100644 index 00000000..5698dca3 --- /dev/null +++ b/docs/v0.7.1/interfaces/charrange.html @@ -0,0 +1,178 @@ + + + + + + CharRange | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharRange

+
+
+
+
+
+
+
+
+
+

An immutable interval of Chars with inclusive ends.

+
+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • + CharRange +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly max

+
max: Char
+ +
+
+

The inclusive maximum of the interval.

+
+

This value has to be greater or equal to min.

+
+
+
+ +

Readonly min

+
min: Char
+ +
+
+

The inclusive minimum of the interval.

+
+

This value has to be less or equal to max.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/concatenation.html b/docs/v0.7.1/interfaces/concatenation.html new file mode 100644 index 00000000..4fe5143a --- /dev/null +++ b/docs/v0.7.1/interfaces/concatenation.html @@ -0,0 +1,188 @@ + + + + + + Concatenation | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Concatenation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Concatenation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

elements

+
elements: Element[]
+ +
+
+ +

parent

+
parent: Parent
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/dfa.creationoptions.html b/docs/v0.7.1/interfaces/dfa.creationoptions.html new file mode 100644 index 00000000..cee130f0 --- /dev/null +++ b/docs/v0.7.1/interfaces/dfa.creationoptions.html @@ -0,0 +1,203 @@ + + + + + + CreationOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a DFA will be created.

+
+
+
+
+

Hierarchy

+
    +
  • + CreationOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the DFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the DFA creation operation may create as many nodes as + necessary to construct the DFA. This might cause the machine to run out of memory. I.e. the conversion from + NFA to DFA may create O(2^n) many nodes and an intersection may created O(n * m) many.

+

Note: This limit describes the maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/dfa.node.html b/docs/v0.7.1/interfaces/dfa.node.html new file mode 100644 index 00000000..4c8d2ea3 --- /dev/null +++ b/docs/v0.7.1/interfaces/dfa.node.html @@ -0,0 +1,198 @@ + + + + + + Node | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/dfa.options.html b/docs/v0.7.1/interfaces/dfa.options.html new file mode 100644 index 00000000..375c788a --- /dev/null +++ b/docs/v0.7.1/interfaces/dfa.options.html @@ -0,0 +1,186 @@ + + + + + + Options | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/dfa.readonlynode.html b/docs/v0.7.1/interfaces/dfa.readonlynode.html new file mode 100644 index 00000000..0b3644be --- /dev/null +++ b/docs/v0.7.1/interfaces/dfa.readonlynode.html @@ -0,0 +1,196 @@ + + + + + + ReadonlyNode | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/dfa.readonlynodelist.html b/docs/v0.7.1/interfaces/dfa.readonlynodelist.html new file mode 100644 index 00000000..8d33c006 --- /dev/null +++ b/docs/v0.7.1/interfaces/dfa.readonlynodelist.html @@ -0,0 +1,235 @@ + + + + + + ReadonlyNodeList | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/expression.html b/docs/v0.7.1/interfaces/expression.html new file mode 100644 index 00000000..c3d49b22 --- /dev/null +++ b/docs/v0.7.1/interfaces/expression.html @@ -0,0 +1,188 @@ + + + + + + Expression | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Expression

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+
parent: null
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Expression"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/faiterator.html b/docs/v0.7.1/interfaces/faiterator.html new file mode 100644 index 00000000..3b700fa5 --- /dev/null +++ b/docs/v0.7.1/interfaces/faiterator.html @@ -0,0 +1,260 @@ + + + + + + FAIterator | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FAIterator<S, O>

+
+
+
+
+
+
+
+
+
+

A graph iterator for all states of an FA with final states.

+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state in the FA to iterate.

    +
    +
    +
  • +
  • +

    O = Iterable<S>

    +
    +
    +

    The type of the value each state maps to.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FAIterator +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly getOut

+
getOut: (state: S) => O
+ +
+
+

Returns the value a state maps to.

+
+

This function is guaranteed to be deterministic during the time the iterator is used. Subsequent invocations will + always return values that are equal to the first returned value. Equality is defined by + the key equality of the Map class. + This function is also guaranteed to be sufficiently fast, usually O(1) can be assumed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns O

      +
    • +
    +
  • +
+
+
+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Readonly isFinal

+
isFinal: (state: S) => boolean
+ +
+
+

Returns whether the given state is a final state.

+
+

This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be + sufficiently fast, usually O(1) can be assumed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns boolean

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/finiteautomaton.html b/docs/v0.7.1/interfaces/finiteautomaton.html new file mode 100644 index 00000000..e676cc11 --- /dev/null +++ b/docs/v0.7.1/interfaces/finiteautomaton.html @@ -0,0 +1,336 @@ + + + + + + FiniteAutomaton | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FiniteAutomaton

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+
+

Methods

+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/intersectionoptions.html b/docs/v0.7.1/interfaces/intersectionoptions.html new file mode 100644 index 00000000..376a504e --- /dev/null +++ b/docs/v0.7.1/interfaces/intersectionoptions.html @@ -0,0 +1,160 @@ + + + + + + IntersectionOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface IntersectionOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + IntersectionOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the intersection operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is unset or set to Infinity, the intersection operation may create as many nodes + as necessary to construct the intersection. This might cause the machine to run out of memory.

+
+
default
+

Infinity

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.anycharacterset.html b/docs/v0.7.1/interfaces/js.anycharacterset.html new file mode 100644 index 00000000..64777575 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.anycharacterset.html @@ -0,0 +1,222 @@ + + + + + + AnyCharacterSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface AnyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + AnyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "any"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.digitcharacterset.html b/docs/v0.7.1/interfaces/js.digitcharacterset.html new file mode 100644 index 00000000..41cee7d2 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.digitcharacterset.html @@ -0,0 +1,233 @@ + + + + + + DigitCharacterSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface DigitCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DigitCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "digit"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.flags.html b/docs/v0.7.1/interfaces/js.flags.html new file mode 100644 index 00000000..a0bf1562 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.flags.html @@ -0,0 +1,326 @@ + + + + + + Flags | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Flags

+
+
+
+
+
+
+
+
+
+

A partial set of RegExp flags.

+
+
+
+
+

Hierarchy

+
    +
  • + Flags +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional dotAll

+
dotAll: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional global

+
global: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreCase

+
ignoreCase: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional multiline

+
multiline: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional sticky

+
sticky: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional unicode

+
unicode: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.literal.html b/docs/v0.7.1/interfaces/js.literal.html new file mode 100644 index 00000000..7666b580 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.literal.html @@ -0,0 +1,242 @@ + + + + + + Literal | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Literal

+
+
+
+
+
+
+
+
+
+

A light-weight representation of a + JavaScript RegExp object.

+
+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • + Literal +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: string
+ +
+
+ +

Readonly source

+
source: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.parseoptions.html b/docs/v0.7.1/interfaces/js.parseoptions.html new file mode 100644 index 00000000..b0aedcd0 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.parseoptions.html @@ -0,0 +1,352 @@ + + + + + + ParseOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw" | "parse"
+ +
+
+

How the parser will handle assertions.

+
+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions + (e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all + paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
+
+
default
+

"parse"

+
+
+
+
+
+ +

Optional backreferences

+
backreferences: undefined | "disable" | "throw"
+ +
+
+

How to the parser will handle unresolved backreferences.

+
+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing + a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)([]|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because + of the empty character class.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional disableOptimizations

+
disableOptimizations: undefined | boolean
+ +
+
+

By default, the parser will try to optimize the generated RE as much as possible.

+
+

If set to true, all trivial optimizations will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These optimization might prevent that certain backreferences or assertions from throwing an error.

+
+
default
+

false

+
+
+
+
+
+ +

Optional maxBackreferenceWords

+
maxBackreferenceWords: undefined | number
+ +
+
+

The maximum number of words a backreference can be replaced by.

+
+

Set this to 0 to disable resolving backreferences.

+
+
default
+

100

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the parser is allowed to create.

+
+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.parseresult.html b/docs/v0.7.1/interfaces/js.parseresult.html new file mode 100644 index 00000000..64cfde25 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.parseresult.html @@ -0,0 +1,233 @@ + + + + + + ParseResult | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

expression

+
expression: Expression
+ +
+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.propertycharacterset.html b/docs/v0.7.1/interfaces/js.propertycharacterset.html new file mode 100644 index 00000000..dc66114d --- /dev/null +++ b/docs/v0.7.1/interfaces/js.propertycharacterset.html @@ -0,0 +1,255 @@ + + + + + + PropertyCharacterSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PropertyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + PropertyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

key

+
key: string
+ +
+
+ +

kind

+
kind: "property"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

value

+
value: null | string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.regexppast.html b/docs/v0.7.1/interfaces/js.regexppast.html new file mode 100644 index 00000000..505eebf1 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.regexppast.html @@ -0,0 +1,233 @@ + + + + + + RegexppAst | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegexppAst

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegexppAst +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: Flags
+ +
+
+ +

Readonly pattern

+
pattern: Pattern
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.spacecharacterset.html b/docs/v0.7.1/interfaces/js.spacecharacterset.html new file mode 100644 index 00000000..5c8473b1 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.spacecharacterset.html @@ -0,0 +1,233 @@ + + + + + + SpaceCharacterSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SpaceCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "space"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.textboundaryassertion.html b/docs/v0.7.1/interfaces/js.textboundaryassertion.html new file mode 100644 index 00000000..755d1b21 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.textboundaryassertion.html @@ -0,0 +1,222 @@ + + + + + + TextBoundaryAssertion | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TextBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "end" | "start"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.toliteraloptions.html b/docs/v0.7.1/interfaces/js.toliteraloptions.html new file mode 100644 index 00000000..848bec55 --- /dev/null +++ b/docs/v0.7.1/interfaces/js.toliteraloptions.html @@ -0,0 +1,256 @@ + + + + + + ToLiteralOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToLiteralOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToLiteralOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fastCharacters

+
fastCharacters: undefined | boolean
+ +
+
+

This will force the function to print characters as fast as possible.

+
+

Literals created with this option will usually be created about 10x faster but the result will usually be very + hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
default
+

false

+
+
+
+
+
+ +

Optional flags

+
flags: undefined | Flags
+ +
+
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+
+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that + are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are + given, the implementation will generally try to choose flags such that it can create literal that is as + small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.wordboundaryassertion.html b/docs/v0.7.1/interfaces/js.wordboundaryassertion.html new file mode 100644 index 00000000..a81c9e0a --- /dev/null +++ b/docs/v0.7.1/interfaces/js.wordboundaryassertion.html @@ -0,0 +1,233 @@ + + + + + + WordBoundaryAssertion | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/js.wordcharacterset.html b/docs/v0.7.1/interfaces/js.wordcharacterset.html new file mode 100644 index 00000000..a23bbf4f --- /dev/null +++ b/docs/v0.7.1/interfaces/js.wordcharacterset.html @@ -0,0 +1,233 @@ + + + + + + WordCharacterSet | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.creationoptions.html b/docs/v0.7.1/interfaces/nfa.creationoptions.html new file mode 100644 index 00000000..2ecec2ca --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.creationoptions.html @@ -0,0 +1,211 @@ + + + + + + CreationOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a NFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.fromregexoptions.html b/docs/v0.7.1/interfaces/nfa.fromregexoptions.html new file mode 100644 index 00000000..67ac4332 --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.fromregexoptions.html @@ -0,0 +1,257 @@ + + + + + + FromRegexOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw"
+ +
+
+

How to handle assertions when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: undefined | number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.node.html b/docs/v0.7.1/interfaces/nfa.node.html new file mode 100644 index 00000000..704d39d8 --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.node.html @@ -0,0 +1,213 @@ + + + + + + Node | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.options.html b/docs/v0.7.1/interfaces/nfa.options.html new file mode 100644 index 00000000..d92e1570 --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.options.html @@ -0,0 +1,189 @@ + + + + + + Options | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.readonlynode.html b/docs/v0.7.1/interfaces/nfa.readonlynode.html new file mode 100644 index 00000000..c1dcb5eb --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.readonlynode.html @@ -0,0 +1,210 @@ + + + + + + ReadonlyNode | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nfa.readonlynodelist.html b/docs/v0.7.1/interfaces/nfa.readonlynodelist.html new file mode 100644 index 00000000..9a1ce2ce --- /dev/null +++ b/docs/v0.7.1/interfaces/nfa.readonlynodelist.html @@ -0,0 +1,238 @@ + + + + + + ReadonlyNodeList | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/nodebase.html b/docs/v0.7.1/interfaces/nodebase.html new file mode 100644 index 00000000..b7222435 --- /dev/null +++ b/docs/v0.7.1/interfaces/nodebase.html @@ -0,0 +1,189 @@ + + + + + + NodeBase | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface NodeBase

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Expression" | "CharacterClass" | "Alternation" | "Quantifier" | "Assertion" | "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/quantifier.html b/docs/v0.7.1/interfaces/quantifier.html new file mode 100644 index 00000000..1f41e945 --- /dev/null +++ b/docs/v0.7.1/interfaces/quantifier.html @@ -0,0 +1,221 @@ + + + + + + Quantifier | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Quantifier

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

lazy

+
lazy: boolean
+ +
+
+ +

max

+
max: number
+ +
+
+ +

min

+
min: number
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Quantifier"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/readonlycharmap.html b/docs/v0.7.1/interfaces/readonlycharmap.html new file mode 100644 index 00000000..f7d01702 --- /dev/null +++ b/docs/v0.7.1/interfaces/readonlycharmap.html @@ -0,0 +1,417 @@ + + + + + + ReadonlyCharMap | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Iterable<[CharRange, T]> +
      +
    • + ReadonlyCharMap +
    • +
    +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

isEmpty

+
isEmpty: boolean
+ +
+
+
+

Methods

+
+ +

entries

+ +
    +
  • + +

    Parameters

    + +

    Returns Iterable<[CharRange, T]>

    +
  • +
+
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

values

+
    +
  • values(): Iterable<T>
  • +
+
    +
  • + +

    Returns Iterable<T>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/readonlydfa.html b/docs/v0.7.1/interfaces/readonlydfa.html new file mode 100644 index 00000000..3515871c --- /dev/null +++ b/docs/v0.7.1/interfaces/readonlydfa.html @@ -0,0 +1,567 @@ + + + + + + ReadonlyDFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyDFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+ +
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/readonlynfa.html b/docs/v0.7.1/interfaces/readonlynfa.html new file mode 100644 index 00000000..6f480990 --- /dev/null +++ b/docs/v0.7.1/interfaces/readonlynfa.html @@ -0,0 +1,535 @@ + + + + + + ReadonlyNFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

intersectionWordSets

+ + +
+
+ +

intersectionWords

+ + +
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+ +
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/sourcelocation.html b/docs/v0.7.1/interfaces/sourcelocation.html new file mode 100644 index 00000000..a670ac5b --- /dev/null +++ b/docs/v0.7.1/interfaces/sourcelocation.html @@ -0,0 +1,158 @@ + + + + + + SourceLocation | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SourceLocation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SourceLocation +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

end

+
end: number
+ +
+
+ +

start

+
start: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/toregexoptions.html b/docs/v0.7.1/interfaces/toregexoptions.html new file mode 100644 index 00000000..d5d1388a --- /dev/null +++ b/docs/v0.7.1/interfaces/toregexoptions.html @@ -0,0 +1,178 @@ + + + + + + ToRegexOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToRegexOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of RE AST nodes the implementation is allowed to create.

+
+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This + maximum will be check before any optimization passes.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional maxOptimizationPasses

+
maxOptimizationPasses: undefined | number
+ +
+
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+
+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize + the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformcontext.html b/docs/v0.7.1/interfaces/transformcontext.html new file mode 100644 index 00000000..6bc391c0 --- /dev/null +++ b/docs/v0.7.1/interfaces/transformcontext.html @@ -0,0 +1,185 @@ + + + + + + TransformContext | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformContext

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformContext +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the AST.

+
+

If the expression to transform does not contain any characters at the start of the transformation, then this + value will be 0.

+
+
+
+ +

Readonly signalMutation

+
signalMutation: () => void
+ +
+
+

Signals that the transformer changed the AST.

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    +
      +
    • +

      Returns void

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformer.html b/docs/v0.7.1/interfaces/transformer.html new file mode 100644 index 00000000..376edf89 --- /dev/null +++ b/docs/v0.7.1/interfaces/transformer.html @@ -0,0 +1,310 @@ + + + + + + Transformer | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Transformer

+
+
+
+
+
+
+
+
+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. + They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure + functions.

+
+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change + the given AST.

+
+
+
+

Hierarchy

+
    +
  • + Transformer +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternation

+ + +
+
+ +

Optional onAssertion

+ + +
+
+ +

Optional onCharacterClass

+ + +
+
+ +

Optional onConcatenation

+ + +
+
+ +

Optional onExpression

+ + +
+
+ +

Optional onQuantifier

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformers.creationoptions.html b/docs/v0.7.1/interfaces/transformers.creationoptions.html new file mode 100644 index 00000000..a43283fe --- /dev/null +++ b/docs/v0.7.1/interfaces/transformers.creationoptions.html @@ -0,0 +1,247 @@ + + + + + + CreationOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformers.patternedgeassertionscreationoptions.html b/docs/v0.7.1/interfaces/transformers.patternedgeassertionscreationoptions.html new file mode 100644 index 00000000..6a83704c --- /dev/null +++ b/docs/v0.7.1/interfaces/transformers.patternedgeassertionscreationoptions.html @@ -0,0 +1,282 @@ + + + + + + PatternEdgeAssertionsCreationOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional inline

+
inline: undefined | boolean
+ +
+
+
default
+

true

+
+
+
+
+
+ +

Optional remove

+
remove: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformers.removeassertionscreationoptions.html b/docs/v0.7.1/interfaces/transformers.removeassertionscreationoptions.html new file mode 100644 index 00000000..257ab2e6 --- /dev/null +++ b/docs/v0.7.1/interfaces/transformers.removeassertionscreationoptions.html @@ -0,0 +1,264 @@ + + + + + + RemoveAssertionsCreationOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional replacement

+
replacement: undefined | "empty-set" | "empty-word"
+ +
+
+
default
+

"empty-set"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transformoptions.html b/docs/v0.7.1/interfaces/transformoptions.html new file mode 100644 index 00000000..96174da0 --- /dev/null +++ b/docs/v0.7.1/interfaces/transformoptions.html @@ -0,0 +1,159 @@ + + + + + + TransformOptions | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxPasses

+
maxPasses: undefined | number
+ +
+
+

The maximum number of times the transformer will be applied to the AST.

+
+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified + anymore.

+
+
default
+

10

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transitioniterable.html b/docs/v0.7.1/interfaces/transitioniterable.html new file mode 100644 index 00000000..7a8e8f2c --- /dev/null +++ b/docs/v0.7.1/interfaces/transitioniterable.html @@ -0,0 +1,178 @@ + + + + + + TransitionIterable | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterable

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => FAIterator<any, ReadonlyMap<unknown, CharSet>>
+ +
+

Type declaration

+ +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/transitioniterablefa.html b/docs/v0.7.1/interfaces/transitioniterablefa.html new file mode 100644 index 00000000..f8272ab9 --- /dev/null +++ b/docs/v0.7.1/interfaces/transitioniterablefa.html @@ -0,0 +1,483 @@ + + + + + + TransitionIterableFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterableFA

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly transitionIterator

+
transitionIterator: () => FAIterator<any, ReadonlyMap<unknown, CharSet>>
+ +
+

Type declaration

+ +
+
+
+
+

Methods

+
+ +

intersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to NFA.fromIntersection(this, other).wordSets() but implemented more efficiently.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

intersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to NFA.fromIntersection(this, other).words() but implemented more efficiently.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/visitasthandler.html b/docs/v0.7.1/interfaces/visitasthandler.html new file mode 100644 index 00000000..54a37c8d --- /dev/null +++ b/docs/v0.7.1/interfaces/visitasthandler.html @@ -0,0 +1,424 @@ + + + + + + VisitAstHandler | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/interfaces/visitnoparentasthandler.html b/docs/v0.7.1/interfaces/visitnoparentasthandler.html new file mode 100644 index 00000000..3f9af31e --- /dev/null +++ b/docs/v0.7.1/interfaces/visitnoparentasthandler.html @@ -0,0 +1,424 @@ + + + + + + VisitNoParentAstHandler | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitNoParentAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+
    +
  • onAlternationEnter(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+
    +
  • onAlternationLeave(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+
    +
  • onConcatenationEnter(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+
    +
  • onConcatenationLeave(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+
    +
  • onExpressionEnter(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+
    +
  • onExpressionLeave(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+
    +
  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+
    +
  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules.html b/docs/v0.7.1/modules.html new file mode 100644 index 00000000..d6a6323a --- /dev/null +++ b/docs/v0.7.1/modules.html @@ -0,0 +1,585 @@ + + + + + + refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.7.1

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Char

+
Char: number & { __char?: never }
+ +
+
+

A character is a non-negative integer.

+
+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or + Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even + text in general since the integers used as character may represent arbitrary concepts.

+

The only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
+ +

Element

+ + +
+
+ +

NoParent

+
NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+ +
+
+

A view of an AST node that hides the parent property.

+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Node

+ + +
+
+ +

Parent

+ + +
+
+ +

ReadonlyWord

+
ReadonlyWord: readonly Char[]
+ +
+
+

An immutable finite sequence of Chars.

+
+

This is an immutable view on a Word.

+
+
+
+ +

Word

+
Word: Char[]
+ +
+
+

A word is finite sequence of Chars.

+
+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on + Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string + representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
+

Functions

+
+ +

combineTransformers

+ +
    +
  • + +
    +
    +

    Creates a new transformer that performs all given transformers in sequentially in order for each node.

    +
    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are + given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

setParent

+
    +
  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +
+
    +
  • + +
    +
    +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type parameters

    + +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +
      +

      The parent of node.

      +
      +
    • +
    +

    Returns asserts node is T

    +
  • +
+
+
+ +

setSource

+ +
    +
  • + +
    +
    +

    Sets the source property of the given node and all of its child nodes.

    +
    +

    If source is not a function, then the source object will be copied for all source properties to be set. The + object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

transform

+ +
    +
  • + +
    +
    +

    Transforms the given expression according to the given transformer.

    +
    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

visitAst

+ +
    +
  • + +
    +
    +

    Calls the given visitor on the given node and all of its children.

    +
    +

    If the given visitor throws an error, the traversal will stop and the error will be re-thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules/dfa.html b/docs/v0.7.1/modules/dfa.html new file mode 100644 index 00000000..52628960 --- /dev/null +++ b/docs/v0.7.1/modules/dfa.html @@ -0,0 +1,172 @@ + + + + + + DFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace DFA

+
+
+
+
+
+
+
+
+
+

A namespace for DFA-specific classes and interfaces.

+
+
+
see
+

DFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules/js.html b/docs/v0.7.1/modules/js.html new file mode 100644 index 00000000..0a5b95ac --- /dev/null +++ b/docs/v0.7.1/modules/js.html @@ -0,0 +1,387 @@ + + + + + + JS | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace JS

+
+
+
+
+
+
+
+
+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+
+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the + ECMAScript standard.

+
+
see
+

Parser: A class to convert from JS RegExp to refa AST.

+
+
see
+

toLiteral: A function to convert from refa AST to JS RegExp.

+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

BoundaryAssertion

+ + +
+
+ +

ParsableElement

+
ParsableElement: AST.Group | AST.CapturingGroup | AST.Pattern | AST.Alternative
+ +
+
+ +

PredefinedCharacterSet

+ + +
+
+
+

Functions

+
+ +

createAssertion

+ + +
+
+ +

createCharSet

+ +
    +
  • + +
    +
    +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

toLiteral

+ +
    +
  • + +
    +
    +

    Converts the given AST or AST subtree into a JS literal.

    +
    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to + builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules/nfa.html b/docs/v0.7.1/modules/nfa.html new file mode 100644 index 00000000..e17b542f --- /dev/null +++ b/docs/v0.7.1/modules/nfa.html @@ -0,0 +1,176 @@ + + + + + + NFA | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace NFA

+
+
+
+
+
+
+
+
+
+

A namespace for NFA-specific classes and interfaces.

+
+
+
see
+

NFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules/transformers.html b/docs/v0.7.1/modules/transformers.html new file mode 100644 index 00000000..412e2725 --- /dev/null +++ b/docs/v0.7.1/modules/transformers.html @@ -0,0 +1,569 @@ + + + + + + Transformers | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Transformers

+
+
+
+
+
+
+
+
+
+

Contains all AST transformer implementations of refa.

+
+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. + This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

applyAssertions

+ +
    +
  • + +
    +
    +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in + assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

factorOut

+ +
    +
  • + +
    +
    +

    This will factor out common prefixes and suffixes in parent nodes.

    +
    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious + case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty + alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

inline

+ +
    +
  • + +
    +
    +

    This transformer will simplify the AST by doing trivial inlining operations.

    +
    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

mergeWithQuantifier

+ +
    +
  • + +
    +
    +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +
    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

moveUpEmpty

+ +
    +
  • + +
    +
    +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression + such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the + sub-expression to accept the empty string moves closer to the root of the tree.

    +
    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

nestedQuantifiers

+ +
    +
  • + +
    +
    +

    This merges/optimizes nested quantifiers.

    +
    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

patternEdgeAssertions

+ +
    +
  • + +
    +
    +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +
    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) + and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which + may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) + in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => + a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeDeadBranches

+ +
    +
  • + +
    +
    +

    This removes dead branches in the AST.

    +
    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will + be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeUnnecessaryAssertions

+ +
    +
  • + +
    +
    +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

replaceAssertions

+ + +
+
+ +

sortAssertions

+ +
    +
  • + +
    +
    +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +
    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

unionCharacters

+ +
    +
  • + +
    +
    +

    Combines single-character alternatives.

    +
    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.7.1/modules/words.html b/docs/v0.7.1/modules/words.html new file mode 100644 index 00000000..2576b21e --- /dev/null +++ b/docs/v0.7.1/modules/words.html @@ -0,0 +1,359 @@ + + + + + + Words | refa - v0.7.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Words

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

fromStringToUTF16

+
    +
  • fromStringToUTF16(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of UTF16 character codes.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromStringToUnicode

+
    +
  • fromStringToUnicode(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of Unicode code points.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromUTF16ToString

+ +
    +
  • + +
    +
    +

    Converts the given array of UTF16 character codes into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

fromUnicodeToString

+ +
    +
  • + +
    +
    +

    Converts the given array of Unicode code points into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

pickMostReadableCharacter

+
    +
  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +
+
    +
  • + +
    +
    +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely + implementation-defined but, generally, word characters will be picked over non-word characters and printable + characters will be picked over non-printable characters.

    +
    +

    If the given character set is empty, undefined will be returned.

    +
    +

    Parameters

    + +

    Returns Char | undefined

    +
  • +
+
+
+ +

pickMostReadableWord

+
    +
  • pickMostReadableWord(wordSet: Iterable<CharSet>): Word | undefined
  • +
+
    +
  • + +
    +
    +

    Returns a word of the given word set that is the most humanly readable.

    +
    +

    If at least one of the given character sets is empty, undefined will be returned.

    +
    +

    Parameters

    +
      +
    • +
      wordSet: Iterable<CharSet>
      +
      +
      +
    • +
    +

    Returns Word | undefined

    +
  • +
+
+
+ +

wordSetToWords

+
    +
  • wordSetToWords(wordSet: readonly CharSet[]): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Iterates all words which can be constructed from the given word set (array of character sets).

    +
    +
    +

    Parameters

    +
      +
    • +
      wordSet: readonly CharSet[]
      +
      +
      +
    • +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/assets/css/main.css b/docs/v0.8.0/assets/css/main.css new file mode 100644 index 00000000..ca83efe4 --- /dev/null +++ b/docs/v0.8.0/assets/css/main.css @@ -0,0 +1,2638 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: #fdfdfd; + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: #222; +} + +a { + color: #4da6ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.04); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: #fff; + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: #707070; +} +.tsd-breadcrumb a { + color: #707070; + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid #707070; + color: #707070; + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: #fff; + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid #eee; + background-color: #fff; +} +footer.with-border-bottom { + border-bottom: 1px solid #eee; +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-parent-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-kind-interface a { + color: #647F1B; +} +.tsd-index-panel .tsd-kind-enum a { + color: #937210; +} +.tsd-index-panel .tsd-kind-class a { + color: #0672DE; +} +.tsd-index-panel .tsd-is-private a { + color: #707070; +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: #fff; + background-color: #707070; + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member a[data-tsd-kind] { + color: #9600ff; +} +.tsd-member a[data-tsd-kind=Interface] { + color: #647F1B; +} +.tsd-member a[data-tsd-kind=Enum] { + color: #937210; +} +.tsd-member a[data-tsd-kind=Class] { + color: #0672DE; +} +.tsd-member a[data-tsd-kind=Private] { + color: #707070; +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: #222; + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid #eee; +} +.tsd-navigation.primary li { + border-top: 1px solid #eee; +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: #707070; +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: #eee; +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: #eee; +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: #222; +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: #fdfdfd; +} +#tsd-search .results li:nth-child(even) { + background-color: #fff; +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: #eee; +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: #707070; + font-weight: normal; +} +#tsd-search.has-focus { + background-color: #eee; +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid #eee; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: #707070; + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid #eee; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: #eee; +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: #707070; + margin: 0 0 1em 0; +} +.tsd-sources a { + color: #707070; + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: #333; + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: #eee; +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: #fdfdfd; +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: #fff; +} +.tsd-select .tsd-select-list li:hover { + background-color: #eee; +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.8.0/assets/images/icons.png b/docs/v0.8.0/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.8.0/assets/images/icons.png differ diff --git a/docs/v0.8.0/assets/images/icons@2x.png b/docs/v0.8.0/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.8.0/assets/images/icons@2x.png differ diff --git a/docs/v0.8.0/assets/images/widgets.png b/docs/v0.8.0/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.8.0/assets/images/widgets.png differ diff --git a/docs/v0.8.0/assets/images/widgets@2x.png b/docs/v0.8.0/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.8.0/assets/images/widgets@2x.png differ diff --git a/docs/v0.8.0/assets/js/main.js b/docs/v0.8.0/assets/js/main.js new file mode 100644 index 00000000..715fdab0 --- /dev/null +++ b/docs/v0.8.0/assets/js/main.js @@ -0,0 +1,248 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../node_modules/lunr/lunr.js": +/*!************************************!*\ + !*** ../node_modules/lunr/lunr.js ***! + \************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?"); + +/***/ }), + +/***/ "./default/assets/css/main.sass": +/*!**************************************!*\ + !*** ./default/assets/css/main.sass ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?"); + +/***/ }), + +/***/ "./default/assets/js/src/bootstrap.ts": +/*!********************************************!*\ + !*** ./default/assets/js/src/bootstrap.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Application.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/Application.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */ \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n components.push({\n selector: selector,\n constructor: constructor,\n });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n /**\n * Create a new Application instance.\n */\n function Application() {\n this.createComponents(document.body);\n }\n /**\n * Create all components beneath the given jQuery element.\n */\n Application.prototype.createComponents = function (context) {\n components.forEach(function (c) {\n context.querySelectorAll(c.selector).forEach(function (el) {\n if (!el.dataset.hasInstance) {\n new c.constructor({ el: el });\n el.dataset.hasInstance = String(true);\n }\n });\n });\n };\n return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Component.ts": +/*!****************************************************!*\ + !*** ./default/assets/js/src/typedoc/Component.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n function Component(options) {\n this.el = options.el;\n }\n return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/EventTarget.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/EventTarget.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n function EventTarget() {\n this.listeners = {};\n }\n EventTarget.prototype.addEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n };\n EventTarget.prototype.removeEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n };\n EventTarget.prototype.dispatchEvent = function (event) {\n if (!(event.type in this.listeners)) {\n return true;\n }\n var stack = this.listeners[event.type].slice();\n for (var i = 0, l = stack.length; i < l; i++) {\n stack[i].call(this, event);\n }\n return !event.defaultPrevented;\n };\n return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Filter.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Filter.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n function FilterItem(key, value) {\n this.key = key;\n this.value = value;\n this.defaultValue = value;\n this.initialize();\n if (window.localStorage[this.key]) {\n this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n }\n }\n FilterItem.prototype.initialize = function () { };\n FilterItem.prototype.setValue = function (value) {\n if (this.value == value)\n return;\n var oldValue = this.value;\n this.value = value;\n window.localStorage[this.key] = this.toLocalStorage(value);\n this.handleValueChange(oldValue, value);\n };\n return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n __extends(FilterItemCheckbox, _super);\n function FilterItemCheckbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemCheckbox.prototype.initialize = function () {\n var _this = this;\n var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!checkbox)\n return;\n this.checkbox = checkbox;\n this.checkbox.addEventListener(\"change\", function () {\n _this.setValue(_this.checkbox.checked);\n });\n };\n FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n if (!this.checkbox)\n return;\n this.checkbox.checked = this.value;\n document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n };\n FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n return value == \"true\";\n };\n FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n return value ? \"true\" : \"false\";\n };\n return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n __extends(FilterItemSelect, _super);\n function FilterItemSelect() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemSelect.prototype.initialize = function () {\n var _this = this;\n document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n var select = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!select)\n return;\n this.select = select;\n var onActivate = function () {\n _this.select.classList.add(\"active\");\n };\n var onDeactivate = function () {\n _this.select.classList.remove(\"active\");\n };\n this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n this.select.addEventListener(\"mouseover\", onActivate);\n this.select.addEventListener(\"mouseleave\", onDeactivate);\n this.select.querySelectorAll(\"li\").forEach(function (el) {\n el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n select.classList.remove(\"active\");\n _this.setValue(e.target.dataset.value || \"\");\n });\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n if (_this.select.contains(e.target))\n return;\n _this.select.classList.remove(\"active\");\n });\n };\n FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n el.classList.remove(\"selected\");\n });\n var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n var label = this.select.querySelector(\".tsd-select-label\");\n if (selected && label) {\n selected.classList.add(\"selected\");\n label.textContent = selected.textContent;\n }\n document.documentElement.classList.remove(\"toggle-\" + oldValue);\n document.documentElement.classList.add(\"toggle-\" + newValue);\n };\n FilterItemSelect.prototype.fromLocalStorage = function (value) {\n return value;\n };\n FilterItemSelect.prototype.toLocalStorage = function (value) {\n return value;\n };\n return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n __extends(Filter, _super);\n function Filter(options) {\n var _this = _super.call(this, options) || this;\n _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n return _this;\n }\n Filter.isSupported = function () {\n try {\n return typeof window.localStorage != \"undefined\";\n }\n catch (e) {\n return false;\n }\n };\n return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts": +/*!*******************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n __extends(MenuHighlight, _super);\n /**\n * Create a new MenuHighlight instance.\n *\n * @param options Backbone view constructor options.\n */\n function MenuHighlight(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of all discovered anchors.\n */\n _this.anchors = [];\n /**\n * Index of the currently highlighted anchor.\n */\n _this.index = -1;\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n _this.createAnchors();\n return _this;\n }\n /**\n * Find all anchors on the current page.\n */\n MenuHighlight.prototype.createAnchors = function () {\n var _this = this;\n var base = window.location.href;\n if (base.indexOf(\"#\") != -1) {\n base = base.substr(0, base.indexOf(\"#\"));\n }\n this.el.querySelectorAll(\"a\").forEach(function (el) {\n var href = el.href;\n if (href.indexOf(\"#\") == -1)\n return;\n if (href.substr(0, base.length) != base)\n return;\n var hash = href.substr(href.indexOf(\"#\") + 1);\n var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n var link = el.parentNode;\n if (!anchor || !link)\n return;\n _this.anchors.push({\n link: link,\n anchor: anchor,\n position: 0,\n });\n });\n this.onResize();\n };\n /**\n * Triggered after the viewport was resized.\n */\n MenuHighlight.prototype.onResize = function () {\n var anchor;\n for (var index = 0, count = this.anchors.length; index < count; index++) {\n anchor = this.anchors[index];\n var rect = anchor.anchor.getBoundingClientRect();\n anchor.position = rect.top + document.body.scrollTop;\n }\n this.anchors.sort(function (a, b) {\n return a.position - b.position;\n });\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n },\n });\n this.onScroll(event);\n };\n /**\n * Triggered after the viewport was scrolled.\n *\n * @param event The custom event with the current vertical scroll position.\n */\n MenuHighlight.prototype.onScroll = function (event) {\n var scrollTop = event.detail.scrollTop + 5;\n var anchors = this.anchors;\n var count = anchors.length - 1;\n var index = this.index;\n while (index > -1 && anchors[index].position > scrollTop) {\n index -= 1;\n }\n while (index < count && anchors[index + 1].position < scrollTop) {\n index += 1;\n }\n if (this.index != index) {\n if (this.index > -1)\n this.anchors[this.index].link.classList.remove(\"focus\");\n this.index = index;\n if (this.index > -1)\n this.anchors[this.index].link.classList.add(\"focus\");\n }\n };\n return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Search.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Search.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n var searchEl = document.getElementById(\"tsd-search\");\n if (!searchEl)\n return;\n var searchScript = document.getElementById(\"search-script\");\n searchEl.classList.add(\"loading\");\n if (searchScript) {\n searchScript.addEventListener(\"error\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"failure\");\n });\n searchScript.addEventListener(\"load\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n });\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n }\n }\n var field = document.querySelector(\"#tsd-search-field\");\n var results = document.querySelector(\".results\");\n if (!field || !results) {\n throw new Error(\"The input field or the result list wrapper was not found\");\n }\n var resultClicked = false;\n results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n results.addEventListener(\"mouseup\", function () {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n });\n field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n field.addEventListener(\"blur\", function () {\n if (!resultClicked) {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n }\n });\n var state = {\n base: searchEl.dataset.base + \"/\",\n };\n bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n updateResults(searchEl, results, field, state);\n }, 200));\n var preventPress = false;\n field.addEventListener(\"keydown\", function (e) {\n preventPress = true;\n if (e.key == \"Enter\") {\n gotoCurrentResult(results, field);\n }\n else if (e.key == \"Escape\") {\n field.blur();\n }\n else if (e.key == \"ArrowUp\") {\n setCurrentResult(results, -1);\n }\n else if (e.key === \"ArrowDown\") {\n setCurrentResult(results, 1);\n }\n else {\n preventPress = false;\n }\n });\n field.addEventListener(\"keypress\", function (e) {\n if (preventPress)\n e.preventDefault();\n });\n /**\n * Start searching by pressing slash.\n */\n document.body.addEventListener(\"keydown\", function (e) {\n if (e.altKey || e.ctrlKey || e.metaKey)\n return;\n if (!field.matches(\":focus\") && e.key === \"/\") {\n field.focus();\n e.preventDefault();\n }\n });\n}\nfunction checkIndex(state, searchEl) {\n if (state.index)\n return;\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n state.data = window.searchData;\n state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n }\n}\nfunction updateResults(searchEl, results, query, state) {\n checkIndex(state, searchEl);\n // Don't clear results if loading state is not ready,\n // because loading or error message can be removed.\n if (!state.index || !state.data)\n return;\n results.textContent = \"\";\n var searchText = query.value.trim();\n // Perform a wildcard search\n var res = state.index.search(\"*\" + searchText + \"*\");\n for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n var row = state.data.rows[Number(res[i].ref)];\n // Bold the matched part of the query in the search results\n var name_1 = boldMatches(row.name, searchText);\n if (row.parent) {\n name_1 = \"\" + boldMatches(row.parent, searchText) + \".\" + name_1;\n }\n var item = document.createElement(\"li\");\n item.classList.value = row.classes;\n var anchor = document.createElement(\"a\");\n anchor.href = state.base + row.url;\n anchor.classList.add(\"tsd-kind-icon\");\n anchor.innerHTML = name_1;\n item.append(anchor);\n results.appendChild(item);\n }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n if (current) {\n current.classList.add(\"current\");\n }\n }\n else {\n var rel = dir == 1\n ? current.nextElementSibling\n : current.previousElementSibling;\n if (rel) {\n current.classList.remove(\"current\");\n rel.classList.add(\"current\");\n }\n }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(\"li:first-child\");\n }\n if (current) {\n var link = current.querySelector(\"a\");\n if (link) {\n window.location.href = link.href;\n }\n field.blur();\n }\n}\nfunction boldMatches(text, search) {\n if (search === \"\") {\n return text;\n }\n var lowerText = text.toLocaleLowerCase();\n var lowerSearch = search.toLocaleLowerCase();\n var parts = [];\n var lastIndex = 0;\n var index = lowerText.indexOf(lowerSearch);\n while (index != -1) {\n parts.push(escapeHtml(text.substring(lastIndex, index)), \"\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"\");\n lastIndex = index + lowerSearch.length;\n index = lowerText.indexOf(lowerSearch, lastIndex);\n }\n parts.push(escapeHtml(text.substring(lastIndex)));\n return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\",\n};\nfunction escapeHtml(text) {\n return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Signature.ts": +/*!***************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Signature.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n /**\n * Create a new SignatureGroup instance.\n *\n * @param signature The target signature.\n * @param description The description for the signature.\n */\n function SignatureGroup(signature, description) {\n this.signature = signature;\n this.description = description;\n }\n /**\n * Add the given class to all elements of the group.\n *\n * @param className The class name to add.\n */\n SignatureGroup.prototype.addClass = function (className) {\n this.signature.classList.add(className);\n this.description.classList.add(className);\n return this;\n };\n /**\n * Remove the given class from all elements of the group.\n *\n * @param className The class name to remove.\n */\n SignatureGroup.prototype.removeClass = function (className) {\n this.signature.classList.remove(className);\n this.description.classList.remove(className);\n return this;\n };\n return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n __extends(Signature, _super);\n /**\n * Create a new Signature instance.\n *\n * @param options Backbone view constructor options.\n */\n function Signature(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of found signature groups.\n */\n _this.groups = [];\n /**\n * The index of the currently displayed signature.\n */\n _this.index = -1;\n _this.createGroups();\n if (_this.container) {\n _this.el.classList.add(\"active\");\n Array.from(_this.el.children).forEach(function (signature) {\n signature.addEventListener(\"touchstart\", function (event) {\n return _this.onClick(event);\n });\n signature.addEventListener(\"click\", function (event) {\n return _this.onClick(event);\n });\n });\n _this.container.classList.add(\"active\");\n _this.setIndex(0);\n }\n return _this;\n }\n /**\n * Set the index of the active signature.\n *\n * @param index The index of the signature to activate.\n */\n Signature.prototype.setIndex = function (index) {\n if (index < 0)\n index = 0;\n if (index > this.groups.length - 1)\n index = this.groups.length - 1;\n if (this.index == index)\n return;\n var to = this.groups[index];\n if (this.index > -1) {\n var from_1 = this.groups[this.index];\n from_1.removeClass(\"current\").addClass(\"fade-out\");\n to.addClass(\"current\");\n to.addClass(\"fade-in\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n setTimeout(function () {\n from_1.removeClass(\"fade-out\");\n to.removeClass(\"fade-in\");\n }, 300);\n }\n else {\n to.addClass(\"current\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n }\n this.index = index;\n };\n /**\n * Find all signature/description groups.\n */\n Signature.prototype.createGroups = function () {\n var signatures = this.el.children;\n if (signatures.length < 2)\n return;\n this.container = this.el.nextElementSibling;\n var descriptions = this.container.children;\n this.groups = [];\n for (var index = 0; index < signatures.length; index++) {\n this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n }\n };\n /**\n * Triggered when the user clicks onto a signature header.\n *\n * @param e The related event object.\n */\n Signature.prototype.onClick = function (e) {\n var _this = this;\n this.groups.forEach(function (group, index) {\n if (group.signature === e.currentTarget) {\n _this.setIndex(index);\n }\n });\n };\n return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Toggle.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n __extends(Toggle, _super);\n function Toggle(options) {\n var _this = _super.call(this, options) || this;\n _this.className = _this.el.dataset.toggle || \"\";\n _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n return _this.onDocumentPointerDown(e);\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n return _this.onDocumentPointerUp(e);\n });\n return _this;\n }\n Toggle.prototype.setActive = function (value) {\n if (this.active == value)\n return;\n this.active = value;\n document.documentElement.classList.toggle(\"has-\" + this.className, value);\n this.el.classList.toggle(\"active\", value);\n var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n document.documentElement.classList.add(transition);\n setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n };\n Toggle.prototype.onPointerUp = function (event) {\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n this.setActive(true);\n event.preventDefault();\n };\n Toggle.prototype.onDocumentPointerDown = function (e) {\n if (this.active) {\n if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n return;\n }\n this.setActive(false);\n }\n };\n Toggle.prototype.onDocumentPointerUp = function (e) {\n var _this = this;\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n if (this.active) {\n if (e.target.closest(\".col-menu\")) {\n var link = e.target.closest(\"a\");\n if (link) {\n var href = window.location.href;\n if (href.indexOf(\"#\") != -1) {\n href = href.substr(0, href.indexOf(\"#\"));\n }\n if (link.href.substr(0, href.length) == href) {\n setTimeout(function () { return _this.setActive(false); }, 250);\n }\n }\n }\n }\n };\n return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/services/Viewport.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n __extends(Viewport, _super);\n /**\n * Create new Viewport instance.\n */\n function Viewport() {\n var _this = _super.call(this) || this;\n /**\n * The current scroll position.\n */\n _this.scrollTop = 0;\n /**\n * The previous scrollTop.\n */\n _this.lastY = 0;\n /**\n * The width of the window.\n */\n _this.width = 0;\n /**\n * The height of the window.\n */\n _this.height = 0;\n /**\n * Boolean indicating whether the toolbar is shown.\n */\n _this.showToolbar = true;\n _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n _this.onResize();\n _this.onScroll();\n return _this;\n }\n /**\n * Trigger a resize event.\n */\n Viewport.prototype.triggerResize = function () {\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the size of the window has changed.\n */\n Viewport.prototype.onResize = function () {\n this.width = window.innerWidth || 0;\n this.height = window.innerHeight || 0;\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the user scrolled the viewport.\n */\n Viewport.prototype.onScroll = function () {\n this.scrollTop = window.scrollY || 0;\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: this.scrollTop,\n },\n });\n this.dispatchEvent(event);\n this.hideShowToolbar();\n };\n /**\n * Handle hiding/showing of the toolbar.\n */\n Viewport.prototype.hideShowToolbar = function () {\n var isShown = this.showToolbar;\n this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop === 0;\n if (isShown !== this.showToolbar) {\n this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n }\n this.lastY = this.scrollTop;\n };\n Viewport.instance = new Viewport();\n return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/debounce.ts": +/*!*********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () { return fn(args); }, wait);\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/pointer.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */ \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */ \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */ \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */ \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */ \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */ \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */ \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */ \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n isPointerTouch = true;\n pointerDown = \"touchstart\";\n pointerMove = \"touchmove\";\n pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n isPointerDown = true;\n hasPointerMoved = false;\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n pointerDownPosition.y = t.pageY || 0;\n pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n if (!isPointerDown)\n return;\n if (!hasPointerMoved) {\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n var x = pointerDownPosition.x - (t.pageX || 0);\n var y = pointerDownPosition.y - (t.pageY || 0);\n hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n }\n});\ndocument.addEventListener(pointerUp, function () {\n isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n if (preventNextClick) {\n e.preventDefault();\n e.stopImmediatePropagation();\n preventNextClick = false;\n }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/trottle.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var time = Date.now();\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (time + wait - Date.now() < 0) {\n fn.apply(void 0, args);\n time = Date.now();\n }\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ // startup +/******/ // Load entry module +/******/ __webpack_require__("./default/assets/js/src/bootstrap.ts"); +/******/ // This entry module used 'exports' so it can't be inlined +/******/ })() +; \ No newline at end of file diff --git a/docs/v0.8.0/assets/js/search.js b/docs/v0.8.0/assets/js/search.js new file mode 100644 index 00000000..827232a6 --- /dev/null +++ b/docs/v0.8.0/assets/js/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"2":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Transformers","url":"modules/transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/transformers.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.creationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.creationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/transformers.html#applyassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/transformers.html#factorout","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/transformers.html#mergewithquantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/transformers.html#moveupempty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/transformers.html#nestedquantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/transformers.html#patternedgeassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/transformers.patternedgeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.patternedgeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/transformers.html#removedeadbranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/transformers.html#removeunnecessaryassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/transformers.html#replaceassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/transformers.removeassertionscreationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/transformers.removeassertionscreationoptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreorder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/transformers.removeassertionscreationoptions.html#ignoreambiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/transformers.html#sortassertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/transformers.html#unioncharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":2,"name":"FAIterators","url":"modules/faiterators.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"intersection","url":"modules/faiterators.html#intersection","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":27,"kind":64,"name":"mapOut","url":"modules/faiterators.html#mapout","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":28,"kind":64,"name":"mapOutIter","url":"modules/faiterators.html#mapoutiter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":29,"kind":64,"name":"filterOutIter","url":"modules/faiterators.html#filteroutiter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":30,"kind":64,"name":"forEach","url":"modules/faiterators.html#foreach","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":31,"kind":64,"name":"count","url":"modules/faiterators.html#count","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":32,"kind":64,"name":"ensureDeterministicOut","url":"modules/faiterators.html#ensuredeterministicout","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":33,"kind":64,"name":"iterateStates","url":"modules/faiterators.html#iteratestates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":34,"kind":64,"name":"canReachFinal","url":"modules/faiterators.html#canreachfinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":35,"kind":64,"name":"hasCycle","url":"modules/faiterators.html#hascycle","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":36,"kind":64,"name":"languageIsFinite","url":"modules/faiterators.html#languageisfinite","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":37,"kind":128,"name":"MapFABuilder","url":"classes/faiterators.mapfabuilder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"FAIterators"},{"id":38,"kind":512,"name":"constructor","url":"classes/faiterators.mapfabuilder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":39,"kind":1024,"name":"initial","url":"classes/faiterators.mapfabuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":40,"kind":1024,"name":"finals","url":"classes/faiterators.mapfabuilder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":41,"kind":2048,"name":"makeFinal","url":"classes/faiterators.mapfabuilder.html#makefinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":42,"kind":2048,"name":"isFinal","url":"classes/faiterators.mapfabuilder.html#isfinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":43,"kind":2048,"name":"createNode","url":"classes/faiterators.mapfabuilder.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":44,"kind":2048,"name":"linkNodes","url":"classes/faiterators.mapfabuilder.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":45,"kind":4194304,"name":"MapFABuilderNode","url":"modules/faiterators.html#mapfabuildernode","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":46,"kind":64,"name":"removeDeadStates","url":"modules/faiterators.html#removedeadstates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":47,"kind":64,"name":"toDot","url":"modules/faiterators.html#todot","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":48,"kind":64,"name":"createSimpleToDotOptions","url":"modules/faiterators.html#createsimpletodotoptions","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":49,"kind":4194304,"name":"ToDotAttrs","url":"modules/faiterators.html#todotattrs","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":50,"kind":256,"name":"ToDotOptions","url":"interfaces/faiterators.todotoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":51,"kind":1024,"name":"getEdgeAttributes","url":"interfaces/faiterators.todotoptions.html#getedgeattributes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":52,"kind":65536,"name":"__type","url":"interfaces/faiterators.todotoptions.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":53,"kind":1024,"name":"getGraphAttributes","url":"interfaces/faiterators.todotoptions.html#getgraphattributes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":54,"kind":1024,"name":"getNodeAttributes","url":"interfaces/faiterators.todotoptions.html#getnodeattributes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":55,"kind":256,"name":"ToDotInfo","url":"interfaces/faiterators.todotinfo.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":56,"kind":2048,"name":"isInitial","url":"interfaces/faiterators.todotinfo.html#isinitial","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":57,"kind":2048,"name":"isFinal","url":"interfaces/faiterators.todotinfo.html#isfinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":58,"kind":2048,"name":"getId","url":"interfaces/faiterators.todotinfo.html#getid","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":59,"kind":2048,"name":"getNumberOfOutgoingEdges","url":"interfaces/faiterators.todotinfo.html#getnumberofoutgoingedges","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":60,"kind":64,"name":"toRegex","url":"modules/faiterators.html#toregex","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":61,"kind":64,"name":"toString","url":"modules/faiterators.html#tostring","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":62,"kind":64,"name":"iterateWordSets","url":"modules/faiterators.html#iteratewordsets","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":63,"kind":2,"name":"JS","url":"modules/js.html","classes":"tsd-kind-namespace"},{"id":64,"kind":64,"name":"createAssertion","url":"modules/js.html#createassertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":65,"kind":4194304,"name":"BoundaryAssertion","url":"modules/js.html#boundaryassertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":66,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/js.wordboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":67,"kind":1024,"name":"kind","url":"interfaces/js.wordboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":68,"kind":1024,"name":"negate","url":"interfaces/js.wordboundaryassertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":69,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/js.textboundaryassertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":70,"kind":1024,"name":"kind","url":"interfaces/js.textboundaryassertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":71,"kind":64,"name":"createCharSet","url":"modules/js.html#createcharset","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/js.html#predefinedcharacterset","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":73,"kind":256,"name":"AnyCharacterSet","url":"interfaces/js.anycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":74,"kind":1024,"name":"kind","url":"interfaces/js.anycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":75,"kind":256,"name":"DigitCharacterSet","url":"interfaces/js.digitcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":76,"kind":1024,"name":"kind","url":"interfaces/js.digitcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":77,"kind":1024,"name":"negate","url":"interfaces/js.digitcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":78,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/js.propertycharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":1024,"name":"kind","url":"interfaces/js.propertycharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":80,"kind":1024,"name":"key","url":"interfaces/js.propertycharacterset.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":81,"kind":1024,"name":"value","url":"interfaces/js.propertycharacterset.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":82,"kind":1024,"name":"negate","url":"interfaces/js.propertycharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":83,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/js.spacecharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":84,"kind":1024,"name":"kind","url":"interfaces/js.spacecharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":85,"kind":1024,"name":"negate","url":"interfaces/js.spacecharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":86,"kind":256,"name":"WordCharacterSet","url":"interfaces/js.wordcharacterset.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":87,"kind":1024,"name":"kind","url":"interfaces/js.wordcharacterset.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":88,"kind":1024,"name":"negate","url":"interfaces/js.wordcharacterset.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":89,"kind":64,"name":"toLiteral","url":"modules/js.html#toliteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":90,"kind":256,"name":"ToLiteralOptions","url":"interfaces/js.toliteraloptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":91,"kind":1024,"name":"flags","url":"interfaces/js.toliteraloptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":92,"kind":1024,"name":"fastCharacters","url":"interfaces/js.toliteraloptions.html#fastcharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":93,"kind":256,"name":"Flags","url":"interfaces/js.flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":94,"kind":1024,"name":"dotAll","url":"interfaces/js.flags.html#dotall","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":95,"kind":1024,"name":"global","url":"interfaces/js.flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":96,"kind":1024,"name":"ignoreCase","url":"interfaces/js.flags.html#ignorecase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":97,"kind":1024,"name":"multiline","url":"interfaces/js.flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":98,"kind":1024,"name":"sticky","url":"interfaces/js.flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":99,"kind":1024,"name":"unicode","url":"interfaces/js.flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":100,"kind":256,"name":"Literal","url":"interfaces/js.literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":101,"kind":1024,"name":"source","url":"interfaces/js.literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":102,"kind":1024,"name":"flags","url":"interfaces/js.literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":103,"kind":256,"name":"ParseOptions","url":"interfaces/js.parseoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":104,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/js.parseoptions.html#maxbackreferencewords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":105,"kind":1024,"name":"backreferences","url":"interfaces/js.parseoptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":106,"kind":1024,"name":"assertions","url":"interfaces/js.parseoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":107,"kind":1024,"name":"simplify","url":"interfaces/js.parseoptions.html#simplify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":108,"kind":1024,"name":"maxNodes","url":"interfaces/js.parseoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":109,"kind":1024,"name":"getUnknownId","url":"interfaces/js.parseoptions.html#getunknownid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":110,"kind":256,"name":"RegexppAst","url":"interfaces/js.regexppast.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":111,"kind":1024,"name":"pattern","url":"interfaces/js.regexppast.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":112,"kind":1024,"name":"flags","url":"interfaces/js.regexppast.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":113,"kind":4194304,"name":"ParsableElement","url":"modules/js.html#parsableelement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":114,"kind":256,"name":"ParseResult","url":"interfaces/js.parseresult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":115,"kind":1024,"name":"expression","url":"interfaces/js.parseresult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":116,"kind":1024,"name":"maxCharacter","url":"interfaces/js.parseresult.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":117,"kind":128,"name":"Parser","url":"classes/js.parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":118,"kind":2048,"name":"fromLiteral","url":"classes/js.parser.html#fromliteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":119,"kind":2048,"name":"fromAst","url":"classes/js.parser.html#fromast","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":120,"kind":1024,"name":"literal","url":"classes/js.parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":121,"kind":1024,"name":"ast","url":"classes/js.parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":122,"kind":1024,"name":"maxCharacter","url":"classes/js.parser.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":123,"kind":2048,"name":"parse","url":"classes/js.parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":124,"kind":2048,"name":"parseElement","url":"classes/js.parser.html#parseelement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":125,"kind":2,"name":"Words","url":"modules/words.html","classes":"tsd-kind-namespace"},{"id":126,"kind":64,"name":"fromUTF16ToString","url":"modules/words.html#fromutf16tostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":127,"kind":64,"name":"fromUnicodeToString","url":"modules/words.html#fromunicodetostring","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":128,"kind":64,"name":"fromStringToUTF16","url":"modules/words.html#fromstringtoutf16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":129,"kind":64,"name":"fromStringToUnicode","url":"modules/words.html#fromstringtounicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":130,"kind":64,"name":"wordSetToWords","url":"modules/words.html#wordsettowords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":131,"kind":64,"name":"pickMostReadableCharacter","url":"modules/words.html#pickmostreadablecharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":132,"kind":64,"name":"pickMostReadableWord","url":"modules/words.html#pickmostreadableword","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":133,"kind":256,"name":"SourceLocation","url":"interfaces/sourcelocation.html","classes":"tsd-kind-interface"},{"id":134,"kind":1024,"name":"start","url":"interfaces/sourcelocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":135,"kind":1024,"name":"end","url":"interfaces/sourcelocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":136,"kind":4194304,"name":"Element","url":"modules.html#element","classes":"tsd-kind-type-alias"},{"id":137,"kind":4194304,"name":"Parent","url":"modules.html#parent","classes":"tsd-kind-type-alias"},{"id":138,"kind":4194304,"name":"Node","url":"modules.html#node","classes":"tsd-kind-type-alias"},{"id":139,"kind":256,"name":"Alternation","url":"interfaces/alternation.html","classes":"tsd-kind-interface"},{"id":140,"kind":1024,"name":"type","url":"interfaces/alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":141,"kind":1024,"name":"parent","url":"interfaces/alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":142,"kind":1024,"name":"alternatives","url":"interfaces/alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":143,"kind":1024,"name":"source","url":"interfaces/alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":144,"kind":256,"name":"Assertion","url":"interfaces/assertion.html","classes":"tsd-kind-interface"},{"id":145,"kind":1024,"name":"type","url":"interfaces/assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":146,"kind":1024,"name":"parent","url":"interfaces/assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":147,"kind":1024,"name":"alternatives","url":"interfaces/assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":148,"kind":1024,"name":"kind","url":"interfaces/assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":149,"kind":1024,"name":"negate","url":"interfaces/assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":150,"kind":1024,"name":"source","url":"interfaces/assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":151,"kind":256,"name":"Quantifier","url":"interfaces/quantifier.html","classes":"tsd-kind-interface"},{"id":152,"kind":1024,"name":"type","url":"interfaces/quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":153,"kind":1024,"name":"parent","url":"interfaces/quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":154,"kind":1024,"name":"alternatives","url":"interfaces/quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":155,"kind":1024,"name":"lazy","url":"interfaces/quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":156,"kind":1024,"name":"min","url":"interfaces/quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":157,"kind":1024,"name":"max","url":"interfaces/quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":158,"kind":1024,"name":"source","url":"interfaces/quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":159,"kind":256,"name":"CharacterClass","url":"interfaces/characterclass.html","classes":"tsd-kind-interface"},{"id":160,"kind":1024,"name":"type","url":"interfaces/characterclass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":161,"kind":1024,"name":"parent","url":"interfaces/characterclass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":162,"kind":1024,"name":"characters","url":"interfaces/characterclass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":163,"kind":1024,"name":"source","url":"interfaces/characterclass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":164,"kind":256,"name":"Unknown","url":"interfaces/unknown.html","classes":"tsd-kind-interface"},{"id":165,"kind":1024,"name":"type","url":"interfaces/unknown.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":166,"kind":1024,"name":"parent","url":"interfaces/unknown.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":167,"kind":1024,"name":"id","url":"interfaces/unknown.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":168,"kind":1024,"name":"source","url":"interfaces/unknown.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":169,"kind":256,"name":"Expression","url":"interfaces/expression.html","classes":"tsd-kind-interface"},{"id":170,"kind":1024,"name":"type","url":"interfaces/expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":171,"kind":1024,"name":"parent","url":"interfaces/expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":172,"kind":1024,"name":"alternatives","url":"interfaces/expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":173,"kind":1024,"name":"source","url":"interfaces/expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":174,"kind":256,"name":"Concatenation","url":"interfaces/concatenation.html","classes":"tsd-kind-interface"},{"id":175,"kind":1024,"name":"type","url":"interfaces/concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":176,"kind":1024,"name":"parent","url":"interfaces/concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":177,"kind":1024,"name":"elements","url":"interfaces/concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":178,"kind":1024,"name":"source","url":"interfaces/concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":179,"kind":4194304,"name":"NoParent","url":"modules.html#noparent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":180,"kind":64,"name":"setParent","url":"modules.html#setparent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":181,"kind":64,"name":"setSource","url":"modules.html#setsource","classes":"tsd-kind-function"},{"id":182,"kind":64,"name":"visitAst","url":"modules.html#visitast","classes":"tsd-kind-function"},{"id":183,"kind":256,"name":"VisitAstHandler","url":"interfaces/visitasthandler.html","classes":"tsd-kind-interface"},{"id":184,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":185,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":186,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":187,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":188,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":189,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":190,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":191,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":192,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":193,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":194,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":195,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":196,"kind":2048,"name":"onUnknownEnter","url":"interfaces/visitasthandler.html#onunknownenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":197,"kind":2048,"name":"onUnknownLeave","url":"interfaces/visitasthandler.html#onunknownleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":198,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/visitnoparentasthandler.html","classes":"tsd-kind-interface"},{"id":199,"kind":2048,"name":"onAlternationEnter","url":"interfaces/visitnoparentasthandler.html#onalternationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":200,"kind":2048,"name":"onAlternationLeave","url":"interfaces/visitnoparentasthandler.html#onalternationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":201,"kind":2048,"name":"onAssertionEnter","url":"interfaces/visitnoparentasthandler.html#onassertionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":202,"kind":2048,"name":"onAssertionLeave","url":"interfaces/visitnoparentasthandler.html#onassertionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":203,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/visitnoparentasthandler.html#oncharacterclassenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":204,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/visitnoparentasthandler.html#oncharacterclassleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":205,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/visitnoparentasthandler.html#onconcatenationenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":206,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/visitnoparentasthandler.html#onconcatenationleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":207,"kind":2048,"name":"onExpressionEnter","url":"interfaces/visitnoparentasthandler.html#onexpressionenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":208,"kind":2048,"name":"onExpressionLeave","url":"interfaces/visitnoparentasthandler.html#onexpressionleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":209,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/visitnoparentasthandler.html#onquantifierenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":210,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/visitnoparentasthandler.html#onquantifierleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":211,"kind":2048,"name":"onUnknownEnter","url":"interfaces/visitnoparentasthandler.html#onunknownenter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":212,"kind":2048,"name":"onUnknownLeave","url":"interfaces/visitnoparentasthandler.html#onunknownleave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":213,"kind":64,"name":"combineTransformers","url":"modules.html#combinetransformers","classes":"tsd-kind-function"},{"id":214,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":215,"kind":256,"name":"Transformer","url":"interfaces/transformer.html","classes":"tsd-kind-interface"},{"id":216,"kind":2048,"name":"onAlternation","url":"interfaces/transformer.html#onalternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":217,"kind":2048,"name":"onAssertion","url":"interfaces/transformer.html#onassertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":218,"kind":2048,"name":"onCharacterClass","url":"interfaces/transformer.html#oncharacterclass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":219,"kind":2048,"name":"onConcatenation","url":"interfaces/transformer.html#onconcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":220,"kind":2048,"name":"onExpression","url":"interfaces/transformer.html#onexpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":221,"kind":2048,"name":"onQuantifier","url":"interfaces/transformer.html#onquantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":222,"kind":2048,"name":"onUnknown","url":"interfaces/transformer.html#onunknown","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":223,"kind":256,"name":"TransformContext","url":"interfaces/transformcontext.html","classes":"tsd-kind-interface"},{"id":224,"kind":1024,"name":"maxCharacter","url":"interfaces/transformcontext.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":225,"kind":1024,"name":"signalMutation","url":"interfaces/transformcontext.html#signalmutation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":226,"kind":65536,"name":"__type","url":"interfaces/transformcontext.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransformContext"},{"id":227,"kind":256,"name":"TransformOptions","url":"interfaces/transformoptions.html","classes":"tsd-kind-interface"},{"id":228,"kind":1024,"name":"maxPasses","url":"interfaces/transformoptions.html#maxpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":229,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/readonlycharmap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":230,"kind":1024,"name":"isEmpty","url":"interfaces/readonlycharmap.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":231,"kind":2048,"name":"has","url":"interfaces/readonlycharmap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":232,"kind":2048,"name":"hasEvery","url":"interfaces/readonlycharmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":233,"kind":2048,"name":"hasSome","url":"interfaces/readonlycharmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":234,"kind":2048,"name":"get","url":"interfaces/readonlycharmap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":235,"kind":2048,"name":"forEach","url":"interfaces/readonlycharmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":236,"kind":2048,"name":"keys","url":"interfaces/readonlycharmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":237,"kind":2048,"name":"values","url":"interfaces/readonlycharmap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":238,"kind":2048,"name":"entries","url":"interfaces/readonlycharmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":239,"kind":128,"name":"CharMap","url":"classes/charmap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":240,"kind":512,"name":"constructor","url":"classes/charmap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":241,"kind":262144,"name":"isEmpty","url":"classes/charmap.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":242,"kind":2048,"name":"has","url":"classes/charmap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":243,"kind":2048,"name":"hasEvery","url":"classes/charmap.html#hasevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":244,"kind":2048,"name":"hasSome","url":"classes/charmap.html#hassome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":245,"kind":2048,"name":"get","url":"classes/charmap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":246,"kind":2048,"name":"set","url":"classes/charmap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":247,"kind":2048,"name":"setEvery","url":"classes/charmap.html#setevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":248,"kind":2048,"name":"delete","url":"classes/charmap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":249,"kind":2048,"name":"deleteEvery","url":"classes/charmap.html#deleteevery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":250,"kind":2048,"name":"map","url":"classes/charmap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":251,"kind":2048,"name":"mapRange","url":"classes/charmap.html#maprange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":252,"kind":2048,"name":"forEach","url":"classes/charmap.html#foreach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":253,"kind":2048,"name":"keys","url":"classes/charmap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":254,"kind":2048,"name":"values","url":"classes/charmap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":255,"kind":2048,"name":"entries","url":"classes/charmap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":256,"kind":2048,"name":"[Symbol.iterator]","url":"classes/charmap.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":257,"kind":256,"name":"CharRange","url":"interfaces/charrange.html","classes":"tsd-kind-interface"},{"id":258,"kind":1024,"name":"min","url":"interfaces/charrange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":259,"kind":1024,"name":"max","url":"interfaces/charrange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":260,"kind":128,"name":"CharSet","url":"classes/charset.html","classes":"tsd-kind-class"},{"id":261,"kind":2048,"name":"empty","url":"classes/charset.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":262,"kind":2048,"name":"all","url":"classes/charset.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":263,"kind":1024,"name":"maximum","url":"classes/charset.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":264,"kind":1024,"name":"ranges","url":"classes/charset.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":265,"kind":262144,"name":"isEmpty","url":"classes/charset.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":266,"kind":262144,"name":"isAll","url":"classes/charset.html#isall","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":267,"kind":262144,"name":"size","url":"classes/charset.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":268,"kind":2048,"name":"toString","url":"classes/charset.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":269,"kind":2048,"name":"equals","url":"classes/charset.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":270,"kind":2048,"name":"compare","url":"classes/charset.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":271,"kind":2048,"name":"negate","url":"classes/charset.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":272,"kind":2048,"name":"union","url":"classes/charset.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":273,"kind":2048,"name":"intersect","url":"classes/charset.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":274,"kind":2048,"name":"without","url":"classes/charset.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":275,"kind":2048,"name":"has","url":"classes/charset.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":276,"kind":2048,"name":"isSupersetOf","url":"classes/charset.html#issupersetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":277,"kind":2048,"name":"isSubsetOf","url":"classes/charset.html#issubsetof","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":278,"kind":2048,"name":"isDisjointWith","url":"classes/charset.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":279,"kind":2048,"name":"commonCharacter","url":"classes/charset.html#commoncharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":280,"kind":256,"name":"FiniteAutomaton","url":"interfaces/finiteautomaton.html","classes":"tsd-kind-interface"},{"id":281,"kind":1024,"name":"isEmpty","url":"interfaces/finiteautomaton.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":282,"kind":1024,"name":"isFinite","url":"interfaces/finiteautomaton.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":283,"kind":1024,"name":"maxCharacter","url":"interfaces/finiteautomaton.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":284,"kind":2048,"name":"test","url":"interfaces/finiteautomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":285,"kind":2048,"name":"words","url":"interfaces/finiteautomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":286,"kind":2048,"name":"wordSets","url":"interfaces/finiteautomaton.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":287,"kind":2048,"name":"toString","url":"interfaces/finiteautomaton.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":288,"kind":2048,"name":"toRegex","url":"interfaces/finiteautomaton.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":289,"kind":2048,"name":"toDot","url":"interfaces/finiteautomaton.html#todot","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":290,"kind":256,"name":"FAIterator","url":"interfaces/faiterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":291,"kind":1024,"name":"initial","url":"interfaces/faiterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":292,"kind":1024,"name":"getOut","url":"interfaces/faiterator.html#getout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":293,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":294,"kind":1024,"name":"deterministicOut","url":"interfaces/faiterator.html#deterministicout","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":295,"kind":1024,"name":"isFinal","url":"interfaces/faiterator.html#isfinal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":296,"kind":65536,"name":"__type","url":"interfaces/faiterator.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FAIterator"},{"id":297,"kind":256,"name":"FABuilder","url":"interfaces/fabuilder.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":298,"kind":1024,"name":"initial","url":"interfaces/fabuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":299,"kind":1024,"name":"makeFinal","url":"interfaces/fabuilder.html#makefinal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":300,"kind":65536,"name":"__type","url":"interfaces/fabuilder.html#__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FABuilder"},{"id":301,"kind":1024,"name":"isFinal","url":"interfaces/fabuilder.html#isfinal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":302,"kind":65536,"name":"__type","url":"interfaces/fabuilder.html#__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FABuilder"},{"id":303,"kind":1024,"name":"createNode","url":"interfaces/fabuilder.html#createnode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":304,"kind":65536,"name":"__type","url":"interfaces/fabuilder.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FABuilder"},{"id":305,"kind":1024,"name":"linkNodes","url":"interfaces/fabuilder.html#linknodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":306,"kind":65536,"name":"__type","url":"interfaces/fabuilder.html#__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"FABuilder"},{"id":307,"kind":4194304,"name":"TransitionIterator","url":"modules.html#transitioniterator","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":308,"kind":256,"name":"TransitionIterable","url":"interfaces/transitioniterable.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":309,"kind":1024,"name":"maxCharacter","url":"interfaces/transitioniterable.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":310,"kind":1024,"name":"transitionIterator","url":"interfaces/transitioniterable.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":311,"kind":65536,"name":"__type","url":"interfaces/transitioniterable.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":312,"kind":256,"name":"ToRegexOptions","url":"interfaces/toregexoptions.html","classes":"tsd-kind-interface"},{"id":313,"kind":1024,"name":"maxNodes","url":"interfaces/toregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":314,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/toregexoptions.html#maxoptimizationpasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":315,"kind":256,"name":"IntersectionOptions","url":"interfaces/intersectionoptions.html","classes":"tsd-kind-interface"},{"id":316,"kind":1024,"name":"maxNodes","url":"interfaces/intersectionoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"IntersectionOptions"},{"id":317,"kind":4194304,"name":"Char","url":"modules.html#char","classes":"tsd-kind-type-alias"},{"id":318,"kind":4194304,"name":"Word","url":"modules.html#word","classes":"tsd-kind-type-alias"},{"id":319,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#readonlyword","classes":"tsd-kind-type-alias"},{"id":320,"kind":256,"name":"ReadonlyDFA","url":"interfaces/readonlydfa.html","classes":"tsd-kind-interface"},{"id":321,"kind":1024,"name":"nodes","url":"interfaces/readonlydfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":322,"kind":1024,"name":"options","url":"interfaces/readonlydfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":323,"kind":2048,"name":"stateIterator","url":"interfaces/readonlydfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":324,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlydfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":325,"kind":2048,"name":"getIntersectionWords","url":"interfaces/readonlydfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":326,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/readonlydfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":327,"kind":2048,"name":"copy","url":"interfaces/readonlydfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":328,"kind":2048,"name":"structurallyEqual","url":"interfaces/readonlydfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":329,"kind":1024,"name":"isEmpty","url":"interfaces/readonlydfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":330,"kind":1024,"name":"isFinite","url":"interfaces/readonlydfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":331,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlydfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":332,"kind":2048,"name":"test","url":"interfaces/readonlydfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":333,"kind":2048,"name":"words","url":"interfaces/readonlydfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":334,"kind":2048,"name":"wordSets","url":"interfaces/readonlydfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":335,"kind":2048,"name":"toString","url":"interfaces/readonlydfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":336,"kind":2048,"name":"toRegex","url":"interfaces/readonlydfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":337,"kind":2048,"name":"toDot","url":"interfaces/readonlydfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":338,"kind":1024,"name":"transitionIterator","url":"interfaces/readonlydfa.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":339,"kind":65536,"name":"__type","url":"interfaces/readonlydfa.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":340,"kind":128,"name":"DFA","url":"classes/dfa.html","classes":"tsd-kind-class"},{"id":341,"kind":2048,"name":"fromIntersection","url":"classes/dfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":342,"kind":2048,"name":"empty","url":"classes/dfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":343,"kind":2048,"name":"all","url":"classes/dfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":344,"kind":2048,"name":"fromWords","url":"classes/dfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":345,"kind":2048,"name":"fromFA","url":"classes/dfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":346,"kind":2048,"name":"fromTransitionIterator","url":"classes/dfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":347,"kind":1024,"name":"nodes","url":"classes/dfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":348,"kind":1024,"name":"maxCharacter","url":"classes/dfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":349,"kind":262144,"name":"options","url":"classes/dfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":350,"kind":262144,"name":"isEmpty","url":"classes/dfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":351,"kind":262144,"name":"isFinite","url":"classes/dfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":352,"kind":2048,"name":"stateIterator","url":"classes/dfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":353,"kind":2048,"name":"transitionIterator","url":"classes/dfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":354,"kind":2048,"name":"test","url":"classes/dfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":355,"kind":2048,"name":"wordSets","url":"classes/dfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":356,"kind":2048,"name":"words","url":"classes/dfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":357,"kind":2048,"name":"toString","url":"classes/dfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":358,"kind":2048,"name":"toRegex","url":"classes/dfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":359,"kind":2048,"name":"toDot","url":"classes/dfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":360,"kind":2048,"name":"isDisjointWith","url":"classes/dfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":361,"kind":2048,"name":"getIntersectionWords","url":"classes/dfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":362,"kind":2048,"name":"getIntersectionWordSets","url":"classes/dfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":363,"kind":2048,"name":"copy","url":"classes/dfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":364,"kind":2048,"name":"structurallyEqual","url":"classes/dfa.html#structurallyequal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":365,"kind":2048,"name":"minimize","url":"classes/dfa.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":366,"kind":2048,"name":"complement","url":"classes/dfa.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":367,"kind":2048,"name":"prefixes","url":"classes/dfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":368,"kind":2,"name":"DFA","url":"modules/dfa.html","classes":"tsd-kind-namespace"},{"id":369,"kind":256,"name":"ReadonlyNode","url":"interfaces/dfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":370,"kind":1024,"name":"list","url":"interfaces/dfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":371,"kind":1024,"name":"out","url":"interfaces/dfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":372,"kind":256,"name":"Node","url":"interfaces/dfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":373,"kind":1024,"name":"list","url":"interfaces/dfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":374,"kind":1024,"name":"out","url":"interfaces/dfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":375,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/dfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":376,"kind":1024,"name":"initial","url":"interfaces/dfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":377,"kind":1024,"name":"finals","url":"interfaces/dfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":378,"kind":2048,"name":"count","url":"interfaces/dfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":379,"kind":128,"name":"NodeList","url":"classes/dfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":380,"kind":2048,"name":"withLimit","url":"classes/dfa.nodelist.html#withlimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA.NodeList"},{"id":381,"kind":512,"name":"constructor","url":"classes/dfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":382,"kind":1024,"name":"initial","url":"classes/dfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":383,"kind":1024,"name":"finals","url":"classes/dfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":384,"kind":2048,"name":"createNode","url":"classes/dfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":385,"kind":2048,"name":"linkNodes","url":"classes/dfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":386,"kind":2048,"name":"_uncheckedLinkNodesWithCharacter","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":387,"kind":2048,"name":"_uncheckedLinkNodesWithCharRange","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharrange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":388,"kind":2048,"name":"_uncheckedLinkNodesWithCharSet","url":"classes/dfa.nodelist.html#_uncheckedlinknodeswithcharset","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":389,"kind":2048,"name":"unlinkNodes","url":"classes/dfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":390,"kind":2048,"name":"makeFinal","url":"classes/dfa.nodelist.html#makefinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":391,"kind":2048,"name":"isFinal","url":"classes/dfa.nodelist.html#isfinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":392,"kind":2048,"name":"removeUnreachable","url":"classes/dfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":393,"kind":2048,"name":"count","url":"classes/dfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":394,"kind":2048,"name":"[Symbol.iterator]","url":"classes/dfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":395,"kind":256,"name":"CreationOptions","url":"interfaces/dfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":396,"kind":1024,"name":"maxNodes","url":"interfaces/dfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.CreationOptions"},{"id":397,"kind":256,"name":"Options","url":"interfaces/dfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":398,"kind":1024,"name":"maxCharacter","url":"interfaces/dfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"},{"id":399,"kind":256,"name":"ReadonlyENFA","url":"interfaces/readonlyenfa.html","classes":"tsd-kind-interface"},{"id":400,"kind":1024,"name":"nodes","url":"interfaces/readonlyenfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":401,"kind":1024,"name":"options","url":"interfaces/readonlyenfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":402,"kind":2048,"name":"stateIterator","url":"interfaces/readonlyenfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":403,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlyenfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":404,"kind":2048,"name":"getIntersectionWords","url":"interfaces/readonlyenfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":405,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/readonlyenfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":406,"kind":2048,"name":"copy","url":"interfaces/readonlyenfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":407,"kind":1024,"name":"isEmpty","url":"interfaces/readonlyenfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":408,"kind":1024,"name":"isFinite","url":"interfaces/readonlyenfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":409,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlyenfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":410,"kind":2048,"name":"test","url":"interfaces/readonlyenfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":411,"kind":2048,"name":"words","url":"interfaces/readonlyenfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":412,"kind":2048,"name":"wordSets","url":"interfaces/readonlyenfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":413,"kind":2048,"name":"toString","url":"interfaces/readonlyenfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":414,"kind":2048,"name":"toRegex","url":"interfaces/readonlyenfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":415,"kind":2048,"name":"toDot","url":"interfaces/readonlyenfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":416,"kind":1024,"name":"transitionIterator","url":"interfaces/readonlyenfa.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":417,"kind":65536,"name":"__type","url":"interfaces/readonlyenfa.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":418,"kind":128,"name":"ENFA","url":"classes/enfa.html","classes":"tsd-kind-class"},{"id":419,"kind":2048,"name":"empty","url":"classes/enfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":420,"kind":2048,"name":"all","url":"classes/enfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":421,"kind":2048,"name":"fromRegex","url":"classes/enfa.html#fromregex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":422,"kind":2048,"name":"fromWords","url":"classes/enfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":423,"kind":2048,"name":"fromFA","url":"classes/enfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":424,"kind":2048,"name":"fromTransitionIterator","url":"classes/enfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":425,"kind":1024,"name":"nodes","url":"classes/enfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":426,"kind":1024,"name":"maxCharacter","url":"classes/enfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":427,"kind":262144,"name":"options","url":"classes/enfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":428,"kind":262144,"name":"isEmpty","url":"classes/enfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":429,"kind":262144,"name":"isFinite","url":"classes/enfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":430,"kind":2048,"name":"stateIterator","url":"classes/enfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":431,"kind":2048,"name":"transitionIterator","url":"classes/enfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":432,"kind":2048,"name":"isDisjointWith","url":"classes/enfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":433,"kind":2048,"name":"getIntersectionWords","url":"classes/enfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":434,"kind":2048,"name":"getIntersectionWordSets","url":"classes/enfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":435,"kind":2048,"name":"copy","url":"classes/enfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":436,"kind":2048,"name":"test","url":"classes/enfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":437,"kind":2048,"name":"wordSets","url":"classes/enfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":438,"kind":2048,"name":"words","url":"classes/enfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":439,"kind":2048,"name":"toString","url":"classes/enfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":440,"kind":2048,"name":"toRegex","url":"classes/enfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":441,"kind":2048,"name":"toDot","url":"classes/enfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":442,"kind":2048,"name":"append","url":"classes/enfa.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":443,"kind":2048,"name":"prepend","url":"classes/enfa.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":444,"kind":2048,"name":"union","url":"classes/enfa.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":445,"kind":2048,"name":"quantify","url":"classes/enfa.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":446,"kind":2048,"name":"prefixes","url":"classes/enfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":447,"kind":2048,"name":"suffixes","url":"classes/enfa.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":448,"kind":2,"name":"ENFA","url":"modules/enfa.html","classes":"tsd-kind-namespace"},{"id":449,"kind":256,"name":"ReadonlyNode","url":"interfaces/enfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":450,"kind":1024,"name":"list","url":"interfaces/enfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":451,"kind":1024,"name":"out","url":"interfaces/enfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":452,"kind":1024,"name":"in","url":"interfaces/enfa.readonlynode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":453,"kind":256,"name":"Node","url":"interfaces/enfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":454,"kind":1024,"name":"list","url":"interfaces/enfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":455,"kind":1024,"name":"out","url":"interfaces/enfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":456,"kind":1024,"name":"in","url":"interfaces/enfa.node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":457,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/enfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":458,"kind":1024,"name":"initial","url":"interfaces/enfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":459,"kind":1024,"name":"final","url":"interfaces/enfa.readonlynodelist.html#final","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":460,"kind":2048,"name":"count","url":"interfaces/enfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":461,"kind":128,"name":"NodeList","url":"classes/enfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":462,"kind":2048,"name":"withLimit","url":"classes/enfa.nodelist.html#withlimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":463,"kind":2048,"name":"resolveEpsilon","url":"classes/enfa.nodelist.html#resolveepsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":464,"kind":2048,"name":"unorderedResolveEpsilon","url":"classes/enfa.nodelist.html#unorderedresolveepsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":465,"kind":2048,"name":"reachableViaEpsilon","url":"classes/enfa.nodelist.html#reachableviaepsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":466,"kind":512,"name":"constructor","url":"classes/enfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":467,"kind":1024,"name":"initial","url":"classes/enfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":468,"kind":1024,"name":"final","url":"classes/enfa.nodelist.html#final","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":469,"kind":2048,"name":"createNode","url":"classes/enfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":470,"kind":2048,"name":"linkNodes","url":"classes/enfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":471,"kind":2048,"name":"unlinkNodes","url":"classes/enfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":472,"kind":2048,"name":"makeFinal","url":"classes/enfa.nodelist.html#makefinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":473,"kind":2048,"name":"isFinal","url":"classes/enfa.nodelist.html#isfinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":474,"kind":2048,"name":"removeUnreachable","url":"classes/enfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":475,"kind":2048,"name":"normalize","url":"classes/enfa.nodelist.html#normalize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":476,"kind":2048,"name":"count","url":"classes/enfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":477,"kind":2048,"name":"[Symbol.iterator]","url":"classes/enfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":478,"kind":256,"name":"CreationOptions","url":"interfaces/enfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":479,"kind":1024,"name":"maxNodes","url":"interfaces/enfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.CreationOptions"},{"id":480,"kind":256,"name":"Options","url":"interfaces/enfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":481,"kind":1024,"name":"maxCharacter","url":"interfaces/enfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.Options"},{"id":482,"kind":256,"name":"FromRegexOptions","url":"interfaces/enfa.fromregexoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":483,"kind":1024,"name":"assertions","url":"interfaces/enfa.fromregexoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":484,"kind":1024,"name":"unknowns","url":"interfaces/enfa.fromregexoptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":485,"kind":1024,"name":"infinityThreshold","url":"interfaces/enfa.fromregexoptions.html#infinitythreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":486,"kind":1024,"name":"maxNodes","url":"interfaces/enfa.fromregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ENFA.FromRegexOptions"},{"id":487,"kind":128,"name":"MaxCharacterError","url":"classes/maxcharactererror.html","classes":"tsd-kind-class"},{"id":488,"kind":2048,"name":"assert","url":"classes/maxcharactererror.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"MaxCharacterError"},{"id":489,"kind":512,"name":"constructor","url":"classes/maxcharactererror.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"MaxCharacterError"},{"id":490,"kind":128,"name":"TooManyNodesError","url":"classes/toomanynodeserror.html","classes":"tsd-kind-class"},{"id":491,"kind":2048,"name":"assert","url":"classes/toomanynodeserror.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"TooManyNodesError"},{"id":492,"kind":512,"name":"constructor","url":"classes/toomanynodeserror.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"TooManyNodesError"},{"id":493,"kind":64,"name":"isDisjointWith","url":"modules.html#isdisjointwith","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":494,"kind":64,"name":"getIntersectionWordSets","url":"modules.html#getintersectionwordsets","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":495,"kind":64,"name":"getIntersectionWords","url":"modules.html#getintersectionwords","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":496,"kind":256,"name":"ReadonlyNFA","url":"interfaces/readonlynfa.html","classes":"tsd-kind-interface"},{"id":497,"kind":1024,"name":"nodes","url":"interfaces/readonlynfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":498,"kind":1024,"name":"options","url":"interfaces/readonlynfa.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":499,"kind":2048,"name":"stateIterator","url":"interfaces/readonlynfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":500,"kind":2048,"name":"isDisjointWith","url":"interfaces/readonlynfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":501,"kind":2048,"name":"getIntersectionWords","url":"interfaces/readonlynfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":502,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/readonlynfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":503,"kind":2048,"name":"copy","url":"interfaces/readonlynfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":504,"kind":1024,"name":"isEmpty","url":"interfaces/readonlynfa.html#isempty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":505,"kind":1024,"name":"isFinite","url":"interfaces/readonlynfa.html#isfinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":506,"kind":1024,"name":"maxCharacter","url":"interfaces/readonlynfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":507,"kind":2048,"name":"test","url":"interfaces/readonlynfa.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":508,"kind":2048,"name":"words","url":"interfaces/readonlynfa.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":509,"kind":2048,"name":"wordSets","url":"interfaces/readonlynfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":510,"kind":2048,"name":"toString","url":"interfaces/readonlynfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":511,"kind":2048,"name":"toRegex","url":"interfaces/readonlynfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":512,"kind":2048,"name":"toDot","url":"interfaces/readonlynfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":513,"kind":1024,"name":"transitionIterator","url":"interfaces/readonlynfa.html#transitioniterator","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":514,"kind":65536,"name":"__type","url":"interfaces/readonlynfa.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":515,"kind":128,"name":"NFA","url":"classes/nfa.html","classes":"tsd-kind-class"},{"id":516,"kind":2048,"name":"fromIntersection","url":"classes/nfa.html#fromintersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":517,"kind":2048,"name":"empty","url":"classes/nfa.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":518,"kind":2048,"name":"all","url":"classes/nfa.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":519,"kind":2048,"name":"fromRegex","url":"classes/nfa.html#fromregex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":520,"kind":2048,"name":"fromWords","url":"classes/nfa.html#fromwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":521,"kind":2048,"name":"fromFA","url":"classes/nfa.html#fromfa","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":522,"kind":2048,"name":"fromTransitionIterator","url":"classes/nfa.html#fromtransitioniterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":523,"kind":1024,"name":"nodes","url":"classes/nfa.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":524,"kind":1024,"name":"maxCharacter","url":"classes/nfa.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":525,"kind":262144,"name":"options","url":"classes/nfa.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":526,"kind":262144,"name":"isEmpty","url":"classes/nfa.html#isempty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":527,"kind":262144,"name":"isFinite","url":"classes/nfa.html#isfinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":528,"kind":2048,"name":"stateIterator","url":"classes/nfa.html#stateiterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":529,"kind":2048,"name":"transitionIterator","url":"classes/nfa.html#transitioniterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":530,"kind":2048,"name":"copy","url":"classes/nfa.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":531,"kind":2048,"name":"test","url":"classes/nfa.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":532,"kind":2048,"name":"wordSets","url":"classes/nfa.html#wordsets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":533,"kind":2048,"name":"words","url":"classes/nfa.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":534,"kind":2048,"name":"toString","url":"classes/nfa.html#tostring","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":535,"kind":2048,"name":"toRegex","url":"classes/nfa.html#toregex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":536,"kind":2048,"name":"toDot","url":"classes/nfa.html#todot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":537,"kind":2048,"name":"isDisjointWith","url":"classes/nfa.html#isdisjointwith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":538,"kind":2048,"name":"getIntersectionWords","url":"classes/nfa.html#getintersectionwords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":539,"kind":2048,"name":"getIntersectionWordSets","url":"classes/nfa.html#getintersectionwordsets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":540,"kind":2048,"name":"union","url":"classes/nfa.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":541,"kind":2048,"name":"append","url":"classes/nfa.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":542,"kind":2048,"name":"prepend","url":"classes/nfa.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":543,"kind":2048,"name":"quantify","url":"classes/nfa.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":544,"kind":2048,"name":"withoutEmptyWord","url":"classes/nfa.html#withoutemptyword","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":545,"kind":2048,"name":"prefixes","url":"classes/nfa.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":546,"kind":2048,"name":"suffixes","url":"classes/nfa.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":547,"kind":2048,"name":"reverse","url":"classes/nfa.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":548,"kind":2,"name":"NFA","url":"modules/nfa.html","classes":"tsd-kind-namespace"},{"id":549,"kind":256,"name":"ReadonlyNode","url":"interfaces/nfa.readonlynode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":550,"kind":1024,"name":"list","url":"interfaces/nfa.readonlynode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":551,"kind":1024,"name":"out","url":"interfaces/nfa.readonlynode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":552,"kind":1024,"name":"in","url":"interfaces/nfa.readonlynode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":553,"kind":256,"name":"Node","url":"interfaces/nfa.node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":554,"kind":1024,"name":"list","url":"interfaces/nfa.node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":555,"kind":1024,"name":"out","url":"interfaces/nfa.node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":556,"kind":1024,"name":"in","url":"interfaces/nfa.node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":557,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/nfa.readonlynodelist.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":558,"kind":1024,"name":"initial","url":"interfaces/nfa.readonlynodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":559,"kind":1024,"name":"finals","url":"interfaces/nfa.readonlynodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":560,"kind":2048,"name":"count","url":"interfaces/nfa.readonlynodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":561,"kind":128,"name":"NodeList","url":"classes/nfa.nodelist.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":562,"kind":2048,"name":"withLimit","url":"classes/nfa.nodelist.html#withlimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA.NodeList"},{"id":563,"kind":512,"name":"constructor","url":"classes/nfa.nodelist.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":564,"kind":1024,"name":"initial","url":"classes/nfa.nodelist.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":565,"kind":1024,"name":"finals","url":"classes/nfa.nodelist.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":566,"kind":2048,"name":"createNode","url":"classes/nfa.nodelist.html#createnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":567,"kind":2048,"name":"linkNodes","url":"classes/nfa.nodelist.html#linknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":568,"kind":2048,"name":"unlinkNodes","url":"classes/nfa.nodelist.html#unlinknodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":569,"kind":2048,"name":"makeFinal","url":"classes/nfa.nodelist.html#makefinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":570,"kind":2048,"name":"isFinal","url":"classes/nfa.nodelist.html#isfinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":571,"kind":2048,"name":"removeUnreachable","url":"classes/nfa.nodelist.html#removeunreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":572,"kind":2048,"name":"count","url":"classes/nfa.nodelist.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":573,"kind":2048,"name":"[Symbol.iterator]","url":"classes/nfa.nodelist.html#_symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":574,"kind":256,"name":"CreationOptions","url":"interfaces/nfa.creationoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":575,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.creationoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.CreationOptions"},{"id":576,"kind":256,"name":"Options","url":"interfaces/nfa.options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":577,"kind":1024,"name":"maxCharacter","url":"interfaces/nfa.options.html#maxcharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":578,"kind":256,"name":"FromRegexOptions","url":"interfaces/nfa.fromregexoptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":579,"kind":1024,"name":"assertions","url":"interfaces/nfa.fromregexoptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":580,"kind":1024,"name":"unknowns","url":"interfaces/nfa.fromregexoptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":581,"kind":1024,"name":"infinityThreshold","url":"interfaces/nfa.fromregexoptions.html#infinitythreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":582,"kind":1024,"name":"maxNodes","url":"interfaces/nfa.fromregexoptions.html#maxnodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"NFA.FromRegexOptions"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,35.665]],["parent/0",[]],["name/1",[1,48.658]],["parent/1",[0,3.424]],["name/2",[2,51.171]],["parent/2",[3,5.235]],["name/3",[4,51.171]],["parent/3",[3,5.235]],["name/4",[5,59.644]],["parent/4",[0,3.424]],["name/5",[6,59.644]],["parent/5",[0,3.424]],["name/6",[7,54.536]],["parent/6",[0,3.424]],["name/7",[8,59.644]],["parent/7",[0,3.424]],["name/8",[9,59.644]],["parent/8",[0,3.424]],["name/9",[10,59.644]],["parent/9",[0,3.424]],["name/10",[11,59.644]],["parent/10",[0,3.424]],["name/11",[12,59.644]],["parent/11",[0,3.424]],["name/12",[7,54.536]],["parent/12",[13,4.671]],["name/13",[14,59.644]],["parent/13",[13,4.671]],["name/14",[2,51.171]],["parent/14",[13,4.671]],["name/15",[4,51.171]],["parent/15",[13,4.671]],["name/16",[15,59.644]],["parent/16",[0,3.424]],["name/17",[16,59.644]],["parent/17",[0,3.424]],["name/18",[17,59.644]],["parent/18",[0,3.424]],["name/19",[18,59.644]],["parent/19",[0,3.424]],["name/20",[19,59.644]],["parent/20",[20,4.912]],["name/21",[2,51.171]],["parent/21",[20,4.912]],["name/22",[4,51.171]],["parent/22",[20,4.912]],["name/23",[21,59.644]],["parent/23",[0,3.424]],["name/24",[22,59.644]],["parent/24",[0,3.424]],["name/25",[23,32.129]],["parent/25",[]],["name/26",[24,59.644]],["parent/26",[23,3.084]],["name/27",[25,59.644]],["parent/27",[23,3.084]],["name/28",[26,59.644]],["parent/28",[23,3.084]],["name/29",[27,59.644]],["parent/29",[23,3.084]],["name/30",[28,51.171]],["parent/30",[23,3.084]],["name/31",[29,43.55]],["parent/31",[23,3.084]],["name/32",[30,59.644]],["parent/32",[23,3.084]],["name/33",[31,59.644]],["parent/33",[23,3.084]],["name/34",[32,59.644]],["parent/34",[23,3.084]],["name/35",[33,59.644]],["parent/35",[23,3.084]],["name/36",[34,59.644]],["parent/36",[23,3.084]],["name/37",[35,59.644]],["parent/37",[23,3.084]],["name/38",[36,43.55]],["parent/38",[37,4.18]],["name/39",[38,41.186]],["parent/39",[37,4.18]],["name/40",[39,46.652]],["parent/40",[37,4.18]],["name/41",[40,46.652]],["parent/41",[37,4.18]],["name/42",[41,43.55]],["parent/42",[37,4.18]],["name/43",[42,46.652]],["parent/43",[37,4.18]],["name/44",[43,46.652]],["parent/44",[37,4.18]],["name/45",[44,59.644]],["parent/45",[23,3.084]],["name/46",[45,59.644]],["parent/46",[23,3.084]],["name/47",[46,42.298]],["parent/47",[23,3.084]],["name/48",[47,59.644]],["parent/48",[23,3.084]],["name/49",[48,59.644]],["parent/49",[23,3.084]],["name/50",[49,59.644]],["parent/50",[23,3.084]],["name/51",[50,59.644]],["parent/51",[51,4.671]],["name/52",[52,38.442]],["parent/52",[51,4.671]],["name/53",[53,59.644]],["parent/53",[51,4.671]],["name/54",[54,59.644]],["parent/54",[51,4.671]],["name/55",[55,59.644]],["parent/55",[23,3.084]],["name/56",[56,59.644]],["parent/56",[57,4.671]],["name/57",[41,43.55]],["parent/57",[57,4.671]],["name/58",[58,59.644]],["parent/58",[57,4.671]],["name/59",[59,59.644]],["parent/59",[57,4.671]],["name/60",[60,42.298]],["parent/60",[23,3.084]],["name/61",[61,41.186]],["parent/61",[23,3.084]],["name/62",[62,59.644]],["parent/62",[23,3.084]],["name/63",[63,33.018]],["parent/63",[]],["name/64",[64,59.644]],["parent/64",[63,3.169]],["name/65",[65,59.644]],["parent/65",[63,3.169]],["name/66",[66,59.644]],["parent/66",[63,3.169]],["name/67",[67,42.298]],["parent/67",[68,5.235]],["name/68",[69,43.55]],["parent/68",[68,5.235]],["name/69",[70,59.644]],["parent/69",[63,3.169]],["name/70",[67,42.298]],["parent/70",[71,5.725]],["name/71",[72,59.644]],["parent/71",[63,3.169]],["name/72",[73,59.644]],["parent/72",[63,3.169]],["name/73",[74,59.644]],["parent/73",[63,3.169]],["name/74",[67,42.298]],["parent/74",[75,5.725]],["name/75",[76,59.644]],["parent/75",[63,3.169]],["name/76",[67,42.298]],["parent/76",[77,5.235]],["name/77",[69,43.55]],["parent/77",[77,5.235]],["name/78",[78,59.644]],["parent/78",[63,3.169]],["name/79",[67,42.298]],["parent/79",[79,4.671]],["name/80",[80,59.644]],["parent/80",[79,4.671]],["name/81",[81,59.644]],["parent/81",[79,4.671]],["name/82",[69,43.55]],["parent/82",[79,4.671]],["name/83",[82,59.644]],["parent/83",[63,3.169]],["name/84",[67,42.298]],["parent/84",[83,5.235]],["name/85",[69,43.55]],["parent/85",[83,5.235]],["name/86",[84,59.644]],["parent/86",[63,3.169]],["name/87",[67,42.298]],["parent/87",[85,5.235]],["name/88",[69,43.55]],["parent/88",[85,5.235]],["name/89",[86,59.644]],["parent/89",[63,3.169]],["name/90",[87,59.644]],["parent/90",[63,3.169]],["name/91",[88,48.658]],["parent/91",[89,5.235]],["name/92",[90,59.644]],["parent/92",[89,5.235]],["name/93",[88,48.658]],["parent/93",[63,3.169]],["name/94",[91,59.644]],["parent/94",[92,4.318]],["name/95",[93,59.644]],["parent/95",[92,4.318]],["name/96",[94,59.644]],["parent/96",[92,4.318]],["name/97",[95,59.644]],["parent/97",[92,4.318]],["name/98",[96,59.644]],["parent/98",[92,4.318]],["name/99",[97,59.644]],["parent/99",[92,4.318]],["name/100",[98,54.536]],["parent/100",[63,3.169]],["name/101",[99,42.298]],["parent/101",[100,5.235]],["name/102",[88,48.658]],["parent/102",[100,5.235]],["name/103",[101,59.644]],["parent/103",[63,3.169]],["name/104",[102,59.644]],["parent/104",[103,4.318]],["name/105",[104,59.644]],["parent/105",[103,4.318]],["name/106",[105,51.171]],["parent/106",[103,4.318]],["name/107",[106,59.644]],["parent/107",[103,4.318]],["name/108",[107,42.298]],["parent/108",[103,4.318]],["name/109",[108,59.644]],["parent/109",[103,4.318]],["name/110",[109,59.644]],["parent/110",[63,3.169]],["name/111",[110,59.644]],["parent/111",[111,5.235]],["name/112",[88,48.658]],["parent/112",[111,5.235]],["name/113",[112,59.644]],["parent/113",[63,3.169]],["name/114",[113,59.644]],["parent/114",[63,3.169]],["name/115",[114,44.981]],["parent/115",[115,5.235]],["name/116",[116,36.958]],["parent/116",[115,5.235]],["name/117",[117,59.644]],["parent/117",[63,3.169]],["name/118",[118,59.644]],["parent/118",[119,4.18]],["name/119",[120,59.644]],["parent/119",[119,4.18]],["name/120",[98,54.536]],["parent/120",[119,4.18]],["name/121",[121,59.644]],["parent/121",[119,4.18]],["name/122",[116,36.958]],["parent/122",[119,4.18]],["name/123",[122,59.644]],["parent/123",[119,4.18]],["name/124",[123,59.644]],["parent/124",[119,4.18]],["name/125",[124,36.291]],["parent/125",[]],["name/126",[125,59.644]],["parent/126",[124,3.484]],["name/127",[126,59.644]],["parent/127",[124,3.484]],["name/128",[127,59.644]],["parent/128",[124,3.484]],["name/129",[128,59.644]],["parent/129",[124,3.484]],["name/130",[129,59.644]],["parent/130",[124,3.484]],["name/131",[130,59.644]],["parent/131",[124,3.484]],["name/132",[131,59.644]],["parent/132",[124,3.484]],["name/133",[132,51.171]],["parent/133",[]],["name/134",[133,59.644]],["parent/134",[132,4.912]],["name/135",[134,59.644]],["parent/135",[132,4.912]],["name/136",[135,59.644]],["parent/136",[]],["name/137",[136,42.298]],["parent/137",[]],["name/138",[137,48.658]],["parent/138",[]],["name/139",[138,46.652]],["parent/139",[]],["name/140",[139,43.55]],["parent/140",[138,4.478]],["name/141",[136,42.298]],["parent/141",[138,4.478]],["name/142",[140,48.658]],["parent/142",[138,4.478]],["name/143",[99,42.298]],["parent/143",[138,4.478]],["name/144",[141,43.55]],["parent/144",[]],["name/145",[139,43.55]],["parent/145",[141,4.18]],["name/146",[136,42.298]],["parent/146",[141,4.18]],["name/147",[140,48.658]],["parent/147",[141,4.18]],["name/148",[67,42.298]],["parent/148",[141,4.18]],["name/149",[69,43.55]],["parent/149",[141,4.18]],["name/150",[99,42.298]],["parent/150",[141,4.18]],["name/151",[142,42.298]],["parent/151",[]],["name/152",[139,43.55]],["parent/152",[142,4.06]],["name/153",[136,42.298]],["parent/153",[142,4.06]],["name/154",[140,48.658]],["parent/154",[142,4.06]],["name/155",[143,59.644]],["parent/155",[142,4.06]],["name/156",[144,54.536]],["parent/156",[142,4.06]],["name/157",[145,54.536]],["parent/157",[142,4.06]],["name/158",[99,42.298]],["parent/158",[142,4.06]],["name/159",[146,46.652]],["parent/159",[]],["name/160",[139,43.55]],["parent/160",[146,4.478]],["name/161",[136,42.298]],["parent/161",[146,4.478]],["name/162",[147,59.644]],["parent/162",[146,4.478]],["name/163",[99,42.298]],["parent/163",[146,4.478]],["name/164",[148,46.652]],["parent/164",[]],["name/165",[139,43.55]],["parent/165",[148,4.478]],["name/166",[136,42.298]],["parent/166",[148,4.478]],["name/167",[149,59.644]],["parent/167",[148,4.478]],["name/168",[99,42.298]],["parent/168",[148,4.478]],["name/169",[114,44.981]],["parent/169",[]],["name/170",[139,43.55]],["parent/170",[114,4.318]],["name/171",[136,42.298]],["parent/171",[114,4.318]],["name/172",[140,48.658]],["parent/172",[114,4.318]],["name/173",[99,42.298]],["parent/173",[114,4.318]],["name/174",[150,46.652]],["parent/174",[]],["name/175",[139,43.55]],["parent/175",[150,4.478]],["name/176",[136,42.298]],["parent/176",[150,4.478]],["name/177",[151,59.644]],["parent/177",[150,4.478]],["name/178",[99,42.298]],["parent/178",[150,4.478]],["name/179",[152,59.644]],["parent/179",[]],["name/180",[153,59.644]],["parent/180",[]],["name/181",[154,59.644]],["parent/181",[]],["name/182",[155,59.644]],["parent/182",[]],["name/183",[156,36.291]],["parent/183",[]],["name/184",[157,54.536]],["parent/184",[156,3.484]],["name/185",[158,54.536]],["parent/185",[156,3.484]],["name/186",[159,54.536]],["parent/186",[156,3.484]],["name/187",[160,54.536]],["parent/187",[156,3.484]],["name/188",[161,54.536]],["parent/188",[156,3.484]],["name/189",[162,54.536]],["parent/189",[156,3.484]],["name/190",[163,54.536]],["parent/190",[156,3.484]],["name/191",[164,54.536]],["parent/191",[156,3.484]],["name/192",[165,54.536]],["parent/192",[156,3.484]],["name/193",[166,54.536]],["parent/193",[156,3.484]],["name/194",[167,54.536]],["parent/194",[156,3.484]],["name/195",[168,54.536]],["parent/195",[156,3.484]],["name/196",[169,54.536]],["parent/196",[156,3.484]],["name/197",[170,54.536]],["parent/197",[156,3.484]],["name/198",[171,36.291]],["parent/198",[]],["name/199",[157,54.536]],["parent/199",[171,3.484]],["name/200",[158,54.536]],["parent/200",[171,3.484]],["name/201",[159,54.536]],["parent/201",[171,3.484]],["name/202",[160,54.536]],["parent/202",[171,3.484]],["name/203",[161,54.536]],["parent/203",[171,3.484]],["name/204",[162,54.536]],["parent/204",[171,3.484]],["name/205",[163,54.536]],["parent/205",[171,3.484]],["name/206",[164,54.536]],["parent/206",[171,3.484]],["name/207",[165,54.536]],["parent/207",[171,3.484]],["name/208",[166,54.536]],["parent/208",[171,3.484]],["name/209",[167,54.536]],["parent/209",[171,3.484]],["name/210",[168,54.536]],["parent/210",[171,3.484]],["name/211",[169,54.536]],["parent/211",[171,3.484]],["name/212",[170,54.536]],["parent/212",[171,3.484]],["name/213",[172,59.644]],["parent/213",[]],["name/214",[173,59.644]],["parent/214",[]],["name/215",[174,42.298]],["parent/215",[]],["name/216",[175,59.644]],["parent/216",[174,4.06]],["name/217",[176,59.644]],["parent/217",[174,4.06]],["name/218",[177,59.644]],["parent/218",[174,4.06]],["name/219",[178,59.644]],["parent/219",[174,4.06]],["name/220",[179,59.644]],["parent/220",[174,4.06]],["name/221",[180,59.644]],["parent/221",[174,4.06]],["name/222",[181,59.644]],["parent/222",[174,4.06]],["name/223",[182,48.658]],["parent/223",[]],["name/224",[116,36.958]],["parent/224",[182,4.671]],["name/225",[183,59.644]],["parent/225",[182,4.671]],["name/226",[52,38.442]],["parent/226",[182,4.671]],["name/227",[184,54.536]],["parent/227",[]],["name/228",[185,59.644]],["parent/228",[184,5.235]],["name/229",[186,40.185]],["parent/229",[]],["name/230",[187,40.185]],["parent/230",[186,3.857]],["name/231",[188,51.171]],["parent/231",[186,3.857]],["name/232",[189,54.536]],["parent/232",[186,3.857]],["name/233",[190,54.536]],["parent/233",[186,3.857]],["name/234",[191,54.536]],["parent/234",[186,3.857]],["name/235",[28,51.171]],["parent/235",[186,3.857]],["name/236",[192,54.536]],["parent/236",[186,3.857]],["name/237",[193,54.536]],["parent/237",[186,3.857]],["name/238",[194,54.536]],["parent/238",[186,3.857]],["name/239",[195,34.521]],["parent/239",[]],["name/240",[36,43.55]],["parent/240",[195,3.314]],["name/241",[187,40.185]],["parent/241",[195,3.314]],["name/242",[188,51.171]],["parent/242",[195,3.314]],["name/243",[189,54.536]],["parent/243",[195,3.314]],["name/244",[190,54.536]],["parent/244",[195,3.314]],["name/245",[191,54.536]],["parent/245",[195,3.314]],["name/246",[196,59.644]],["parent/246",[195,3.314]],["name/247",[197,59.644]],["parent/247",[195,3.314]],["name/248",[198,59.644]],["parent/248",[195,3.314]],["name/249",[199,59.644]],["parent/249",[195,3.314]],["name/250",[200,59.644]],["parent/250",[195,3.314]],["name/251",[201,59.644]],["parent/251",[195,3.314]],["name/252",[28,51.171]],["parent/252",[195,3.314]],["name/253",[192,54.536]],["parent/253",[195,3.314]],["name/254",[193,54.536]],["parent/254",[195,3.314]],["name/255",[194,54.536]],["parent/255",[195,3.314]],["name/256",[202,48.658]],["parent/256",[195,3.314]],["name/257",[203,51.171]],["parent/257",[]],["name/258",[144,54.536]],["parent/258",[203,4.912]],["name/259",[145,54.536]],["parent/259",[203,4.912]],["name/260",[204,33.495]],["parent/260",[]],["name/261",[205,48.658]],["parent/261",[204,3.215]],["name/262",[206,48.658]],["parent/262",[204,3.215]],["name/263",[207,59.644]],["parent/263",[204,3.215]],["name/264",[208,59.644]],["parent/264",[204,3.215]],["name/265",[187,40.185]],["parent/265",[204,3.215]],["name/266",[209,59.644]],["parent/266",[204,3.215]],["name/267",[210,59.644]],["parent/267",[204,3.215]],["name/268",[61,41.186]],["parent/268",[204,3.215]],["name/269",[211,59.644]],["parent/269",[204,3.215]],["name/270",[212,59.644]],["parent/270",[204,3.215]],["name/271",[69,43.55]],["parent/271",[204,3.215]],["name/272",[213,51.171]],["parent/272",[204,3.215]],["name/273",[214,59.644]],["parent/273",[204,3.215]],["name/274",[215,59.644]],["parent/274",[204,3.215]],["name/275",[188,51.171]],["parent/275",[204,3.215]],["name/276",[216,59.644]],["parent/276",[204,3.215]],["name/277",[217,59.644]],["parent/277",[204,3.215]],["name/278",[218,42.298]],["parent/278",[204,3.215]],["name/279",[219,59.644]],["parent/279",[204,3.215]],["name/280",[220,40.185]],["parent/280",[]],["name/281",[187,40.185]],["parent/281",[220,3.857]],["name/282",[221,43.55]],["parent/282",[220,3.857]],["name/283",[116,36.958]],["parent/283",[220,3.857]],["name/284",[222,43.55]],["parent/284",[220,3.857]],["name/285",[124,36.291]],["parent/285",[220,3.857]],["name/286",[223,43.55]],["parent/286",[220,3.857]],["name/287",[61,41.186]],["parent/287",[220,3.857]],["name/288",[60,42.298]],["parent/288",[220,3.857]],["name/289",[46,42.298]],["parent/289",[220,3.857]],["name/290",[224,43.55]],["parent/290",[]],["name/291",[38,41.186]],["parent/291",[224,4.18]],["name/292",[225,59.644]],["parent/292",[224,4.18]],["name/293",[52,38.442]],["parent/293",[224,4.18]],["name/294",[226,59.644]],["parent/294",[224,4.18]],["name/295",[41,43.55]],["parent/295",[224,4.18]],["name/296",[52,38.442]],["parent/296",[224,4.18]],["name/297",[227,40.185]],["parent/297",[]],["name/298",[38,41.186]],["parent/298",[227,3.857]],["name/299",[40,46.652]],["parent/299",[227,3.857]],["name/300",[52,38.442]],["parent/300",[227,3.857]],["name/301",[41,43.55]],["parent/301",[227,3.857]],["name/302",[52,38.442]],["parent/302",[227,3.857]],["name/303",[42,46.652]],["parent/303",[227,3.857]],["name/304",[52,38.442]],["parent/304",[227,3.857]],["name/305",[43,46.652]],["parent/305",[227,3.857]],["name/306",[52,38.442]],["parent/306",[227,3.857]],["name/307",[228,42.298]],["parent/307",[]],["name/308",[229,48.658]],["parent/308",[]],["name/309",[116,36.958]],["parent/309",[229,4.671]],["name/310",[228,42.298]],["parent/310",[229,4.671]],["name/311",[52,38.442]],["parent/311",[229,4.671]],["name/312",[230,51.171]],["parent/312",[]],["name/313",[107,42.298]],["parent/313",[230,4.912]],["name/314",[231,59.644]],["parent/314",[230,4.912]],["name/315",[232,54.536]],["parent/315",[]],["name/316",[107,42.298]],["parent/316",[232,5.235]],["name/317",[233,59.644]],["parent/317",[]],["name/318",[234,59.644]],["parent/318",[]],["name/319",[235,59.644]],["parent/319",[]],["name/320",[236,33.495]],["parent/320",[]],["name/321",[237,44.981]],["parent/321",[236,3.215]],["name/322",[238,41.186]],["parent/322",[236,3.215]],["name/323",[239,44.981]],["parent/323",[236,3.215]],["name/324",[218,42.298]],["parent/324",[236,3.215]],["name/325",[240,43.55]],["parent/325",[236,3.215]],["name/326",[241,43.55]],["parent/326",[236,3.215]],["name/327",[242,44.981]],["parent/327",[236,3.215]],["name/328",[243,54.536]],["parent/328",[236,3.215]],["name/329",[187,40.185]],["parent/329",[236,3.215]],["name/330",[221,43.55]],["parent/330",[236,3.215]],["name/331",[116,36.958]],["parent/331",[236,3.215]],["name/332",[222,43.55]],["parent/332",[236,3.215]],["name/333",[124,36.291]],["parent/333",[236,3.215]],["name/334",[223,43.55]],["parent/334",[236,3.215]],["name/335",[61,41.186]],["parent/335",[236,3.215]],["name/336",[60,42.298]],["parent/336",[236,3.215]],["name/337",[46,42.298]],["parent/337",[236,3.215]],["name/338",[228,42.298]],["parent/338",[236,3.215]],["name/339",[52,38.442]],["parent/339",[236,3.215]],["name/340",[244,28.004]],["parent/340",[]],["name/341",[245,54.536]],["parent/341",[244,2.688]],["name/342",[205,48.658]],["parent/342",[244,2.688]],["name/343",[206,48.658]],["parent/343",[244,2.688]],["name/344",[246,51.171]],["parent/344",[244,2.688]],["name/345",[247,51.171]],["parent/345",[244,2.688]],["name/346",[248,51.171]],["parent/346",[244,2.688]],["name/347",[237,44.981]],["parent/347",[244,2.688]],["name/348",[116,36.958]],["parent/348",[244,2.688]],["name/349",[238,41.186]],["parent/349",[244,2.688]],["name/350",[187,40.185]],["parent/350",[244,2.688]],["name/351",[221,43.55]],["parent/351",[244,2.688]],["name/352",[239,44.981]],["parent/352",[244,2.688]],["name/353",[228,42.298]],["parent/353",[244,2.688]],["name/354",[222,43.55]],["parent/354",[244,2.688]],["name/355",[223,43.55]],["parent/355",[244,2.688]],["name/356",[124,36.291]],["parent/356",[244,2.688]],["name/357",[61,41.186]],["parent/357",[244,2.688]],["name/358",[60,42.298]],["parent/358",[244,2.688]],["name/359",[46,42.298]],["parent/359",[244,2.688]],["name/360",[218,42.298]],["parent/360",[244,2.688]],["name/361",[240,43.55]],["parent/361",[244,2.688]],["name/362",[241,43.55]],["parent/362",[244,2.688]],["name/363",[242,44.981]],["parent/363",[244,2.688]],["name/364",[243,54.536]],["parent/364",[244,2.688]],["name/365",[249,59.644]],["parent/365",[244,2.688]],["name/366",[250,59.644]],["parent/366",[244,2.688]],["name/367",[251,51.171]],["parent/367",[244,2.688]],["name/368",[244,28.004]],["parent/368",[]],["name/369",[252,51.171]],["parent/369",[244,2.688]],["name/370",[253,44.981]],["parent/370",[254,5.235]],["name/371",[255,44.981]],["parent/371",[254,5.235]],["name/372",[137,48.658]],["parent/372",[244,2.688]],["name/373",[253,44.981]],["parent/373",[256,5.235]],["name/374",[255,44.981]],["parent/374",[256,5.235]],["name/375",[257,51.171]],["parent/375",[244,2.688]],["name/376",[38,41.186]],["parent/376",[258,4.912]],["name/377",[39,46.652]],["parent/377",[258,4.912]],["name/378",[29,43.55]],["parent/378",[258,4.912]],["name/379",[259,51.171]],["parent/379",[244,2.688]],["name/380",[260,51.171]],["parent/380",[261,3.484]],["name/381",[36,43.55]],["parent/381",[261,3.484]],["name/382",[38,41.186]],["parent/382",[261,3.484]],["name/383",[39,46.652]],["parent/383",[261,3.484]],["name/384",[42,46.652]],["parent/384",[261,3.484]],["name/385",[43,46.652]],["parent/385",[261,3.484]],["name/386",[262,59.644]],["parent/386",[261,3.484]],["name/387",[263,59.644]],["parent/387",[261,3.484]],["name/388",[264,59.644]],["parent/388",[261,3.484]],["name/389",[265,51.171]],["parent/389",[261,3.484]],["name/390",[40,46.652]],["parent/390",[261,3.484]],["name/391",[41,43.55]],["parent/391",[261,3.484]],["name/392",[266,51.171]],["parent/392",[261,3.484]],["name/393",[29,43.55]],["parent/393",[261,3.484]],["name/394",[202,48.658]],["parent/394",[261,3.484]],["name/395",[1,48.658]],["parent/395",[244,2.688]],["name/396",[107,42.298]],["parent/396",[267,5.725]],["name/397",[238,41.186]],["parent/397",[244,2.688]],["name/398",[116,36.958]],["parent/398",[268,5.725]],["name/399",[269,33.995]],["parent/399",[]],["name/400",[237,44.981]],["parent/400",[269,3.263]],["name/401",[238,41.186]],["parent/401",[269,3.263]],["name/402",[239,44.981]],["parent/402",[269,3.263]],["name/403",[218,42.298]],["parent/403",[269,3.263]],["name/404",[240,43.55]],["parent/404",[269,3.263]],["name/405",[241,43.55]],["parent/405",[269,3.263]],["name/406",[242,44.981]],["parent/406",[269,3.263]],["name/407",[187,40.185]],["parent/407",[269,3.263]],["name/408",[221,43.55]],["parent/408",[269,3.263]],["name/409",[116,36.958]],["parent/409",[269,3.263]],["name/410",[222,43.55]],["parent/410",[269,3.263]],["name/411",[124,36.291]],["parent/411",[269,3.263]],["name/412",[223,43.55]],["parent/412",[269,3.263]],["name/413",[61,41.186]],["parent/413",[269,3.263]],["name/414",[60,42.298]],["parent/414",[269,3.263]],["name/415",[46,42.298]],["parent/415",[269,3.263]],["name/416",[228,42.298]],["parent/416",[269,3.263]],["name/417",[52,38.442]],["parent/417",[269,3.263]],["name/418",[270,27.192]],["parent/418",[]],["name/419",[205,48.658]],["parent/419",[270,2.61]],["name/420",[206,48.658]],["parent/420",[270,2.61]],["name/421",[271,54.536]],["parent/421",[270,2.61]],["name/422",[246,51.171]],["parent/422",[270,2.61]],["name/423",[247,51.171]],["parent/423",[270,2.61]],["name/424",[248,51.171]],["parent/424",[270,2.61]],["name/425",[237,44.981]],["parent/425",[270,2.61]],["name/426",[116,36.958]],["parent/426",[270,2.61]],["name/427",[238,41.186]],["parent/427",[270,2.61]],["name/428",[187,40.185]],["parent/428",[270,2.61]],["name/429",[221,43.55]],["parent/429",[270,2.61]],["name/430",[239,44.981]],["parent/430",[270,2.61]],["name/431",[228,42.298]],["parent/431",[270,2.61]],["name/432",[218,42.298]],["parent/432",[270,2.61]],["name/433",[240,43.55]],["parent/433",[270,2.61]],["name/434",[241,43.55]],["parent/434",[270,2.61]],["name/435",[242,44.981]],["parent/435",[270,2.61]],["name/436",[222,43.55]],["parent/436",[270,2.61]],["name/437",[223,43.55]],["parent/437",[270,2.61]],["name/438",[124,36.291]],["parent/438",[270,2.61]],["name/439",[61,41.186]],["parent/439",[270,2.61]],["name/440",[60,42.298]],["parent/440",[270,2.61]],["name/441",[46,42.298]],["parent/441",[270,2.61]],["name/442",[272,54.536]],["parent/442",[270,2.61]],["name/443",[273,54.536]],["parent/443",[270,2.61]],["name/444",[213,51.171]],["parent/444",[270,2.61]],["name/445",[274,54.536]],["parent/445",[270,2.61]],["name/446",[251,51.171]],["parent/446",[270,2.61]],["name/447",[275,54.536]],["parent/447",[270,2.61]],["name/448",[270,27.192]],["parent/448",[]],["name/449",[252,51.171]],["parent/449",[270,2.61]],["name/450",[253,44.981]],["parent/450",[276,4.912]],["name/451",[255,44.981]],["parent/451",[276,4.912]],["name/452",[277,48.658]],["parent/452",[276,4.912]],["name/453",[137,48.658]],["parent/453",[270,2.61]],["name/454",[253,44.981]],["parent/454",[278,4.912]],["name/455",[255,44.981]],["parent/455",[278,4.912]],["name/456",[277,48.658]],["parent/456",[278,4.912]],["name/457",[257,51.171]],["parent/457",[270,2.61]],["name/458",[38,41.186]],["parent/458",[279,4.912]],["name/459",[280,54.536]],["parent/459",[279,4.912]],["name/460",[29,43.55]],["parent/460",[279,4.912]],["name/461",[259,51.171]],["parent/461",[270,2.61]],["name/462",[260,51.171]],["parent/462",[281,3.424]],["name/463",[282,59.644]],["parent/463",[281,3.424]],["name/464",[283,59.644]],["parent/464",[281,3.424]],["name/465",[284,59.644]],["parent/465",[281,3.424]],["name/466",[36,43.55]],["parent/466",[281,3.424]],["name/467",[38,41.186]],["parent/467",[281,3.424]],["name/468",[280,54.536]],["parent/468",[281,3.424]],["name/469",[42,46.652]],["parent/469",[281,3.424]],["name/470",[43,46.652]],["parent/470",[281,3.424]],["name/471",[265,51.171]],["parent/471",[281,3.424]],["name/472",[40,46.652]],["parent/472",[281,3.424]],["name/473",[41,43.55]],["parent/473",[281,3.424]],["name/474",[266,51.171]],["parent/474",[281,3.424]],["name/475",[285,59.644]],["parent/475",[281,3.424]],["name/476",[29,43.55]],["parent/476",[281,3.424]],["name/477",[202,48.658]],["parent/477",[281,3.424]],["name/478",[1,48.658]],["parent/478",[270,2.61]],["name/479",[107,42.298]],["parent/479",[286,5.725]],["name/480",[238,41.186]],["parent/480",[270,2.61]],["name/481",[116,36.958]],["parent/481",[287,5.725]],["name/482",[288,54.536]],["parent/482",[270,2.61]],["name/483",[105,51.171]],["parent/483",[289,4.671]],["name/484",[290,54.536]],["parent/484",[289,4.671]],["name/485",[291,54.536]],["parent/485",[289,4.671]],["name/486",[107,42.298]],["parent/486",[289,4.671]],["name/487",[292,51.171]],["parent/487",[]],["name/488",[293,54.536]],["parent/488",[292,4.912]],["name/489",[36,43.55]],["parent/489",[292,4.912]],["name/490",[294,51.171]],["parent/490",[]],["name/491",[293,54.536]],["parent/491",[294,4.912]],["name/492",[36,43.55]],["parent/492",[294,4.912]],["name/493",[218,42.298]],["parent/493",[]],["name/494",[241,43.55]],["parent/494",[]],["name/495",[240,43.55]],["parent/495",[]],["name/496",[295,33.995]],["parent/496",[]],["name/497",[237,44.981]],["parent/497",[295,3.263]],["name/498",[238,41.186]],["parent/498",[295,3.263]],["name/499",[239,44.981]],["parent/499",[295,3.263]],["name/500",[218,42.298]],["parent/500",[295,3.263]],["name/501",[240,43.55]],["parent/501",[295,3.263]],["name/502",[241,43.55]],["parent/502",[295,3.263]],["name/503",[242,44.981]],["parent/503",[295,3.263]],["name/504",[187,40.185]],["parent/504",[295,3.263]],["name/505",[221,43.55]],["parent/505",[295,3.263]],["name/506",[116,36.958]],["parent/506",[295,3.263]],["name/507",[222,43.55]],["parent/507",[295,3.263]],["name/508",[124,36.291]],["parent/508",[295,3.263]],["name/509",[223,43.55]],["parent/509",[295,3.263]],["name/510",[61,41.186]],["parent/510",[295,3.263]],["name/511",[60,42.298]],["parent/511",[295,3.263]],["name/512",[46,42.298]],["parent/512",[295,3.263]],["name/513",[228,42.298]],["parent/513",[295,3.263]],["name/514",[52,38.442]],["parent/514",[295,3.263]],["name/515",[296,26.442]],["parent/515",[]],["name/516",[245,54.536]],["parent/516",[296,2.538]],["name/517",[205,48.658]],["parent/517",[296,2.538]],["name/518",[206,48.658]],["parent/518",[296,2.538]],["name/519",[271,54.536]],["parent/519",[296,2.538]],["name/520",[246,51.171]],["parent/520",[296,2.538]],["name/521",[247,51.171]],["parent/521",[296,2.538]],["name/522",[248,51.171]],["parent/522",[296,2.538]],["name/523",[237,44.981]],["parent/523",[296,2.538]],["name/524",[116,36.958]],["parent/524",[296,2.538]],["name/525",[238,41.186]],["parent/525",[296,2.538]],["name/526",[187,40.185]],["parent/526",[296,2.538]],["name/527",[221,43.55]],["parent/527",[296,2.538]],["name/528",[239,44.981]],["parent/528",[296,2.538]],["name/529",[228,42.298]],["parent/529",[296,2.538]],["name/530",[242,44.981]],["parent/530",[296,2.538]],["name/531",[222,43.55]],["parent/531",[296,2.538]],["name/532",[223,43.55]],["parent/532",[296,2.538]],["name/533",[124,36.291]],["parent/533",[296,2.538]],["name/534",[61,41.186]],["parent/534",[296,2.538]],["name/535",[60,42.298]],["parent/535",[296,2.538]],["name/536",[46,42.298]],["parent/536",[296,2.538]],["name/537",[218,42.298]],["parent/537",[296,2.538]],["name/538",[240,43.55]],["parent/538",[296,2.538]],["name/539",[241,43.55]],["parent/539",[296,2.538]],["name/540",[213,51.171]],["parent/540",[296,2.538]],["name/541",[272,54.536]],["parent/541",[296,2.538]],["name/542",[273,54.536]],["parent/542",[296,2.538]],["name/543",[274,54.536]],["parent/543",[296,2.538]],["name/544",[297,59.644]],["parent/544",[296,2.538]],["name/545",[251,51.171]],["parent/545",[296,2.538]],["name/546",[275,54.536]],["parent/546",[296,2.538]],["name/547",[298,59.644]],["parent/547",[296,2.538]],["name/548",[296,26.442]],["parent/548",[]],["name/549",[252,51.171]],["parent/549",[296,2.538]],["name/550",[253,44.981]],["parent/550",[299,4.912]],["name/551",[255,44.981]],["parent/551",[299,4.912]],["name/552",[277,48.658]],["parent/552",[299,4.912]],["name/553",[137,48.658]],["parent/553",[296,2.538]],["name/554",[253,44.981]],["parent/554",[300,4.912]],["name/555",[255,44.981]],["parent/555",[300,4.912]],["name/556",[277,48.658]],["parent/556",[300,4.912]],["name/557",[257,51.171]],["parent/557",[296,2.538]],["name/558",[38,41.186]],["parent/558",[301,4.912]],["name/559",[39,46.652]],["parent/559",[301,4.912]],["name/560",[29,43.55]],["parent/560",[301,4.912]],["name/561",[259,51.171]],["parent/561",[296,2.538]],["name/562",[260,51.171]],["parent/562",[302,3.69]],["name/563",[36,43.55]],["parent/563",[302,3.69]],["name/564",[38,41.186]],["parent/564",[302,3.69]],["name/565",[39,46.652]],["parent/565",[302,3.69]],["name/566",[42,46.652]],["parent/566",[302,3.69]],["name/567",[43,46.652]],["parent/567",[302,3.69]],["name/568",[265,51.171]],["parent/568",[302,3.69]],["name/569",[40,46.652]],["parent/569",[302,3.69]],["name/570",[41,43.55]],["parent/570",[302,3.69]],["name/571",[266,51.171]],["parent/571",[302,3.69]],["name/572",[29,43.55]],["parent/572",[302,3.69]],["name/573",[202,48.658]],["parent/573",[302,3.69]],["name/574",[1,48.658]],["parent/574",[296,2.538]],["name/575",[107,42.298]],["parent/575",[303,5.725]],["name/576",[238,41.186]],["parent/576",[296,2.538]],["name/577",[116,36.958]],["parent/577",[304,5.725]],["name/578",[288,54.536]],["parent/578",[296,2.538]],["name/579",[105,51.171]],["parent/579",[305,4.671]],["name/580",[290,54.536]],["parent/580",[305,4.671]],["name/581",[291,54.536]],["parent/581",[305,4.671]],["name/582",[107,42.298]],["parent/582",[305,4.671]]],"invertedIndex":[["__type",{"_index":52,"name":{"52":{},"226":{},"293":{},"296":{},"300":{},"302":{},"304":{},"306":{},"311":{},"339":{},"417":{},"514":{}},"parent":{}}],["_uncheckedlinknodeswithcharacter",{"_index":262,"name":{"386":{}},"parent":{}}],["_uncheckedlinknodeswithcharrange",{"_index":263,"name":{"387":{}},"parent":{}}],["_uncheckedlinknodeswithcharset",{"_index":264,"name":{"388":{}},"parent":{}}],["all",{"_index":206,"name":{"262":{},"343":{},"420":{},"518":{}},"parent":{}}],["alternation",{"_index":138,"name":{"139":{}},"parent":{"140":{},"141":{},"142":{},"143":{}}}],["alternatives",{"_index":140,"name":{"142":{},"147":{},"154":{},"172":{}},"parent":{}}],["anycharacterset",{"_index":74,"name":{"73":{}},"parent":{}}],["append",{"_index":272,"name":{"442":{},"541":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["assert",{"_index":293,"name":{"488":{},"491":{}},"parent":{}}],["assertion",{"_index":141,"name":{"144":{}},"parent":{"145":{},"146":{},"147":{},"148":{},"149":{},"150":{}}}],["assertions",{"_index":105,"name":{"106":{},"483":{},"579":{}},"parent":{}}],["ast",{"_index":121,"name":{"121":{}},"parent":{}}],["backreferences",{"_index":104,"name":{"105":{}},"parent":{}}],["boundaryassertion",{"_index":65,"name":{"65":{}},"parent":{}}],["canreachfinal",{"_index":32,"name":{"34":{}},"parent":{}}],["char",{"_index":233,"name":{"317":{}},"parent":{}}],["characterclass",{"_index":146,"name":{"159":{}},"parent":{"160":{},"161":{},"162":{},"163":{}}}],["characters",{"_index":147,"name":{"162":{}},"parent":{}}],["charmap",{"_index":195,"name":{"239":{}},"parent":{"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{}}}],["charrange",{"_index":203,"name":{"257":{}},"parent":{"258":{},"259":{}}}],["charset",{"_index":204,"name":{"260":{}},"parent":{"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{}}}],["combinetransformers",{"_index":172,"name":{"213":{}},"parent":{}}],["commoncharacter",{"_index":219,"name":{"279":{}},"parent":{}}],["compare",{"_index":212,"name":{"270":{}},"parent":{}}],["complement",{"_index":250,"name":{"366":{}},"parent":{}}],["concatenation",{"_index":150,"name":{"174":{}},"parent":{"175":{},"176":{},"177":{},"178":{}}}],["constructor",{"_index":36,"name":{"38":{},"240":{},"381":{},"466":{},"489":{},"492":{},"563":{}},"parent":{}}],["copy",{"_index":242,"name":{"327":{},"363":{},"406":{},"435":{},"503":{},"530":{}},"parent":{}}],["count",{"_index":29,"name":{"31":{},"378":{},"393":{},"460":{},"476":{},"560":{},"572":{}},"parent":{}}],["createassertion",{"_index":64,"name":{"64":{}},"parent":{}}],["createcharset",{"_index":72,"name":{"71":{}},"parent":{}}],["createnode",{"_index":42,"name":{"43":{},"303":{},"384":{},"469":{},"566":{}},"parent":{}}],["createsimpletodotoptions",{"_index":47,"name":{"48":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{},"395":{},"478":{},"574":{}},"parent":{}}],["delete",{"_index":198,"name":{"248":{}},"parent":{}}],["deleteevery",{"_index":199,"name":{"249":{}},"parent":{}}],["deterministicout",{"_index":226,"name":{"294":{}},"parent":{}}],["dfa",{"_index":244,"name":{"340":{},"368":{}},"parent":{"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{},"350":{},"351":{},"352":{},"353":{},"354":{},"355":{},"356":{},"357":{},"358":{},"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"369":{},"372":{},"375":{},"379":{},"395":{},"397":{}}}],["dfa.creationoptions",{"_index":267,"name":{},"parent":{"396":{}}}],["dfa.node",{"_index":256,"name":{},"parent":{"373":{},"374":{}}}],["dfa.nodelist",{"_index":261,"name":{},"parent":{"380":{},"381":{},"382":{},"383":{},"384":{},"385":{},"386":{},"387":{},"388":{},"389":{},"390":{},"391":{},"392":{},"393":{},"394":{}}}],["dfa.options",{"_index":268,"name":{},"parent":{"398":{}}}],["dfa.readonlynode",{"_index":254,"name":{},"parent":{"370":{},"371":{}}}],["dfa.readonlynodelist",{"_index":258,"name":{},"parent":{"376":{},"377":{},"378":{}}}],["digitcharacterset",{"_index":76,"name":{"75":{}},"parent":{}}],["dotall",{"_index":91,"name":{"94":{}},"parent":{}}],["element",{"_index":135,"name":{"136":{}},"parent":{}}],["elements",{"_index":151,"name":{"177":{}},"parent":{}}],["empty",{"_index":205,"name":{"261":{},"342":{},"419":{},"517":{}},"parent":{}}],["end",{"_index":134,"name":{"135":{}},"parent":{}}],["enfa",{"_index":270,"name":{"418":{},"448":{}},"parent":{"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{},"427":{},"428":{},"429":{},"430":{},"431":{},"432":{},"433":{},"434":{},"435":{},"436":{},"437":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"444":{},"445":{},"446":{},"447":{},"449":{},"453":{},"457":{},"461":{},"478":{},"480":{},"482":{}}}],["enfa.creationoptions",{"_index":286,"name":{},"parent":{"479":{}}}],["enfa.fromregexoptions",{"_index":289,"name":{},"parent":{"483":{},"484":{},"485":{},"486":{}}}],["enfa.node",{"_index":278,"name":{},"parent":{"454":{},"455":{},"456":{}}}],["enfa.nodelist",{"_index":281,"name":{},"parent":{"462":{},"463":{},"464":{},"465":{},"466":{},"467":{},"468":{},"469":{},"470":{},"471":{},"472":{},"473":{},"474":{},"475":{},"476":{},"477":{}}}],["enfa.options",{"_index":287,"name":{},"parent":{"481":{}}}],["enfa.readonlynode",{"_index":276,"name":{},"parent":{"450":{},"451":{},"452":{}}}],["enfa.readonlynodelist",{"_index":279,"name":{},"parent":{"458":{},"459":{},"460":{}}}],["ensuredeterministicout",{"_index":30,"name":{"32":{}},"parent":{}}],["entries",{"_index":194,"name":{"238":{},"255":{}},"parent":{}}],["equals",{"_index":211,"name":{"269":{}},"parent":{}}],["expression",{"_index":114,"name":{"115":{},"169":{}},"parent":{"170":{},"171":{},"172":{},"173":{}}}],["fabuilder",{"_index":227,"name":{"297":{}},"parent":{"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["faiterator",{"_index":224,"name":{"290":{}},"parent":{"291":{},"292":{},"293":{},"294":{},"295":{},"296":{}}}],["faiterators",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"55":{},"60":{},"61":{},"62":{}}}],["faiterators.mapfabuilder",{"_index":37,"name":{},"parent":{"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{}}}],["faiterators.todotinfo",{"_index":57,"name":{},"parent":{"56":{},"57":{},"58":{},"59":{}}}],["faiterators.todotoptions",{"_index":51,"name":{},"parent":{"51":{},"52":{},"53":{},"54":{}}}],["fastcharacters",{"_index":90,"name":{"92":{}},"parent":{}}],["filteroutiter",{"_index":27,"name":{"29":{}},"parent":{}}],["final",{"_index":280,"name":{"459":{},"468":{}},"parent":{}}],["finals",{"_index":39,"name":{"40":{},"377":{},"383":{},"559":{},"565":{}},"parent":{}}],["finiteautomaton",{"_index":220,"name":{"280":{}},"parent":{"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{}}}],["flags",{"_index":88,"name":{"91":{},"93":{},"102":{},"112":{}},"parent":{}}],["foreach",{"_index":28,"name":{"30":{},"235":{},"252":{}},"parent":{}}],["fromast",{"_index":120,"name":{"119":{}},"parent":{}}],["fromfa",{"_index":247,"name":{"345":{},"423":{},"521":{}},"parent":{}}],["fromintersection",{"_index":245,"name":{"341":{},"516":{}},"parent":{}}],["fromliteral",{"_index":118,"name":{"118":{}},"parent":{}}],["fromregex",{"_index":271,"name":{"421":{},"519":{}},"parent":{}}],["fromregexoptions",{"_index":288,"name":{"482":{},"578":{}},"parent":{}}],["fromstringtounicode",{"_index":128,"name":{"129":{}},"parent":{}}],["fromstringtoutf16",{"_index":127,"name":{"128":{}},"parent":{}}],["fromtransitioniterator",{"_index":248,"name":{"346":{},"424":{},"522":{}},"parent":{}}],["fromunicodetostring",{"_index":126,"name":{"127":{}},"parent":{}}],["fromutf16tostring",{"_index":125,"name":{"126":{}},"parent":{}}],["fromwords",{"_index":246,"name":{"344":{},"422":{},"520":{}},"parent":{}}],["get",{"_index":191,"name":{"234":{},"245":{}},"parent":{}}],["getedgeattributes",{"_index":50,"name":{"51":{}},"parent":{}}],["getgraphattributes",{"_index":53,"name":{"53":{}},"parent":{}}],["getid",{"_index":58,"name":{"58":{}},"parent":{}}],["getintersectionwords",{"_index":240,"name":{"325":{},"361":{},"404":{},"433":{},"495":{},"501":{},"538":{}},"parent":{}}],["getintersectionwordsets",{"_index":241,"name":{"326":{},"362":{},"405":{},"434":{},"494":{},"502":{},"539":{}},"parent":{}}],["getnodeattributes",{"_index":54,"name":{"54":{}},"parent":{}}],["getnumberofoutgoingedges",{"_index":59,"name":{"59":{}},"parent":{}}],["getout",{"_index":225,"name":{"292":{}},"parent":{}}],["getunknownid",{"_index":108,"name":{"109":{}},"parent":{}}],["global",{"_index":93,"name":{"95":{}},"parent":{}}],["has",{"_index":188,"name":{"231":{},"242":{},"275":{}},"parent":{}}],["hascycle",{"_index":33,"name":{"35":{}},"parent":{}}],["hasevery",{"_index":189,"name":{"232":{},"243":{}},"parent":{}}],["hassome",{"_index":190,"name":{"233":{},"244":{}},"parent":{}}],["id",{"_index":149,"name":{"167":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":94,"name":{"96":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":277,"name":{"452":{},"456":{},"552":{},"556":{}},"parent":{}}],["infinitythreshold",{"_index":291,"name":{"485":{},"581":{}},"parent":{}}],["initial",{"_index":38,"name":{"39":{},"291":{},"298":{},"376":{},"382":{},"458":{},"467":{},"558":{},"564":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":214,"name":{"273":{}},"parent":{}}],["intersection",{"_index":24,"name":{"26":{}},"parent":{}}],["intersectionoptions",{"_index":232,"name":{"315":{}},"parent":{"316":{}}}],["isall",{"_index":209,"name":{"266":{}},"parent":{}}],["isdisjointwith",{"_index":218,"name":{"278":{},"324":{},"360":{},"403":{},"432":{},"493":{},"500":{},"537":{}},"parent":{}}],["isempty",{"_index":187,"name":{"230":{},"241":{},"265":{},"281":{},"329":{},"350":{},"407":{},"428":{},"504":{},"526":{}},"parent":{}}],["isfinal",{"_index":41,"name":{"42":{},"57":{},"295":{},"301":{},"391":{},"473":{},"570":{}},"parent":{}}],["isfinite",{"_index":221,"name":{"282":{},"330":{},"351":{},"408":{},"429":{},"505":{},"527":{}},"parent":{}}],["isinitial",{"_index":56,"name":{"56":{}},"parent":{}}],["issubsetof",{"_index":217,"name":{"277":{}},"parent":{}}],["issupersetof",{"_index":216,"name":{"276":{}},"parent":{}}],["iteratestates",{"_index":31,"name":{"33":{}},"parent":{}}],["iteratewordsets",{"_index":62,"name":{"62":{}},"parent":{}}],["js",{"_index":63,"name":{"63":{}},"parent":{"64":{},"65":{},"66":{},"69":{},"71":{},"72":{},"73":{},"75":{},"78":{},"83":{},"86":{},"89":{},"90":{},"93":{},"100":{},"103":{},"110":{},"113":{},"114":{},"117":{}}}],["js.anycharacterset",{"_index":75,"name":{},"parent":{"74":{}}}],["js.digitcharacterset",{"_index":77,"name":{},"parent":{"76":{},"77":{}}}],["js.flags",{"_index":92,"name":{},"parent":{"94":{},"95":{},"96":{},"97":{},"98":{},"99":{}}}],["js.literal",{"_index":100,"name":{},"parent":{"101":{},"102":{}}}],["js.parseoptions",{"_index":103,"name":{},"parent":{"104":{},"105":{},"106":{},"107":{},"108":{},"109":{}}}],["js.parser",{"_index":119,"name":{},"parent":{"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{}}}],["js.parseresult",{"_index":115,"name":{},"parent":{"115":{},"116":{}}}],["js.propertycharacterset",{"_index":79,"name":{},"parent":{"79":{},"80":{},"81":{},"82":{}}}],["js.regexppast",{"_index":111,"name":{},"parent":{"111":{},"112":{}}}],["js.spacecharacterset",{"_index":83,"name":{},"parent":{"84":{},"85":{}}}],["js.textboundaryassertion",{"_index":71,"name":{},"parent":{"70":{}}}],["js.toliteraloptions",{"_index":89,"name":{},"parent":{"91":{},"92":{}}}],["js.wordboundaryassertion",{"_index":68,"name":{},"parent":{"67":{},"68":{}}}],["js.wordcharacterset",{"_index":85,"name":{},"parent":{"87":{},"88":{}}}],["key",{"_index":80,"name":{"80":{}},"parent":{}}],["keys",{"_index":192,"name":{"236":{},"253":{}},"parent":{}}],["kind",{"_index":67,"name":{"67":{},"70":{},"74":{},"76":{},"79":{},"84":{},"87":{},"148":{}},"parent":{}}],["languageisfinite",{"_index":34,"name":{"36":{}},"parent":{}}],["lazy",{"_index":143,"name":{"155":{}},"parent":{}}],["linknodes",{"_index":43,"name":{"44":{},"305":{},"385":{},"470":{},"567":{}},"parent":{}}],["list",{"_index":253,"name":{"370":{},"373":{},"450":{},"454":{},"550":{},"554":{}},"parent":{}}],["literal",{"_index":98,"name":{"100":{},"120":{}},"parent":{}}],["makefinal",{"_index":40,"name":{"41":{},"299":{},"390":{},"472":{},"569":{}},"parent":{}}],["map",{"_index":200,"name":{"250":{}},"parent":{}}],["mapfabuilder",{"_index":35,"name":{"37":{}},"parent":{}}],["mapfabuildernode",{"_index":44,"name":{"45":{}},"parent":{}}],["mapout",{"_index":25,"name":{"27":{}},"parent":{}}],["mapoutiter",{"_index":26,"name":{"28":{}},"parent":{}}],["maprange",{"_index":201,"name":{"251":{}},"parent":{}}],["max",{"_index":145,"name":{"157":{},"259":{}},"parent":{}}],["maxbackreferencewords",{"_index":102,"name":{"104":{}},"parent":{}}],["maxcharacter",{"_index":116,"name":{"116":{},"122":{},"224":{},"283":{},"309":{},"331":{},"348":{},"398":{},"409":{},"426":{},"481":{},"506":{},"524":{},"577":{}},"parent":{}}],["maxcharactererror",{"_index":292,"name":{"487":{}},"parent":{"488":{},"489":{}}}],["maximum",{"_index":207,"name":{"263":{}},"parent":{}}],["maxnodes",{"_index":107,"name":{"108":{},"313":{},"316":{},"396":{},"479":{},"486":{},"575":{},"582":{}},"parent":{}}],["maxoptimizationpasses",{"_index":231,"name":{"314":{}},"parent":{}}],["maxpasses",{"_index":185,"name":{"228":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":144,"name":{"156":{},"258":{}},"parent":{}}],["minimize",{"_index":249,"name":{"365":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":95,"name":{"97":{}},"parent":{}}],["negate",{"_index":69,"name":{"68":{},"77":{},"82":{},"85":{},"88":{},"149":{},"271":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":296,"name":{"515":{},"548":{}},"parent":{"516":{},"517":{},"518":{},"519":{},"520":{},"521":{},"522":{},"523":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{},"530":{},"531":{},"532":{},"533":{},"534":{},"535":{},"536":{},"537":{},"538":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"547":{},"549":{},"553":{},"557":{},"561":{},"574":{},"576":{},"578":{}}}],["nfa.creationoptions",{"_index":303,"name":{},"parent":{"575":{}}}],["nfa.fromregexoptions",{"_index":305,"name":{},"parent":{"579":{},"580":{},"581":{},"582":{}}}],["nfa.node",{"_index":300,"name":{},"parent":{"554":{},"555":{},"556":{}}}],["nfa.nodelist",{"_index":302,"name":{},"parent":{"562":{},"563":{},"564":{},"565":{},"566":{},"567":{},"568":{},"569":{},"570":{},"571":{},"572":{},"573":{}}}],["nfa.options",{"_index":304,"name":{},"parent":{"577":{}}}],["nfa.readonlynode",{"_index":299,"name":{},"parent":{"550":{},"551":{},"552":{}}}],["nfa.readonlynodelist",{"_index":301,"name":{},"parent":{"558":{},"559":{},"560":{}}}],["node",{"_index":137,"name":{"138":{},"372":{},"453":{},"553":{}},"parent":{}}],["nodelist",{"_index":259,"name":{"379":{},"461":{},"561":{}},"parent":{}}],["nodes",{"_index":237,"name":{"321":{},"347":{},"400":{},"425":{},"497":{},"523":{}},"parent":{}}],["noparent",{"_index":152,"name":{"179":{}},"parent":{}}],["normalize",{"_index":285,"name":{"475":{}},"parent":{}}],["onalternation",{"_index":175,"name":{"216":{}},"parent":{}}],["onalternationenter",{"_index":157,"name":{"184":{},"199":{}},"parent":{}}],["onalternationleave",{"_index":158,"name":{"185":{},"200":{}},"parent":{}}],["onassertion",{"_index":176,"name":{"217":{}},"parent":{}}],["onassertionenter",{"_index":159,"name":{"186":{},"201":{}},"parent":{}}],["onassertionleave",{"_index":160,"name":{"187":{},"202":{}},"parent":{}}],["oncharacterclass",{"_index":177,"name":{"218":{}},"parent":{}}],["oncharacterclassenter",{"_index":161,"name":{"188":{},"203":{}},"parent":{}}],["oncharacterclassleave",{"_index":162,"name":{"189":{},"204":{}},"parent":{}}],["onconcatenation",{"_index":178,"name":{"219":{}},"parent":{}}],["onconcatenationenter",{"_index":163,"name":{"190":{},"205":{}},"parent":{}}],["onconcatenationleave",{"_index":164,"name":{"191":{},"206":{}},"parent":{}}],["onexpression",{"_index":179,"name":{"220":{}},"parent":{}}],["onexpressionenter",{"_index":165,"name":{"192":{},"207":{}},"parent":{}}],["onexpressionleave",{"_index":166,"name":{"193":{},"208":{}},"parent":{}}],["onquantifier",{"_index":180,"name":{"221":{}},"parent":{}}],["onquantifierenter",{"_index":167,"name":{"194":{},"209":{}},"parent":{}}],["onquantifierleave",{"_index":168,"name":{"195":{},"210":{}},"parent":{}}],["onunknown",{"_index":181,"name":{"222":{}},"parent":{}}],["onunknownenter",{"_index":169,"name":{"196":{},"211":{}},"parent":{}}],["onunknownleave",{"_index":170,"name":{"197":{},"212":{}},"parent":{}}],["options",{"_index":238,"name":{"322":{},"349":{},"397":{},"401":{},"427":{},"480":{},"498":{},"525":{},"576":{}},"parent":{}}],["out",{"_index":255,"name":{"371":{},"374":{},"451":{},"455":{},"551":{},"555":{}},"parent":{}}],["parent",{"_index":136,"name":{"137":{},"141":{},"146":{},"153":{},"161":{},"166":{},"171":{},"176":{}},"parent":{}}],["parsableelement",{"_index":112,"name":{"113":{}},"parent":{}}],["parse",{"_index":122,"name":{"123":{}},"parent":{}}],["parseelement",{"_index":123,"name":{"124":{}},"parent":{}}],["parseoptions",{"_index":101,"name":{"103":{}},"parent":{}}],["parser",{"_index":117,"name":{"117":{}},"parent":{}}],["parseresult",{"_index":113,"name":{"114":{}},"parent":{}}],["pattern",{"_index":110,"name":{"111":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":130,"name":{"131":{}},"parent":{}}],["pickmostreadableword",{"_index":131,"name":{"132":{}},"parent":{}}],["predefinedcharacterset",{"_index":73,"name":{"72":{}},"parent":{}}],["prefixes",{"_index":251,"name":{"367":{},"446":{},"545":{}},"parent":{}}],["prepend",{"_index":273,"name":{"443":{},"542":{}},"parent":{}}],["propertycharacterset",{"_index":78,"name":{"78":{}},"parent":{}}],["quantifier",{"_index":142,"name":{"151":{}},"parent":{"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{}}}],["quantify",{"_index":274,"name":{"445":{},"543":{}},"parent":{}}],["ranges",{"_index":208,"name":{"264":{}},"parent":{}}],["reachableviaepsilon",{"_index":284,"name":{"465":{}},"parent":{}}],["readonlycharmap",{"_index":186,"name":{"229":{}},"parent":{"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{}}}],["readonlydfa",{"_index":236,"name":{"320":{}},"parent":{"321":{},"322":{},"323":{},"324":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{},"331":{},"332":{},"333":{},"334":{},"335":{},"336":{},"337":{},"338":{},"339":{}}}],["readonlyenfa",{"_index":269,"name":{"399":{}},"parent":{"400":{},"401":{},"402":{},"403":{},"404":{},"405":{},"406":{},"407":{},"408":{},"409":{},"410":{},"411":{},"412":{},"413":{},"414":{},"415":{},"416":{},"417":{}}}],["readonlynfa",{"_index":295,"name":{"496":{}},"parent":{"497":{},"498":{},"499":{},"500":{},"501":{},"502":{},"503":{},"504":{},"505":{},"506":{},"507":{},"508":{},"509":{},"510":{},"511":{},"512":{},"513":{},"514":{}}}],["readonlynode",{"_index":252,"name":{"369":{},"449":{},"549":{}},"parent":{}}],["readonlynodelist",{"_index":257,"name":{"375":{},"457":{},"557":{}},"parent":{}}],["readonlyword",{"_index":235,"name":{"319":{}},"parent":{}}],["regexppast",{"_index":109,"name":{"110":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removedeadstates",{"_index":45,"name":{"46":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":266,"name":{"392":{},"474":{},"571":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["resolveepsilon",{"_index":282,"name":{"463":{}},"parent":{}}],["reverse",{"_index":298,"name":{"547":{}},"parent":{}}],["set",{"_index":196,"name":{"246":{}},"parent":{}}],["setevery",{"_index":197,"name":{"247":{}},"parent":{}}],["setparent",{"_index":153,"name":{"180":{}},"parent":{}}],["setsource",{"_index":154,"name":{"181":{}},"parent":{}}],["signalmutation",{"_index":183,"name":{"225":{}},"parent":{}}],["simplify",{"_index":106,"name":{"107":{}},"parent":{}}],["size",{"_index":210,"name":{"267":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":99,"name":{"101":{},"143":{},"150":{},"158":{},"163":{},"168":{},"173":{},"178":{}},"parent":{}}],["sourcelocation",{"_index":132,"name":{"133":{}},"parent":{"134":{},"135":{}}}],["spacecharacterset",{"_index":82,"name":{"83":{}},"parent":{}}],["start",{"_index":133,"name":{"134":{}},"parent":{}}],["stateiterator",{"_index":239,"name":{"323":{},"352":{},"402":{},"430":{},"499":{},"528":{}},"parent":{}}],["sticky",{"_index":96,"name":{"98":{}},"parent":{}}],["structurallyequal",{"_index":243,"name":{"328":{},"364":{}},"parent":{}}],["suffixes",{"_index":275,"name":{"447":{},"546":{}},"parent":{}}],["symbol.iterator",{"_index":202,"name":{"256":{},"394":{},"477":{},"573":{}},"parent":{}}],["test",{"_index":222,"name":{"284":{},"332":{},"354":{},"410":{},"436":{},"507":{},"531":{}},"parent":{}}],["textboundaryassertion",{"_index":70,"name":{"69":{}},"parent":{}}],["todot",{"_index":46,"name":{"47":{},"289":{},"337":{},"359":{},"415":{},"441":{},"512":{},"536":{}},"parent":{}}],["todotattrs",{"_index":48,"name":{"49":{}},"parent":{}}],["todotinfo",{"_index":55,"name":{"55":{}},"parent":{}}],["todotoptions",{"_index":49,"name":{"50":{}},"parent":{}}],["toliteral",{"_index":86,"name":{"89":{}},"parent":{}}],["toliteraloptions",{"_index":87,"name":{"90":{}},"parent":{}}],["toomanynodeserror",{"_index":294,"name":{"490":{}},"parent":{"491":{},"492":{}}}],["toregex",{"_index":60,"name":{"60":{},"288":{},"336":{},"358":{},"414":{},"440":{},"511":{},"535":{}},"parent":{}}],["toregexoptions",{"_index":230,"name":{"312":{}},"parent":{"313":{},"314":{}}}],["tostring",{"_index":61,"name":{"61":{},"268":{},"287":{},"335":{},"357":{},"413":{},"439":{},"510":{},"534":{}},"parent":{}}],["transform",{"_index":173,"name":{"214":{}},"parent":{}}],["transformcontext",{"_index":182,"name":{"223":{}},"parent":{"224":{},"225":{},"226":{}}}],["transformer",{"_index":174,"name":{"215":{}},"parent":{"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":184,"name":{"227":{}},"parent":{"228":{}}}],["transitioniterable",{"_index":229,"name":{"308":{}},"parent":{"309":{},"310":{},"311":{}}}],["transitioniterator",{"_index":228,"name":{"307":{},"310":{},"338":{},"353":{},"416":{},"431":{},"513":{},"529":{}},"parent":{}}],["type",{"_index":139,"name":{"140":{},"145":{},"152":{},"160":{},"165":{},"170":{},"175":{}},"parent":{}}],["unicode",{"_index":97,"name":{"99":{}},"parent":{}}],["union",{"_index":213,"name":{"272":{},"444":{},"540":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unknown",{"_index":148,"name":{"164":{}},"parent":{"165":{},"166":{},"167":{},"168":{}}}],["unknowns",{"_index":290,"name":{"484":{},"580":{}},"parent":{}}],["unlinknodes",{"_index":265,"name":{"389":{},"471":{},"568":{}},"parent":{}}],["unorderedresolveepsilon",{"_index":283,"name":{"464":{}},"parent":{}}],["value",{"_index":81,"name":{"81":{}},"parent":{}}],["values",{"_index":193,"name":{"237":{},"254":{}},"parent":{}}],["visitast",{"_index":155,"name":{"182":{}},"parent":{}}],["visitasthandler",{"_index":156,"name":{"183":{}},"parent":{"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{}}}],["visitnoparentasthandler",{"_index":171,"name":{"198":{}},"parent":{"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{}}}],["withlimit",{"_index":260,"name":{"380":{},"462":{},"562":{}},"parent":{}}],["without",{"_index":215,"name":{"274":{}},"parent":{}}],["withoutemptyword",{"_index":297,"name":{"544":{}},"parent":{}}],["word",{"_index":234,"name":{"318":{}},"parent":{}}],["wordboundaryassertion",{"_index":66,"name":{"66":{}},"parent":{}}],["wordcharacterset",{"_index":84,"name":{"86":{}},"parent":{}}],["words",{"_index":124,"name":{"125":{},"285":{},"333":{},"356":{},"411":{},"438":{},"508":{},"533":{}},"parent":{"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{}}}],["wordsets",{"_index":223,"name":{"286":{},"334":{},"355":{},"412":{},"437":{},"509":{},"532":{}},"parent":{}}],["wordsettowords",{"_index":129,"name":{"130":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.8.0/classes/charmap.html b/docs/v0.8.0/classes/charmap.html new file mode 100644 index 00000000..e5040a05 --- /dev/null +++ b/docs/v0.8.0/classes/charmap.html @@ -0,0 +1,714 @@ + + + + + + CharMap | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharMap<T>

+
+
+
+
+
+
+
+
+
+

A map from characters to generic values.

+
+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated + as one character range. The equality of values is given by a custom equal function or JavaScript's strict equality + operator (===).

+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + CharMap +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CharMap<T>(equalFn?: (a: T, b: T) => boolean): CharMap<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      Optional equalFn: (a: T, b: T) => boolean
      +
        +
      • +
          +
        • (a: T, b: T): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            a: T
            +
          • +
          • +
            b: T
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns CharMap<T>

    +
  • +
+
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<[CharRange, T]>
  • +
+
    +
  • + +

    Returns IterableIterator<[CharRange, T]>

    +
  • +
+
+
+ +

delete

+
    +
  • delete(char: Char): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

deleteEvery

+ +
    +
  • + +
    +
    +

    Deletes all characters in the given range.

    +
    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

entries

+ + +
+
+ +

forEach

+ + +
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

map

+ + +
+
+ +

mapRange

+ + +
+
+ +

set

+
    +
  • set(char: Char, value: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    • +
      value: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setEvery

+
    +
  • setEvery(chars: CharRange, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given range.

    +
    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      chars: CharRange
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

values

+
    +
  • values(): IterableIterator<T>
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/charset.html b/docs/v0.8.0/classes/charset.html new file mode 100644 index 00000000..72d38e45 --- /dev/null +++ b/docs/v0.8.0/classes/charset.html @@ -0,0 +1,729 @@ + + + + + + CharSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharSet

+
+
+
+
+
+
+
+
+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+
+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • + CharSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maximum

+
maximum: Char
+ +
+
+

The greatest character which can be element of the set.

+
+
+
+
+ +

Readonly ranges

+
ranges: readonly CharRange[]
+ +
+
+

An array of ranges representing this character set.

+
+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+
+

Accessors

+
+ +

isAll

+
    +
  • get isAll(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in + the set.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if this set doesn't contain any characters.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of unique characters in the set.

    +
    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

commonCharacter

+ +
    +
  • + +
    +
    +

    Returns any one of the common characters of this set and the given set or range.

    +
    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +

    Parameters

    + +

    Returns undefined | Char

    +
  • +
+
+
+ +

compare

+
    +
  • compare(other: CharSet): number
  • +
+
    +
  • + +
    +
    +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are + always guaranteed to return 0.

    +
    +

    The order defined by this function is guaranteed to be a + total order. Apart from this, no other guarantees are given.

    +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

equals

+
    +
  • equals(other: CharSet): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this and the given character set are equivalent.

    +
    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and + maximum.
    6. +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

has

+
    +
  • has(character: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

intersect

+ +
    +
  • + +
    +
    +

    Returns the intersection of this set and the given set + and character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

isSubsetOf

+ + +
+
+ +

isSupersetOf

+ + +
+
+ +

negate

+ +
    +
  • + +
    +
    +

    Returns the complement of this set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +

    Returns CharSet

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the character set.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

union

+ +
    +
  • + +
    +
    +

    Returns the union of this set and all given sets and + character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the + maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

without

+ +
    +
  • + +
    +
    +

    Returns a set that contains all characters of this set that are not in the given set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which can be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/dfa.html b/docs/v0.8.0/classes/dfa.html new file mode 100644 index 00000000..8126b4c8 --- /dev/null +++ b/docs/v0.8.0/classes/dfa.html @@ -0,0 +1,949 @@ + + + + + + DFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DFA

+
+
+
+
+
+
+
+
+ +

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + DFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

complement

+
    +
  • complement(): void
  • +
+
    +
  • + +
    +
    +

    Complements this DFA.

    +
    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this + function.

    +
    +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ + +
+
+ +

getIntersectionWords

+ + +
+
+ +

isDisjointWith

+ + +
+
+ +

minimize

+
    +
  • minimize(): void
  • +
+
    +
  • + +
    +
    +

    Minimizes this DFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/dfa.nodelist.html b/docs/v0.8.0/classes/dfa.nodelist.html new file mode 100644 index 00000000..b1515500 --- /dev/null +++ b/docs/v0.8.0/classes/dfa.nodelist.html @@ -0,0 +1,618 @@ + + + + + + NodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<Node>
  • +
+
    +
  • + +

    Returns IterableIterator<Node>

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharRange

+
    +
  • _uncheckedLinkNodesWithCharRange(from: Node, to: Node, characters: CharRange): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharSet

+
    +
  • _uncheckedLinkNodesWithCharSet(from: Node, to: Node, characters: CharSet): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharacter

+
    +
  • _uncheckedLinkNodesWithCharacter(from: Node, to: Node, character: Char): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to {@link FAIterator#isFinal}.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/enfa.html b/docs/v0.8.0/classes/enfa.html new file mode 100644 index 00000000..d6ef3237 --- /dev/null +++ b/docs/v0.8.0/classes/enfa.html @@ -0,0 +1,1067 @@ + + + + + + ENFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class ENFA

+
+
+
+
+
+
+
+
+
+

A nondeterministic finite automaton with epsilon + transitions.

+
+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript + Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different + state machines in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + ENFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of this ENFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ + +
+
+ +

getIntersectionWords

+ + +
+
+ +

isDisjointWith

+ + +
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of the given FA and this ENFA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number, lazy?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +
    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be + modified to accept <this>|<other>.

    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns ENFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/enfa.nodelist.html b/docs/v0.8.0/classes/enfa.nodelist.html new file mode 100644 index 00000000..3ab343ba --- /dev/null +++ b/docs/v0.8.0/classes/enfa.nodelist.html @@ -0,0 +1,830 @@ + + + + + + NodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

final

+
final: Node
+ +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to {@link FAIterator#isFinal}.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

normalize

+
    +
  • normalize(): void
  • +
+
    +
  • + +
    +
    +

    Changes the nodes, so that the initial state has no incoming transitions and that the final state has no + outgoing transitions.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static reachableViaEpsilon

+ +
    +
  • + +
    +
    +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in + the given direction. The returned set is guaranteed to always contain the given node.

    +
    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = ENFA.NodeList.reachableViaEpsilon(final, "in");
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    +

    Returns Set<Node>

    +
  • +
  • + +

    Parameters

    + +

    Returns Set<ReadonlyNode>

    +
  • +
+
+
+ +

Static resolveEpsilon

+
    +
  • resolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • resolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static unorderedResolveEpsilon

+
    +
  • unorderedResolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • unorderedResolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    The order in which the consumer function will be called for the pair is implementation-defined. Only use this + if the order of nodes is irrelevant.

    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/faiterators.mapfabuilder.html b/docs/v0.8.0/classes/faiterators.mapfabuilder.html new file mode 100644 index 00000000..0cf584c2 --- /dev/null +++ b/docs/v0.8.0/classes/faiterators.mapfabuilder.html @@ -0,0 +1,419 @@ + + + + + + MapFABuilder | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MapFABuilder

+
+
+
+
+
+
+
+
+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+
+

Hierarchy

+
    +
  • + MapFABuilder +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<MapFABuilderNode> = ...
+ +
+
+ +

Readonly initial

+
initial: MapFABuilderNode = ...
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

createNode

+ +
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +

    Returns MapFABuilderNode

    +
  • +
+
+
+ +

isFinal

+ +
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to {@link FAIterator#isFinal}.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+ +
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/js.parser.html b/docs/v0.8.0/classes/js.parser.html new file mode 100644 index 00000000..a80d3ff3 --- /dev/null +++ b/docs/v0.8.0/classes/js.parser.html @@ -0,0 +1,416 @@ + + + + + + Parser | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Parser

+
+
+
+
+
+
+
+
+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+
+

Hierarchy

+
    +
  • + Parser +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly ast

+ + +
+
+

The parsed AST of the literal this parser works on.

+
+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations + based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +

Readonly literal

+
literal: Literal
+ +
+
+

The literal of the parser instance.

+
+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the parsed AST.

+
+

This value will also be returned as part of the ParseResult.

+
+
+
+
+

Methods

+
+ +

parse

+ +
    +
  • + +
    +
    +

    Parsed the entire literal.

    +
    +

    For more information on parsing, see parseElement.

    +
    +

    Parameters

    + +

    Returns ParseResult

    +
  • +
+
+
+ +

parseElement

+ + +
+
+ +

Static fromAst

+ +
    +
  • + +
    +
    +

    Creates a new parser from the given regexpp AST.

    +
    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex + again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +

    Parameters

    + +

    Returns Parser

    +
  • +
+
+
+ +

Static fromLiteral

+
    +
  • fromLiteral(literal: Literal, parserOptions?: Options): Parser
  • +
+
    +
  • + +
    +
    +

    Creates a new parser from the given literal.

    +
    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the + given RegExp parser options.

    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
      +
      +
    • +
    +

    Returns Parser

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/maxcharactererror.html b/docs/v0.8.0/classes/maxcharactererror.html new file mode 100644 index 00000000..ba793aff --- /dev/null +++ b/docs/v0.8.0/classes/maxcharactererror.html @@ -0,0 +1,217 @@ + + + + + + MaxCharacterError | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MaxCharacterError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+
+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be + the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + MaxCharacterError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns MaxCharacterError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(a: Char | { maxCharacter: Char }, b: Char | { maxCharacter: Char }, kind?: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | { maxCharacter: Char }
      +
    • +
    • +
      b: Char | { maxCharacter: Char }
      +
    • +
    • +
      Optional kind: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/nfa.html b/docs/v0.8.0/classes/nfa.html new file mode 100644 index 00000000..7bc85a67 --- /dev/null +++ b/docs/v0.8.0/classes/nfa.html @@ -0,0 +1,1148 @@ + + + + + + NFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NFA

+
+
+
+
+
+
+
+
+ +

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple + CharSet#union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + NFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ + +
+
+ +

getIntersectionWords

+ + +
+
+ +

isDisjointWith

+ + +
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverse

+
    +
  • reverse(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

withoutEmptyWord

+
    +
  • withoutEmptyWord(): void
  • +
+
    +
  • + +
    +
    +

    Removes the empty word from the accepted languages of this NFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/nfa.nodelist.html b/docs/v0.8.0/classes/nfa.nodelist.html new file mode 100644 index 00000000..8a834856 --- /dev/null +++ b/docs/v0.8.0/classes/nfa.nodelist.html @@ -0,0 +1,535 @@ + + + + + + NodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+

The set of final states of this list.

+
+
+
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to {@link FAIterator#isFinal}.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/classes/toomanynodeserror.html b/docs/v0.8.0/classes/toomanynodeserror.html new file mode 100644 index 00000000..f4db8373 --- /dev/null +++ b/docs/v0.8.0/classes/toomanynodeserror.html @@ -0,0 +1,218 @@ + + + + + + TooManyNodesError | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TooManyNodesError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when an operation causes too many nodes to be created.

+
+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in + the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely + abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + TooManyNodesError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns TooManyNodesError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(current: number, limit: number, kind: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/index.html b/docs/v0.8.0/index.html new file mode 100644 index 00000000..da270d3a --- /dev/null +++ b/docs/v0.8.0/index.html @@ -0,0 +1,519 @@ + + + + + + refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.8.0

+
+
+
+
+
+
+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status + npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ +

Features

+
+
    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print graph in DOT format or a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+ +

Universal characters

+
+

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+ +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";
+
+function toNFA(regex: RegExp): NFA {
+    const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+    return NFA.fromRegex(expression, { maxCharacter });
+}
+function toDFA(regex: RegExp): DFA {
+    return DFA.fromFA(toNFA(regex));
+}
+function toRegExp(fa: FiniteAutomaton): RegExp {
+    const literal = JS.toLiteral(fa.toRegex());
+    return new RegExp(literal.source, literal.flags);
+}
+
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ +

Testing whether a word is accepted

+
+
import { Words } from "refa";
+
+const regex = /\w+\d+/;
+const nfa = toNFA(regex);
+
+console.log(nfa.test(Words.fromStringToUTF16("abc")));
+// => false
+console.log(nfa.test(Words.fromStringToUTF16("123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("abc123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("123abc")));
+// => false
+
+ +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
+const regex2 = /Ab*C\d?/;
+
+const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));
+
+console.log(toRegExp(intersection));
+// => /Ab+C/
+
+ +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;
+
+const dfa = toDFA(regex);
+dfa.complement();
+
+console.log(toRegExp(dfa));
+// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i
+
+ +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
+// => /".*"|'.*'/i
+
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
+// Error: Backreferences are not supported.
+
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
+const { expression } =
+    JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: 'foo', flags: '' }
+
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+NFA.fromRegex(expression, { maxCharacter });
+// Error: Assertions are not supported yet.
+
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } =
+    JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: '->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter });
+console.log(toRegExp(nfa));
+// => /->/i
+
+
+

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
+console.log(toRegExp(nfa));
+// => /->/i
+
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";
+
+const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const applyTransformer = combineTransformers([
+    Transformers.inline(),
+    Transformers.removeDeadBranches(),
+    Transformers.removeUnnecessaryAssertions(),
+    Transformers.sortAssertions(),
+    Transformers.applyAssertions(),
+    Transformers.removeUnnecessaryAssertions(),
+]);
+const modifiedExpression = transform(applyTransformer, expression);
+
+console.log(JS.toLiteral(modifiedExpression));
+// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }
+
+// Most assertions have been removed but the patterns are still equivalent.
+// The only assertions left assert characters beyond the edge of the pattern.
+// Removing those assertions is easy but slightly changes the pattern.
+
+const finalExpression = transform(
+    Transformers.patternEdgeAssertions({ remove: true }),
+    modifiedExpression
+);
+
+console.log(JS.toLiteral(finalExpression));
+// => { source: '[A-Z_]\\w*|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
+
+console.log(JS.toLiteral(nfa.toRegex()));
+// => { source: '->|[A-Z_]\\w*', flags: 'i' }
+
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/alternation.html b/docs/v0.8.0/interfaces/alternation.html new file mode 100644 index 00000000..4875157f --- /dev/null +++ b/docs/v0.8.0/interfaces/alternation.html @@ -0,0 +1,185 @@ + + + + + + Alternation | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Alternation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Alternation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Alternation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/assertion.html b/docs/v0.8.0/interfaces/assertion.html new file mode 100644 index 00000000..e75b65be --- /dev/null +++ b/docs/v0.8.0/interfaces/assertion.html @@ -0,0 +1,207 @@ + + + + + + Assertion | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Assertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Assertion +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

kind

+
kind: "ahead" | "behind"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Assertion"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/characterclass.html b/docs/v0.8.0/interfaces/characterclass.html new file mode 100644 index 00000000..995b5e06 --- /dev/null +++ b/docs/v0.8.0/interfaces/characterclass.html @@ -0,0 +1,185 @@ + + + + + + CharacterClass | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharacterClass

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + CharacterClass +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

characters

+
characters: CharSet
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "CharacterClass"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/charrange.html b/docs/v0.8.0/interfaces/charrange.html new file mode 100644 index 00000000..433cf536 --- /dev/null +++ b/docs/v0.8.0/interfaces/charrange.html @@ -0,0 +1,178 @@ + + + + + + CharRange | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharRange

+
+
+
+
+
+
+
+
+
+

An immutable interval of Chars with inclusive ends.

+
+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • + CharRange +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly max

+
max: Char
+ +
+
+

The inclusive maximum of the interval.

+
+

This value has to be greater or equal to min.

+
+
+
+ +

Readonly min

+
min: Char
+ +
+
+

The inclusive minimum of the interval.

+
+

This value has to be less or equal to max.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/concatenation.html b/docs/v0.8.0/interfaces/concatenation.html new file mode 100644 index 00000000..fe6418d7 --- /dev/null +++ b/docs/v0.8.0/interfaces/concatenation.html @@ -0,0 +1,185 @@ + + + + + + Concatenation | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Concatenation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Concatenation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

elements

+
elements: Element[]
+ +
+
+ +

parent

+
parent: Parent
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/dfa.creationoptions.html b/docs/v0.8.0/interfaces/dfa.creationoptions.html new file mode 100644 index 00000000..e541ca81 --- /dev/null +++ b/docs/v0.8.0/interfaces/dfa.creationoptions.html @@ -0,0 +1,209 @@ + + + + + + CreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a DFA will be created.

+
+
+
+
+

Hierarchy

+
    +
  • + CreationOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the DFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the DFA creation operation may create as many nodes as + necessary to construct the DFA. This might cause the machine to run out of memory. I.e. the conversion from + NFA to DFA may create O(2^n) many nodes and an intersection may created O(n * m) many.

+

Note: This limit describes the maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/dfa.node.html b/docs/v0.8.0/interfaces/dfa.node.html new file mode 100644 index 00000000..d0aadfb4 --- /dev/null +++ b/docs/v0.8.0/interfaces/dfa.node.html @@ -0,0 +1,204 @@ + + + + + + Node | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/dfa.options.html b/docs/v0.8.0/interfaces/dfa.options.html new file mode 100644 index 00000000..d67cd375 --- /dev/null +++ b/docs/v0.8.0/interfaces/dfa.options.html @@ -0,0 +1,192 @@ + + + + + + Options | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/dfa.readonlynode.html b/docs/v0.8.0/interfaces/dfa.readonlynode.html new file mode 100644 index 00000000..2f0ef7b1 --- /dev/null +++ b/docs/v0.8.0/interfaces/dfa.readonlynode.html @@ -0,0 +1,202 @@ + + + + + + ReadonlyNode | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/dfa.readonlynodelist.html b/docs/v0.8.0/interfaces/dfa.readonlynodelist.html new file mode 100644 index 00000000..55153917 --- /dev/null +++ b/docs/v0.8.0/interfaces/dfa.readonlynodelist.html @@ -0,0 +1,241 @@ + + + + + + ReadonlyNodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.creationoptions.html b/docs/v0.8.0/interfaces/enfa.creationoptions.html new file mode 100644 index 00000000..31f81561 --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.creationoptions.html @@ -0,0 +1,217 @@ + + + + + + CreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a ENFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.fromregexoptions.html b/docs/v0.8.0/interfaces/enfa.fromregexoptions.html new file mode 100644 index 00000000..1839e7f8 --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.fromregexoptions.html @@ -0,0 +1,292 @@ + + + + + + FromRegexOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw"
+ +
+
+

How to handle assertions when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: undefined | number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: undefined | "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.node.html b/docs/v0.8.0/interfaces/enfa.node.html new file mode 100644 index 00000000..bbef2892 --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.node.html @@ -0,0 +1,219 @@ + + + + + + Node | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, null | CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.options.html b/docs/v0.8.0/interfaces/enfa.options.html new file mode 100644 index 00000000..1ba2736d --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.options.html @@ -0,0 +1,195 @@ + + + + + + Options | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.readonlynode.html b/docs/v0.8.0/interfaces/enfa.readonlynode.html new file mode 100644 index 00000000..e5aefd81 --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.readonlynode.html @@ -0,0 +1,216 @@ + + + + + + ReadonlyNode | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/enfa.readonlynodelist.html b/docs/v0.8.0/interfaces/enfa.readonlynodelist.html new file mode 100644 index 00000000..79c6d40e --- /dev/null +++ b/docs/v0.8.0/interfaces/enfa.readonlynodelist.html @@ -0,0 +1,260 @@ + + + + + + ReadonlyNodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly final

+ + +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/expression.html b/docs/v0.8.0/interfaces/expression.html new file mode 100644 index 00000000..a57c770b --- /dev/null +++ b/docs/v0.8.0/interfaces/expression.html @@ -0,0 +1,185 @@ + + + + + + Expression | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Expression

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Expression +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+
parent: null
+ +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Expression"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/fabuilder.html b/docs/v0.8.0/interfaces/fabuilder.html new file mode 100644 index 00000000..48d423c0 --- /dev/null +++ b/docs/v0.8.0/interfaces/fabuilder.html @@ -0,0 +1,349 @@ + + + + + + FABuilder | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FABuilder<S, T>

+
+
+
+
+
+
+
+
+
+

An FA builder has the responsibility of constructing a finite automata.

+
+

The constructed FA is always owned by the builder.

+
+
template
+

The type of the value each state maps to.

+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state.

    +
    +
    +
  • +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + FABuilder +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly createNode

+
createNode: () => S
+ +
+
+

Creates a new state owned by the builder.

+
+
+
throws
+

TooManyNodesError + May be thrown if the number of created nodes exceeds some limit.

+
+
+
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    +
      +
    • +

      Returns S

      +
    • +
    +
  • +
+
+
+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Readonly isFinal

+
isFinal: (state: S) => boolean
+ +
+
+

Returns whether the given state is a final state.

+
+

This operation is assumed to be semantically equivalent to {@link FAIterator#isFinal}.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns boolean

      +
    • +
    +
  • +
+
+
+
+ +

Readonly linkNodes

+
linkNodes: (from: S, to: S, transition: T) => void
+ +
+
+

Links to the two given states using the given transition.

+
+

Calling this operations more than once for the given from and to states is not guaranteed to succeed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        from: S
        +
      • +
      • +
        to: S
        +
      • +
      • +
        transition: T
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

Readonly makeFinal

+
makeFinal: (state: S) => void
+ +
+
+

Makes the given state behave like a final state of this FA.

+
+

This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

+

The implementation has to guarantee that calling this method for the same state more than once is allowed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/faiterator.html b/docs/v0.8.0/interfaces/faiterator.html new file mode 100644 index 00000000..9911c40b --- /dev/null +++ b/docs/v0.8.0/interfaces/faiterator.html @@ -0,0 +1,291 @@ + + + + + + FAIterator | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FAIterator<S, O>

+
+
+
+
+
+
+
+
+
+

A graph iterator for all states of an FA with final states.

+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state in the FA to iterate.

    +
    +
    +
  • +
  • +

    O = Iterable<S>

    +
    +
    +

    The type of the value each state maps to.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FAIterator +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional Readonly deterministicOut

+
deterministicOut: undefined | boolean
+ +
+
+

Whether the getOut function is deterministic during the lifetime of the iterator.

+
+

Deterministic means that if the getOut gets called for the same state twice (or more), it will always return + equal values. The equality of states is defined by + the key equality of the Map class. + Value equality depends on the iterator.

+

The equality relation of returned values is not defined by this interface. I.e. a deterministic getOut function + may return new collections/iterators on subsequent invocations as long as the collections/iterators are + considered equal (e.g. equal could be defined as "same elements").

+

It is also assumed that deterministic getOut functions are sufficiently fast for subsequent invocations + (usually O(1) can be assumed).

+
+
default
+

false

+
+
+
+
+
+ +

Readonly getOut

+
getOut: (state: S) => O
+ +
+
+

Returns the value a state maps to.

+
+
+
see
+

deterministicOut

+
+
+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns O

      +
    • +
    +
  • +
+
+
+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Readonly isFinal

+
isFinal: (state: S) => boolean
+ +
+
+

Returns whether the given state is a final state.

+
+

This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be + sufficiently fast, usually O(1) can be assumed.

+
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        state: S
        +
      • +
      +

      Returns boolean

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/faiterators.todotinfo.html b/docs/v0.8.0/interfaces/faiterators.todotinfo.html new file mode 100644 index 00000000..3c31b258 --- /dev/null +++ b/docs/v0.8.0/interfaces/faiterators.todotinfo.html @@ -0,0 +1,327 @@ + + + + + + ToDotInfo | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotInfo<S>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotInfo +
  • +
+
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

getId

+
    +
  • getId(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

getNumberOfOutgoingEdges

+
    +
  • getNumberOfOutgoingEdges(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

isInitial

+
    +
  • isInitial(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/faiterators.todotoptions.html b/docs/v0.8.0/interfaces/faiterators.todotoptions.html new file mode 100644 index 00000000..05ecc461 --- /dev/null +++ b/docs/v0.8.0/interfaces/faiterators.todotoptions.html @@ -0,0 +1,300 @@ + + + + + + ToDotOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

getEdgeAttributes

+
getEdgeAttributes: (transition: T, nth: number, from: S, to: S, info: ToDotInfo<S>) => Readonly<Record<string, undefined | string | number>>
+ +
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: ToDotInfo<S>): Readonly<Record<string, undefined | string | number>>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        transition: T
        +
      • +
      • +
        nth: number
        +
      • +
      • +
        from: S
        +
      • +
      • +
        to: S
        +
      • +
      • +
        info: ToDotInfo<S>
        +
      • +
      +

      Returns Readonly<Record<string, undefined | string | number>>

      +
    • +
    +
  • +
+
+
+
+ +

Optional getGraphAttributes

+
getGraphAttributes: undefined | (() => Readonly<Record<string, undefined | string | number>>)
+ +
+
+ +

Optional getNodeAttributes

+
getNodeAttributes: undefined | ((node: S, info: ToDotInfo<S>) => Readonly<Record<string, undefined | string | number>>)
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/finiteautomaton.html b/docs/v0.8.0/interfaces/finiteautomaton.html new file mode 100644 index 00000000..ed909c91 --- /dev/null +++ b/docs/v0.8.0/interfaces/finiteautomaton.html @@ -0,0 +1,396 @@ + + + + + + FiniteAutomaton | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FiniteAutomaton

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+
+

Methods

+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/intersectionoptions.html b/docs/v0.8.0/interfaces/intersectionoptions.html new file mode 100644 index 00000000..604c2577 --- /dev/null +++ b/docs/v0.8.0/interfaces/intersectionoptions.html @@ -0,0 +1,160 @@ + + + + + + IntersectionOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface IntersectionOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + IntersectionOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the intersection operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is unset or set to Infinity, the intersection operation may create as many nodes + as necessary to construct the intersection. This might cause the machine to run out of memory.

+
+
default
+

Infinity

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.anycharacterset.html b/docs/v0.8.0/interfaces/js.anycharacterset.html new file mode 100644 index 00000000..d5c65048 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.anycharacterset.html @@ -0,0 +1,228 @@ + + + + + + AnyCharacterSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface AnyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + AnyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "any"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.digitcharacterset.html b/docs/v0.8.0/interfaces/js.digitcharacterset.html new file mode 100644 index 00000000..ea412c8f --- /dev/null +++ b/docs/v0.8.0/interfaces/js.digitcharacterset.html @@ -0,0 +1,239 @@ + + + + + + DigitCharacterSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface DigitCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DigitCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "digit"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.flags.html b/docs/v0.8.0/interfaces/js.flags.html new file mode 100644 index 00000000..63fbc178 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.flags.html @@ -0,0 +1,332 @@ + + + + + + Flags | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Flags

+
+
+
+
+
+
+
+
+
+

A partial set of RegExp flags.

+
+
+
+
+

Hierarchy

+
    +
  • + Flags +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional dotAll

+
dotAll: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional global

+
global: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreCase

+
ignoreCase: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional multiline

+
multiline: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional sticky

+
sticky: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional unicode

+
unicode: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.literal.html b/docs/v0.8.0/interfaces/js.literal.html new file mode 100644 index 00000000..2672e358 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.literal.html @@ -0,0 +1,248 @@ + + + + + + Literal | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Literal

+
+
+
+
+
+
+
+
+
+

A light-weight representation of a + JavaScript RegExp object.

+
+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • + Literal +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: string
+ +
+
+ +

Readonly source

+
source: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.parseoptions.html b/docs/v0.8.0/interfaces/js.parseoptions.html new file mode 100644 index 00000000..a935bfc9 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.parseoptions.html @@ -0,0 +1,387 @@ + + + + + + ParseOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw" | "unknown" | "parse"
+ +
+
+

How the parser will handle assertions.

+
+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions + (e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all + paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the + assertion.

    +
  • +
+
+
default
+

"parse"

+
+
+
+
+
+ +

Optional backreferences

+
backreferences: undefined | "disable" | "throw" | "unknown"
+ +
+
+

How to the parser will handle unresolved backreferences.

+
+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing + a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because + of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will + be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional getUnknownId

+
getUnknownId: undefined | ((element: Backreference | EdgeAssertion | WordBoundaryAssertion | LookaheadAssertion | LookbehindAssertion) => string)
+ +
+
+

Unknown nodes have an id property that can be used to identify the element that created the unknown. This + function can be used to control the id value.

+
+

By default, the raw of the element will be used as its id.

+
+
+
+ +

Optional maxBackreferenceWords

+
maxBackreferenceWords: undefined | number
+ +
+
+

The maximum number of words a backreference can be replaced by.

+
+

Set this to 0 to disable resolving backreferences.

+
+
default
+

100

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the parser is allowed to create.

+
+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional simplify

+
simplify: undefined | boolean
+ +
+
+

By default, the parser will try to simplify the generated RE as much as possible.

+
+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, + or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent that certain backreferences or assertions from throwing an error. It's + usually good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
default
+

true

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.parseresult.html b/docs/v0.8.0/interfaces/js.parseresult.html new file mode 100644 index 00000000..8ec708c5 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.parseresult.html @@ -0,0 +1,239 @@ + + + + + + ParseResult | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

expression

+
expression: Expression
+ +
+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.propertycharacterset.html b/docs/v0.8.0/interfaces/js.propertycharacterset.html new file mode 100644 index 00000000..be31eb07 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.propertycharacterset.html @@ -0,0 +1,261 @@ + + + + + + PropertyCharacterSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PropertyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + PropertyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

key

+
key: string
+ +
+
+ +

kind

+
kind: "property"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

value

+
value: null | string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.regexppast.html b/docs/v0.8.0/interfaces/js.regexppast.html new file mode 100644 index 00000000..9c63e7fc --- /dev/null +++ b/docs/v0.8.0/interfaces/js.regexppast.html @@ -0,0 +1,239 @@ + + + + + + RegexppAst | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegexppAst

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegexppAst +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: Flags
+ +
+
+ +

Readonly pattern

+
pattern: Pattern
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.spacecharacterset.html b/docs/v0.8.0/interfaces/js.spacecharacterset.html new file mode 100644 index 00000000..2eab8e11 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.spacecharacterset.html @@ -0,0 +1,239 @@ + + + + + + SpaceCharacterSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SpaceCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "space"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.textboundaryassertion.html b/docs/v0.8.0/interfaces/js.textboundaryassertion.html new file mode 100644 index 00000000..15414e8a --- /dev/null +++ b/docs/v0.8.0/interfaces/js.textboundaryassertion.html @@ -0,0 +1,228 @@ + + + + + + TextBoundaryAssertion | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TextBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "end" | "start"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.toliteraloptions.html b/docs/v0.8.0/interfaces/js.toliteraloptions.html new file mode 100644 index 00000000..7e4b2c94 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.toliteraloptions.html @@ -0,0 +1,262 @@ + + + + + + ToLiteralOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToLiteralOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToLiteralOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fastCharacters

+
fastCharacters: undefined | boolean
+ +
+
+

This will force the function to print characters as fast as possible.

+
+

Literals created with this option will usually be created about 10x faster but the result will usually be very + hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
default
+

false

+
+
+
+
+
+ +

Optional flags

+
flags: undefined | Flags
+ +
+
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+
+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that + are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are + given, the implementation will generally try to choose flags such that it can create literal that is as + small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.wordboundaryassertion.html b/docs/v0.8.0/interfaces/js.wordboundaryassertion.html new file mode 100644 index 00000000..2196d9f4 --- /dev/null +++ b/docs/v0.8.0/interfaces/js.wordboundaryassertion.html @@ -0,0 +1,239 @@ + + + + + + WordBoundaryAssertion | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/js.wordcharacterset.html b/docs/v0.8.0/interfaces/js.wordcharacterset.html new file mode 100644 index 00000000..0093157f --- /dev/null +++ b/docs/v0.8.0/interfaces/js.wordcharacterset.html @@ -0,0 +1,239 @@ + + + + + + WordCharacterSet | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.creationoptions.html b/docs/v0.8.0/interfaces/nfa.creationoptions.html new file mode 100644 index 00000000..8f022c73 --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.creationoptions.html @@ -0,0 +1,217 @@ + + + + + + CreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a NFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.fromregexoptions.html b/docs/v0.8.0/interfaces/nfa.fromregexoptions.html new file mode 100644 index 00000000..63aed5b6 --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.fromregexoptions.html @@ -0,0 +1,292 @@ + + + + + + FromRegexOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: undefined | "disable" | "throw"
+ +
+
+

How to handle assertions when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: undefined | number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: undefined | "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.node.html b/docs/v0.8.0/interfaces/nfa.node.html new file mode 100644 index 00000000..d73aa17a --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.node.html @@ -0,0 +1,219 @@ + + + + + + Node | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.options.html b/docs/v0.8.0/interfaces/nfa.options.html new file mode 100644 index 00000000..1fa82095 --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.options.html @@ -0,0 +1,195 @@ + + + + + + Options | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.readonlynode.html b/docs/v0.8.0/interfaces/nfa.readonlynode.html new file mode 100644 index 00000000..0ec8c28f --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.readonlynode.html @@ -0,0 +1,216 @@ + + + + + + ReadonlyNode | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/nfa.readonlynodelist.html b/docs/v0.8.0/interfaces/nfa.readonlynodelist.html new file mode 100644 index 00000000..ab2361b6 --- /dev/null +++ b/docs/v0.8.0/interfaces/nfa.readonlynodelist.html @@ -0,0 +1,244 @@ + + + + + + ReadonlyNodeList | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/quantifier.html b/docs/v0.8.0/interfaces/quantifier.html new file mode 100644 index 00000000..eee69f61 --- /dev/null +++ b/docs/v0.8.0/interfaces/quantifier.html @@ -0,0 +1,218 @@ + + + + + + Quantifier | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Quantifier

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Quantifier +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

lazy

+
lazy: boolean
+ +
+
+ +

max

+
max: number
+ +
+
+ +

min

+
min: number
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Quantifier"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/readonlycharmap.html b/docs/v0.8.0/interfaces/readonlycharmap.html new file mode 100644 index 00000000..e8ba9c38 --- /dev/null +++ b/docs/v0.8.0/interfaces/readonlycharmap.html @@ -0,0 +1,417 @@ + + + + + + ReadonlyCharMap | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Iterable<[CharRange, T]> +
      +
    • + ReadonlyCharMap +
    • +
    +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

isEmpty

+
isEmpty: boolean
+ +
+
+
+

Methods

+
+ +

entries

+ +
    +
  • + +

    Parameters

    + +

    Returns Iterable<[CharRange, T]>

    +
  • +
+
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

values

+
    +
  • values(): Iterable<T>
  • +
+
    +
  • + +

    Returns Iterable<T>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/readonlydfa.html b/docs/v0.8.0/interfaces/readonlydfa.html new file mode 100644 index 00000000..f6aab320 --- /dev/null +++ b/docs/v0.8.0/interfaces/readonlydfa.html @@ -0,0 +1,651 @@ + + + + + + ReadonlyDFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyDFA

+
+
+
+
+
+
+
+
+
+

A readonly DFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => TransitionIterator<ReadonlyNode>
+ +
+

Type declaration

+ +
+
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/readonlyenfa.html b/docs/v0.8.0/interfaces/readonlyenfa.html new file mode 100644 index 00000000..d2f686c0 --- /dev/null +++ b/docs/v0.8.0/interfaces/readonlyenfa.html @@ -0,0 +1,625 @@ + + + + + + ReadonlyENFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyENFA

+
+
+
+
+
+
+
+
+
+

A readonly ENFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => TransitionIterator<ReadonlyNode>
+ +
+

Type declaration

+ +
+
+
+
+

Methods

+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/readonlynfa.html b/docs/v0.8.0/interfaces/readonlynfa.html new file mode 100644 index 00000000..41ffddd8 --- /dev/null +++ b/docs/v0.8.0/interfaces/readonlynfa.html @@ -0,0 +1,619 @@ + + + + + + ReadonlyNFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNFA

+
+
+
+
+
+
+
+
+
+

A readonly NFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => TransitionIterator<ReadonlyNode>
+ +
+

Type declaration

+ +
+
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<CharSet[]>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/sourcelocation.html b/docs/v0.8.0/interfaces/sourcelocation.html new file mode 100644 index 00000000..9ce58d48 --- /dev/null +++ b/docs/v0.8.0/interfaces/sourcelocation.html @@ -0,0 +1,158 @@ + + + + + + SourceLocation | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SourceLocation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SourceLocation +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

end

+
end: number
+ +
+
+ +

start

+
start: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/toregexoptions.html b/docs/v0.8.0/interfaces/toregexoptions.html new file mode 100644 index 00000000..817bd68e --- /dev/null +++ b/docs/v0.8.0/interfaces/toregexoptions.html @@ -0,0 +1,178 @@ + + + + + + ToRegexOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToRegexOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: undefined | number
+ +
+
+

The maximum number of RE AST nodes the implementation is allowed to create.

+
+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This + maximum will be check before any optimization passes.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional maxOptimizationPasses

+
maxOptimizationPasses: undefined | number
+ +
+
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+
+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize + the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformcontext.html b/docs/v0.8.0/interfaces/transformcontext.html new file mode 100644 index 00000000..badfab56 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformcontext.html @@ -0,0 +1,185 @@ + + + + + + TransformContext | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformContext

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformContext +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the AST.

+
+

If the expression to transform does not contain any characters at the start of the transformation, then this + value will be 0.

+
+
+
+ +

Readonly signalMutation

+
signalMutation: () => void
+ +
+
+

Signals that the transformer changed the AST.

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    +
      +
    • +

      Returns void

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformer.html b/docs/v0.8.0/interfaces/transformer.html new file mode 100644 index 00000000..a3a2d900 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformer.html @@ -0,0 +1,337 @@ + + + + + + Transformer | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Transformer

+
+
+
+
+
+
+
+
+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. + They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure + functions.

+
+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change + the given AST.

+
+
+
+

Hierarchy

+
    +
  • + Transformer +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternation

+ + +
+
+ +

Optional onAssertion

+ + +
+
+ +

Optional onCharacterClass

+ + +
+
+ +

Optional onConcatenation

+ + +
+
+ +

Optional onExpression

+ + +
+
+ +

Optional onQuantifier

+ + +
+
+ +

Optional onUnknown

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformers.creationoptions.html b/docs/v0.8.0/interfaces/transformers.creationoptions.html new file mode 100644 index 00000000..bb7fdf97 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformers.creationoptions.html @@ -0,0 +1,253 @@ + + + + + + CreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformers.patternedgeassertionscreationoptions.html b/docs/v0.8.0/interfaces/transformers.patternedgeassertionscreationoptions.html new file mode 100644 index 00000000..3f679ea0 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformers.patternedgeassertionscreationoptions.html @@ -0,0 +1,288 @@ + + + + + + PatternEdgeAssertionsCreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional inline

+
inline: undefined | boolean
+ +
+
+
default
+

true

+
+
+
+
+
+ +

Optional remove

+
remove: undefined | boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformers.removeassertionscreationoptions.html b/docs/v0.8.0/interfaces/transformers.removeassertionscreationoptions.html new file mode 100644 index 00000000..6e3c5721 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformers.removeassertionscreationoptions.html @@ -0,0 +1,270 @@ + + + + + + RemoveAssertionsCreationOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: undefined | boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: undefined | boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional replacement

+
replacement: undefined | "empty-set" | "empty-word"
+ +
+
+
default
+

"empty-set"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transformoptions.html b/docs/v0.8.0/interfaces/transformoptions.html new file mode 100644 index 00000000..45ca3477 --- /dev/null +++ b/docs/v0.8.0/interfaces/transformoptions.html @@ -0,0 +1,159 @@ + + + + + + TransformOptions | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxPasses

+
maxPasses: undefined | number
+ +
+
+

The maximum number of times the transformer will be applied to the AST.

+
+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified + anymore.

+
+
default
+

10

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/transitioniterable.html b/docs/v0.8.0/interfaces/transitioniterable.html new file mode 100644 index 00000000..f00f518b --- /dev/null +++ b/docs/v0.8.0/interfaces/transitioniterable.html @@ -0,0 +1,199 @@ + + + + + + TransitionIterable | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterable<T>

+
+
+
+
+
+
+
+
+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+ +

Readonly transitionIterator

+
transitionIterator: () => TransitionIterator<T>
+ +
+

Type declaration

+ +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/unknown.html b/docs/v0.8.0/interfaces/unknown.html new file mode 100644 index 00000000..deaf7986 --- /dev/null +++ b/docs/v0.8.0/interfaces/unknown.html @@ -0,0 +1,185 @@ + + + + + + Unknown | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Unknown

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Unknown +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

id

+
id: string
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+
source: undefined | SourceLocation
+ +
+
+ +

type

+
type: "Unknown"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/visitasthandler.html b/docs/v0.8.0/interfaces/visitasthandler.html new file mode 100644 index 00000000..b6e82762 --- /dev/null +++ b/docs/v0.8.0/interfaces/visitasthandler.html @@ -0,0 +1,472 @@ + + + + + + VisitAstHandler | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/interfaces/visitnoparentasthandler.html b/docs/v0.8.0/interfaces/visitnoparentasthandler.html new file mode 100644 index 00000000..3b8ba216 --- /dev/null +++ b/docs/v0.8.0/interfaces/visitnoparentasthandler.html @@ -0,0 +1,472 @@ + + + + + + VisitNoParentAstHandler | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitNoParentAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+
    +
  • onAlternationEnter(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+
    +
  • onAlternationLeave(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+
    +
  • onConcatenationEnter(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+
    +
  • onConcatenationLeave(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+
    +
  • onExpressionEnter(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+
    +
  • onExpressionLeave(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+
    +
  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+
    +
  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules.html b/docs/v0.8.0/modules.html new file mode 100644 index 00000000..a4e33c5e --- /dev/null +++ b/docs/v0.8.0/modules.html @@ -0,0 +1,779 @@ + + + + + + refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.8.0

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Char

+
Char: number & { __char?: never }
+ +
+
+

A character is a non-negative integer.

+
+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or + Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even + text in general since the integers used as character may represent arbitrary concepts.

+

The only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
+ +

Element

+ + +
+
+ +

NoParent

+
NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+ +
+
+

A view of an AST node that hides the parent property.

+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Node

+ + +
+
+ +

Parent

+ + +
+
+ +

ReadonlyWord

+
ReadonlyWord: readonly Char[]
+ +
+
+

An immutable finite sequence of Chars.

+
+

This is an immutable view on a Word.

+
+
+
+ +

TransitionIterator

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+ +
+
+

An FAIterator where transitions are map of states to character sets.

+
+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Word

+
Word: Char[]
+ +
+
+

A word is finite sequence of Chars.

+
+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on + Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string + representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
+

Functions

+
+ +

combineTransformers

+ +
    +
  • + +
    +
    +

    Creates a new transformer that performs all given transformers in sequentially order.

    +
    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are + given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be + yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in + any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

setParent

+
    +
  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +
+
    +
  • + +
    +
    +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type parameters

    + +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +
      +

      The parent of node.

      +
      +
    • +
    +

    Returns asserts node is T

    +
  • +
+
+
+ +

setSource

+ +
    +
  • + +
    +
    +

    Sets the source property of the given node and all of its child nodes.

    +
    +

    If source is not a function, then the source object will be copied for all source properties to be set. The + object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

transform

+ +
    +
  • + +
    +
    +

    Transforms the given expression according to the given transformer.

    +
    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

visitAst

+ +
    +
  • + +
    +
    +

    Calls the given visitor on the given node and all of its children.

    +
    +

    If the given visitor throws an error, the traversal will stop and the error will be re-thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/dfa.html b/docs/v0.8.0/modules/dfa.html new file mode 100644 index 00000000..2f5e0434 --- /dev/null +++ b/docs/v0.8.0/modules/dfa.html @@ -0,0 +1,178 @@ + + + + + + DFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace DFA

+
+
+
+
+
+
+
+
+
+

A namespace for DFA-specific classes and interfaces.

+
+
+
see
+

DFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/enfa.html b/docs/v0.8.0/modules/enfa.html new file mode 100644 index 00000000..874f536a --- /dev/null +++ b/docs/v0.8.0/modules/enfa.html @@ -0,0 +1,182 @@ + + + + + + ENFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace ENFA

+
+
+
+
+
+
+
+
+
+

A namespace for ENFA-specific classes and interfaces.

+
+
+
see
+

ENFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/faiterators.html b/docs/v0.8.0/modules/faiterators.html new file mode 100644 index 00000000..49167356 --- /dev/null +++ b/docs/v0.8.0/modules/faiterators.html @@ -0,0 +1,1031 @@ + + + + + + FAIterators | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace FAIterators

+
+
+
+
+
+
+
+
+
+

Contains algorithms consuming and producing FAIterators.

+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+ +
+
+ +

ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+ +
+
+
+

Functions

+
+ +

canReachFinal

+
    +
  • canReachFinal<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

count

+ +
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

createSimpleToDotOptions

+
    +
  • createSimpleToDotOptions<S, T>(toString: (transition: T) => string, ordered?: boolean): ToDotOptions<S, T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      toString: (transition: T) => string
      +
        +
      • +
          +
        • (transition: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            transition: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
    • +
    +

    Returns ToDotOptions<S, T>

    +
  • +
+
+
+ +

ensureDeterministicOut

+ +
    +
  • + +
    +
    +

    The returned iterator is guaranteed to be deterministic.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

filterOutIter

+
    +
  • filterOutIter<S, O>(iter: FAIterator<S, Iterable<O>>, conditionFn: (out: O) => boolean): FAIterator<S, Iterable<O>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: (out: O) => boolean
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<O>>

    +
  • +
+
+
+ +

forEach

+
    +
  • forEach<S>(iter: FAIterator<S>, consumerFn?: (state: S) => void): void
  • +
+
    +
  • + +
    +
    +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state + exactly once.

    +
    +

    The order in which states are traversed is implementation-defined.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S>
      +
      +
      +
    • +
    • +
      Optional consumerFn: (state: S) => void
      +
        +
      • +
          +
        • (state: S): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            state: S
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

hasCycle

+ +
    +
  • + +
    +
    +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

intersection

+ +
    +
  • + +
    +
    +

    A lazy intersection algorithm that will use the given FA builder to construct the intersection FA as the returned + iterator is used to traverse the FA.

    +
    +

    To construct the whole intersection FA use:

    +
    const iter = intersection(...);
    +traverse(mapOut(iter, n => n.out.keys()));
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, S>

    +
  • +
+
+
+ +

iterateStates

+
    +
  • iterateStates<S>(iter: FAIterator<S>): Iterable<S>
  • +
+
    +
  • + +
    +
    +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +
    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<S>

    +
  • +
+
+
+ +

iterateWordSets

+ +
    +
  • + +
    +
    +

    Iterates all word sets of the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<CharSet[]>

    +
  • +
+
+
+ +

languageIsFinite

+
    +
  • languageIsFinite<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

mapOut

+ +
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, T>

    +
  • +
+
+
+ +

mapOutIter

+
    +
  • mapOutIter<S, O, T>(iter: FAIterator<S, Iterable<O>>, mapFn: (out: O) => T): FAIterator<S, Iterable<T>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<T>>

    +
  • +
+
+
+ +

removeDeadStates

+
    +
  • removeDeadStates<S, O>(iter: FAIterator<S, Iterable<O>>, select: (item: O) => S): FAIterator<S, O[]>
  • +
+
    +
  • + +
    +
    +

    Removes all dead states (and trap states) from the given iterator.

    +
    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: (item: O) => S
      +
        +
      • +
          +
        • (item: O): S
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            item: O
            +
          • +
          +

          Returns S

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, O[]>

    +
  • +
+
+
+ +

toDot

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns a regular expression for the given iterator.

    +
    +

    null transitions are assumed to be epsilon transitions.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString<S, T>(iter: FAIterator<S, Iterable<[S, T]>>, toString?: (value: T) => string, ordered?: boolean): string
  • +
+
    +
  • + +
    +
    +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +
    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be + mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their + transition string. The number of states will be surrounded by brackets - square brackets for final states and round + brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native + String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: (value: T) => string = ...
      +
        +
      • +
          +
        • (value: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            value: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/js.html b/docs/v0.8.0/modules/js.html new file mode 100644 index 00000000..45d1203f --- /dev/null +++ b/docs/v0.8.0/modules/js.html @@ -0,0 +1,378 @@ + + + + + + JS | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace JS

+
+
+
+
+
+
+
+
+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+
+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the + ECMAScript standard.

+
+
see
+

Parser: A class to convert from JS RegExp to refa AST.

+
+
see
+

toLiteral: A function to convert from refa AST to JS RegExp.

+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

BoundaryAssertion

+ + +
+
+ +

ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+ +
+
+ +

PredefinedCharacterSet

+ + +
+
+
+

Functions

+
+ +

createAssertion

+ + +
+
+ +

createCharSet

+ +
    +
  • + +
    +
    +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

toLiteral

+ +
    +
  • + +
    +
    +

    Converts the given AST or AST subtree into a JS literal.

    +
    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to + builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/nfa.html b/docs/v0.8.0/modules/nfa.html new file mode 100644 index 00000000..e9a08104 --- /dev/null +++ b/docs/v0.8.0/modules/nfa.html @@ -0,0 +1,182 @@ + + + + + + NFA | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace NFA

+
+
+
+
+
+
+
+
+
+

A namespace for NFA-specific classes and interfaces.

+
+
+
see
+

NFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/transformers.html b/docs/v0.8.0/modules/transformers.html new file mode 100644 index 00000000..d00065ae --- /dev/null +++ b/docs/v0.8.0/modules/transformers.html @@ -0,0 +1,575 @@ + + + + + + Transformers | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Transformers

+
+
+
+
+
+
+
+
+
+

Contains all AST transformer implementations of refa.

+
+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. + This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

applyAssertions

+ +
    +
  • + +
    +
    +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in + assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

factorOut

+ +
    +
  • + +
    +
    +

    This will factor out common prefixes and suffixes in parent nodes.

    +
    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious + case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty + alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

inline

+ +
    +
  • + +
    +
    +

    This transformer will simplify the AST by doing trivial inlining operations.

    +
    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

mergeWithQuantifier

+ +
    +
  • + +
    +
    +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +
    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

moveUpEmpty

+ +
    +
  • + +
    +
    +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression + such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the + sub-expression to accept the empty string moves closer to the root of the tree.

    +
    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

nestedQuantifiers

+ +
    +
  • + +
    +
    +

    This merges/optimizes nested quantifiers.

    +
    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

patternEdgeAssertions

+ +
    +
  • + +
    +
    +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +
    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) + and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which + may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) + in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => + a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeDeadBranches

+ +
    +
  • + +
    +
    +

    This removes dead branches in the AST.

    +
    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will + be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeUnnecessaryAssertions

+ +
    +
  • + +
    +
    +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

replaceAssertions

+ + +
+
+ +

sortAssertions

+ +
    +
  • + +
    +
    +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +
    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

unionCharacters

+ +
    +
  • + +
    +
    +

    Combines single-character alternatives.

    +
    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.8.0/modules/words.html b/docs/v0.8.0/modules/words.html new file mode 100644 index 00000000..d2372430 --- /dev/null +++ b/docs/v0.8.0/modules/words.html @@ -0,0 +1,365 @@ + + + + + + Words | refa - v0.8.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Words

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

fromStringToUTF16

+
    +
  • fromStringToUTF16(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of UTF16 character codes.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromStringToUnicode

+
    +
  • fromStringToUnicode(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of Unicode code points.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromUTF16ToString

+ +
    +
  • + +
    +
    +

    Converts the given array of UTF16 character codes into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

fromUnicodeToString

+ +
    +
  • + +
    +
    +

    Converts the given array of Unicode code points into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

pickMostReadableCharacter

+
    +
  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +
+
    +
  • + +
    +
    +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely + implementation-defined but, generally, word characters will be picked over non-word characters and printable + characters will be picked over non-printable characters.

    +
    +

    If the given character set is empty, undefined will be returned.

    +
    +

    Parameters

    + +

    Returns Char | undefined

    +
  • +
+
+
+ +

pickMostReadableWord

+
    +
  • pickMostReadableWord(wordSet: Iterable<CharSet>): Word | undefined
  • +
+
    +
  • + +
    +
    +

    Returns a word of the given word set that is the most humanly readable.

    +
    +

    If at least one of the given character sets is empty, undefined will be returned.

    +
    +

    Parameters

    +
      +
    • +
      wordSet: Iterable<CharSet>
      +
      +
      +
    • +
    +

    Returns Word | undefined

    +
  • +
+
+
+ +

wordSetToWords

+
    +
  • wordSetToWords(wordSet: readonly CharSet[]): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Iterates all words which can be constructed from the given word set (array of character sets).

    +
    +
    +

    Parameters

    +
      +
    • +
      wordSet: readonly CharSet[]
      +
      +
      +
    • +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/assets/css/main.css b/docs/v0.9.0/assets/css/main.css new file mode 100644 index 00000000..46571c27 --- /dev/null +++ b/docs/v0.9.0/assets/css/main.css @@ -0,0 +1,2660 @@ +:root { + --color-background: #fdfdfd; + --color-text: #222; + --color-text-aside: #707070; + --color-link: #4da6ff; + --color-menu-divider: #eee; + --color-menu-divider-focus: #000; + --color-menu-label: #707070; + --color-panel: #fff; + --color-panel-divider: #eee; + --color-comment-tag: #707070; + --color-comment-tag-text: #fff; + --color-code-background: rgba(0, 0, 0, 0.04); + --color-ts: #9600ff; + --color-ts-interface: #647f1b; + --color-ts-enum: #937210; + --color-ts-class: #0672de; + --color-ts-private: #707070; + --color-toolbar: #fff; + --color-toolbar-text: #333; +} + +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: var(--color-code-background); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member a[data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member a[data-tsd-kind=Interface] { + color: var(--color-ts-interface); +} +.tsd-member a[data-tsd-kind=Enum] { + color: var(--color-ts-enum); +} +.tsd-member a[data-tsd-kind=Class] { + color: var(--color-ts-class); +} +.tsd-member a[data-tsd-kind=Private] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.9.0/assets/images/icons.png b/docs/v0.9.0/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.9.0/assets/images/icons.png differ diff --git a/docs/v0.9.0/assets/images/icons@2x.png b/docs/v0.9.0/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.9.0/assets/images/icons@2x.png differ diff --git a/docs/v0.9.0/assets/images/widgets.png b/docs/v0.9.0/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.9.0/assets/images/widgets.png differ diff --git a/docs/v0.9.0/assets/images/widgets@2x.png b/docs/v0.9.0/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.9.0/assets/images/widgets@2x.png differ diff --git a/docs/v0.9.0/assets/js/main.js b/docs/v0.9.0/assets/js/main.js new file mode 100644 index 00000000..dc257a86 --- /dev/null +++ b/docs/v0.9.0/assets/js/main.js @@ -0,0 +1,248 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../node_modules/lunr/lunr.js": +/*!************************************!*\ + !*** ../node_modules/lunr/lunr.js ***! + \************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?"); + +/***/ }), + +/***/ "./default/assets/css/main.sass": +/*!**************************************!*\ + !*** ./default/assets/css/main.sass ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?"); + +/***/ }), + +/***/ "./default/assets/js/src/bootstrap.ts": +/*!********************************************!*\ + !*** ./default/assets/js/src/bootstrap.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Application.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/Application.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */ \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n components.push({\n selector: selector,\n constructor: constructor,\n });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n /**\n * Create a new Application instance.\n */\n function Application() {\n this.createComponents(document.body);\n }\n /**\n * Create all components beneath the given jQuery element.\n */\n Application.prototype.createComponents = function (context) {\n components.forEach(function (c) {\n context.querySelectorAll(c.selector).forEach(function (el) {\n if (!el.dataset.hasInstance) {\n new c.constructor({ el: el });\n el.dataset.hasInstance = String(true);\n }\n });\n });\n };\n return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Component.ts": +/*!****************************************************!*\ + !*** ./default/assets/js/src/typedoc/Component.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n function Component(options) {\n this.el = options.el;\n }\n return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/EventTarget.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/EventTarget.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n function EventTarget() {\n this.listeners = {};\n }\n EventTarget.prototype.addEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n };\n EventTarget.prototype.removeEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n };\n EventTarget.prototype.dispatchEvent = function (event) {\n if (!(event.type in this.listeners)) {\n return true;\n }\n var stack = this.listeners[event.type].slice();\n for (var i = 0, l = stack.length; i < l; i++) {\n stack[i].call(this, event);\n }\n return !event.defaultPrevented;\n };\n return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Filter.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Filter.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n function FilterItem(key, value) {\n this.key = key;\n this.value = value;\n this.defaultValue = value;\n this.initialize();\n if (window.localStorage[this.key]) {\n this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n }\n }\n FilterItem.prototype.initialize = function () { };\n FilterItem.prototype.setValue = function (value) {\n if (this.value == value)\n return;\n var oldValue = this.value;\n this.value = value;\n window.localStorage[this.key] = this.toLocalStorage(value);\n this.handleValueChange(oldValue, value);\n };\n return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n __extends(FilterItemCheckbox, _super);\n function FilterItemCheckbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemCheckbox.prototype.initialize = function () {\n var _this = this;\n var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!checkbox)\n return;\n this.checkbox = checkbox;\n this.checkbox.addEventListener(\"change\", function () {\n _this.setValue(_this.checkbox.checked);\n });\n };\n FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n if (!this.checkbox)\n return;\n this.checkbox.checked = this.value;\n document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n };\n FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n return value == \"true\";\n };\n FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n return value ? \"true\" : \"false\";\n };\n return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n __extends(FilterItemSelect, _super);\n function FilterItemSelect() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemSelect.prototype.initialize = function () {\n var _this = this;\n document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n var select = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!select)\n return;\n this.select = select;\n var onActivate = function () {\n _this.select.classList.add(\"active\");\n };\n var onDeactivate = function () {\n _this.select.classList.remove(\"active\");\n };\n this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n this.select.addEventListener(\"mouseover\", onActivate);\n this.select.addEventListener(\"mouseleave\", onDeactivate);\n this.select.querySelectorAll(\"li\").forEach(function (el) {\n el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n select.classList.remove(\"active\");\n _this.setValue(e.target.dataset.value || \"\");\n });\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n if (_this.select.contains(e.target))\n return;\n _this.select.classList.remove(\"active\");\n });\n };\n FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n el.classList.remove(\"selected\");\n });\n var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n var label = this.select.querySelector(\".tsd-select-label\");\n if (selected && label) {\n selected.classList.add(\"selected\");\n label.textContent = selected.textContent;\n }\n document.documentElement.classList.remove(\"toggle-\" + oldValue);\n document.documentElement.classList.add(\"toggle-\" + newValue);\n };\n FilterItemSelect.prototype.fromLocalStorage = function (value) {\n return value;\n };\n FilterItemSelect.prototype.toLocalStorage = function (value) {\n return value;\n };\n return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n __extends(Filter, _super);\n function Filter(options) {\n var _this = _super.call(this, options) || this;\n _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n return _this;\n }\n Filter.isSupported = function () {\n try {\n return typeof window.localStorage != \"undefined\";\n }\n catch (e) {\n return false;\n }\n };\n return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts": +/*!*******************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n __extends(MenuHighlight, _super);\n /**\n * Create a new MenuHighlight instance.\n *\n * @param options Backbone view constructor options.\n */\n function MenuHighlight(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of all discovered anchors.\n */\n _this.anchors = [];\n /**\n * Index of the currently highlighted anchor.\n */\n _this.index = -1;\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n _this.createAnchors();\n return _this;\n }\n /**\n * Find all anchors on the current page.\n */\n MenuHighlight.prototype.createAnchors = function () {\n var _this = this;\n var base = window.location.href;\n if (base.indexOf(\"#\") != -1) {\n base = base.substr(0, base.indexOf(\"#\"));\n }\n this.el.querySelectorAll(\"a\").forEach(function (el) {\n var href = el.href;\n if (href.indexOf(\"#\") == -1)\n return;\n if (href.substr(0, base.length) != base)\n return;\n var hash = href.substr(href.indexOf(\"#\") + 1);\n var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n var link = el.parentNode;\n if (!anchor || !link)\n return;\n _this.anchors.push({\n link: link,\n anchor: anchor,\n position: 0,\n });\n });\n this.onResize();\n };\n /**\n * Triggered after the viewport was resized.\n */\n MenuHighlight.prototype.onResize = function () {\n var anchor;\n for (var index = 0, count = this.anchors.length; index < count; index++) {\n anchor = this.anchors[index];\n var rect = anchor.anchor.getBoundingClientRect();\n anchor.position = rect.top + document.body.scrollTop;\n }\n this.anchors.sort(function (a, b) {\n return a.position - b.position;\n });\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n },\n });\n this.onScroll(event);\n };\n /**\n * Triggered after the viewport was scrolled.\n *\n * @param event The custom event with the current vertical scroll position.\n */\n MenuHighlight.prototype.onScroll = function (event) {\n var scrollTop = event.detail.scrollTop + 5;\n var anchors = this.anchors;\n var count = anchors.length - 1;\n var index = this.index;\n while (index > -1 && anchors[index].position > scrollTop) {\n index -= 1;\n }\n while (index < count && anchors[index + 1].position < scrollTop) {\n index += 1;\n }\n if (this.index != index) {\n if (this.index > -1)\n this.anchors[this.index].link.classList.remove(\"focus\");\n this.index = index;\n if (this.index > -1)\n this.anchors[this.index].link.classList.add(\"focus\");\n }\n };\n return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Search.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Search.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n var searchEl = document.getElementById(\"tsd-search\");\n if (!searchEl)\n return;\n var searchScript = document.getElementById(\"search-script\");\n searchEl.classList.add(\"loading\");\n if (searchScript) {\n searchScript.addEventListener(\"error\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"failure\");\n });\n searchScript.addEventListener(\"load\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n });\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n }\n }\n var field = document.querySelector(\"#tsd-search-field\");\n var results = document.querySelector(\".results\");\n if (!field || !results) {\n throw new Error(\"The input field or the result list wrapper was not found\");\n }\n var resultClicked = false;\n results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n results.addEventListener(\"mouseup\", function () {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n });\n field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n field.addEventListener(\"blur\", function () {\n if (!resultClicked) {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n }\n });\n var state = {\n base: searchEl.dataset.base + \"/\",\n };\n bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n updateResults(searchEl, results, field, state);\n }, 200));\n var preventPress = false;\n field.addEventListener(\"keydown\", function (e) {\n preventPress = true;\n if (e.key == \"Enter\") {\n gotoCurrentResult(results, field);\n }\n else if (e.key == \"Escape\") {\n field.blur();\n }\n else if (e.key == \"ArrowUp\") {\n setCurrentResult(results, -1);\n }\n else if (e.key === \"ArrowDown\") {\n setCurrentResult(results, 1);\n }\n else {\n preventPress = false;\n }\n });\n field.addEventListener(\"keypress\", function (e) {\n if (preventPress)\n e.preventDefault();\n });\n /**\n * Start searching by pressing slash.\n */\n document.body.addEventListener(\"keydown\", function (e) {\n if (e.altKey || e.ctrlKey || e.metaKey)\n return;\n if (!field.matches(\":focus\") && e.key === \"/\") {\n field.focus();\n e.preventDefault();\n }\n });\n}\nfunction checkIndex(state, searchEl) {\n if (state.index)\n return;\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n state.data = window.searchData;\n state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n }\n}\nfunction updateResults(searchEl, results, query, state) {\n checkIndex(state, searchEl);\n // Don't clear results if loading state is not ready,\n // because loading or error message can be removed.\n if (!state.index || !state.data)\n return;\n results.textContent = \"\";\n var searchText = query.value.trim();\n // Perform a wildcard search\n var res = state.index.search(\"*\" + searchText + \"*\");\n for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n var row = state.data.rows[Number(res[i].ref)];\n // Bold the matched part of the query in the search results\n var name_1 = boldMatches(row.name, searchText);\n if (row.parent) {\n name_1 = \"\" + boldMatches(row.parent, searchText) + \".\" + name_1;\n }\n var item = document.createElement(\"li\");\n item.classList.value = row.classes;\n var anchor = document.createElement(\"a\");\n anchor.href = state.base + row.url;\n anchor.classList.add(\"tsd-kind-icon\");\n anchor.innerHTML = name_1;\n item.append(anchor);\n results.appendChild(item);\n }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n if (current) {\n current.classList.add(\"current\");\n }\n }\n else {\n var rel = dir == 1\n ? current.nextElementSibling\n : current.previousElementSibling;\n if (rel) {\n current.classList.remove(\"current\");\n rel.classList.add(\"current\");\n }\n }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(\"li:first-child\");\n }\n if (current) {\n var link = current.querySelector(\"a\");\n if (link) {\n window.location.href = link.href;\n }\n field.blur();\n }\n}\nfunction boldMatches(text, search) {\n if (search === \"\") {\n return text;\n }\n var lowerText = text.toLocaleLowerCase();\n var lowerSearch = search.toLocaleLowerCase();\n var parts = [];\n var lastIndex = 0;\n var index = lowerText.indexOf(lowerSearch);\n while (index != -1) {\n parts.push(escapeHtml(text.substring(lastIndex, index)), \"\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"\");\n lastIndex = index + lowerSearch.length;\n index = lowerText.indexOf(lowerSearch, lastIndex);\n }\n parts.push(escapeHtml(text.substring(lastIndex)));\n return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\",\n};\nfunction escapeHtml(text) {\n return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Signature.ts": +/*!***************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Signature.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n /**\n * Create a new SignatureGroup instance.\n *\n * @param signature The target signature.\n * @param description The description for the signature.\n */\n function SignatureGroup(signature, description) {\n this.signature = signature;\n this.description = description;\n }\n /**\n * Add the given class to all elements of the group.\n *\n * @param className The class name to add.\n */\n SignatureGroup.prototype.addClass = function (className) {\n this.signature.classList.add(className);\n this.description.classList.add(className);\n return this;\n };\n /**\n * Remove the given class from all elements of the group.\n *\n * @param className The class name to remove.\n */\n SignatureGroup.prototype.removeClass = function (className) {\n this.signature.classList.remove(className);\n this.description.classList.remove(className);\n return this;\n };\n return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n __extends(Signature, _super);\n /**\n * Create a new Signature instance.\n *\n * @param options Backbone view constructor options.\n */\n function Signature(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of found signature groups.\n */\n _this.groups = [];\n /**\n * The index of the currently displayed signature.\n */\n _this.index = -1;\n _this.createGroups();\n if (_this.container) {\n _this.el.classList.add(\"active\");\n Array.from(_this.el.children).forEach(function (signature) {\n signature.addEventListener(\"touchstart\", function (event) {\n return _this.onClick(event);\n });\n signature.addEventListener(\"click\", function (event) {\n return _this.onClick(event);\n });\n });\n _this.container.classList.add(\"active\");\n _this.setIndex(0);\n }\n return _this;\n }\n /**\n * Set the index of the active signature.\n *\n * @param index The index of the signature to activate.\n */\n Signature.prototype.setIndex = function (index) {\n if (index < 0)\n index = 0;\n if (index > this.groups.length - 1)\n index = this.groups.length - 1;\n if (this.index == index)\n return;\n var to = this.groups[index];\n if (this.index > -1) {\n var from_1 = this.groups[this.index];\n from_1.removeClass(\"current\").addClass(\"fade-out\");\n to.addClass(\"current\");\n to.addClass(\"fade-in\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n setTimeout(function () {\n from_1.removeClass(\"fade-out\");\n to.removeClass(\"fade-in\");\n }, 300);\n }\n else {\n to.addClass(\"current\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n }\n this.index = index;\n };\n /**\n * Find all signature/description groups.\n */\n Signature.prototype.createGroups = function () {\n var signatures = this.el.children;\n if (signatures.length < 2)\n return;\n this.container = this.el.nextElementSibling;\n var descriptions = this.container.children;\n this.groups = [];\n for (var index = 0; index < signatures.length; index++) {\n this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n }\n };\n /**\n * Triggered when the user clicks onto a signature header.\n *\n * @param e The related event object.\n */\n Signature.prototype.onClick = function (e) {\n var _this = this;\n this.groups.forEach(function (group, index) {\n if (group.signature === e.currentTarget) {\n _this.setIndex(index);\n }\n });\n };\n return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Toggle.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n __extends(Toggle, _super);\n function Toggle(options) {\n var _this = _super.call(this, options) || this;\n _this.className = _this.el.dataset.toggle || \"\";\n _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n return _this.onDocumentPointerDown(e);\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n return _this.onDocumentPointerUp(e);\n });\n return _this;\n }\n Toggle.prototype.setActive = function (value) {\n if (this.active == value)\n return;\n this.active = value;\n document.documentElement.classList.toggle(\"has-\" + this.className, value);\n this.el.classList.toggle(\"active\", value);\n var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n document.documentElement.classList.add(transition);\n setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n };\n Toggle.prototype.onPointerUp = function (event) {\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n this.setActive(true);\n event.preventDefault();\n };\n Toggle.prototype.onDocumentPointerDown = function (e) {\n if (this.active) {\n if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n return;\n }\n this.setActive(false);\n }\n };\n Toggle.prototype.onDocumentPointerUp = function (e) {\n var _this = this;\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n if (this.active) {\n if (e.target.closest(\".col-menu\")) {\n var link = e.target.closest(\"a\");\n if (link) {\n var href = window.location.href;\n if (href.indexOf(\"#\") != -1) {\n href = href.substr(0, href.indexOf(\"#\"));\n }\n if (link.href.substr(0, href.length) == href) {\n setTimeout(function () { return _this.setActive(false); }, 250);\n }\n }\n }\n }\n };\n return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/services/Viewport.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n __extends(Viewport, _super);\n /**\n * Create new Viewport instance.\n */\n function Viewport() {\n var _this = _super.call(this) || this;\n /**\n * The current scroll position.\n */\n _this.scrollTop = 0;\n /**\n * The previous scrollTop.\n */\n _this.lastY = 0;\n /**\n * The width of the window.\n */\n _this.width = 0;\n /**\n * The height of the window.\n */\n _this.height = 0;\n /**\n * Boolean indicating whether the toolbar is shown.\n */\n _this.showToolbar = true;\n _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n _this.onResize();\n _this.onScroll();\n return _this;\n }\n /**\n * Trigger a resize event.\n */\n Viewport.prototype.triggerResize = function () {\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the size of the window has changed.\n */\n Viewport.prototype.onResize = function () {\n this.width = window.innerWidth || 0;\n this.height = window.innerHeight || 0;\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the user scrolled the viewport.\n */\n Viewport.prototype.onScroll = function () {\n this.scrollTop = window.scrollY || 0;\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: this.scrollTop,\n },\n });\n this.dispatchEvent(event);\n this.hideShowToolbar();\n };\n /**\n * Handle hiding/showing of the toolbar.\n */\n Viewport.prototype.hideShowToolbar = function () {\n var isShown = this.showToolbar;\n this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop <= 0;\n if (isShown !== this.showToolbar) {\n this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n }\n this.lastY = this.scrollTop;\n };\n Viewport.instance = new Viewport();\n return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/debounce.ts": +/*!*********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () { return fn(args); }, wait);\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/pointer.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */ \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */ \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */ \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */ \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */ \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */ \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */ \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */ \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n isPointerTouch = true;\n pointerDown = \"touchstart\";\n pointerMove = \"touchmove\";\n pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n isPointerDown = true;\n hasPointerMoved = false;\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n pointerDownPosition.y = t.pageY || 0;\n pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n if (!isPointerDown)\n return;\n if (!hasPointerMoved) {\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n var x = pointerDownPosition.x - (t.pageX || 0);\n var y = pointerDownPosition.y - (t.pageY || 0);\n hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n }\n});\ndocument.addEventListener(pointerUp, function () {\n isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n if (preventNextClick) {\n e.preventDefault();\n e.stopImmediatePropagation();\n preventNextClick = false;\n }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/trottle.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var time = Date.now();\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (time + wait - Date.now() < 0) {\n fn.apply(void 0, args);\n time = Date.now();\n }\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ // startup +/******/ // Load entry module +/******/ __webpack_require__("./default/assets/js/src/bootstrap.ts"); +/******/ // This entry module used 'exports' so it can't be inlined +/******/ })() +; \ No newline at end of file diff --git a/docs/v0.9.0/assets/js/search.js b/docs/v0.9.0/assets/js/search.js new file mode 100644 index 00000000..28f070f5 --- /dev/null +++ b/docs/v0.9.0/assets/js/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"2":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Transformers","url":"modules/Transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/Transformers.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.CreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/Transformers.html#applyAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/Transformers.html#factorOut","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/Transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/Transformers.html#mergeWithQuantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/Transformers.html#moveUpEmpty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/Transformers.html#nestedQuantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/Transformers.html#patternEdgeAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/Transformers.html#removeDeadBranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/Transformers.html#removeUnnecessaryAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/Transformers.html#replaceAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/Transformers.html#sortAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/Transformers.html#unionCharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":2,"name":"FAIterators","url":"modules/FAIterators.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"intersection","url":"modules/FAIterators.html#intersection","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":27,"kind":64,"name":"mapOut","url":"modules/FAIterators.html#mapOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":28,"kind":64,"name":"mapOutIter","url":"modules/FAIterators.html#mapOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":29,"kind":64,"name":"filterOutIter","url":"modules/FAIterators.html#filterOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":30,"kind":64,"name":"forEach","url":"modules/FAIterators.html#forEach","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":31,"kind":64,"name":"count","url":"modules/FAIterators.html#count","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":32,"kind":64,"name":"ensureStableOut","url":"modules/FAIterators.html#ensureStableOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":33,"kind":64,"name":"iterateStates","url":"modules/FAIterators.html#iterateStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":34,"kind":64,"name":"canReachFinal","url":"modules/FAIterators.html#canReachFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":35,"kind":64,"name":"hasCycle","url":"modules/FAIterators.html#hasCycle","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":36,"kind":64,"name":"languageIsFinite","url":"modules/FAIterators.html#languageIsFinite","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":37,"kind":64,"name":"makeInitialFinal","url":"modules/FAIterators.html#makeInitialFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":38,"kind":64,"name":"makeInitialNonFinal","url":"modules/FAIterators.html#makeInitialNonFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":39,"kind":64,"name":"shortestAcceptingPath","url":"modules/FAIterators.html#shortestAcceptingPath","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":40,"kind":64,"name":"makeDeterministic","url":"modules/FAIterators.html#makeDeterministic","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":41,"kind":128,"name":"MapFABuilder","url":"classes/FAIterators.MapFABuilder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"FAIterators"},{"id":42,"kind":512,"name":"constructor","url":"classes/FAIterators.MapFABuilder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":43,"kind":1024,"name":"initial","url":"classes/FAIterators.MapFABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":44,"kind":1024,"name":"finals","url":"classes/FAIterators.MapFABuilder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":45,"kind":2048,"name":"makeFinal","url":"classes/FAIterators.MapFABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":46,"kind":2048,"name":"isFinal","url":"classes/FAIterators.MapFABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":47,"kind":2048,"name":"createNode","url":"classes/FAIterators.MapFABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":48,"kind":2048,"name":"linkNodes","url":"classes/FAIterators.MapFABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":49,"kind":4194304,"name":"MapFABuilderNode","url":"modules/FAIterators.html#MapFABuilderNode","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":50,"kind":64,"name":"removeDeadStates","url":"modules/FAIterators.html#removeDeadStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":51,"kind":64,"name":"toDot","url":"modules/FAIterators.html#toDot","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":52,"kind":64,"name":"createSimpleToDotOptions","url":"modules/FAIterators.html#createSimpleToDotOptions","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":53,"kind":4194304,"name":"ToDotAttrs","url":"modules/FAIterators.html#ToDotAttrs","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":54,"kind":256,"name":"ToDotOptions","url":"interfaces/FAIterators.ToDotOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":55,"kind":2048,"name":"getEdgeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":56,"kind":2048,"name":"getGraphAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":57,"kind":2048,"name":"getNodeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":58,"kind":256,"name":"ToDotInfo","url":"interfaces/FAIterators.ToDotInfo.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":59,"kind":2048,"name":"isInitial","url":"interfaces/FAIterators.ToDotInfo.html#isInitial","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":60,"kind":2048,"name":"isFinal","url":"interfaces/FAIterators.ToDotInfo.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":61,"kind":2048,"name":"getId","url":"interfaces/FAIterators.ToDotInfo.html#getId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":62,"kind":2048,"name":"getNumberOfOutgoingEdges","url":"interfaces/FAIterators.ToDotInfo.html#getNumberOfOutgoingEdges","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":63,"kind":64,"name":"toRegex","url":"modules/FAIterators.html#toRegex","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":64,"kind":64,"name":"toString","url":"modules/FAIterators.html#toString","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":65,"kind":64,"name":"iterateWordSets","url":"modules/FAIterators.html#iterateWordSets","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":66,"kind":64,"name":"shortestWordSet","url":"modules/FAIterators.html#shortestWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":67,"kind":64,"name":"approximateRejectingWordSet","url":"modules/FAIterators.html#approximateRejectingWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":68,"kind":2,"name":"JS","url":"modules/JS.html","classes":"tsd-kind-namespace"},{"id":69,"kind":64,"name":"createAssertion","url":"modules/JS.html#createAssertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":70,"kind":4194304,"name":"BoundaryAssertion","url":"modules/JS.html#BoundaryAssertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":71,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/JS.WordBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":1024,"name":"kind","url":"interfaces/JS.WordBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":73,"kind":1024,"name":"negate","url":"interfaces/JS.WordBoundaryAssertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":74,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/JS.TextBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":75,"kind":1024,"name":"kind","url":"interfaces/JS.TextBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":76,"kind":64,"name":"createCharSet","url":"modules/JS.html#createCharSet","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":77,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/JS.html#PredefinedCharacterSet","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":78,"kind":256,"name":"AnyCharacterSet","url":"interfaces/JS.AnyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":1024,"name":"kind","url":"interfaces/JS.AnyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":80,"kind":256,"name":"DigitCharacterSet","url":"interfaces/JS.DigitCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":81,"kind":1024,"name":"kind","url":"interfaces/JS.DigitCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":82,"kind":1024,"name":"negate","url":"interfaces/JS.DigitCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":83,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/JS.PropertyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":84,"kind":1024,"name":"kind","url":"interfaces/JS.PropertyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":85,"kind":1024,"name":"key","url":"interfaces/JS.PropertyCharacterSet.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":86,"kind":1024,"name":"value","url":"interfaces/JS.PropertyCharacterSet.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":87,"kind":1024,"name":"negate","url":"interfaces/JS.PropertyCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":88,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/JS.SpaceCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":89,"kind":1024,"name":"kind","url":"interfaces/JS.SpaceCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":90,"kind":1024,"name":"negate","url":"interfaces/JS.SpaceCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":91,"kind":256,"name":"WordCharacterSet","url":"interfaces/JS.WordCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":92,"kind":1024,"name":"kind","url":"interfaces/JS.WordCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":93,"kind":1024,"name":"negate","url":"interfaces/JS.WordCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":94,"kind":64,"name":"toLiteral","url":"modules/JS.html#toLiteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":95,"kind":256,"name":"ToLiteralOptions","url":"interfaces/JS.ToLiteralOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":96,"kind":1024,"name":"flags","url":"interfaces/JS.ToLiteralOptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":97,"kind":1024,"name":"fastCharacters","url":"interfaces/JS.ToLiteralOptions.html#fastCharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":98,"kind":256,"name":"Flags","url":"interfaces/JS.Flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":99,"kind":1024,"name":"dotAll","url":"interfaces/JS.Flags.html#dotAll","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":100,"kind":1024,"name":"global","url":"interfaces/JS.Flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":101,"kind":1024,"name":"hasIndices","url":"interfaces/JS.Flags.html#hasIndices","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":102,"kind":1024,"name":"ignoreCase","url":"interfaces/JS.Flags.html#ignoreCase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":103,"kind":1024,"name":"multiline","url":"interfaces/JS.Flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":104,"kind":1024,"name":"sticky","url":"interfaces/JS.Flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":105,"kind":1024,"name":"unicode","url":"interfaces/JS.Flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":106,"kind":256,"name":"Literal","url":"interfaces/JS.Literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":107,"kind":1024,"name":"source","url":"interfaces/JS.Literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":108,"kind":1024,"name":"flags","url":"interfaces/JS.Literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":109,"kind":256,"name":"ParseOptions","url":"interfaces/JS.ParseOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":110,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/JS.ParseOptions.html#maxBackreferenceWords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":111,"kind":1024,"name":"backreferences","url":"interfaces/JS.ParseOptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":112,"kind":1024,"name":"assertions","url":"interfaces/JS.ParseOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":113,"kind":1024,"name":"simplify","url":"interfaces/JS.ParseOptions.html#simplify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":114,"kind":1024,"name":"maxNodes","url":"interfaces/JS.ParseOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":115,"kind":2048,"name":"getUnknownId","url":"interfaces/JS.ParseOptions.html#getUnknownId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":116,"kind":256,"name":"RegexppAst","url":"interfaces/JS.RegexppAst.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":117,"kind":1024,"name":"pattern","url":"interfaces/JS.RegexppAst.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":118,"kind":1024,"name":"flags","url":"interfaces/JS.RegexppAst.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":119,"kind":4194304,"name":"ParsableElement","url":"modules/JS.html#ParsableElement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":120,"kind":256,"name":"ParseResult","url":"interfaces/JS.ParseResult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":121,"kind":1024,"name":"expression","url":"interfaces/JS.ParseResult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":122,"kind":1024,"name":"maxCharacter","url":"interfaces/JS.ParseResult.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":123,"kind":128,"name":"Parser","url":"classes/JS.Parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":124,"kind":2048,"name":"fromLiteral","url":"classes/JS.Parser.html#fromLiteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":125,"kind":2048,"name":"fromAst","url":"classes/JS.Parser.html#fromAst","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":126,"kind":1024,"name":"literal","url":"classes/JS.Parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":127,"kind":1024,"name":"ast","url":"classes/JS.Parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":128,"kind":1024,"name":"maxCharacter","url":"classes/JS.Parser.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":129,"kind":2048,"name":"parse","url":"classes/JS.Parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":130,"kind":2048,"name":"parseElement","url":"classes/JS.Parser.html#parseElement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":131,"kind":2,"name":"Words","url":"modules/Words.html","classes":"tsd-kind-namespace"},{"id":132,"kind":64,"name":"fromUTF16ToString","url":"modules/Words.html#fromUTF16ToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":133,"kind":64,"name":"fromUnicodeToString","url":"modules/Words.html#fromUnicodeToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":134,"kind":64,"name":"fromStringToUTF16","url":"modules/Words.html#fromStringToUTF16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":135,"kind":64,"name":"fromStringToUnicode","url":"modules/Words.html#fromStringToUnicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":136,"kind":64,"name":"pickMostReadableCharacter","url":"modules/Words.html#pickMostReadableCharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":137,"kind":64,"name":"pickMostReadableWord","url":"modules/Words.html#pickMostReadableWord","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":138,"kind":64,"name":"wordSetsToWords","url":"modules/Words.html#wordSetsToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":139,"kind":64,"name":"wordSetToWords","url":"modules/Words.html#wordSetToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":140,"kind":256,"name":"SourceLocation","url":"interfaces/SourceLocation.html","classes":"tsd-kind-interface"},{"id":141,"kind":1024,"name":"start","url":"interfaces/SourceLocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":142,"kind":1024,"name":"end","url":"interfaces/SourceLocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":143,"kind":4194304,"name":"Element","url":"modules.html#Element","classes":"tsd-kind-type-alias"},{"id":144,"kind":4194304,"name":"Parent","url":"modules.html#Parent","classes":"tsd-kind-type-alias"},{"id":145,"kind":4194304,"name":"Node","url":"modules.html#Node","classes":"tsd-kind-type-alias"},{"id":146,"kind":256,"name":"Alternation","url":"interfaces/Alternation.html","classes":"tsd-kind-interface"},{"id":147,"kind":1024,"name":"type","url":"interfaces/Alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":148,"kind":1024,"name":"parent","url":"interfaces/Alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":149,"kind":1024,"name":"alternatives","url":"interfaces/Alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":150,"kind":1024,"name":"source","url":"interfaces/Alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Alternation"},{"id":151,"kind":256,"name":"Assertion","url":"interfaces/Assertion.html","classes":"tsd-kind-interface"},{"id":152,"kind":1024,"name":"type","url":"interfaces/Assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":153,"kind":1024,"name":"parent","url":"interfaces/Assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":154,"kind":1024,"name":"alternatives","url":"interfaces/Assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":155,"kind":1024,"name":"kind","url":"interfaces/Assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":156,"kind":1024,"name":"negate","url":"interfaces/Assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":157,"kind":1024,"name":"source","url":"interfaces/Assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Assertion"},{"id":158,"kind":256,"name":"Quantifier","url":"interfaces/Quantifier.html","classes":"tsd-kind-interface"},{"id":159,"kind":1024,"name":"type","url":"interfaces/Quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":160,"kind":1024,"name":"parent","url":"interfaces/Quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":161,"kind":1024,"name":"alternatives","url":"interfaces/Quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":162,"kind":1024,"name":"lazy","url":"interfaces/Quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":163,"kind":1024,"name":"min","url":"interfaces/Quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":164,"kind":1024,"name":"max","url":"interfaces/Quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":165,"kind":1024,"name":"source","url":"interfaces/Quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Quantifier"},{"id":166,"kind":256,"name":"CharacterClass","url":"interfaces/CharacterClass.html","classes":"tsd-kind-interface"},{"id":167,"kind":1024,"name":"type","url":"interfaces/CharacterClass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":168,"kind":1024,"name":"parent","url":"interfaces/CharacterClass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":169,"kind":1024,"name":"characters","url":"interfaces/CharacterClass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":170,"kind":1024,"name":"source","url":"interfaces/CharacterClass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CharacterClass"},{"id":171,"kind":256,"name":"Unknown","url":"interfaces/Unknown.html","classes":"tsd-kind-interface"},{"id":172,"kind":1024,"name":"type","url":"interfaces/Unknown.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":173,"kind":1024,"name":"parent","url":"interfaces/Unknown.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":174,"kind":1024,"name":"id","url":"interfaces/Unknown.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":175,"kind":1024,"name":"source","url":"interfaces/Unknown.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Unknown"},{"id":176,"kind":256,"name":"Expression","url":"interfaces/Expression.html","classes":"tsd-kind-interface"},{"id":177,"kind":1024,"name":"type","url":"interfaces/Expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":178,"kind":1024,"name":"parent","url":"interfaces/Expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":179,"kind":1024,"name":"alternatives","url":"interfaces/Expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":180,"kind":1024,"name":"source","url":"interfaces/Expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Expression"},{"id":181,"kind":256,"name":"Concatenation","url":"interfaces/Concatenation.html","classes":"tsd-kind-interface"},{"id":182,"kind":1024,"name":"type","url":"interfaces/Concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":183,"kind":1024,"name":"parent","url":"interfaces/Concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":184,"kind":1024,"name":"elements","url":"interfaces/Concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":185,"kind":1024,"name":"source","url":"interfaces/Concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Concatenation"},{"id":186,"kind":4194304,"name":"NoParent","url":"modules.html#NoParent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":187,"kind":64,"name":"setParent","url":"modules.html#setParent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":188,"kind":64,"name":"setSource","url":"modules.html#setSource","classes":"tsd-kind-function"},{"id":189,"kind":64,"name":"visitAst","url":"modules.html#visitAst","classes":"tsd-kind-function"},{"id":190,"kind":256,"name":"VisitAstHandler","url":"interfaces/VisitAstHandler.html","classes":"tsd-kind-interface"},{"id":191,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":192,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":193,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":194,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":195,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":196,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":197,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":198,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":199,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":200,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":201,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":202,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":203,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":204,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":205,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/VisitNoParentAstHandler.html","classes":"tsd-kind-interface"},{"id":206,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitNoParentAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":207,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitNoParentAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":208,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitNoParentAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":209,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitNoParentAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":210,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":211,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":212,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":213,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":214,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitNoParentAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":215,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitNoParentAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":216,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":217,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":218,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitNoParentAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":219,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitNoParentAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":220,"kind":64,"name":"combineTransformers","url":"modules.html#combineTransformers","classes":"tsd-kind-function"},{"id":221,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":222,"kind":256,"name":"Transformer","url":"interfaces/Transformer.html","classes":"tsd-kind-interface"},{"id":223,"kind":2048,"name":"onAlternation","url":"interfaces/Transformer.html#onAlternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":224,"kind":2048,"name":"onAssertion","url":"interfaces/Transformer.html#onAssertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":225,"kind":2048,"name":"onCharacterClass","url":"interfaces/Transformer.html#onCharacterClass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":226,"kind":2048,"name":"onConcatenation","url":"interfaces/Transformer.html#onConcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":227,"kind":2048,"name":"onExpression","url":"interfaces/Transformer.html#onExpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":228,"kind":2048,"name":"onQuantifier","url":"interfaces/Transformer.html#onQuantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":229,"kind":2048,"name":"onUnknown","url":"interfaces/Transformer.html#onUnknown","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":230,"kind":256,"name":"TransformContext","url":"interfaces/TransformContext.html","classes":"tsd-kind-interface"},{"id":231,"kind":1024,"name":"maxCharacter","url":"interfaces/TransformContext.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":232,"kind":2048,"name":"signalMutation","url":"interfaces/TransformContext.html#signalMutation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransformContext"},{"id":233,"kind":256,"name":"TransformOptions","url":"interfaces/TransformOptions.html","classes":"tsd-kind-interface"},{"id":234,"kind":1024,"name":"maxPasses","url":"interfaces/TransformOptions.html#maxPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":235,"kind":128,"name":"CharBase","url":"classes/CharBase.html","classes":"tsd-kind-class"},{"id":236,"kind":512,"name":"constructor","url":"classes/CharBase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"CharBase"},{"id":237,"kind":1024,"name":"sets","url":"classes/CharBase.html#sets","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharBase"},{"id":238,"kind":2048,"name":"split","url":"classes/CharBase.html#split","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharBase"},{"id":239,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/ReadonlyCharMap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":240,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyCharMap.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":241,"kind":2048,"name":"has","url":"interfaces/ReadonlyCharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":242,"kind":2048,"name":"hasEvery","url":"interfaces/ReadonlyCharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":243,"kind":2048,"name":"hasSome","url":"interfaces/ReadonlyCharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":244,"kind":2048,"name":"get","url":"interfaces/ReadonlyCharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":245,"kind":2048,"name":"forEach","url":"interfaces/ReadonlyCharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":246,"kind":2048,"name":"keys","url":"interfaces/ReadonlyCharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":247,"kind":2048,"name":"values","url":"interfaces/ReadonlyCharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":248,"kind":2048,"name":"entries","url":"interfaces/ReadonlyCharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":249,"kind":2048,"name":"invert","url":"interfaces/ReadonlyCharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":250,"kind":128,"name":"CharMap","url":"classes/CharMap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":251,"kind":512,"name":"constructor","url":"classes/CharMap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":252,"kind":262144,"name":"isEmpty","url":"classes/CharMap.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":253,"kind":2048,"name":"has","url":"classes/CharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":254,"kind":2048,"name":"hasEvery","url":"classes/CharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":255,"kind":2048,"name":"hasSome","url":"classes/CharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":256,"kind":2048,"name":"get","url":"classes/CharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":257,"kind":2048,"name":"set","url":"classes/CharMap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":258,"kind":2048,"name":"setRange","url":"classes/CharMap.html#setRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":259,"kind":2048,"name":"setCharSet","url":"classes/CharMap.html#setCharSet","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":260,"kind":2048,"name":"delete","url":"classes/CharMap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":261,"kind":2048,"name":"deleteRange","url":"classes/CharMap.html#deleteRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":262,"kind":2048,"name":"clear","url":"classes/CharMap.html#clear","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":263,"kind":2048,"name":"map","url":"classes/CharMap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":264,"kind":2048,"name":"mapRange","url":"classes/CharMap.html#mapRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":265,"kind":2048,"name":"filter","url":"classes/CharMap.html#filter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":266,"kind":2048,"name":"invert","url":"classes/CharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":267,"kind":2048,"name":"forEach","url":"classes/CharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":268,"kind":2048,"name":"keys","url":"classes/CharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":269,"kind":2048,"name":"values","url":"classes/CharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":270,"kind":2048,"name":"entries","url":"classes/CharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":271,"kind":2048,"name":"[Symbol.iterator]","url":"classes/CharMap.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":272,"kind":256,"name":"CharRange","url":"interfaces/CharRange.html","classes":"tsd-kind-interface"},{"id":273,"kind":1024,"name":"min","url":"interfaces/CharRange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":274,"kind":1024,"name":"max","url":"interfaces/CharRange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":275,"kind":128,"name":"CharSet","url":"classes/CharSet.html","classes":"tsd-kind-class"},{"id":276,"kind":2048,"name":"empty","url":"classes/CharSet.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":277,"kind":2048,"name":"all","url":"classes/CharSet.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":278,"kind":2048,"name":"fromCharacters","url":"classes/CharSet.html#fromCharacters","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":279,"kind":1024,"name":"maximum","url":"classes/CharSet.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":280,"kind":1024,"name":"ranges","url":"classes/CharSet.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":281,"kind":262144,"name":"isEmpty","url":"classes/CharSet.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":282,"kind":262144,"name":"isAll","url":"classes/CharSet.html#isAll","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":283,"kind":262144,"name":"size","url":"classes/CharSet.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":284,"kind":2048,"name":"characters","url":"classes/CharSet.html#characters","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":285,"kind":2048,"name":"toString","url":"classes/CharSet.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":286,"kind":2048,"name":"toRangesString","url":"classes/CharSet.html#toRangesString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":287,"kind":2048,"name":"equals","url":"classes/CharSet.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":288,"kind":2048,"name":"compare","url":"classes/CharSet.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":289,"kind":2048,"name":"negate","url":"classes/CharSet.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":290,"kind":2048,"name":"union","url":"classes/CharSet.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":291,"kind":2048,"name":"intersect","url":"classes/CharSet.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":292,"kind":2048,"name":"without","url":"classes/CharSet.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":293,"kind":2048,"name":"has","url":"classes/CharSet.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":294,"kind":2048,"name":"isSupersetOf","url":"classes/CharSet.html#isSupersetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":295,"kind":2048,"name":"isSubsetOf","url":"classes/CharSet.html#isSubsetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":296,"kind":2048,"name":"isDisjointWith","url":"classes/CharSet.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":297,"kind":2048,"name":"commonCharacter","url":"classes/CharSet.html#commonCharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":298,"kind":4194304,"name":"Char","url":"modules.html#Char","classes":"tsd-kind-type-alias"},{"id":299,"kind":4194304,"name":"Word","url":"modules.html#Word","classes":"tsd-kind-type-alias"},{"id":300,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#ReadonlyWord","classes":"tsd-kind-type-alias"},{"id":301,"kind":256,"name":"FiniteAutomaton","url":"interfaces/FiniteAutomaton.html","classes":"tsd-kind-interface"},{"id":302,"kind":1024,"name":"isEmpty","url":"interfaces/FiniteAutomaton.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":303,"kind":1024,"name":"isFinite","url":"interfaces/FiniteAutomaton.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":304,"kind":1024,"name":"maxCharacter","url":"interfaces/FiniteAutomaton.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":305,"kind":2048,"name":"test","url":"interfaces/FiniteAutomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":306,"kind":2048,"name":"words","url":"interfaces/FiniteAutomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":307,"kind":2048,"name":"wordSets","url":"interfaces/FiniteAutomaton.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":308,"kind":2048,"name":"toString","url":"interfaces/FiniteAutomaton.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":309,"kind":2048,"name":"toRegex","url":"interfaces/FiniteAutomaton.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":310,"kind":2048,"name":"toDot","url":"interfaces/FiniteAutomaton.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":311,"kind":256,"name":"FAIterator","url":"interfaces/FAIterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":312,"kind":1024,"name":"initial","url":"interfaces/FAIterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":313,"kind":2048,"name":"getOut","url":"interfaces/FAIterator.html#getOut","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":314,"kind":1024,"name":"stableOut","url":"interfaces/FAIterator.html#stableOut","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":315,"kind":2048,"name":"isFinal","url":"interfaces/FAIterator.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":316,"kind":256,"name":"FABuilder","url":"interfaces/FABuilder.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":317,"kind":1024,"name":"initial","url":"interfaces/FABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":318,"kind":2048,"name":"makeFinal","url":"interfaces/FABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":319,"kind":2048,"name":"isFinal","url":"interfaces/FABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":320,"kind":2048,"name":"createNode","url":"interfaces/FABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":321,"kind":2048,"name":"linkNodes","url":"interfaces/FABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":322,"kind":256,"name":"FACreationOptions","url":"interfaces/FACreationOptions.html","classes":"tsd-kind-interface"},{"id":323,"kind":1024,"name":"maxNodes","url":"interfaces/FACreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FACreationOptions"},{"id":324,"kind":4194304,"name":"TransitionIterator","url":"modules.html#TransitionIterator","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":325,"kind":256,"name":"TransitionIterable","url":"interfaces/TransitionIterable.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":326,"kind":1024,"name":"maxCharacter","url":"interfaces/TransitionIterable.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":327,"kind":2048,"name":"transitionIterator","url":"interfaces/TransitionIterable.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":328,"kind":256,"name":"ToRegexOptions","url":"interfaces/ToRegexOptions.html","classes":"tsd-kind-interface"},{"id":329,"kind":1024,"name":"maxNodes","url":"interfaces/ToRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":330,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/ToRegexOptions.html#maxOptimizationPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":331,"kind":256,"name":"ReadonlyDFA","url":"interfaces/ReadonlyDFA.html","classes":"tsd-kind-interface"},{"id":332,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyDFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":333,"kind":1024,"name":"options","url":"interfaces/ReadonlyDFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":334,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyDFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":335,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyDFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":336,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyDFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":337,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyDFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":338,"kind":2048,"name":"copy","url":"interfaces/ReadonlyDFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":339,"kind":2048,"name":"structurallyEqual","url":"interfaces/ReadonlyDFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":340,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyDFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":341,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyDFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":342,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyDFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":343,"kind":2048,"name":"test","url":"interfaces/ReadonlyDFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":344,"kind":2048,"name":"words","url":"interfaces/ReadonlyDFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":345,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyDFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":346,"kind":2048,"name":"toString","url":"interfaces/ReadonlyDFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":347,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyDFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":348,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyDFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":349,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyDFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":350,"kind":128,"name":"DFA","url":"classes/DFA.html","classes":"tsd-kind-class"},{"id":351,"kind":2048,"name":"fromIntersection","url":"classes/DFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":352,"kind":2048,"name":"empty","url":"classes/DFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":353,"kind":2048,"name":"all","url":"classes/DFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":354,"kind":2048,"name":"fromWords","url":"classes/DFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":355,"kind":2048,"name":"fromFA","url":"classes/DFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":356,"kind":2048,"name":"fromTransitionIterator","url":"classes/DFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":357,"kind":1024,"name":"nodes","url":"classes/DFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":358,"kind":1024,"name":"maxCharacter","url":"classes/DFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":359,"kind":262144,"name":"options","url":"classes/DFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":360,"kind":262144,"name":"isEmpty","url":"classes/DFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":361,"kind":262144,"name":"isFinite","url":"classes/DFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":362,"kind":2048,"name":"stateIterator","url":"classes/DFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":363,"kind":2048,"name":"transitionIterator","url":"classes/DFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":364,"kind":2048,"name":"test","url":"classes/DFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":365,"kind":2048,"name":"wordSets","url":"classes/DFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":366,"kind":2048,"name":"words","url":"classes/DFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":367,"kind":2048,"name":"toString","url":"classes/DFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":368,"kind":2048,"name":"toRegex","url":"classes/DFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":369,"kind":2048,"name":"toDot","url":"classes/DFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":370,"kind":2048,"name":"isDisjointWith","url":"classes/DFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":371,"kind":2048,"name":"getIntersectionWords","url":"classes/DFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":372,"kind":2048,"name":"getIntersectionWordSets","url":"classes/DFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":373,"kind":2048,"name":"copy","url":"classes/DFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":374,"kind":2048,"name":"structurallyEqual","url":"classes/DFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":375,"kind":2048,"name":"minimize","url":"classes/DFA.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":376,"kind":2048,"name":"complement","url":"classes/DFA.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":377,"kind":2048,"name":"prefixes","url":"classes/DFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":378,"kind":2,"name":"DFA","url":"modules/DFA.html","classes":"tsd-kind-namespace"},{"id":379,"kind":256,"name":"ReadonlyNode","url":"interfaces/DFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":380,"kind":1024,"name":"list","url":"interfaces/DFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":381,"kind":1024,"name":"out","url":"interfaces/DFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":382,"kind":256,"name":"Node","url":"interfaces/DFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":383,"kind":1024,"name":"list","url":"interfaces/DFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":384,"kind":1024,"name":"out","url":"interfaces/DFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":385,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/DFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":386,"kind":1024,"name":"initial","url":"interfaces/DFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":387,"kind":1024,"name":"finals","url":"interfaces/DFA.ReadonlyNodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":388,"kind":2048,"name":"count","url":"interfaces/DFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":389,"kind":128,"name":"NodeList","url":"classes/DFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":390,"kind":2048,"name":"withLimit","url":"classes/DFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA.NodeList"},{"id":391,"kind":512,"name":"constructor","url":"classes/DFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":392,"kind":1024,"name":"initial","url":"classes/DFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":393,"kind":1024,"name":"finals","url":"classes/DFA.NodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":394,"kind":2048,"name":"createNode","url":"classes/DFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":395,"kind":2048,"name":"linkNodes","url":"classes/DFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":396,"kind":2048,"name":"_uncheckedLinkNodesWithCharacter","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":397,"kind":2048,"name":"_uncheckedLinkNodesWithCharRange","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":398,"kind":2048,"name":"_uncheckedLinkNodesWithCharSet","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharSet","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":399,"kind":2048,"name":"unlinkNodes","url":"classes/DFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":400,"kind":2048,"name":"makeFinal","url":"classes/DFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":401,"kind":2048,"name":"isFinal","url":"classes/DFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":402,"kind":2048,"name":"removeUnreachable","url":"classes/DFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":403,"kind":2048,"name":"count","url":"classes/DFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":404,"kind":2048,"name":"[Symbol.iterator]","url":"classes/DFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":405,"kind":256,"name":"CreationOptions","url":"interfaces/DFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":406,"kind":1024,"name":"maxNodes","url":"interfaces/DFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.CreationOptions"},{"id":407,"kind":256,"name":"Options","url":"interfaces/DFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":408,"kind":1024,"name":"maxCharacter","url":"interfaces/DFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"},{"id":409,"kind":256,"name":"ReadonlyENFA","url":"interfaces/ReadonlyENFA.html","classes":"tsd-kind-interface"},{"id":410,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyENFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":411,"kind":1024,"name":"options","url":"interfaces/ReadonlyENFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":412,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":413,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyENFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":414,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyENFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":415,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyENFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":416,"kind":2048,"name":"copy","url":"interfaces/ReadonlyENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":417,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyENFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":418,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyENFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":419,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":420,"kind":2048,"name":"test","url":"interfaces/ReadonlyENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":421,"kind":2048,"name":"words","url":"interfaces/ReadonlyENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":422,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":423,"kind":2048,"name":"toString","url":"interfaces/ReadonlyENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":424,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":425,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":426,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":427,"kind":128,"name":"ENFA","url":"classes/ENFA.html","classes":"tsd-kind-class"},{"id":428,"kind":2048,"name":"empty","url":"classes/ENFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":429,"kind":2048,"name":"all","url":"classes/ENFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":430,"kind":2048,"name":"fromRegex","url":"classes/ENFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":431,"kind":2048,"name":"fromWords","url":"classes/ENFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":432,"kind":2048,"name":"fromFA","url":"classes/ENFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":433,"kind":2048,"name":"fromTransitionIterator","url":"classes/ENFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":434,"kind":1024,"name":"nodes","url":"classes/ENFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":435,"kind":1024,"name":"maxCharacter","url":"classes/ENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":436,"kind":262144,"name":"options","url":"classes/ENFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":437,"kind":262144,"name":"isEmpty","url":"classes/ENFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":438,"kind":262144,"name":"isFinite","url":"classes/ENFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":439,"kind":2048,"name":"stateIterator","url":"classes/ENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":440,"kind":2048,"name":"transitionIterator","url":"classes/ENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":441,"kind":2048,"name":"isDisjointWith","url":"classes/ENFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":442,"kind":2048,"name":"getIntersectionWords","url":"classes/ENFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":443,"kind":2048,"name":"getIntersectionWordSets","url":"classes/ENFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":444,"kind":2048,"name":"copy","url":"classes/ENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":445,"kind":2048,"name":"test","url":"classes/ENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":446,"kind":2048,"name":"wordSets","url":"classes/ENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":447,"kind":2048,"name":"words","url":"classes/ENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":448,"kind":2048,"name":"toString","url":"classes/ENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":449,"kind":2048,"name":"toRegex","url":"classes/ENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":450,"kind":2048,"name":"toDot","url":"classes/ENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":451,"kind":2048,"name":"append","url":"classes/ENFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":452,"kind":2048,"name":"prepend","url":"classes/ENFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":453,"kind":2048,"name":"union","url":"classes/ENFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":454,"kind":2048,"name":"quantify","url":"classes/ENFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":455,"kind":2048,"name":"prefixes","url":"classes/ENFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":456,"kind":2048,"name":"suffixes","url":"classes/ENFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":457,"kind":2,"name":"ENFA","url":"modules/ENFA.html","classes":"tsd-kind-namespace"},{"id":458,"kind":256,"name":"ReadonlyNode","url":"interfaces/ENFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":459,"kind":1024,"name":"list","url":"interfaces/ENFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":460,"kind":1024,"name":"out","url":"interfaces/ENFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":461,"kind":1024,"name":"in","url":"interfaces/ENFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":462,"kind":256,"name":"Node","url":"interfaces/ENFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":463,"kind":1024,"name":"list","url":"interfaces/ENFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":464,"kind":1024,"name":"out","url":"interfaces/ENFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":465,"kind":1024,"name":"in","url":"interfaces/ENFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":466,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/ENFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":467,"kind":1024,"name":"initial","url":"interfaces/ENFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":468,"kind":1024,"name":"final","url":"interfaces/ENFA.ReadonlyNodeList.html#final","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":469,"kind":2048,"name":"count","url":"interfaces/ENFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":470,"kind":128,"name":"NodeList","url":"classes/ENFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":471,"kind":2048,"name":"withLimit","url":"classes/ENFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":472,"kind":2048,"name":"resolveEpsilon","url":"classes/ENFA.NodeList.html#resolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":473,"kind":2048,"name":"unorderedResolveEpsilon","url":"classes/ENFA.NodeList.html#unorderedResolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":474,"kind":2048,"name":"reachableViaEpsilon","url":"classes/ENFA.NodeList.html#reachableViaEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":475,"kind":512,"name":"constructor","url":"classes/ENFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":476,"kind":1024,"name":"initial","url":"classes/ENFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":477,"kind":1024,"name":"final","url":"classes/ENFA.NodeList.html#final","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":478,"kind":2048,"name":"createNode","url":"classes/ENFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":479,"kind":2048,"name":"linkNodes","url":"classes/ENFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":480,"kind":2048,"name":"unlinkNodes","url":"classes/ENFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":481,"kind":2048,"name":"makeFinal","url":"classes/ENFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":482,"kind":2048,"name":"isFinal","url":"classes/ENFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":483,"kind":2048,"name":"removeUnreachable","url":"classes/ENFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":484,"kind":2048,"name":"normalize","url":"classes/ENFA.NodeList.html#normalize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":485,"kind":2048,"name":"count","url":"classes/ENFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":486,"kind":2048,"name":"[Symbol.iterator]","url":"classes/ENFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":487,"kind":256,"name":"CreationOptions","url":"interfaces/ENFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":488,"kind":1024,"name":"maxNodes","url":"interfaces/ENFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.CreationOptions"},{"id":489,"kind":256,"name":"Options","url":"interfaces/ENFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":490,"kind":1024,"name":"maxCharacter","url":"interfaces/ENFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.Options"},{"id":491,"kind":256,"name":"FromRegexOptions","url":"interfaces/ENFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":492,"kind":1024,"name":"assertions","url":"interfaces/ENFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":493,"kind":1024,"name":"unknowns","url":"interfaces/ENFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":494,"kind":1024,"name":"infinityThreshold","url":"interfaces/ENFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":495,"kind":1024,"name":"maxNodes","url":"interfaces/ENFA.FromRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ENFA.FromRegexOptions"},{"id":496,"kind":128,"name":"MaxCharacterError","url":"classes/MaxCharacterError.html","classes":"tsd-kind-class"},{"id":497,"kind":2048,"name":"assert","url":"classes/MaxCharacterError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"MaxCharacterError"},{"id":498,"kind":512,"name":"constructor","url":"classes/MaxCharacterError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"MaxCharacterError"},{"id":499,"kind":128,"name":"TooManyNodesError","url":"classes/TooManyNodesError.html","classes":"tsd-kind-class"},{"id":500,"kind":2048,"name":"assert","url":"classes/TooManyNodesError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"TooManyNodesError"},{"id":501,"kind":512,"name":"constructor","url":"classes/TooManyNodesError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"TooManyNodesError"},{"id":502,"kind":64,"name":"getIntersectionIterator","url":"modules.html#getIntersectionIterator","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":503,"kind":64,"name":"isDisjointWith","url":"modules.html#isDisjointWith","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":504,"kind":64,"name":"getIntersectionWordSets","url":"modules.html#getIntersectionWordSets","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":505,"kind":64,"name":"getIntersectionWords","url":"modules.html#getIntersectionWords","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":506,"kind":256,"name":"ReadonlyNFA","url":"interfaces/ReadonlyNFA.html","classes":"tsd-kind-interface"},{"id":507,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyNFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":508,"kind":1024,"name":"options","url":"interfaces/ReadonlyNFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":509,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyNFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":510,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyNFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":511,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyNFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":512,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyNFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":513,"kind":2048,"name":"copy","url":"interfaces/ReadonlyNFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":514,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyNFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":515,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyNFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":516,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyNFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":517,"kind":2048,"name":"test","url":"interfaces/ReadonlyNFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":518,"kind":2048,"name":"words","url":"interfaces/ReadonlyNFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":519,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyNFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":520,"kind":2048,"name":"toString","url":"interfaces/ReadonlyNFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":521,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyNFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":522,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyNFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":523,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyNFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":524,"kind":128,"name":"NFA","url":"classes/NFA.html","classes":"tsd-kind-class"},{"id":525,"kind":2048,"name":"fromIntersection","url":"classes/NFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":526,"kind":2048,"name":"empty","url":"classes/NFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":527,"kind":2048,"name":"all","url":"classes/NFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":528,"kind":2048,"name":"fromRegex","url":"classes/NFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":529,"kind":2048,"name":"fromWords","url":"classes/NFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":530,"kind":2048,"name":"fromFA","url":"classes/NFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":531,"kind":2048,"name":"fromTransitionIterator","url":"classes/NFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":532,"kind":1024,"name":"nodes","url":"classes/NFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":533,"kind":1024,"name":"maxCharacter","url":"classes/NFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":534,"kind":262144,"name":"options","url":"classes/NFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":535,"kind":262144,"name":"isEmpty","url":"classes/NFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":536,"kind":262144,"name":"isFinite","url":"classes/NFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":537,"kind":2048,"name":"stateIterator","url":"classes/NFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":538,"kind":2048,"name":"transitionIterator","url":"classes/NFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":539,"kind":2048,"name":"copy","url":"classes/NFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":540,"kind":2048,"name":"test","url":"classes/NFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":541,"kind":2048,"name":"wordSets","url":"classes/NFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":542,"kind":2048,"name":"words","url":"classes/NFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":543,"kind":2048,"name":"toString","url":"classes/NFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":544,"kind":2048,"name":"toRegex","url":"classes/NFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":545,"kind":2048,"name":"toDot","url":"classes/NFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":546,"kind":2048,"name":"isDisjointWith","url":"classes/NFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":547,"kind":2048,"name":"getIntersectionWords","url":"classes/NFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":548,"kind":2048,"name":"getIntersectionWordSets","url":"classes/NFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":549,"kind":2048,"name":"union","url":"classes/NFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":550,"kind":2048,"name":"append","url":"classes/NFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":551,"kind":2048,"name":"prepend","url":"classes/NFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":552,"kind":2048,"name":"quantify","url":"classes/NFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":553,"kind":2048,"name":"withoutEmptyWord","url":"classes/NFA.html#withoutEmptyWord","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":554,"kind":2048,"name":"prefixes","url":"classes/NFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":555,"kind":2048,"name":"suffixes","url":"classes/NFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":556,"kind":2048,"name":"reverse","url":"classes/NFA.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":557,"kind":2,"name":"NFA","url":"modules/NFA.html","classes":"tsd-kind-namespace"},{"id":558,"kind":256,"name":"ReadonlyNode","url":"interfaces/NFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":559,"kind":1024,"name":"list","url":"interfaces/NFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":560,"kind":1024,"name":"out","url":"interfaces/NFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":561,"kind":1024,"name":"in","url":"interfaces/NFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":562,"kind":256,"name":"Node","url":"interfaces/NFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":563,"kind":1024,"name":"list","url":"interfaces/NFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":564,"kind":1024,"name":"out","url":"interfaces/NFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":565,"kind":1024,"name":"in","url":"interfaces/NFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":566,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/NFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":567,"kind":1024,"name":"initial","url":"interfaces/NFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":568,"kind":1024,"name":"finals","url":"interfaces/NFA.ReadonlyNodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":569,"kind":2048,"name":"count","url":"interfaces/NFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":570,"kind":128,"name":"NodeList","url":"classes/NFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":571,"kind":2048,"name":"withLimit","url":"classes/NFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA.NodeList"},{"id":572,"kind":512,"name":"constructor","url":"classes/NFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":573,"kind":1024,"name":"initial","url":"classes/NFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":574,"kind":1024,"name":"finals","url":"classes/NFA.NodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":575,"kind":2048,"name":"createNode","url":"classes/NFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":576,"kind":2048,"name":"linkNodes","url":"classes/NFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":577,"kind":2048,"name":"unlinkNodes","url":"classes/NFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":578,"kind":2048,"name":"makeFinal","url":"classes/NFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":579,"kind":2048,"name":"isFinal","url":"classes/NFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":580,"kind":2048,"name":"removeUnreachable","url":"classes/NFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":581,"kind":2048,"name":"count","url":"classes/NFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":582,"kind":2048,"name":"[Symbol.iterator]","url":"classes/NFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":583,"kind":256,"name":"CreationOptions","url":"interfaces/NFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":584,"kind":1024,"name":"maxNodes","url":"interfaces/NFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.CreationOptions"},{"id":585,"kind":256,"name":"Options","url":"interfaces/NFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":586,"kind":1024,"name":"maxCharacter","url":"interfaces/NFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":587,"kind":256,"name":"FromRegexOptions","url":"interfaces/NFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":588,"kind":1024,"name":"assertions","url":"interfaces/NFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":589,"kind":1024,"name":"unknowns","url":"interfaces/NFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":590,"kind":1024,"name":"infinityThreshold","url":"interfaces/NFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":591,"kind":1024,"name":"maxNodes","url":"interfaces/NFA.FromRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"NFA.FromRegexOptions"},{"id":592,"kind":4194304,"name":"WordSet","url":"modules.html#WordSet","classes":"tsd-kind-type-alias"},{"id":593,"kind":4194304,"name":"ReadonlyWordSet","url":"modules.html#ReadonlyWordSet","classes":"tsd-kind-type-alias"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,35.852]],["parent/0",[]],["name/1",[1,48.845]],["parent/1",[0,3.433]],["name/2",[2,51.358]],["parent/2",[3,5.24]],["name/3",[4,51.358]],["parent/3",[3,5.24]],["name/4",[5,59.831]],["parent/4",[0,3.433]],["name/5",[6,59.831]],["parent/5",[0,3.433]],["name/6",[7,54.723]],["parent/6",[0,3.433]],["name/7",[8,59.831]],["parent/7",[0,3.433]],["name/8",[9,59.831]],["parent/8",[0,3.433]],["name/9",[10,59.831]],["parent/9",[0,3.433]],["name/10",[11,59.831]],["parent/10",[0,3.433]],["name/11",[12,59.831]],["parent/11",[0,3.433]],["name/12",[7,54.723]],["parent/12",[13,4.677]],["name/13",[14,59.831]],["parent/13",[13,4.677]],["name/14",[2,51.358]],["parent/14",[13,4.677]],["name/15",[4,51.358]],["parent/15",[13,4.677]],["name/16",[15,59.831]],["parent/16",[0,3.433]],["name/17",[16,59.831]],["parent/17",[0,3.433]],["name/18",[17,59.831]],["parent/18",[0,3.433]],["name/19",[18,59.831]],["parent/19",[0,3.433]],["name/20",[19,59.831]],["parent/20",[20,4.918]],["name/21",[2,51.358]],["parent/21",[20,4.918]],["name/22",[4,51.358]],["parent/22",[20,4.918]],["name/23",[21,59.831]],["parent/23",[0,3.433]],["name/24",[22,59.831]],["parent/24",[0,3.433]],["name/25",[23,30.042]],["parent/25",[]],["name/26",[24,59.831]],["parent/26",[23,2.877]],["name/27",[25,59.831]],["parent/27",[23,2.877]],["name/28",[26,59.831]],["parent/28",[23,2.877]],["name/29",[27,59.831]],["parent/29",[23,2.877]],["name/30",[28,51.358]],["parent/30",[23,2.877]],["name/31",[29,43.737]],["parent/31",[23,2.877]],["name/32",[30,59.831]],["parent/32",[23,2.877]],["name/33",[31,59.831]],["parent/33",[23,2.877]],["name/34",[32,59.831]],["parent/34",[23,2.877]],["name/35",[33,59.831]],["parent/35",[23,2.877]],["name/36",[34,59.831]],["parent/36",[23,2.877]],["name/37",[35,59.831]],["parent/37",[23,2.877]],["name/38",[36,59.831]],["parent/38",[23,2.877]],["name/39",[37,59.831]],["parent/39",[23,2.877]],["name/40",[38,59.831]],["parent/40",[23,2.877]],["name/41",[39,59.831]],["parent/41",[23,2.877]],["name/42",[40,42.485]],["parent/42",[41,4.188]],["name/43",[42,41.373]],["parent/43",[41,4.188]],["name/44",[43,46.838]],["parent/44",[41,4.188]],["name/45",[44,46.838]],["parent/45",[41,4.188]],["name/46",[45,43.737]],["parent/46",[41,4.188]],["name/47",[46,46.838]],["parent/47",[41,4.188]],["name/48",[47,46.838]],["parent/48",[41,4.188]],["name/49",[48,59.831]],["parent/49",[23,2.877]],["name/50",[49,59.831]],["parent/50",[23,2.877]],["name/51",[50,42.485]],["parent/51",[23,2.877]],["name/52",[51,59.831]],["parent/52",[23,2.877]],["name/53",[52,59.831]],["parent/53",[23,2.877]],["name/54",[53,59.831]],["parent/54",[23,2.877]],["name/55",[54,59.831]],["parent/55",[55,4.918]],["name/56",[56,59.831]],["parent/56",[55,4.918]],["name/57",[57,59.831]],["parent/57",[55,4.918]],["name/58",[58,59.831]],["parent/58",[23,2.877]],["name/59",[59,59.831]],["parent/59",[60,4.677]],["name/60",[45,43.737]],["parent/60",[60,4.677]],["name/61",[61,59.831]],["parent/61",[60,4.677]],["name/62",[62,59.831]],["parent/62",[60,4.677]],["name/63",[63,42.485]],["parent/63",[23,2.877]],["name/64",[64,41.373]],["parent/64",[23,2.877]],["name/65",[65,59.831]],["parent/65",[23,2.877]],["name/66",[66,59.831]],["parent/66",[23,2.877]],["name/67",[67,59.831]],["parent/67",[23,2.877]],["name/68",[68,33.205]],["parent/68",[]],["name/69",[69,59.831]],["parent/69",[68,3.18]],["name/70",[70,59.831]],["parent/70",[68,3.18]],["name/71",[71,59.831]],["parent/71",[68,3.18]],["name/72",[72,42.485]],["parent/72",[73,5.24]],["name/73",[74,43.737]],["parent/73",[73,5.24]],["name/74",[75,59.831]],["parent/74",[68,3.18]],["name/75",[72,42.485]],["parent/75",[76,5.729]],["name/76",[77,59.831]],["parent/76",[68,3.18]],["name/77",[78,59.831]],["parent/77",[68,3.18]],["name/78",[79,59.831]],["parent/78",[68,3.18]],["name/79",[72,42.485]],["parent/79",[80,5.729]],["name/80",[81,59.831]],["parent/80",[68,3.18]],["name/81",[72,42.485]],["parent/81",[82,5.24]],["name/82",[74,43.737]],["parent/82",[82,5.24]],["name/83",[83,59.831]],["parent/83",[68,3.18]],["name/84",[72,42.485]],["parent/84",[84,4.677]],["name/85",[85,59.831]],["parent/85",[84,4.677]],["name/86",[86,59.831]],["parent/86",[84,4.677]],["name/87",[74,43.737]],["parent/87",[84,4.677]],["name/88",[87,59.831]],["parent/88",[68,3.18]],["name/89",[72,42.485]],["parent/89",[88,5.24]],["name/90",[74,43.737]],["parent/90",[88,5.24]],["name/91",[89,59.831]],["parent/91",[68,3.18]],["name/92",[72,42.485]],["parent/92",[90,5.24]],["name/93",[74,43.737]],["parent/93",[90,5.24]],["name/94",[91,59.831]],["parent/94",[68,3.18]],["name/95",[92,59.831]],["parent/95",[68,3.18]],["name/96",[93,48.845]],["parent/96",[94,5.24]],["name/97",[95,59.831]],["parent/97",[94,5.24]],["name/98",[93,48.845]],["parent/98",[68,3.18]],["name/99",[96,59.831]],["parent/99",[97,4.188]],["name/100",[98,59.831]],["parent/100",[97,4.188]],["name/101",[99,59.831]],["parent/101",[97,4.188]],["name/102",[100,59.831]],["parent/102",[97,4.188]],["name/103",[101,59.831]],["parent/103",[97,4.188]],["name/104",[102,59.831]],["parent/104",[97,4.188]],["name/105",[103,59.831]],["parent/105",[97,4.188]],["name/106",[104,54.723]],["parent/106",[68,3.18]],["name/107",[105,42.485]],["parent/107",[106,5.24]],["name/108",[93,48.845]],["parent/108",[106,5.24]],["name/109",[107,59.831]],["parent/109",[68,3.18]],["name/110",[108,59.831]],["parent/110",[109,4.325]],["name/111",[110,59.831]],["parent/111",[109,4.325]],["name/112",[111,51.358]],["parent/112",[109,4.325]],["name/113",[112,59.831]],["parent/113",[109,4.325]],["name/114",[113,42.485]],["parent/114",[109,4.325]],["name/115",[114,59.831]],["parent/115",[109,4.325]],["name/116",[115,59.831]],["parent/116",[68,3.18]],["name/117",[116,59.831]],["parent/117",[117,5.24]],["name/118",[93,48.845]],["parent/118",[117,5.24]],["name/119",[118,59.831]],["parent/119",[68,3.18]],["name/120",[119,59.831]],["parent/120",[68,3.18]],["name/121",[120,45.168]],["parent/121",[121,5.24]],["name/122",[122,37.144]],["parent/122",[121,5.24]],["name/123",[123,59.831]],["parent/123",[68,3.18]],["name/124",[124,59.831]],["parent/124",[125,4.188]],["name/125",[126,59.831]],["parent/125",[125,4.188]],["name/126",[104,54.723]],["parent/126",[125,4.188]],["name/127",[127,59.831]],["parent/127",[125,4.188]],["name/128",[122,37.144]],["parent/128",[125,4.188]],["name/129",[128,59.831]],["parent/129",[125,4.188]],["name/130",[129,59.831]],["parent/130",[125,4.188]],["name/131",[130,35.852]],["parent/131",[]],["name/132",[131,59.831]],["parent/132",[130,3.433]],["name/133",[132,59.831]],["parent/133",[130,3.433]],["name/134",[133,59.831]],["parent/134",[130,3.433]],["name/135",[134,59.831]],["parent/135",[130,3.433]],["name/136",[135,59.831]],["parent/136",[130,3.433]],["name/137",[136,59.831]],["parent/137",[130,3.433]],["name/138",[137,59.831]],["parent/138",[130,3.433]],["name/139",[138,59.831]],["parent/139",[130,3.433]],["name/140",[139,51.358]],["parent/140",[]],["name/141",[140,59.831]],["parent/141",[139,4.918]],["name/142",[141,59.831]],["parent/142",[139,4.918]],["name/143",[142,59.831]],["parent/143",[]],["name/144",[143,42.485]],["parent/144",[]],["name/145",[144,48.845]],["parent/145",[]],["name/146",[145,46.838]],["parent/146",[]],["name/147",[146,43.737]],["parent/147",[145,4.485]],["name/148",[143,42.485]],["parent/148",[145,4.485]],["name/149",[147,48.845]],["parent/149",[145,4.485]],["name/150",[105,42.485]],["parent/150",[145,4.485]],["name/151",[148,43.737]],["parent/151",[]],["name/152",[146,43.737]],["parent/152",[148,4.188]],["name/153",[143,42.485]],["parent/153",[148,4.188]],["name/154",[147,48.845]],["parent/154",[148,4.188]],["name/155",[72,42.485]],["parent/155",[148,4.188]],["name/156",[74,43.737]],["parent/156",[148,4.188]],["name/157",[105,42.485]],["parent/157",[148,4.188]],["name/158",[149,42.485]],["parent/158",[]],["name/159",[146,43.737]],["parent/159",[149,4.068]],["name/160",[143,42.485]],["parent/160",[149,4.068]],["name/161",[147,48.845]],["parent/161",[149,4.068]],["name/162",[150,59.831]],["parent/162",[149,4.068]],["name/163",[151,54.723]],["parent/163",[149,4.068]],["name/164",[152,54.723]],["parent/164",[149,4.068]],["name/165",[105,42.485]],["parent/165",[149,4.068]],["name/166",[153,46.838]],["parent/166",[]],["name/167",[146,43.737]],["parent/167",[153,4.485]],["name/168",[143,42.485]],["parent/168",[153,4.485]],["name/169",[154,54.723]],["parent/169",[153,4.485]],["name/170",[105,42.485]],["parent/170",[153,4.485]],["name/171",[155,46.838]],["parent/171",[]],["name/172",[146,43.737]],["parent/172",[155,4.485]],["name/173",[143,42.485]],["parent/173",[155,4.485]],["name/174",[156,59.831]],["parent/174",[155,4.485]],["name/175",[105,42.485]],["parent/175",[155,4.485]],["name/176",[120,45.168]],["parent/176",[]],["name/177",[146,43.737]],["parent/177",[120,4.325]],["name/178",[143,42.485]],["parent/178",[120,4.325]],["name/179",[147,48.845]],["parent/179",[120,4.325]],["name/180",[105,42.485]],["parent/180",[120,4.325]],["name/181",[157,46.838]],["parent/181",[]],["name/182",[146,43.737]],["parent/182",[157,4.485]],["name/183",[143,42.485]],["parent/183",[157,4.485]],["name/184",[158,59.831]],["parent/184",[157,4.485]],["name/185",[105,42.485]],["parent/185",[157,4.485]],["name/186",[159,59.831]],["parent/186",[]],["name/187",[160,59.831]],["parent/187",[]],["name/188",[161,59.831]],["parent/188",[]],["name/189",[162,59.831]],["parent/189",[]],["name/190",[163,36.477]],["parent/190",[]],["name/191",[164,54.723]],["parent/191",[163,3.493]],["name/192",[165,54.723]],["parent/192",[163,3.493]],["name/193",[166,54.723]],["parent/193",[163,3.493]],["name/194",[167,54.723]],["parent/194",[163,3.493]],["name/195",[168,54.723]],["parent/195",[163,3.493]],["name/196",[169,54.723]],["parent/196",[163,3.493]],["name/197",[170,54.723]],["parent/197",[163,3.493]],["name/198",[171,54.723]],["parent/198",[163,3.493]],["name/199",[172,54.723]],["parent/199",[163,3.493]],["name/200",[173,54.723]],["parent/200",[163,3.493]],["name/201",[174,54.723]],["parent/201",[163,3.493]],["name/202",[175,54.723]],["parent/202",[163,3.493]],["name/203",[176,54.723]],["parent/203",[163,3.493]],["name/204",[177,54.723]],["parent/204",[163,3.493]],["name/205",[178,36.477]],["parent/205",[]],["name/206",[164,54.723]],["parent/206",[178,3.493]],["name/207",[165,54.723]],["parent/207",[178,3.493]],["name/208",[166,54.723]],["parent/208",[178,3.493]],["name/209",[167,54.723]],["parent/209",[178,3.493]],["name/210",[168,54.723]],["parent/210",[178,3.493]],["name/211",[169,54.723]],["parent/211",[178,3.493]],["name/212",[170,54.723]],["parent/212",[178,3.493]],["name/213",[171,54.723]],["parent/213",[178,3.493]],["name/214",[172,54.723]],["parent/214",[178,3.493]],["name/215",[173,54.723]],["parent/215",[178,3.493]],["name/216",[174,54.723]],["parent/216",[178,3.493]],["name/217",[175,54.723]],["parent/217",[178,3.493]],["name/218",[176,54.723]],["parent/218",[178,3.493]],["name/219",[177,54.723]],["parent/219",[178,3.493]],["name/220",[179,59.831]],["parent/220",[]],["name/221",[180,59.831]],["parent/221",[]],["name/222",[181,42.485]],["parent/222",[]],["name/223",[182,59.831]],["parent/223",[181,4.068]],["name/224",[183,59.831]],["parent/224",[181,4.068]],["name/225",[184,59.831]],["parent/225",[181,4.068]],["name/226",[185,59.831]],["parent/226",[181,4.068]],["name/227",[186,59.831]],["parent/227",[181,4.068]],["name/228",[187,59.831]],["parent/228",[181,4.068]],["name/229",[188,59.831]],["parent/229",[181,4.068]],["name/230",[189,51.358]],["parent/230",[]],["name/231",[122,37.144]],["parent/231",[189,4.918]],["name/232",[190,59.831]],["parent/232",[189,4.918]],["name/233",[191,54.723]],["parent/233",[]],["name/234",[192,59.831]],["parent/234",[191,5.24]],["name/235",[193,48.845]],["parent/235",[]],["name/236",[40,42.485]],["parent/236",[193,4.677]],["name/237",[194,59.831]],["parent/237",[193,4.677]],["name/238",[195,59.831]],["parent/238",[193,4.677]],["name/239",[196,39.462]],["parent/239",[]],["name/240",[197,40.372]],["parent/240",[196,3.779]],["name/241",[198,51.358]],["parent/241",[196,3.779]],["name/242",[199,54.723]],["parent/242",[196,3.779]],["name/243",[200,54.723]],["parent/243",[196,3.779]],["name/244",[201,54.723]],["parent/244",[196,3.779]],["name/245",[28,51.358]],["parent/245",[196,3.779]],["name/246",[202,54.723]],["parent/246",[196,3.779]],["name/247",[203,54.723]],["parent/247",[196,3.779]],["name/248",[204,54.723]],["parent/248",[196,3.779]],["name/249",[205,54.723]],["parent/249",[196,3.779]],["name/250",[206,32.75]],["parent/250",[]],["name/251",[40,42.485]],["parent/251",[206,3.136]],["name/252",[197,40.372]],["parent/252",[206,3.136]],["name/253",[198,51.358]],["parent/253",[206,3.136]],["name/254",[199,54.723]],["parent/254",[206,3.136]],["name/255",[200,54.723]],["parent/255",[206,3.136]],["name/256",[201,54.723]],["parent/256",[206,3.136]],["name/257",[207,59.831]],["parent/257",[206,3.136]],["name/258",[208,59.831]],["parent/258",[206,3.136]],["name/259",[209,59.831]],["parent/259",[206,3.136]],["name/260",[210,59.831]],["parent/260",[206,3.136]],["name/261",[211,59.831]],["parent/261",[206,3.136]],["name/262",[212,59.831]],["parent/262",[206,3.136]],["name/263",[213,59.831]],["parent/263",[206,3.136]],["name/264",[214,59.831]],["parent/264",[206,3.136]],["name/265",[215,59.831]],["parent/265",[206,3.136]],["name/266",[205,54.723]],["parent/266",[206,3.136]],["name/267",[28,51.358]],["parent/267",[206,3.136]],["name/268",[202,54.723]],["parent/268",[206,3.136]],["name/269",[203,54.723]],["parent/269",[206,3.136]],["name/270",[204,54.723]],["parent/270",[206,3.136]],["name/271",[216,48.845]],["parent/271",[206,3.136]],["name/272",[217,51.358]],["parent/272",[]],["name/273",[151,54.723]],["parent/273",[217,4.918]],["name/274",[152,54.723]],["parent/274",[217,4.918]],["name/275",[218,32.316]],["parent/275",[]],["name/276",[219,48.845]],["parent/276",[218,3.095]],["name/277",[220,48.845]],["parent/277",[218,3.095]],["name/278",[221,59.831]],["parent/278",[218,3.095]],["name/279",[222,59.831]],["parent/279",[218,3.095]],["name/280",[223,59.831]],["parent/280",[218,3.095]],["name/281",[197,40.372]],["parent/281",[218,3.095]],["name/282",[224,59.831]],["parent/282",[218,3.095]],["name/283",[225,59.831]],["parent/283",[218,3.095]],["name/284",[154,54.723]],["parent/284",[218,3.095]],["name/285",[64,41.373]],["parent/285",[218,3.095]],["name/286",[226,59.831]],["parent/286",[218,3.095]],["name/287",[227,59.831]],["parent/287",[218,3.095]],["name/288",[228,59.831]],["parent/288",[218,3.095]],["name/289",[74,43.737]],["parent/289",[218,3.095]],["name/290",[229,51.358]],["parent/290",[218,3.095]],["name/291",[230,59.831]],["parent/291",[218,3.095]],["name/292",[231,59.831]],["parent/292",[218,3.095]],["name/293",[198,51.358]],["parent/293",[218,3.095]],["name/294",[232,59.831]],["parent/294",[218,3.095]],["name/295",[233,59.831]],["parent/295",[218,3.095]],["name/296",[234,42.485]],["parent/296",[218,3.095]],["name/297",[235,59.831]],["parent/297",[218,3.095]],["name/298",[236,59.831]],["parent/298",[]],["name/299",[237,59.831]],["parent/299",[]],["name/300",[238,59.831]],["parent/300",[]],["name/301",[239,40.372]],["parent/301",[]],["name/302",[197,40.372]],["parent/302",[239,3.866]],["name/303",[240,43.737]],["parent/303",[239,3.866]],["name/304",[122,37.144]],["parent/304",[239,3.866]],["name/305",[241,43.737]],["parent/305",[239,3.866]],["name/306",[130,35.852]],["parent/306",[239,3.866]],["name/307",[242,43.737]],["parent/307",[239,3.866]],["name/308",[64,41.373]],["parent/308",[239,3.866]],["name/309",[63,42.485]],["parent/309",[239,3.866]],["name/310",[50,42.485]],["parent/310",[239,3.866]],["name/311",[243,46.838]],["parent/311",[]],["name/312",[42,41.373]],["parent/312",[243,4.485]],["name/313",[244,59.831]],["parent/313",[243,4.485]],["name/314",[245,59.831]],["parent/314",[243,4.485]],["name/315",[45,43.737]],["parent/315",[243,4.485]],["name/316",[246,45.168]],["parent/316",[]],["name/317",[42,41.373]],["parent/317",[246,4.325]],["name/318",[44,46.838]],["parent/318",[246,4.325]],["name/319",[45,43.737]],["parent/319",[246,4.325]],["name/320",[46,46.838]],["parent/320",[246,4.325]],["name/321",[47,46.838]],["parent/321",[246,4.325]],["name/322",[247,54.723]],["parent/322",[]],["name/323",[113,42.485]],["parent/323",[247,5.24]],["name/324",[248,42.485]],["parent/324",[]],["name/325",[249,51.358]],["parent/325",[]],["name/326",[122,37.144]],["parent/326",[249,4.918]],["name/327",[248,42.485]],["parent/327",[249,4.918]],["name/328",[250,51.358]],["parent/328",[]],["name/329",[113,42.485]],["parent/329",[250,4.918]],["name/330",[251,59.831]],["parent/330",[250,4.918]],["name/331",[252,34.181]],["parent/331",[]],["name/332",[253,45.168]],["parent/332",[252,3.273]],["name/333",[254,41.373]],["parent/333",[252,3.273]],["name/334",[255,45.168]],["parent/334",[252,3.273]],["name/335",[234,42.485]],["parent/335",[252,3.273]],["name/336",[256,43.737]],["parent/336",[252,3.273]],["name/337",[257,43.737]],["parent/337",[252,3.273]],["name/338",[258,45.168]],["parent/338",[252,3.273]],["name/339",[259,54.723]],["parent/339",[252,3.273]],["name/340",[197,40.372]],["parent/340",[252,3.273]],["name/341",[240,43.737]],["parent/341",[252,3.273]],["name/342",[122,37.144]],["parent/342",[252,3.273]],["name/343",[241,43.737]],["parent/343",[252,3.273]],["name/344",[130,35.852]],["parent/344",[252,3.273]],["name/345",[242,43.737]],["parent/345",[252,3.273]],["name/346",[64,41.373]],["parent/346",[252,3.273]],["name/347",[63,42.485]],["parent/347",[252,3.273]],["name/348",[50,42.485]],["parent/348",[252,3.273]],["name/349",[248,42.485]],["parent/349",[252,3.273]],["name/350",[260,28.19]],["parent/350",[]],["name/351",[261,54.723]],["parent/351",[260,2.7]],["name/352",[219,48.845]],["parent/352",[260,2.7]],["name/353",[220,48.845]],["parent/353",[260,2.7]],["name/354",[262,51.358]],["parent/354",[260,2.7]],["name/355",[263,51.358]],["parent/355",[260,2.7]],["name/356",[264,51.358]],["parent/356",[260,2.7]],["name/357",[253,45.168]],["parent/357",[260,2.7]],["name/358",[122,37.144]],["parent/358",[260,2.7]],["name/359",[254,41.373]],["parent/359",[260,2.7]],["name/360",[197,40.372]],["parent/360",[260,2.7]],["name/361",[240,43.737]],["parent/361",[260,2.7]],["name/362",[255,45.168]],["parent/362",[260,2.7]],["name/363",[248,42.485]],["parent/363",[260,2.7]],["name/364",[241,43.737]],["parent/364",[260,2.7]],["name/365",[242,43.737]],["parent/365",[260,2.7]],["name/366",[130,35.852]],["parent/366",[260,2.7]],["name/367",[64,41.373]],["parent/367",[260,2.7]],["name/368",[63,42.485]],["parent/368",[260,2.7]],["name/369",[50,42.485]],["parent/369",[260,2.7]],["name/370",[234,42.485]],["parent/370",[260,2.7]],["name/371",[256,43.737]],["parent/371",[260,2.7]],["name/372",[257,43.737]],["parent/372",[260,2.7]],["name/373",[258,45.168]],["parent/373",[260,2.7]],["name/374",[259,54.723]],["parent/374",[260,2.7]],["name/375",[265,59.831]],["parent/375",[260,2.7]],["name/376",[266,59.831]],["parent/376",[260,2.7]],["name/377",[267,51.358]],["parent/377",[260,2.7]],["name/378",[260,28.19]],["parent/378",[]],["name/379",[268,51.358]],["parent/379",[260,2.7]],["name/380",[269,45.168]],["parent/380",[270,5.24]],["name/381",[271,45.168]],["parent/381",[270,5.24]],["name/382",[144,48.845]],["parent/382",[260,2.7]],["name/383",[269,45.168]],["parent/383",[272,5.24]],["name/384",[271,45.168]],["parent/384",[272,5.24]],["name/385",[273,51.358]],["parent/385",[260,2.7]],["name/386",[42,41.373]],["parent/386",[274,4.918]],["name/387",[43,46.838]],["parent/387",[274,4.918]],["name/388",[29,43.737]],["parent/388",[274,4.918]],["name/389",[275,51.358]],["parent/389",[260,2.7]],["name/390",[276,51.358]],["parent/390",[277,3.493]],["name/391",[40,42.485]],["parent/391",[277,3.493]],["name/392",[42,41.373]],["parent/392",[277,3.493]],["name/393",[43,46.838]],["parent/393",[277,3.493]],["name/394",[46,46.838]],["parent/394",[277,3.493]],["name/395",[47,46.838]],["parent/395",[277,3.493]],["name/396",[278,59.831]],["parent/396",[277,3.493]],["name/397",[279,59.831]],["parent/397",[277,3.493]],["name/398",[280,59.831]],["parent/398",[277,3.493]],["name/399",[281,51.358]],["parent/399",[277,3.493]],["name/400",[44,46.838]],["parent/400",[277,3.493]],["name/401",[45,43.737]],["parent/401",[277,3.493]],["name/402",[282,51.358]],["parent/402",[277,3.493]],["name/403",[29,43.737]],["parent/403",[277,3.493]],["name/404",[216,48.845]],["parent/404",[277,3.493]],["name/405",[1,48.845]],["parent/405",[260,2.7]],["name/406",[113,42.485]],["parent/406",[283,5.729]],["name/407",[254,41.373]],["parent/407",[260,2.7]],["name/408",[122,37.144]],["parent/408",[284,5.729]],["name/409",[285,34.708]],["parent/409",[]],["name/410",[253,45.168]],["parent/410",[285,3.324]],["name/411",[254,41.373]],["parent/411",[285,3.324]],["name/412",[255,45.168]],["parent/412",[285,3.324]],["name/413",[234,42.485]],["parent/413",[285,3.324]],["name/414",[256,43.737]],["parent/414",[285,3.324]],["name/415",[257,43.737]],["parent/415",[285,3.324]],["name/416",[258,45.168]],["parent/416",[285,3.324]],["name/417",[197,40.372]],["parent/417",[285,3.324]],["name/418",[240,43.737]],["parent/418",[285,3.324]],["name/419",[122,37.144]],["parent/419",[285,3.324]],["name/420",[241,43.737]],["parent/420",[285,3.324]],["name/421",[130,35.852]],["parent/421",[285,3.324]],["name/422",[242,43.737]],["parent/422",[285,3.324]],["name/423",[64,41.373]],["parent/423",[285,3.324]],["name/424",[63,42.485]],["parent/424",[285,3.324]],["name/425",[50,42.485]],["parent/425",[285,3.324]],["name/426",[248,42.485]],["parent/426",[285,3.324]],["name/427",[286,27.379]],["parent/427",[]],["name/428",[219,48.845]],["parent/428",[286,2.622]],["name/429",[220,48.845]],["parent/429",[286,2.622]],["name/430",[287,54.723]],["parent/430",[286,2.622]],["name/431",[262,51.358]],["parent/431",[286,2.622]],["name/432",[263,51.358]],["parent/432",[286,2.622]],["name/433",[264,51.358]],["parent/433",[286,2.622]],["name/434",[253,45.168]],["parent/434",[286,2.622]],["name/435",[122,37.144]],["parent/435",[286,2.622]],["name/436",[254,41.373]],["parent/436",[286,2.622]],["name/437",[197,40.372]],["parent/437",[286,2.622]],["name/438",[240,43.737]],["parent/438",[286,2.622]],["name/439",[255,45.168]],["parent/439",[286,2.622]],["name/440",[248,42.485]],["parent/440",[286,2.622]],["name/441",[234,42.485]],["parent/441",[286,2.622]],["name/442",[256,43.737]],["parent/442",[286,2.622]],["name/443",[257,43.737]],["parent/443",[286,2.622]],["name/444",[258,45.168]],["parent/444",[286,2.622]],["name/445",[241,43.737]],["parent/445",[286,2.622]],["name/446",[242,43.737]],["parent/446",[286,2.622]],["name/447",[130,35.852]],["parent/447",[286,2.622]],["name/448",[64,41.373]],["parent/448",[286,2.622]],["name/449",[63,42.485]],["parent/449",[286,2.622]],["name/450",[50,42.485]],["parent/450",[286,2.622]],["name/451",[288,54.723]],["parent/451",[286,2.622]],["name/452",[289,54.723]],["parent/452",[286,2.622]],["name/453",[229,51.358]],["parent/453",[286,2.622]],["name/454",[290,54.723]],["parent/454",[286,2.622]],["name/455",[267,51.358]],["parent/455",[286,2.622]],["name/456",[291,54.723]],["parent/456",[286,2.622]],["name/457",[286,27.379]],["parent/457",[]],["name/458",[268,51.358]],["parent/458",[286,2.622]],["name/459",[269,45.168]],["parent/459",[292,4.918]],["name/460",[271,45.168]],["parent/460",[292,4.918]],["name/461",[293,48.845]],["parent/461",[292,4.918]],["name/462",[144,48.845]],["parent/462",[286,2.622]],["name/463",[269,45.168]],["parent/463",[294,4.918]],["name/464",[271,45.168]],["parent/464",[294,4.918]],["name/465",[293,48.845]],["parent/465",[294,4.918]],["name/466",[273,51.358]],["parent/466",[286,2.622]],["name/467",[42,41.373]],["parent/467",[295,4.918]],["name/468",[296,54.723]],["parent/468",[295,4.918]],["name/469",[29,43.737]],["parent/469",[295,4.918]],["name/470",[275,51.358]],["parent/470",[286,2.622]],["name/471",[276,51.358]],["parent/471",[297,3.433]],["name/472",[298,59.831]],["parent/472",[297,3.433]],["name/473",[299,59.831]],["parent/473",[297,3.433]],["name/474",[300,59.831]],["parent/474",[297,3.433]],["name/475",[40,42.485]],["parent/475",[297,3.433]],["name/476",[42,41.373]],["parent/476",[297,3.433]],["name/477",[296,54.723]],["parent/477",[297,3.433]],["name/478",[46,46.838]],["parent/478",[297,3.433]],["name/479",[47,46.838]],["parent/479",[297,3.433]],["name/480",[281,51.358]],["parent/480",[297,3.433]],["name/481",[44,46.838]],["parent/481",[297,3.433]],["name/482",[45,43.737]],["parent/482",[297,3.433]],["name/483",[282,51.358]],["parent/483",[297,3.433]],["name/484",[301,59.831]],["parent/484",[297,3.433]],["name/485",[29,43.737]],["parent/485",[297,3.433]],["name/486",[216,48.845]],["parent/486",[297,3.433]],["name/487",[1,48.845]],["parent/487",[286,2.622]],["name/488",[113,42.485]],["parent/488",[302,5.729]],["name/489",[254,41.373]],["parent/489",[286,2.622]],["name/490",[122,37.144]],["parent/490",[303,5.729]],["name/491",[304,54.723]],["parent/491",[286,2.622]],["name/492",[111,51.358]],["parent/492",[305,4.677]],["name/493",[306,54.723]],["parent/493",[305,4.677]],["name/494",[307,54.723]],["parent/494",[305,4.677]],["name/495",[113,42.485]],["parent/495",[305,4.677]],["name/496",[308,51.358]],["parent/496",[]],["name/497",[309,54.723]],["parent/497",[308,4.918]],["name/498",[40,42.485]],["parent/498",[308,4.918]],["name/499",[310,51.358]],["parent/499",[]],["name/500",[309,54.723]],["parent/500",[310,4.918]],["name/501",[40,42.485]],["parent/501",[310,4.918]],["name/502",[311,59.831]],["parent/502",[]],["name/503",[234,42.485]],["parent/503",[]],["name/504",[257,43.737]],["parent/504",[]],["name/505",[256,43.737]],["parent/505",[]],["name/506",[312,34.708]],["parent/506",[]],["name/507",[253,45.168]],["parent/507",[312,3.324]],["name/508",[254,41.373]],["parent/508",[312,3.324]],["name/509",[255,45.168]],["parent/509",[312,3.324]],["name/510",[234,42.485]],["parent/510",[312,3.324]],["name/511",[256,43.737]],["parent/511",[312,3.324]],["name/512",[257,43.737]],["parent/512",[312,3.324]],["name/513",[258,45.168]],["parent/513",[312,3.324]],["name/514",[197,40.372]],["parent/514",[312,3.324]],["name/515",[240,43.737]],["parent/515",[312,3.324]],["name/516",[122,37.144]],["parent/516",[312,3.324]],["name/517",[241,43.737]],["parent/517",[312,3.324]],["name/518",[130,35.852]],["parent/518",[312,3.324]],["name/519",[242,43.737]],["parent/519",[312,3.324]],["name/520",[64,41.373]],["parent/520",[312,3.324]],["name/521",[63,42.485]],["parent/521",[312,3.324]],["name/522",[50,42.485]],["parent/522",[312,3.324]],["name/523",[248,42.485]],["parent/523",[312,3.324]],["name/524",[313,26.629]],["parent/524",[]],["name/525",[261,54.723]],["parent/525",[313,2.55]],["name/526",[219,48.845]],["parent/526",[313,2.55]],["name/527",[220,48.845]],["parent/527",[313,2.55]],["name/528",[287,54.723]],["parent/528",[313,2.55]],["name/529",[262,51.358]],["parent/529",[313,2.55]],["name/530",[263,51.358]],["parent/530",[313,2.55]],["name/531",[264,51.358]],["parent/531",[313,2.55]],["name/532",[253,45.168]],["parent/532",[313,2.55]],["name/533",[122,37.144]],["parent/533",[313,2.55]],["name/534",[254,41.373]],["parent/534",[313,2.55]],["name/535",[197,40.372]],["parent/535",[313,2.55]],["name/536",[240,43.737]],["parent/536",[313,2.55]],["name/537",[255,45.168]],["parent/537",[313,2.55]],["name/538",[248,42.485]],["parent/538",[313,2.55]],["name/539",[258,45.168]],["parent/539",[313,2.55]],["name/540",[241,43.737]],["parent/540",[313,2.55]],["name/541",[242,43.737]],["parent/541",[313,2.55]],["name/542",[130,35.852]],["parent/542",[313,2.55]],["name/543",[64,41.373]],["parent/543",[313,2.55]],["name/544",[63,42.485]],["parent/544",[313,2.55]],["name/545",[50,42.485]],["parent/545",[313,2.55]],["name/546",[234,42.485]],["parent/546",[313,2.55]],["name/547",[256,43.737]],["parent/547",[313,2.55]],["name/548",[257,43.737]],["parent/548",[313,2.55]],["name/549",[229,51.358]],["parent/549",[313,2.55]],["name/550",[288,54.723]],["parent/550",[313,2.55]],["name/551",[289,54.723]],["parent/551",[313,2.55]],["name/552",[290,54.723]],["parent/552",[313,2.55]],["name/553",[314,59.831]],["parent/553",[313,2.55]],["name/554",[267,51.358]],["parent/554",[313,2.55]],["name/555",[291,54.723]],["parent/555",[313,2.55]],["name/556",[315,59.831]],["parent/556",[313,2.55]],["name/557",[313,26.629]],["parent/557",[]],["name/558",[268,51.358]],["parent/558",[313,2.55]],["name/559",[269,45.168]],["parent/559",[316,4.918]],["name/560",[271,45.168]],["parent/560",[316,4.918]],["name/561",[293,48.845]],["parent/561",[316,4.918]],["name/562",[144,48.845]],["parent/562",[313,2.55]],["name/563",[269,45.168]],["parent/563",[317,4.918]],["name/564",[271,45.168]],["parent/564",[317,4.918]],["name/565",[293,48.845]],["parent/565",[317,4.918]],["name/566",[273,51.358]],["parent/566",[313,2.55]],["name/567",[42,41.373]],["parent/567",[318,4.918]],["name/568",[43,46.838]],["parent/568",[318,4.918]],["name/569",[29,43.737]],["parent/569",[318,4.918]],["name/570",[275,51.358]],["parent/570",[313,2.55]],["name/571",[276,51.358]],["parent/571",[319,3.699]],["name/572",[40,42.485]],["parent/572",[319,3.699]],["name/573",[42,41.373]],["parent/573",[319,3.699]],["name/574",[43,46.838]],["parent/574",[319,3.699]],["name/575",[46,46.838]],["parent/575",[319,3.699]],["name/576",[47,46.838]],["parent/576",[319,3.699]],["name/577",[281,51.358]],["parent/577",[319,3.699]],["name/578",[44,46.838]],["parent/578",[319,3.699]],["name/579",[45,43.737]],["parent/579",[319,3.699]],["name/580",[282,51.358]],["parent/580",[319,3.699]],["name/581",[29,43.737]],["parent/581",[319,3.699]],["name/582",[216,48.845]],["parent/582",[319,3.699]],["name/583",[1,48.845]],["parent/583",[313,2.55]],["name/584",[113,42.485]],["parent/584",[320,5.729]],["name/585",[254,41.373]],["parent/585",[313,2.55]],["name/586",[122,37.144]],["parent/586",[321,5.729]],["name/587",[304,54.723]],["parent/587",[313,2.55]],["name/588",[111,51.358]],["parent/588",[322,4.677]],["name/589",[306,54.723]],["parent/589",[322,4.677]],["name/590",[307,54.723]],["parent/590",[322,4.677]],["name/591",[113,42.485]],["parent/591",[322,4.677]],["name/592",[323,59.831]],["parent/592",[]],["name/593",[324,59.831]],["parent/593",[]]],"invertedIndex":[["_uncheckedlinknodeswithcharacter",{"_index":278,"name":{"396":{}},"parent":{}}],["_uncheckedlinknodeswithcharrange",{"_index":279,"name":{"397":{}},"parent":{}}],["_uncheckedlinknodeswithcharset",{"_index":280,"name":{"398":{}},"parent":{}}],["all",{"_index":220,"name":{"277":{},"353":{},"429":{},"527":{}},"parent":{}}],["alternation",{"_index":145,"name":{"146":{}},"parent":{"147":{},"148":{},"149":{},"150":{}}}],["alternatives",{"_index":147,"name":{"149":{},"154":{},"161":{},"179":{}},"parent":{}}],["anycharacterset",{"_index":79,"name":{"78":{}},"parent":{}}],["append",{"_index":288,"name":{"451":{},"550":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["approximaterejectingwordset",{"_index":67,"name":{"67":{}},"parent":{}}],["assert",{"_index":309,"name":{"497":{},"500":{}},"parent":{}}],["assertion",{"_index":148,"name":{"151":{}},"parent":{"152":{},"153":{},"154":{},"155":{},"156":{},"157":{}}}],["assertions",{"_index":111,"name":{"112":{},"492":{},"588":{}},"parent":{}}],["ast",{"_index":127,"name":{"127":{}},"parent":{}}],["backreferences",{"_index":110,"name":{"111":{}},"parent":{}}],["boundaryassertion",{"_index":70,"name":{"70":{}},"parent":{}}],["canreachfinal",{"_index":32,"name":{"34":{}},"parent":{}}],["char",{"_index":236,"name":{"298":{}},"parent":{}}],["characterclass",{"_index":153,"name":{"166":{}},"parent":{"167":{},"168":{},"169":{},"170":{}}}],["characters",{"_index":154,"name":{"169":{},"284":{}},"parent":{}}],["charbase",{"_index":193,"name":{"235":{}},"parent":{"236":{},"237":{},"238":{}}}],["charmap",{"_index":206,"name":{"250":{}},"parent":{"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{}}}],["charrange",{"_index":217,"name":{"272":{}},"parent":{"273":{},"274":{}}}],["charset",{"_index":218,"name":{"275":{}},"parent":{"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{}}}],["clear",{"_index":212,"name":{"262":{}},"parent":{}}],["combinetransformers",{"_index":179,"name":{"220":{}},"parent":{}}],["commoncharacter",{"_index":235,"name":{"297":{}},"parent":{}}],["compare",{"_index":228,"name":{"288":{}},"parent":{}}],["complement",{"_index":266,"name":{"376":{}},"parent":{}}],["concatenation",{"_index":157,"name":{"181":{}},"parent":{"182":{},"183":{},"184":{},"185":{}}}],["constructor",{"_index":40,"name":{"42":{},"236":{},"251":{},"391":{},"475":{},"498":{},"501":{},"572":{}},"parent":{}}],["copy",{"_index":258,"name":{"338":{},"373":{},"416":{},"444":{},"513":{},"539":{}},"parent":{}}],["count",{"_index":29,"name":{"31":{},"388":{},"403":{},"469":{},"485":{},"569":{},"581":{}},"parent":{}}],["createassertion",{"_index":69,"name":{"69":{}},"parent":{}}],["createcharset",{"_index":77,"name":{"76":{}},"parent":{}}],["createnode",{"_index":46,"name":{"47":{},"320":{},"394":{},"478":{},"575":{}},"parent":{}}],["createsimpletodotoptions",{"_index":51,"name":{"52":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{},"405":{},"487":{},"583":{}},"parent":{}}],["delete",{"_index":210,"name":{"260":{}},"parent":{}}],["deleterange",{"_index":211,"name":{"261":{}},"parent":{}}],["dfa",{"_index":260,"name":{"350":{},"378":{}},"parent":{"351":{},"352":{},"353":{},"354":{},"355":{},"356":{},"357":{},"358":{},"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{},"376":{},"377":{},"379":{},"382":{},"385":{},"389":{},"405":{},"407":{}}}],["dfa.creationoptions",{"_index":283,"name":{},"parent":{"406":{}}}],["dfa.node",{"_index":272,"name":{},"parent":{"383":{},"384":{}}}],["dfa.nodelist",{"_index":277,"name":{},"parent":{"390":{},"391":{},"392":{},"393":{},"394":{},"395":{},"396":{},"397":{},"398":{},"399":{},"400":{},"401":{},"402":{},"403":{},"404":{}}}],["dfa.options",{"_index":284,"name":{},"parent":{"408":{}}}],["dfa.readonlynode",{"_index":270,"name":{},"parent":{"380":{},"381":{}}}],["dfa.readonlynodelist",{"_index":274,"name":{},"parent":{"386":{},"387":{},"388":{}}}],["digitcharacterset",{"_index":81,"name":{"80":{}},"parent":{}}],["dotall",{"_index":96,"name":{"99":{}},"parent":{}}],["element",{"_index":142,"name":{"143":{}},"parent":{}}],["elements",{"_index":158,"name":{"184":{}},"parent":{}}],["empty",{"_index":219,"name":{"276":{},"352":{},"428":{},"526":{}},"parent":{}}],["end",{"_index":141,"name":{"142":{}},"parent":{}}],["enfa",{"_index":286,"name":{"427":{},"457":{}},"parent":{"428":{},"429":{},"430":{},"431":{},"432":{},"433":{},"434":{},"435":{},"436":{},"437":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"444":{},"445":{},"446":{},"447":{},"448":{},"449":{},"450":{},"451":{},"452":{},"453":{},"454":{},"455":{},"456":{},"458":{},"462":{},"466":{},"470":{},"487":{},"489":{},"491":{}}}],["enfa.creationoptions",{"_index":302,"name":{},"parent":{"488":{}}}],["enfa.fromregexoptions",{"_index":305,"name":{},"parent":{"492":{},"493":{},"494":{},"495":{}}}],["enfa.node",{"_index":294,"name":{},"parent":{"463":{},"464":{},"465":{}}}],["enfa.nodelist",{"_index":297,"name":{},"parent":{"471":{},"472":{},"473":{},"474":{},"475":{},"476":{},"477":{},"478":{},"479":{},"480":{},"481":{},"482":{},"483":{},"484":{},"485":{},"486":{}}}],["enfa.options",{"_index":303,"name":{},"parent":{"490":{}}}],["enfa.readonlynode",{"_index":292,"name":{},"parent":{"459":{},"460":{},"461":{}}}],["enfa.readonlynodelist",{"_index":295,"name":{},"parent":{"467":{},"468":{},"469":{}}}],["ensurestableout",{"_index":30,"name":{"32":{}},"parent":{}}],["entries",{"_index":204,"name":{"248":{},"270":{}},"parent":{}}],["equals",{"_index":227,"name":{"287":{}},"parent":{}}],["expression",{"_index":120,"name":{"121":{},"176":{}},"parent":{"177":{},"178":{},"179":{},"180":{}}}],["fabuilder",{"_index":246,"name":{"316":{}},"parent":{"317":{},"318":{},"319":{},"320":{},"321":{}}}],["facreationoptions",{"_index":247,"name":{"322":{}},"parent":{"323":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["faiterator",{"_index":243,"name":{"311":{}},"parent":{"312":{},"313":{},"314":{},"315":{}}}],["faiterators",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"58":{},"63":{},"64":{},"65":{},"66":{},"67":{}}}],["faiterators.mapfabuilder",{"_index":41,"name":{},"parent":{"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{}}}],["faiterators.todotinfo",{"_index":60,"name":{},"parent":{"59":{},"60":{},"61":{},"62":{}}}],["faiterators.todotoptions",{"_index":55,"name":{},"parent":{"55":{},"56":{},"57":{}}}],["fastcharacters",{"_index":95,"name":{"97":{}},"parent":{}}],["filter",{"_index":215,"name":{"265":{}},"parent":{}}],["filteroutiter",{"_index":27,"name":{"29":{}},"parent":{}}],["final",{"_index":296,"name":{"468":{},"477":{}},"parent":{}}],["finals",{"_index":43,"name":{"44":{},"387":{},"393":{},"568":{},"574":{}},"parent":{}}],["finiteautomaton",{"_index":239,"name":{"301":{}},"parent":{"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{}}}],["flags",{"_index":93,"name":{"96":{},"98":{},"108":{},"118":{}},"parent":{}}],["foreach",{"_index":28,"name":{"30":{},"245":{},"267":{}},"parent":{}}],["fromast",{"_index":126,"name":{"125":{}},"parent":{}}],["fromcharacters",{"_index":221,"name":{"278":{}},"parent":{}}],["fromfa",{"_index":263,"name":{"355":{},"432":{},"530":{}},"parent":{}}],["fromintersection",{"_index":261,"name":{"351":{},"525":{}},"parent":{}}],["fromliteral",{"_index":124,"name":{"124":{}},"parent":{}}],["fromregex",{"_index":287,"name":{"430":{},"528":{}},"parent":{}}],["fromregexoptions",{"_index":304,"name":{"491":{},"587":{}},"parent":{}}],["fromstringtounicode",{"_index":134,"name":{"135":{}},"parent":{}}],["fromstringtoutf16",{"_index":133,"name":{"134":{}},"parent":{}}],["fromtransitioniterator",{"_index":264,"name":{"356":{},"433":{},"531":{}},"parent":{}}],["fromunicodetostring",{"_index":132,"name":{"133":{}},"parent":{}}],["fromutf16tostring",{"_index":131,"name":{"132":{}},"parent":{}}],["fromwords",{"_index":262,"name":{"354":{},"431":{},"529":{}},"parent":{}}],["get",{"_index":201,"name":{"244":{},"256":{}},"parent":{}}],["getedgeattributes",{"_index":54,"name":{"55":{}},"parent":{}}],["getgraphattributes",{"_index":56,"name":{"56":{}},"parent":{}}],["getid",{"_index":61,"name":{"61":{}},"parent":{}}],["getintersectioniterator",{"_index":311,"name":{"502":{}},"parent":{}}],["getintersectionwords",{"_index":256,"name":{"336":{},"371":{},"414":{},"442":{},"505":{},"511":{},"547":{}},"parent":{}}],["getintersectionwordsets",{"_index":257,"name":{"337":{},"372":{},"415":{},"443":{},"504":{},"512":{},"548":{}},"parent":{}}],["getnodeattributes",{"_index":57,"name":{"57":{}},"parent":{}}],["getnumberofoutgoingedges",{"_index":62,"name":{"62":{}},"parent":{}}],["getout",{"_index":244,"name":{"313":{}},"parent":{}}],["getunknownid",{"_index":114,"name":{"115":{}},"parent":{}}],["global",{"_index":98,"name":{"100":{}},"parent":{}}],["has",{"_index":198,"name":{"241":{},"253":{},"293":{}},"parent":{}}],["hascycle",{"_index":33,"name":{"35":{}},"parent":{}}],["hasevery",{"_index":199,"name":{"242":{},"254":{}},"parent":{}}],["hasindices",{"_index":99,"name":{"101":{}},"parent":{}}],["hassome",{"_index":200,"name":{"243":{},"255":{}},"parent":{}}],["id",{"_index":156,"name":{"174":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":100,"name":{"102":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":293,"name":{"461":{},"465":{},"561":{},"565":{}},"parent":{}}],["infinitythreshold",{"_index":307,"name":{"494":{},"590":{}},"parent":{}}],["initial",{"_index":42,"name":{"43":{},"312":{},"317":{},"386":{},"392":{},"467":{},"476":{},"567":{},"573":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":230,"name":{"291":{}},"parent":{}}],["intersection",{"_index":24,"name":{"26":{}},"parent":{}}],["invert",{"_index":205,"name":{"249":{},"266":{}},"parent":{}}],["isall",{"_index":224,"name":{"282":{}},"parent":{}}],["isdisjointwith",{"_index":234,"name":{"296":{},"335":{},"370":{},"413":{},"441":{},"503":{},"510":{},"546":{}},"parent":{}}],["isempty",{"_index":197,"name":{"240":{},"252":{},"281":{},"302":{},"340":{},"360":{},"417":{},"437":{},"514":{},"535":{}},"parent":{}}],["isfinal",{"_index":45,"name":{"46":{},"60":{},"315":{},"319":{},"401":{},"482":{},"579":{}},"parent":{}}],["isfinite",{"_index":240,"name":{"303":{},"341":{},"361":{},"418":{},"438":{},"515":{},"536":{}},"parent":{}}],["isinitial",{"_index":59,"name":{"59":{}},"parent":{}}],["issubsetof",{"_index":233,"name":{"295":{}},"parent":{}}],["issupersetof",{"_index":232,"name":{"294":{}},"parent":{}}],["iteratestates",{"_index":31,"name":{"33":{}},"parent":{}}],["iteratewordsets",{"_index":65,"name":{"65":{}},"parent":{}}],["js",{"_index":68,"name":{"68":{}},"parent":{"69":{},"70":{},"71":{},"74":{},"76":{},"77":{},"78":{},"80":{},"83":{},"88":{},"91":{},"94":{},"95":{},"98":{},"106":{},"109":{},"116":{},"119":{},"120":{},"123":{}}}],["js.anycharacterset",{"_index":80,"name":{},"parent":{"79":{}}}],["js.digitcharacterset",{"_index":82,"name":{},"parent":{"81":{},"82":{}}}],["js.flags",{"_index":97,"name":{},"parent":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{}}}],["js.literal",{"_index":106,"name":{},"parent":{"107":{},"108":{}}}],["js.parseoptions",{"_index":109,"name":{},"parent":{"110":{},"111":{},"112":{},"113":{},"114":{},"115":{}}}],["js.parser",{"_index":125,"name":{},"parent":{"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{}}}],["js.parseresult",{"_index":121,"name":{},"parent":{"121":{},"122":{}}}],["js.propertycharacterset",{"_index":84,"name":{},"parent":{"84":{},"85":{},"86":{},"87":{}}}],["js.regexppast",{"_index":117,"name":{},"parent":{"117":{},"118":{}}}],["js.spacecharacterset",{"_index":88,"name":{},"parent":{"89":{},"90":{}}}],["js.textboundaryassertion",{"_index":76,"name":{},"parent":{"75":{}}}],["js.toliteraloptions",{"_index":94,"name":{},"parent":{"96":{},"97":{}}}],["js.wordboundaryassertion",{"_index":73,"name":{},"parent":{"72":{},"73":{}}}],["js.wordcharacterset",{"_index":90,"name":{},"parent":{"92":{},"93":{}}}],["key",{"_index":85,"name":{"85":{}},"parent":{}}],["keys",{"_index":202,"name":{"246":{},"268":{}},"parent":{}}],["kind",{"_index":72,"name":{"72":{},"75":{},"79":{},"81":{},"84":{},"89":{},"92":{},"155":{}},"parent":{}}],["languageisfinite",{"_index":34,"name":{"36":{}},"parent":{}}],["lazy",{"_index":150,"name":{"162":{}},"parent":{}}],["linknodes",{"_index":47,"name":{"48":{},"321":{},"395":{},"479":{},"576":{}},"parent":{}}],["list",{"_index":269,"name":{"380":{},"383":{},"459":{},"463":{},"559":{},"563":{}},"parent":{}}],["literal",{"_index":104,"name":{"106":{},"126":{}},"parent":{}}],["makedeterministic",{"_index":38,"name":{"40":{}},"parent":{}}],["makefinal",{"_index":44,"name":{"45":{},"318":{},"400":{},"481":{},"578":{}},"parent":{}}],["makeinitialfinal",{"_index":35,"name":{"37":{}},"parent":{}}],["makeinitialnonfinal",{"_index":36,"name":{"38":{}},"parent":{}}],["map",{"_index":213,"name":{"263":{}},"parent":{}}],["mapfabuilder",{"_index":39,"name":{"41":{}},"parent":{}}],["mapfabuildernode",{"_index":48,"name":{"49":{}},"parent":{}}],["mapout",{"_index":25,"name":{"27":{}},"parent":{}}],["mapoutiter",{"_index":26,"name":{"28":{}},"parent":{}}],["maprange",{"_index":214,"name":{"264":{}},"parent":{}}],["max",{"_index":152,"name":{"164":{},"274":{}},"parent":{}}],["maxbackreferencewords",{"_index":108,"name":{"110":{}},"parent":{}}],["maxcharacter",{"_index":122,"name":{"122":{},"128":{},"231":{},"304":{},"326":{},"342":{},"358":{},"408":{},"419":{},"435":{},"490":{},"516":{},"533":{},"586":{}},"parent":{}}],["maxcharactererror",{"_index":308,"name":{"496":{}},"parent":{"497":{},"498":{}}}],["maximum",{"_index":222,"name":{"279":{}},"parent":{}}],["maxnodes",{"_index":113,"name":{"114":{},"323":{},"329":{},"406":{},"488":{},"495":{},"584":{},"591":{}},"parent":{}}],["maxoptimizationpasses",{"_index":251,"name":{"330":{}},"parent":{}}],["maxpasses",{"_index":192,"name":{"234":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":151,"name":{"163":{},"273":{}},"parent":{}}],["minimize",{"_index":265,"name":{"375":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":101,"name":{"103":{}},"parent":{}}],["negate",{"_index":74,"name":{"73":{},"82":{},"87":{},"90":{},"93":{},"156":{},"289":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":313,"name":{"524":{},"557":{}},"parent":{"525":{},"526":{},"527":{},"528":{},"529":{},"530":{},"531":{},"532":{},"533":{},"534":{},"535":{},"536":{},"537":{},"538":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"547":{},"548":{},"549":{},"550":{},"551":{},"552":{},"553":{},"554":{},"555":{},"556":{},"558":{},"562":{},"566":{},"570":{},"583":{},"585":{},"587":{}}}],["nfa.creationoptions",{"_index":320,"name":{},"parent":{"584":{}}}],["nfa.fromregexoptions",{"_index":322,"name":{},"parent":{"588":{},"589":{},"590":{},"591":{}}}],["nfa.node",{"_index":317,"name":{},"parent":{"563":{},"564":{},"565":{}}}],["nfa.nodelist",{"_index":319,"name":{},"parent":{"571":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"578":{},"579":{},"580":{},"581":{},"582":{}}}],["nfa.options",{"_index":321,"name":{},"parent":{"586":{}}}],["nfa.readonlynode",{"_index":316,"name":{},"parent":{"559":{},"560":{},"561":{}}}],["nfa.readonlynodelist",{"_index":318,"name":{},"parent":{"567":{},"568":{},"569":{}}}],["node",{"_index":144,"name":{"145":{},"382":{},"462":{},"562":{}},"parent":{}}],["nodelist",{"_index":275,"name":{"389":{},"470":{},"570":{}},"parent":{}}],["nodes",{"_index":253,"name":{"332":{},"357":{},"410":{},"434":{},"507":{},"532":{}},"parent":{}}],["noparent",{"_index":159,"name":{"186":{}},"parent":{}}],["normalize",{"_index":301,"name":{"484":{}},"parent":{}}],["onalternation",{"_index":182,"name":{"223":{}},"parent":{}}],["onalternationenter",{"_index":164,"name":{"191":{},"206":{}},"parent":{}}],["onalternationleave",{"_index":165,"name":{"192":{},"207":{}},"parent":{}}],["onassertion",{"_index":183,"name":{"224":{}},"parent":{}}],["onassertionenter",{"_index":166,"name":{"193":{},"208":{}},"parent":{}}],["onassertionleave",{"_index":167,"name":{"194":{},"209":{}},"parent":{}}],["oncharacterclass",{"_index":184,"name":{"225":{}},"parent":{}}],["oncharacterclassenter",{"_index":168,"name":{"195":{},"210":{}},"parent":{}}],["oncharacterclassleave",{"_index":169,"name":{"196":{},"211":{}},"parent":{}}],["onconcatenation",{"_index":185,"name":{"226":{}},"parent":{}}],["onconcatenationenter",{"_index":170,"name":{"197":{},"212":{}},"parent":{}}],["onconcatenationleave",{"_index":171,"name":{"198":{},"213":{}},"parent":{}}],["onexpression",{"_index":186,"name":{"227":{}},"parent":{}}],["onexpressionenter",{"_index":172,"name":{"199":{},"214":{}},"parent":{}}],["onexpressionleave",{"_index":173,"name":{"200":{},"215":{}},"parent":{}}],["onquantifier",{"_index":187,"name":{"228":{}},"parent":{}}],["onquantifierenter",{"_index":174,"name":{"201":{},"216":{}},"parent":{}}],["onquantifierleave",{"_index":175,"name":{"202":{},"217":{}},"parent":{}}],["onunknown",{"_index":188,"name":{"229":{}},"parent":{}}],["onunknownenter",{"_index":176,"name":{"203":{},"218":{}},"parent":{}}],["onunknownleave",{"_index":177,"name":{"204":{},"219":{}},"parent":{}}],["options",{"_index":254,"name":{"333":{},"359":{},"407":{},"411":{},"436":{},"489":{},"508":{},"534":{},"585":{}},"parent":{}}],["out",{"_index":271,"name":{"381":{},"384":{},"460":{},"464":{},"560":{},"564":{}},"parent":{}}],["parent",{"_index":143,"name":{"144":{},"148":{},"153":{},"160":{},"168":{},"173":{},"178":{},"183":{}},"parent":{}}],["parsableelement",{"_index":118,"name":{"119":{}},"parent":{}}],["parse",{"_index":128,"name":{"129":{}},"parent":{}}],["parseelement",{"_index":129,"name":{"130":{}},"parent":{}}],["parseoptions",{"_index":107,"name":{"109":{}},"parent":{}}],["parser",{"_index":123,"name":{"123":{}},"parent":{}}],["parseresult",{"_index":119,"name":{"120":{}},"parent":{}}],["pattern",{"_index":116,"name":{"117":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":135,"name":{"136":{}},"parent":{}}],["pickmostreadableword",{"_index":136,"name":{"137":{}},"parent":{}}],["predefinedcharacterset",{"_index":78,"name":{"77":{}},"parent":{}}],["prefixes",{"_index":267,"name":{"377":{},"455":{},"554":{}},"parent":{}}],["prepend",{"_index":289,"name":{"452":{},"551":{}},"parent":{}}],["propertycharacterset",{"_index":83,"name":{"83":{}},"parent":{}}],["quantifier",{"_index":149,"name":{"158":{}},"parent":{"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{}}}],["quantify",{"_index":290,"name":{"454":{},"552":{}},"parent":{}}],["ranges",{"_index":223,"name":{"280":{}},"parent":{}}],["reachableviaepsilon",{"_index":300,"name":{"474":{}},"parent":{}}],["readonlycharmap",{"_index":196,"name":{"239":{}},"parent":{"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{}}}],["readonlydfa",{"_index":252,"name":{"331":{}},"parent":{"332":{},"333":{},"334":{},"335":{},"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{}}}],["readonlyenfa",{"_index":285,"name":{"409":{}},"parent":{"410":{},"411":{},"412":{},"413":{},"414":{},"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{}}}],["readonlynfa",{"_index":312,"name":{"506":{}},"parent":{"507":{},"508":{},"509":{},"510":{},"511":{},"512":{},"513":{},"514":{},"515":{},"516":{},"517":{},"518":{},"519":{},"520":{},"521":{},"522":{},"523":{}}}],["readonlynode",{"_index":268,"name":{"379":{},"458":{},"558":{}},"parent":{}}],["readonlynodelist",{"_index":273,"name":{"385":{},"466":{},"566":{}},"parent":{}}],["readonlyword",{"_index":238,"name":{"300":{}},"parent":{}}],["readonlywordset",{"_index":324,"name":{"593":{}},"parent":{}}],["regexppast",{"_index":115,"name":{"116":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removedeadstates",{"_index":49,"name":{"50":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":282,"name":{"402":{},"483":{},"580":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["resolveepsilon",{"_index":298,"name":{"472":{}},"parent":{}}],["reverse",{"_index":315,"name":{"556":{}},"parent":{}}],["set",{"_index":207,"name":{"257":{}},"parent":{}}],["setcharset",{"_index":209,"name":{"259":{}},"parent":{}}],["setparent",{"_index":160,"name":{"187":{}},"parent":{}}],["setrange",{"_index":208,"name":{"258":{}},"parent":{}}],["sets",{"_index":194,"name":{"237":{}},"parent":{}}],["setsource",{"_index":161,"name":{"188":{}},"parent":{}}],["shortestacceptingpath",{"_index":37,"name":{"39":{}},"parent":{}}],["shortestwordset",{"_index":66,"name":{"66":{}},"parent":{}}],["signalmutation",{"_index":190,"name":{"232":{}},"parent":{}}],["simplify",{"_index":112,"name":{"113":{}},"parent":{}}],["size",{"_index":225,"name":{"283":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":105,"name":{"107":{},"150":{},"157":{},"165":{},"170":{},"175":{},"180":{},"185":{}},"parent":{}}],["sourcelocation",{"_index":139,"name":{"140":{}},"parent":{"141":{},"142":{}}}],["spacecharacterset",{"_index":87,"name":{"88":{}},"parent":{}}],["split",{"_index":195,"name":{"238":{}},"parent":{}}],["stableout",{"_index":245,"name":{"314":{}},"parent":{}}],["start",{"_index":140,"name":{"141":{}},"parent":{}}],["stateiterator",{"_index":255,"name":{"334":{},"362":{},"412":{},"439":{},"509":{},"537":{}},"parent":{}}],["sticky",{"_index":102,"name":{"104":{}},"parent":{}}],["structurallyequal",{"_index":259,"name":{"339":{},"374":{}},"parent":{}}],["suffixes",{"_index":291,"name":{"456":{},"555":{}},"parent":{}}],["symbol.iterator",{"_index":216,"name":{"271":{},"404":{},"486":{},"582":{}},"parent":{}}],["test",{"_index":241,"name":{"305":{},"343":{},"364":{},"420":{},"445":{},"517":{},"540":{}},"parent":{}}],["textboundaryassertion",{"_index":75,"name":{"74":{}},"parent":{}}],["todot",{"_index":50,"name":{"51":{},"310":{},"348":{},"369":{},"425":{},"450":{},"522":{},"545":{}},"parent":{}}],["todotattrs",{"_index":52,"name":{"53":{}},"parent":{}}],["todotinfo",{"_index":58,"name":{"58":{}},"parent":{}}],["todotoptions",{"_index":53,"name":{"54":{}},"parent":{}}],["toliteral",{"_index":91,"name":{"94":{}},"parent":{}}],["toliteraloptions",{"_index":92,"name":{"95":{}},"parent":{}}],["toomanynodeserror",{"_index":310,"name":{"499":{}},"parent":{"500":{},"501":{}}}],["torangesstring",{"_index":226,"name":{"286":{}},"parent":{}}],["toregex",{"_index":63,"name":{"63":{},"309":{},"347":{},"368":{},"424":{},"449":{},"521":{},"544":{}},"parent":{}}],["toregexoptions",{"_index":250,"name":{"328":{}},"parent":{"329":{},"330":{}}}],["tostring",{"_index":64,"name":{"64":{},"285":{},"308":{},"346":{},"367":{},"423":{},"448":{},"520":{},"543":{}},"parent":{}}],["transform",{"_index":180,"name":{"221":{}},"parent":{}}],["transformcontext",{"_index":189,"name":{"230":{}},"parent":{"231":{},"232":{}}}],["transformer",{"_index":181,"name":{"222":{}},"parent":{"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":191,"name":{"233":{}},"parent":{"234":{}}}],["transitioniterable",{"_index":249,"name":{"325":{}},"parent":{"326":{},"327":{}}}],["transitioniterator",{"_index":248,"name":{"324":{},"327":{},"349":{},"363":{},"426":{},"440":{},"523":{},"538":{}},"parent":{}}],["type",{"_index":146,"name":{"147":{},"152":{},"159":{},"167":{},"172":{},"177":{},"182":{}},"parent":{}}],["unicode",{"_index":103,"name":{"105":{}},"parent":{}}],["union",{"_index":229,"name":{"290":{},"453":{},"549":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unknown",{"_index":155,"name":{"171":{}},"parent":{"172":{},"173":{},"174":{},"175":{}}}],["unknowns",{"_index":306,"name":{"493":{},"589":{}},"parent":{}}],["unlinknodes",{"_index":281,"name":{"399":{},"480":{},"577":{}},"parent":{}}],["unorderedresolveepsilon",{"_index":299,"name":{"473":{}},"parent":{}}],["value",{"_index":86,"name":{"86":{}},"parent":{}}],["values",{"_index":203,"name":{"247":{},"269":{}},"parent":{}}],["visitast",{"_index":162,"name":{"189":{}},"parent":{}}],["visitasthandler",{"_index":163,"name":{"190":{}},"parent":{"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{}}}],["visitnoparentasthandler",{"_index":178,"name":{"205":{}},"parent":{"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{}}}],["withlimit",{"_index":276,"name":{"390":{},"471":{},"571":{}},"parent":{}}],["without",{"_index":231,"name":{"292":{}},"parent":{}}],["withoutemptyword",{"_index":314,"name":{"553":{}},"parent":{}}],["word",{"_index":237,"name":{"299":{}},"parent":{}}],["wordboundaryassertion",{"_index":71,"name":{"71":{}},"parent":{}}],["wordcharacterset",{"_index":89,"name":{"91":{}},"parent":{}}],["words",{"_index":130,"name":{"131":{},"306":{},"344":{},"366":{},"421":{},"447":{},"518":{},"542":{}},"parent":{"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{}}}],["wordset",{"_index":323,"name":{"592":{}},"parent":{}}],["wordsets",{"_index":242,"name":{"307":{},"345":{},"365":{},"422":{},"446":{},"519":{},"541":{}},"parent":{}}],["wordsetstowords",{"_index":137,"name":{"138":{}},"parent":{}}],["wordsettowords",{"_index":138,"name":{"139":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.9.0/classes/CharBase.html b/docs/v0.9.0/classes/CharBase.html new file mode 100644 index 00000000..6ae16ff7 --- /dev/null +++ b/docs/v0.9.0/classes/CharBase.html @@ -0,0 +1,280 @@ + + + + + + CharBase | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharBase

+
+
+
+
+
+
+
+
+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty + character sets - the base sets - that can be used to construct every character set in the collection it was + constructed from.

+
+ +

Guarantees

+
+
    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n + is the number of unique, non-empty character sets in the collection, and o is the number of characters in the + union of all character sets in the collection.

    +
  • +
+ +

Use case

+
+

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the + alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. + Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such + that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet + can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • + CharBase +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +

    Create the base sets of the given collection of character sets.

    +
    +

    See CharBase to learn more.

    +
    +
    throws
    +

    RangeError if the collection contains two character sets with different maximums.

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      charSets: Iterable<CharSet>
      +
    • +
    +

    Returns CharBase

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly sets

+
sets: readonly CharSet[]
+ +
+
+

A list of disjoint, non-empty character sets.

+
+

See CharBase to learn more.

+
+
+
+
+

Methods

+
+ +

split

+
    +
  • split(charSet: CharSet): number[]
  • +
+
    +
  • + +
    +
    +

    Splits the given character set into its base sets.

    +
    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The + indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the + assumption is not met, the output of this function will be undefined.

    +
    +

    Parameters

    + +

    Returns number[]

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/CharMap.html b/docs/v0.9.0/classes/CharMap.html new file mode 100644 index 00000000..69107793 --- /dev/null +++ b/docs/v0.9.0/classes/CharMap.html @@ -0,0 +1,834 @@ + + + + + + CharMap | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharMap<T>

+
+
+
+
+
+
+
+
+
+

A map from characters to generic values.

+
+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated + as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + CharMap +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Returns CharMap<T>

    +
  • +
+
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<[CharRange, T]>
  • +
+
    +
  • + +

    Returns IterableIterator<[CharRange, T]>

    +
  • +
+
+
+ +

clear

+
    +
  • clear(): void
  • +
+
    +
  • + +
    +
    +

    Deletes all entries in the map.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

delete

+
    +
  • delete(char: Char): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

deleteRange

+ +
    +
  • + +
    +
    +

    Deletes all characters in the given range.

    +
    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

entries

+ + +
+
+ +

filter

+ + +
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

invert

+ +
    +
  • + +
    +
    +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
      +
    • +
    +

    Returns Map<T, CharSet>

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

map

+ + +
+
+ +

mapRange

+ + +
+
+ +

set

+
    +
  • set(char: Char, value: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    • +
      value: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setCharSet

+
    +
  • setCharSet(charSet: CharSet, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given character set.

    +
    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setRange

+
    +
  • setRange(chars: CharRange, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given range.

    +
    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      chars: CharRange
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

values

+
    +
  • values(): IterableIterator<T>
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/CharSet.html b/docs/v0.9.0/classes/CharSet.html new file mode 100644 index 00000000..665b5aab --- /dev/null +++ b/docs/v0.9.0/classes/CharSet.html @@ -0,0 +1,837 @@ + + + + + + CharSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharSet

+
+
+
+
+
+
+
+
+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+
+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • + CharSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maximum

+
maximum: Char
+ +
+
+

The greatest character which can be element of the set.

+
+
+
+
+ +

Readonly ranges

+
ranges: readonly CharRange[]
+ +
+
+

An array of ranges representing this character set.

+
+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+
+

Accessors

+
+ +

isAll

+
    +
  • get isAll(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in + the set.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if this set doesn't contain any characters.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of unique characters in the set.

    +
    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

characters

+
    +
  • characters(): Iterable<Char>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable of all characters in this set.

    +
    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
  • +
+
+
+ +

commonCharacter

+ +
    +
  • + +
    +
    +

    Returns any one of the common characters of this set and the given set or range.

    +
    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +

    Parameters

    + +

    Returns undefined | Char

    +
  • +
+
+
+ +

compare

+
    +
  • compare(other: CharSet): number
  • +
+
    +
  • + +
    +
    +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are + always guaranteed to return 0.

    +
    +

    The order defined by this function is guaranteed to be a + total order. Apart from this, no other guarantees are given.

    +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

equals

+
    +
  • equals(other: CharSet): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this and the given character set are equivalent.

    +
    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and + maximum.
    6. +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

has

+
    +
  • has(character: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

intersect

+ +
    +
  • + +
    +
    +

    Returns the intersection of this set and the given set + and character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

isSubsetOf

+ + +
+
+ +

isSupersetOf

+ + +
+
+ +

negate

+ +
    +
  • + +
    +
    +

    Returns the complement of this set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +

    Returns CharSet

    +
  • +
+
+
+ +

toRangesString

+
    +
  • toRangesString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the ranges of this character set.

    +
    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    +ranges = range *( ", " range )
    +range  = +hex [ ".." +hex ]
    +hex    = "a" | "b" | "c" | "d" | "e" | "f" | digit
    +digit  = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the character set.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

union

+ +
    +
  • + +
    +
    +

    Returns the union of this set and all given sets and + character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the + maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

without

+ +
    +
  • + +
    +
    +

    Returns a set that contains all characters of this set that are not in the given set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which can be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static fromCharacters

+ +
    +
  • + +
    +
    +

    Returns a character set which contains the given characters.

    +
    +
    +
    throws
    +

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +
      +

      A sorted collection of characters.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/DFA.NodeList.html b/docs/v0.9.0/classes/DFA.NodeList.html new file mode 100644 index 00000000..cc82b187 --- /dev/null +++ b/docs/v0.9.0/classes/DFA.NodeList.html @@ -0,0 +1,626 @@ + + + + + + NodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<Node>
  • +
+
    +
  • + +

    Returns IterableIterator<Node>

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharRange

+
    +
  • _uncheckedLinkNodesWithCharRange(from: Node, to: Node, characters: CharRange): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharSet

+
    +
  • _uncheckedLinkNodesWithCharSet(from: Node, to: Node, characters: CharSet): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharacter

+
    +
  • _uncheckedLinkNodesWithCharacter(from: Node, to: Node, character: Char): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/DFA.html b/docs/v0.9.0/classes/DFA.html new file mode 100644 index 00000000..2646151a --- /dev/null +++ b/docs/v0.9.0/classes/DFA.html @@ -0,0 +1,985 @@ + + + + + + DFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DFA

+
+
+
+
+
+
+
+
+ +

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + DFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

complement

+
    +
  • complement(): void
  • +
+
    +
  • + +
    +
    +

    Complements this DFA.

    +
    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this + function.

    +
    +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

minimize

+
    +
  • minimize(): void
  • +
+
    +
  • + +
    +
    +

    Minimizes this DFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ +
    +
  • + +
    +
    +

    Returns a new DFA which is equivalent to the intersection of the two given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns DFA

    +
  • +
+
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/ENFA.NodeList.html b/docs/v0.9.0/classes/ENFA.NodeList.html new file mode 100644 index 00000000..3479b9b7 --- /dev/null +++ b/docs/v0.9.0/classes/ENFA.NodeList.html @@ -0,0 +1,838 @@ + + + + + + NodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

final

+
final: Node
+ +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

normalize

+
    +
  • normalize(): void
  • +
+
    +
  • + +
    +
    +

    Changes the nodes, so that the initial state has no incoming transitions and that the final state has no + outgoing transitions.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static reachableViaEpsilon

+ +
    +
  • + +
    +
    +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in + the given direction. The returned set is guaranteed to always contain the given node.

    +
    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = ENFA.NodeList.reachableViaEpsilon(final, "in");
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    +

    Returns Set<Node>

    +
  • +
  • + +

    Parameters

    + +

    Returns Set<ReadonlyNode>

    +
  • +
+
+
+ +

Static resolveEpsilon

+
    +
  • resolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • resolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static unorderedResolveEpsilon

+
    +
  • unorderedResolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • unorderedResolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    The order in which the consumer function will be called for the pair is implementation-defined. Only use this + if the order of nodes is irrelevant.

    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/ENFA.html b/docs/v0.9.0/classes/ENFA.html new file mode 100644 index 00000000..bca347f7 --- /dev/null +++ b/docs/v0.9.0/classes/ENFA.html @@ -0,0 +1,1105 @@ + + + + + + ENFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class ENFA

+
+
+
+
+
+
+
+
+
+

A nondeterministic finite automaton with epsilon + transitions.

+
+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript + Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different + state machines in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + ENFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of this ENFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of the given FA and this ENFA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number, lazy?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +
    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be + modified to accept <this>|<other>.

    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns ENFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/FAIterators.MapFABuilder.html b/docs/v0.9.0/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..8fb365b8 --- /dev/null +++ b/docs/v0.9.0/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,453 @@ + + + + + + MapFABuilder | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MapFABuilder

+
+
+
+
+
+
+
+
+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+
+

Hierarchy

+
    +
  • + MapFABuilder +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new MapFABuilder(maxNodes?: number, kind?: string): MapFABuilder
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      maxNodes: number = ...
      +
    • +
    • +
      Optional kind: string
      +
    • +
    +

    Returns MapFABuilder

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<MapFABuilderNode> = ...
+ +
+
+ +

Readonly initial

+
initial: MapFABuilderNode = ...
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

createNode

+ + +
+
+ +

isFinal

+ +
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+ +
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/JS.Parser.html b/docs/v0.9.0/classes/JS.Parser.html new file mode 100644 index 00000000..a1f66e1e --- /dev/null +++ b/docs/v0.9.0/classes/JS.Parser.html @@ -0,0 +1,423 @@ + + + + + + Parser | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Parser

+
+
+
+
+
+
+
+
+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+
+

Hierarchy

+
    +
  • + Parser +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly ast

+ + +
+
+

The parsed AST of the literal this parser works on.

+
+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations + based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +

Readonly literal

+
literal: Literal
+ +
+
+

The literal of the parser instance.

+
+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the parsed AST.

+
+

This value will also be returned as part of the ParseResult.

+
+
+
+
+

Methods

+
+ +

parse

+ +
    +
  • + +
    +
    +

    Parsed the entire literal.

    +
    +

    For more information on parsing, see parseElement.

    +
    +

    Parameters

    + +

    Returns ParseResult

    +
  • +
+
+
+ +

parseElement

+ + +
+
+ +

Static fromAst

+ +
    +
  • + +
    +
    +

    Creates a new parser from the given regexpp AST.

    +
    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex + again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +

    Parameters

    + +

    Returns Parser

    +
  • +
+
+
+ +

Static fromLiteral

+
    +
  • fromLiteral(literal: Literal, parserOptions?: Options): Parser
  • +
+
    +
  • + +
    +
    +

    Creates a new parser from the given literal.

    +
    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the + given RegExp parser options.

    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
      +
      +
    • +
    +

    Returns Parser

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/MaxCharacterError.html b/docs/v0.9.0/classes/MaxCharacterError.html new file mode 100644 index 00000000..e18e0ff4 --- /dev/null +++ b/docs/v0.9.0/classes/MaxCharacterError.html @@ -0,0 +1,223 @@ + + + + + + MaxCharacterError | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MaxCharacterError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+
+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be + the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + MaxCharacterError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns MaxCharacterError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(a: Char | { maxCharacter: Char }, b: Char | { maxCharacter: Char }, kind?: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | { maxCharacter: Char }
      +
    • +
    • +
      b: Char | { maxCharacter: Char }
      +
    • +
    • +
      Optional kind: string
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/NFA.NodeList.html b/docs/v0.9.0/classes/NFA.NodeList.html new file mode 100644 index 00000000..b300c171 --- /dev/null +++ b/docs/v0.9.0/classes/NFA.NodeList.html @@ -0,0 +1,543 @@ + + + + + + NodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+

The set of final states of this list.

+
+
+
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/NFA.html b/docs/v0.9.0/classes/NFA.html new file mode 100644 index 00000000..e221b23d --- /dev/null +++ b/docs/v0.9.0/classes/NFA.html @@ -0,0 +1,1184 @@ + + + + + + NFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NFA

+
+
+
+
+
+
+
+
+ +

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple + CharSet.union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + NFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverse

+
    +
  • reverse(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

withoutEmptyWord

+
    +
  • withoutEmptyWord(): void
  • +
+
    +
  • + +
    +
    +

    Removes the empty word from the accepted languages of this NFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ +
    +
  • + +
    +
    +

    Returns a new NFA which is equivalent to the intersection of the two given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/classes/TooManyNodesError.html b/docs/v0.9.0/classes/TooManyNodesError.html new file mode 100644 index 00000000..d263d578 --- /dev/null +++ b/docs/v0.9.0/classes/TooManyNodesError.html @@ -0,0 +1,224 @@ + + + + + + TooManyNodesError | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TooManyNodesError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when an operation causes too many nodes to be created.

+
+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in + the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely + abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + TooManyNodesError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns TooManyNodesError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(current: number, limit: number, kind: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/index.html b/docs/v0.9.0/index.html new file mode 100644 index 00000000..29bb0342 --- /dev/null +++ b/docs/v0.9.0/index.html @@ -0,0 +1,534 @@ + + + + + + refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.9.0

+
+
+
+
+
+
+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status + npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ +

Features

+
+
    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print graph in DOT format or a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+ +

Universal characters

+
+

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+ +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";
+
+function toNFA(regex: RegExp): NFA {
+    const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+    return NFA.fromRegex(expression, { maxCharacter });
+}
+function toDFA(regex: RegExp): DFA {
+    return DFA.fromFA(toNFA(regex));
+}
+function toRegExp(fa: FiniteAutomaton): RegExp {
+    const literal = JS.toLiteral(fa.toRegex());
+    return new RegExp(literal.source, literal.flags);
+}
+
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ +

Testing whether a word is accepted

+
+
import { Words } from "refa";
+
+const regex = /\w+\d+/;
+const nfa = toNFA(regex);
+
+console.log(nfa.test(Words.fromStringToUTF16("abc")));
+// => false
+console.log(nfa.test(Words.fromStringToUTF16("123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("abc123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("123abc")));
+// => false
+
+ +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
+const regex2 = /Ab*C\d?/;
+
+const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));
+
+console.log(toRegExp(intersection));
+// => /Ab+C/
+
+ +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;
+
+const dfa = toDFA(regex);
+dfa.complement();
+
+console.log(toRegExp(dfa));
+// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i
+
+ +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
+// => /".*"|'.*'/i
+
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
+// Error: Backreferences are not supported.
+
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
+const { expression } =
+    JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: 'foo', flags: '' }
+
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+NFA.fromRegex(expression, { maxCharacter });
+// Error: Assertions are not supported yet.
+
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } =
+    JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: '->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter });
+console.log(toRegExp(nfa));
+// => /->/i
+
+
+

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
+console.log(toRegExp(nfa));
+// => /->/i
+
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";
+
+const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const applyTransformer = combineTransformers([
+    Transformers.inline(),
+    Transformers.removeDeadBranches(),
+    Transformers.removeUnnecessaryAssertions(),
+    Transformers.sortAssertions(),
+    Transformers.applyAssertions(),
+    Transformers.removeUnnecessaryAssertions(),
+]);
+const modifiedExpression = transform(applyTransformer, expression);
+
+console.log(JS.toLiteral(modifiedExpression));
+// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }
+
+// Most assertions have been removed but the patterns are still equivalent.
+// The only assertions left assert characters beyond the edge of the pattern.
+// Removing those assertions is easy but slightly changes the pattern.
+
+const finalExpression = transform(
+    Transformers.patternEdgeAssertions({ remove: true }),
+    modifiedExpression
+);
+
+console.log(JS.toLiteral(finalExpression));
+// => { source: '[A-Z_]\\w*|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
+
+console.log(JS.toLiteral(nfa.toRegex()));
+// => { source: '->|[A-Z_]\\w*', flags: 'i' }
+
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Alternation.html b/docs/v0.9.0/interfaces/Alternation.html new file mode 100644 index 00000000..6652a15e --- /dev/null +++ b/docs/v0.9.0/interfaces/Alternation.html @@ -0,0 +1,191 @@ + + + + + + Alternation | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Alternation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Alternation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Alternation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Assertion.html b/docs/v0.9.0/interfaces/Assertion.html new file mode 100644 index 00000000..3c6a8804 --- /dev/null +++ b/docs/v0.9.0/interfaces/Assertion.html @@ -0,0 +1,213 @@ + + + + + + Assertion | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Assertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Assertion +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

kind

+
kind: "ahead" | "behind"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Assertion"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/CharRange.html b/docs/v0.9.0/interfaces/CharRange.html new file mode 100644 index 00000000..0965452c --- /dev/null +++ b/docs/v0.9.0/interfaces/CharRange.html @@ -0,0 +1,181 @@ + + + + + + CharRange | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharRange

+
+
+
+
+
+
+
+
+
+

An immutable interval of Chars with inclusive ends.

+
+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • + CharRange +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly max

+
max: Char
+ +
+
+

The inclusive maximum of the interval.

+
+

This value has to be greater or equal to min.

+
+
+
+ +

Readonly min

+
min: Char
+ +
+
+

The inclusive minimum of the interval.

+
+

This value has to be less or equal to max.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/CharacterClass.html b/docs/v0.9.0/interfaces/CharacterClass.html new file mode 100644 index 00000000..5be511aa --- /dev/null +++ b/docs/v0.9.0/interfaces/CharacterClass.html @@ -0,0 +1,191 @@ + + + + + + CharacterClass | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharacterClass

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + CharacterClass +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

characters

+
characters: CharSet
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "CharacterClass"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Concatenation.html b/docs/v0.9.0/interfaces/Concatenation.html new file mode 100644 index 00000000..a241574b --- /dev/null +++ b/docs/v0.9.0/interfaces/Concatenation.html @@ -0,0 +1,191 @@ + + + + + + Concatenation | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Concatenation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Concatenation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

elements

+
elements: Element[]
+ +
+
+ +

parent

+
parent: Parent
+ +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/DFA.CreationOptions.html b/docs/v0.9.0/interfaces/DFA.CreationOptions.html new file mode 100644 index 00000000..8d484b30 --- /dev/null +++ b/docs/v0.9.0/interfaces/DFA.CreationOptions.html @@ -0,0 +1,218 @@ + + + + + + CreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a DFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the DFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the DFA creation operation may create as many nodes as + necessary to construct the DFA. This might cause the machine to run out of memory. I.e. the conversion from + NFA to DFA may create O(2^n) many nodes and an intersection may created O(n * m) many.

+

Note: This limit describes the maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/DFA.Node.html b/docs/v0.9.0/interfaces/DFA.Node.html new file mode 100644 index 00000000..7f483df9 --- /dev/null +++ b/docs/v0.9.0/interfaces/DFA.Node.html @@ -0,0 +1,207 @@ + + + + + + Node | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/DFA.Options.html b/docs/v0.9.0/interfaces/DFA.Options.html new file mode 100644 index 00000000..4cf0c20f --- /dev/null +++ b/docs/v0.9.0/interfaces/DFA.Options.html @@ -0,0 +1,195 @@ + + + + + + Options | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/DFA.ReadonlyNode.html b/docs/v0.9.0/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..85c1a99b --- /dev/null +++ b/docs/v0.9.0/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,205 @@ + + + + + + ReadonlyNode | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/DFA.ReadonlyNodeList.html b/docs/v0.9.0/interfaces/DFA.ReadonlyNodeList.html new file mode 100644 index 00000000..6d553b2b --- /dev/null +++ b/docs/v0.9.0/interfaces/DFA.ReadonlyNodeList.html @@ -0,0 +1,244 @@ + + + + + + ReadonlyNodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.CreationOptions.html b/docs/v0.9.0/interfaces/ENFA.CreationOptions.html new file mode 100644 index 00000000..56638d38 --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.CreationOptions.html @@ -0,0 +1,226 @@ + + + + + + CreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a ENFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.FromRegexOptions.html b/docs/v0.9.0/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..a02f5b0b --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,295 @@ + + + + + + FromRegexOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw"
+ +
+
+

How to handle assertions when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.Node.html b/docs/v0.9.0/interfaces/ENFA.Node.html new file mode 100644 index 00000000..901ff66d --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.Node.html @@ -0,0 +1,222 @@ + + + + + + Node | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, null | CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.Options.html b/docs/v0.9.0/interfaces/ENFA.Options.html new file mode 100644 index 00000000..9e6eee29 --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.Options.html @@ -0,0 +1,198 @@ + + + + + + Options | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.ReadonlyNode.html b/docs/v0.9.0/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..4b5066ca --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,219 @@ + + + + + + ReadonlyNode | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ENFA.ReadonlyNodeList.html b/docs/v0.9.0/interfaces/ENFA.ReadonlyNodeList.html new file mode 100644 index 00000000..f7f5351e --- /dev/null +++ b/docs/v0.9.0/interfaces/ENFA.ReadonlyNodeList.html @@ -0,0 +1,263 @@ + + + + + + ReadonlyNodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly final

+ + +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Expression.html b/docs/v0.9.0/interfaces/Expression.html new file mode 100644 index 00000000..5c48981b --- /dev/null +++ b/docs/v0.9.0/interfaces/Expression.html @@ -0,0 +1,191 @@ + + + + + + Expression | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Expression

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Expression +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+
parent: null
+ +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Expression"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FABuilder.html b/docs/v0.9.0/interfaces/FABuilder.html new file mode 100644 index 00000000..c4ce9f58 --- /dev/null +++ b/docs/v0.9.0/interfaces/FABuilder.html @@ -0,0 +1,328 @@ + + + + + + FABuilder | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FABuilder<S, T>

+
+
+
+
+
+
+
+
+
+

An FA builder has the responsibility of constructing a finite automata.

+
+

The constructed FA is always owned by the builder.

+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state.

    +
    +
    +
  • +
  • +

    T

    +
    +
    +

    The transition type of the values linking states.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FABuilder +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

Readonly createNode

+
    +
  • createNode(): S
  • +
+
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +
    throws
    +

    TooManyNodesError + May be thrown if the number of created nodes exceeds some limit.

    +
    +
    +
    +

    Returns S

    +
  • +
+
+
+ +

Readonly isFinal

+
    +
  • isFinal(state: S): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

Readonly linkNodes

+
    +
  • linkNodes(from: S, to: S, transition: T): void
  • +
+
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    +
      +
    • +
      from: S
      +
    • +
    • +
      to: S
      +
    • +
    • +
      transition: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Readonly makeFinal

+
    +
  • makeFinal(state: S): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FACreationOptions.html b/docs/v0.9.0/interfaces/FACreationOptions.html new file mode 100644 index 00000000..c530fbdd --- /dev/null +++ b/docs/v0.9.0/interfaces/FACreationOptions.html @@ -0,0 +1,173 @@ + + + + + + FACreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FACreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the operation is allowed to create before throwing a TooManyNodesError.

+
+

If the maximum number of nodes is unset or set to Infinity, the operation may create as many nodes as + necessary. This might cause the machine to run out of memory.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FAIterator.html b/docs/v0.9.0/interfaces/FAIterator.html new file mode 100644 index 00000000..511cfaaf --- /dev/null +++ b/docs/v0.9.0/interfaces/FAIterator.html @@ -0,0 +1,285 @@ + + + + + + FAIterator | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FAIterator<S, O>

+
+
+
+
+
+
+
+
+
+

A graph iterator for all states of an FA with final states.

+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state in the FA to iterate.

    +
    +
    +
  • +
  • +

    O = Iterable<S>

    +
    +
    +

    The type of the value each state maps to.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FAIterator +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Optional Readonly stableOut

+
stableOut: boolean
+ +
+
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+
+

Stable means that if getOut gets called for the same state more than once, it will always return the same + value.

+

The sameness of states is defined by + the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the + collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of + the iterator.

+
+
default
+

false

+
+
+
+
+
+
+

Methods

+
+ +

Readonly getOut

+
    +
  • getOut(state: S): O
  • +
+
    +
  • + +
    +
    +

    Returns the value a state maps to.

    +
    +
    +
    see
    +

    stableOut

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns O

    +
  • +
+
+
+ +

Readonly isFinal

+
    +
  • isFinal(state: S): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be + sufficiently fast, usually O(1) can be assumed.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FAIterators.ToDotInfo.html b/docs/v0.9.0/interfaces/FAIterators.ToDotInfo.html new file mode 100644 index 00000000..98d92e98 --- /dev/null +++ b/docs/v0.9.0/interfaces/FAIterators.ToDotInfo.html @@ -0,0 +1,348 @@ + + + + + + ToDotInfo | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotInfo<S>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotInfo +
  • +
+
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

getId

+
    +
  • getId(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

getNumberOfOutgoingEdges

+
    +
  • getNumberOfOutgoingEdges(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

isInitial

+
    +
  • isInitial(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FAIterators.ToDotOptions.html b/docs/v0.9.0/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..fef95266 --- /dev/null +++ b/docs/v0.9.0/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,336 @@ + + + + + + ToDotOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

getEdgeAttributes

+
    +
  • getEdgeAttributes(transition: T, nth: number, from: S, to: S, info: ToDotInfo<S>): Readonly<ToDotAttrs>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      transition: T
      +
    • +
    • +
      nth: number
      +
    • +
    • +
      from: S
      +
    • +
    • +
      to: S
      +
    • +
    • +
      info: ToDotInfo<S>
      +
    • +
    +

    Returns Readonly<ToDotAttrs>

    +
  • +
+
+
+ +

Optional getGraphAttributes

+ + +
+
+ +

Optional getNodeAttributes

+ +
    +
  • + +

    Parameters

    + +

    Returns Readonly<ToDotAttrs>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/FiniteAutomaton.html b/docs/v0.9.0/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..6213e80b --- /dev/null +++ b/docs/v0.9.0/interfaces/FiniteAutomaton.html @@ -0,0 +1,399 @@ + + + + + + FiniteAutomaton | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FiniteAutomaton

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+
+

Methods

+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.AnyCharacterSet.html b/docs/v0.9.0/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..16a5c333 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,231 @@ + + + + + + AnyCharacterSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface AnyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + AnyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "any"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.DigitCharacterSet.html b/docs/v0.9.0/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..37fbfab6 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + DigitCharacterSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface DigitCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DigitCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "digit"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.Flags.html b/docs/v0.9.0/interfaces/JS.Flags.html new file mode 100644 index 00000000..57a304a8 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.Flags.html @@ -0,0 +1,353 @@ + + + + + + Flags | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Flags

+
+
+
+
+
+
+
+
+
+

A partial set of RegExp flags.

+
+
+
+
+

Hierarchy

+
    +
  • + Flags +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional dotAll

+
dotAll: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional global

+
global: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional hasIndices

+
hasIndices: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreCase

+
ignoreCase: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional multiline

+
multiline: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional sticky

+
sticky: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional unicode

+
unicode: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.Literal.html b/docs/v0.9.0/interfaces/JS.Literal.html new file mode 100644 index 00000000..2461a1eb --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.Literal.html @@ -0,0 +1,251 @@ + + + + + + Literal | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Literal

+
+
+
+
+
+
+
+
+
+

A light-weight representation of a + JavaScript RegExp object.

+
+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • + Literal +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: string
+ +
+
+ +

Readonly source

+
source: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.ParseOptions.html b/docs/v0.9.0/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..e729cf8b --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.ParseOptions.html @@ -0,0 +1,411 @@ + + + + + + ParseOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw" | "unknown" | "parse"
+ +
+
+

How the parser will handle assertions.

+
+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions + (e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all + paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the + assertion.

    +
  • +
+
+
default
+

"parse"

+
+
+
+
+
+ +

Optional backreferences

+
backreferences: "disable" | "throw" | "unknown"
+ +
+
+

How to the parser will handle unresolved backreferences.

+
+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing + a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because + of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will + be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional maxBackreferenceWords

+
maxBackreferenceWords: number
+ +
+
+

The maximum number of words a backreference can be replaced by.

+
+

Set this to 0 to disable resolving backreferences.

+
+
default
+

100

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the parser is allowed to create.

+
+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional simplify

+
simplify: boolean
+ +
+
+

By default, the parser will try to simplify the generated RE as much as possible.

+
+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, + or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually + good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
default
+

true

+
+
+
+
+
+
+

Methods

+
+ +

Optional getUnknownId

+
    +
  • getUnknownId(element: Backreference | Assertion): string
  • +
+
    +
  • + +
    +
    +

    Unknown nodes have an id property that can be used to identify the element that created the unknown. This + function can be used to control the id value.

    +
    +

    By default, the raw of the element will be used as its id.

    +
    +

    Parameters

    +
      +
    • +
      element: Backreference | Assertion
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.ParseResult.html b/docs/v0.9.0/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..4969678c --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.ParseResult.html @@ -0,0 +1,242 @@ + + + + + + ParseResult | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

expression

+
expression: Expression
+ +
+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.PropertyCharacterSet.html b/docs/v0.9.0/interfaces/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..62797b31 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.PropertyCharacterSet.html @@ -0,0 +1,264 @@ + + + + + + PropertyCharacterSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PropertyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + PropertyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

key

+
key: string
+ +
+
+ +

kind

+
kind: "property"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

value

+
value: null | string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.RegexppAst.html b/docs/v0.9.0/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..8ca3414d --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.RegexppAst.html @@ -0,0 +1,242 @@ + + + + + + RegexppAst | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegexppAst

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegexppAst +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: Flags
+ +
+
+ +

Readonly pattern

+
pattern: Pattern
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.SpaceCharacterSet.html b/docs/v0.9.0/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..90c87d98 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + SpaceCharacterSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SpaceCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "space"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.9.0/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..fabd59cf --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,231 @@ + + + + + + TextBoundaryAssertion | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TextBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "end" | "start"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.ToLiteralOptions.html b/docs/v0.9.0/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..eb900806 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,265 @@ + + + + + + ToLiteralOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToLiteralOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToLiteralOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fastCharacters

+
fastCharacters: boolean
+ +
+
+

This will force the function to print characters as fast as possible.

+
+

Literals created with this option will usually be created about 10x faster but the result will usually be very + hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
default
+

false

+
+
+
+
+
+ +

Optional flags

+
flags: Flags
+ +
+
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+
+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that + are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are + given, the implementation will generally try to choose flags such that it can create literal that is as + small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.9.0/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..9322759c --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,242 @@ + + + + + + WordBoundaryAssertion | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/JS.WordCharacterSet.html b/docs/v0.9.0/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..00e28320 --- /dev/null +++ b/docs/v0.9.0/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + WordCharacterSet | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.CreationOptions.html b/docs/v0.9.0/interfaces/NFA.CreationOptions.html new file mode 100644 index 00000000..8d1af05f --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.CreationOptions.html @@ -0,0 +1,226 @@ + + + + + + CreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a NFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.FromRegexOptions.html b/docs/v0.9.0/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..da81ed43 --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,295 @@ + + + + + + FromRegexOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw"
+ +
+
+

How to handle assertions when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.Node.html b/docs/v0.9.0/interfaces/NFA.Node.html new file mode 100644 index 00000000..c4f75871 --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.Node.html @@ -0,0 +1,222 @@ + + + + + + Node | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.Options.html b/docs/v0.9.0/interfaces/NFA.Options.html new file mode 100644 index 00000000..2951cc84 --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.Options.html @@ -0,0 +1,198 @@ + + + + + + Options | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.ReadonlyNode.html b/docs/v0.9.0/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..dd6958bc --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,219 @@ + + + + + + ReadonlyNode | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/NFA.ReadonlyNodeList.html b/docs/v0.9.0/interfaces/NFA.ReadonlyNodeList.html new file mode 100644 index 00000000..336d25f1 --- /dev/null +++ b/docs/v0.9.0/interfaces/NFA.ReadonlyNodeList.html @@ -0,0 +1,247 @@ + + + + + + ReadonlyNodeList | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Quantifier.html b/docs/v0.9.0/interfaces/Quantifier.html new file mode 100644 index 00000000..08d73c49 --- /dev/null +++ b/docs/v0.9.0/interfaces/Quantifier.html @@ -0,0 +1,224 @@ + + + + + + Quantifier | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Quantifier

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Quantifier +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

lazy

+
lazy: boolean
+ +
+
+ +

max

+
max: number
+ +
+
+ +

min

+
min: number
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Quantifier"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ReadonlyCharMap.html b/docs/v0.9.0/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..6847353c --- /dev/null +++ b/docs/v0.9.0/interfaces/ReadonlyCharMap.html @@ -0,0 +1,449 @@ + + + + + + ReadonlyCharMap | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Iterable<[CharRange, T]> +
      +
    • + ReadonlyCharMap +
    • +
    +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+
+

Methods

+
+ +

entries

+ +
    +
  • + +

    Parameters

    + +

    Returns Iterable<[CharRange, T]>

    +
  • +
+
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

invert

+ +
    +
  • + +
    +
    +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
      +
    • +
    +

    Returns Map<T, CharSet>

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

values

+
    +
  • values(): Iterable<T>
  • +
+
    +
  • + +

    Returns Iterable<T>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ReadonlyDFA.html b/docs/v0.9.0/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..d9638a4b --- /dev/null +++ b/docs/v0.9.0/interfaces/ReadonlyDFA.html @@ -0,0 +1,661 @@ + + + + + + ReadonlyDFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyDFA

+
+
+
+
+
+
+
+
+
+

A readonly DFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ReadonlyENFA.html b/docs/v0.9.0/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..d8f4cd11 --- /dev/null +++ b/docs/v0.9.0/interfaces/ReadonlyENFA.html @@ -0,0 +1,632 @@ + + + + + + ReadonlyENFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyENFA

+
+
+
+
+
+
+
+
+
+

A readonly ENFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ReadonlyNFA.html b/docs/v0.9.0/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..b5ed6bb5 --- /dev/null +++ b/docs/v0.9.0/interfaces/ReadonlyNFA.html @@ -0,0 +1,629 @@ + + + + + + ReadonlyNFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNFA

+
+
+
+
+
+
+
+
+
+

A readonly NFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/SourceLocation.html b/docs/v0.9.0/interfaces/SourceLocation.html new file mode 100644 index 00000000..19b2648b --- /dev/null +++ b/docs/v0.9.0/interfaces/SourceLocation.html @@ -0,0 +1,161 @@ + + + + + + SourceLocation | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SourceLocation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SourceLocation +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

end

+
end: number
+ +
+
+ +

start

+
start: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/ToRegexOptions.html b/docs/v0.9.0/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..7210855e --- /dev/null +++ b/docs/v0.9.0/interfaces/ToRegexOptions.html @@ -0,0 +1,181 @@ + + + + + + ToRegexOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToRegexOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of RE AST nodes the implementation is allowed to create.

+
+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This + maximum will be check before any optimization passes.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional maxOptimizationPasses

+
maxOptimizationPasses: number
+ +
+
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+
+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize + the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/TransformContext.html b/docs/v0.9.0/interfaces/TransformContext.html new file mode 100644 index 00000000..c95b4cee --- /dev/null +++ b/docs/v0.9.0/interfaces/TransformContext.html @@ -0,0 +1,188 @@ + + + + + + TransformContext | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformContext

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformContext +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the AST.

+
+

If the expression to transform does not contain any characters at the start of the transformation, then this + value will be 0.

+
+
+
+
+

Methods

+
+ +

Readonly signalMutation

+
    +
  • signalMutation(): void
  • +
+
    +
  • + +
    +
    +

    Signals that the transformer changed the AST.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/TransformOptions.html b/docs/v0.9.0/interfaces/TransformOptions.html new file mode 100644 index 00000000..bc1aa2b9 --- /dev/null +++ b/docs/v0.9.0/interfaces/TransformOptions.html @@ -0,0 +1,162 @@ + + + + + + TransformOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxPasses

+
maxPasses: number
+ +
+
+

The maximum number of times the transformer will be applied to the AST.

+
+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified + anymore.

+
+
default
+

10

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Transformer.html b/docs/v0.9.0/interfaces/Transformer.html new file mode 100644 index 00000000..101a33cc --- /dev/null +++ b/docs/v0.9.0/interfaces/Transformer.html @@ -0,0 +1,340 @@ + + + + + + Transformer | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Transformer

+
+
+
+
+
+
+
+
+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. + They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure + functions.

+
+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change + the given AST.

+
+
+
+

Hierarchy

+
    +
  • + Transformer +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternation

+ + +
+
+ +

Optional onAssertion

+ + +
+
+ +

Optional onCharacterClass

+ + +
+
+ +

Optional onConcatenation

+ + +
+
+ +

Optional onExpression

+ + +
+
+ +

Optional onQuantifier

+ + +
+
+ +

Optional onUnknown

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Transformers.CreationOptions.html b/docs/v0.9.0/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..bf7c95dd --- /dev/null +++ b/docs/v0.9.0/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,256 @@ + + + + + + CreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.9.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..c03d936d --- /dev/null +++ b/docs/v0.9.0/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,291 @@ + + + + + + PatternEdgeAssertionsCreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional inline

+
inline: boolean
+ +
+
+
default
+

true

+
+
+
+
+
+ +

Optional remove

+
remove: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.9.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..e1122553 --- /dev/null +++ b/docs/v0.9.0/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,273 @@ + + + + + + RemoveAssertionsCreationOptions | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional replacement

+
replacement: "empty-set" | "empty-word"
+ +
+
+
default
+

"empty-set"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/TransitionIterable.html b/docs/v0.9.0/interfaces/TransitionIterable.html new file mode 100644 index 00000000..87eff603 --- /dev/null +++ b/docs/v0.9.0/interfaces/TransitionIterable.html @@ -0,0 +1,202 @@ + + + + + + TransitionIterable | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterable<T>

+
+
+
+
+
+
+
+
+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+
+

Methods

+
+ +

Readonly transitionIterator

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/Unknown.html b/docs/v0.9.0/interfaces/Unknown.html new file mode 100644 index 00000000..d4e932b4 --- /dev/null +++ b/docs/v0.9.0/interfaces/Unknown.html @@ -0,0 +1,191 @@ + + + + + + Unknown | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Unknown

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Unknown +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

id

+
id: string
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Unknown"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/VisitAstHandler.html b/docs/v0.9.0/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..edd7490c --- /dev/null +++ b/docs/v0.9.0/interfaces/VisitAstHandler.html @@ -0,0 +1,475 @@ + + + + + + VisitAstHandler | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/interfaces/VisitNoParentAstHandler.html b/docs/v0.9.0/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..b4e65d81 --- /dev/null +++ b/docs/v0.9.0/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,475 @@ + + + + + + VisitNoParentAstHandler | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitNoParentAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+
    +
  • onAlternationEnter(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+
    +
  • onAlternationLeave(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+
    +
  • onConcatenationEnter(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+
    +
  • onConcatenationLeave(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+
    +
  • onExpressionEnter(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+
    +
  • onExpressionLeave(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+
    +
  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+
    +
  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules.html b/docs/v0.9.0/modules.html new file mode 100644 index 00000000..5988dc66 --- /dev/null +++ b/docs/v0.9.0/modules.html @@ -0,0 +1,877 @@ + + + + + + refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.9.0

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Char

+
Char: number & { __char?: never }
+ +
+
+

A character is a non-negative integer.

+
+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or + Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even + text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
+ +

Element

+ + +
+
+ +

NoParent

+
NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+ +
+
+

A view of an AST node that hides the parent property.

+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Node

+ + +
+
+ +

Parent

+ + +
+
+ +

ReadonlyWord

+
ReadonlyWord: readonly Char[]
+ +
+
+

An immutable finite sequence of Chars.

+
+

This is an immutable view on a Word.

+
+
+
+ +

ReadonlyWordSet

+
ReadonlyWordSet: readonly CharSet[]
+ +
+
+

An immutable finite sequence of non-empty CharSets.

+
+

This is an immutable view on a WordSet.

+
+
+
+ +

TransitionIterator

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+ +
+
+

An FAIterator where transitions are map of states to character sets.

+
+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Word

+
Word: Char[]
+ +
+
+

A word is finite sequence of Chars.

+
+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on + Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string + representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+ +

WordSet

+
WordSet: CharSet[]
+ +
+
+

A word set is finite sequence of non-empty CharSets.

+
+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary + because it's not practical to represent the large character sets used in every-day regexes using single characters. + Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an + FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
+

Functions

+
+ +

combineTransformers

+ +
    +
  • + +
    +
    +

    Creates a new transformer that performs all given transformers in sequentially order.

    +
    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are + given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

getIntersectionIterator

+ + +
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be + yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in + any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

setParent

+
    +
  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +
+
    +
  • + +
    +
    +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type parameters

    + +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +
      +

      The parent of node.

      +
      +
    • +
    +

    Returns asserts node is T

    +
  • +
+
+
+ +

setSource

+ +
    +
  • + +
    +
    +

    Sets the source property of the given node and all of its child nodes.

    +
    +

    If source is not a function, then the source object will be copied for all source properties to be set. The + object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

transform

+ +
    +
  • + +
    +
    +

    Transforms the given expression according to the given transformer.

    +
    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

visitAst

+ +
    +
  • + +
    +
    +

    Calls the given visitor on the given node and all of its children.

    +
    +

    If the given visitor throws an error, the traversal will stop and the error will be re-thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/DFA.html b/docs/v0.9.0/modules/DFA.html new file mode 100644 index 00000000..daf244c4 --- /dev/null +++ b/docs/v0.9.0/modules/DFA.html @@ -0,0 +1,181 @@ + + + + + + DFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace DFA

+
+
+
+
+
+
+
+
+
+

A namespace for DFA-specific classes and interfaces.

+
+
+
see
+

DFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/ENFA.html b/docs/v0.9.0/modules/ENFA.html new file mode 100644 index 00000000..b2e20eb8 --- /dev/null +++ b/docs/v0.9.0/modules/ENFA.html @@ -0,0 +1,185 @@ + + + + + + ENFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace ENFA

+
+
+
+
+
+
+
+
+
+

A namespace for ENFA-specific classes and interfaces.

+
+
+
see
+

ENFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/FAIterators.html b/docs/v0.9.0/modules/FAIterators.html new file mode 100644 index 00000000..635e543b --- /dev/null +++ b/docs/v0.9.0/modules/FAIterators.html @@ -0,0 +1,1324 @@ + + + + + + FAIterators | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace FAIterators

+
+
+
+
+
+
+
+
+
+

Contains algorithms consuming and producing FAIterators.

+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+ +
+
+ +

ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+ +
+
+
+

Functions

+
+ +

approximateRejectingWordSet

+ +
    +
  • + +
    +
    +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +
    +

    If the iterator accepts all words, undefined will be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential + worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns + undefined instead.

    +
    +
    throws
    +

    if the set of input characters is empty.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    • +
    +

    Returns WordSet | undefined

    +
  • +
+
+
+ +

canReachFinal

+
    +
  • canReachFinal<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

count

+ +
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

createSimpleToDotOptions

+
    +
  • createSimpleToDotOptions<S, T>(toString: (transition: T) => string, ordered?: boolean): ToDotOptions<S, T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      toString: (transition: T) => string
      +
        +
      • +
          +
        • (transition: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            transition: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
    • +
    +

    Returns ToDotOptions<S, T>

    +
  • +
+
+
+ +

ensureStableOut

+ +
    +
  • + +
    +
    +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

filterOutIter

+
    +
  • filterOutIter<S, O>(iter: FAIterator<S, Iterable<O>>, conditionFn: (out: O) => boolean): FAIterator<S, Iterable<O>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: (out: O) => boolean
      +
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<O>>

    +
  • +
+
+
+ +

forEach

+
    +
  • forEach<S>(iter: FAIterator<S>, consumerFn?: (state: S) => void): void
  • +
+
    +
  • + +
    +
    +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state + exactly once.

    +
    +

    The order in which states are traversed is implementation-defined.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S>
      +
    • +
    • +
      Optional consumerFn: (state: S) => void
      +
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            state: S
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

hasCycle

+ +
    +
  • + +
    +
    +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

intersection

+ +
    +
  • + +
    +
    +

    A lazy intersection algorithm that will use the given FA builder to construct the intersection FA as the returned + iterator is used to traverse the FA.

    +
    +

    To construct the whole intersection FA, simply traverse the entire iterator.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, S>

    +
  • +
+
+
+ +

iterateStates

+
    +
  • iterateStates<S>(iter: FAIterator<S>): Iterable<S>
  • +
+
    +
  • + +
    +
    +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +
    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<S>

    +
  • +
+
+
+ +

iterateWordSets

+ +
    +
  • + +
    +
    +

    Iterates all word sets of the given FA.

    +
    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

languageIsFinite

+
    +
  • languageIsFinite<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

makeDeterministic

+ +
    +
  • + +
    +
    +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +
    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +

    Type parameters

    +
      +
    • +

      B

      +
    • +
    • +

      I

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<B, B>

    +
  • +
+
+
+ +

makeInitialFinal

+ +
    +
  • + +
    +
    +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be + final.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

makeInitialNonFinal

+ +
    +
  • + +
    +
    +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be + non-final.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

mapOut

+ +
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, T>

    +
  • +
+
+
+ +

mapOutIter

+
    +
  • mapOutIter<S, O, T>(iter: FAIterator<S, Iterable<O>>, mapFn: (out: O) => T): FAIterator<S, Iterable<T>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<T>>

    +
  • +
+
+
+ +

removeDeadStates

+
    +
  • removeDeadStates<S, O>(iter: FAIterator<S, Iterable<O>>, select: (item: O) => S): FAIterator<S, O[]>
  • +
+
    +
  • + +
    +
    +

    Removes all dead states (and trap states) from the given iterator.

    +
    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: (item: O) => S
      +
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            item: O
            +
          • +
          +

          Returns S

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, O[]>

    +
  • +
+
+
+ +

shortestAcceptingPath

+
    +
  • shortestAcceptingPath<S, T>(iter: FAIterator<S, Iterable<T>>, selectState: (item: T) => S): T[] | undefined
  • +
+
    +
  • + +
    +
    +

    Returns any one of the shortest paths accepted by the given iterator.

    +
    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: (item: T) => S
      +
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            item: T
            +
          • +
          +

          Returns S

          +
        • +
        +
      • +
      +
    • +
    +

    Returns T[] | undefined

    +
  • +
+
+
+ +

shortestWordSet

+ +
    +
  • + +
    +
    +

    Returns any one of the shortest word sets accepted by the given iterator.

    +
    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns WordSet | undefined

    +
  • +
+
+
+ +

toDot

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns a regular expression for the given iterator.

    +
    +

    null transitions are assumed to be epsilon transitions.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString<S, T>(iter: FAIterator<S, Iterable<[S, T]>>, toString?: (value: T) => string, ordered?: boolean): string
  • +
+
    +
  • + +
    +
    +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +
    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be + mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their + transition string. The number of states will be surrounded by brackets - square brackets for final states and round + brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native + String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: (value: T) => string = ...
      +
        +
      • +
          +
        • (value: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            value: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
      +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/JS.html b/docs/v0.9.0/modules/JS.html new file mode 100644 index 00000000..163b10cf --- /dev/null +++ b/docs/v0.9.0/modules/JS.html @@ -0,0 +1,381 @@ + + + + + + JS | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace JS

+
+
+
+
+
+
+
+
+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+
+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the + ECMAScript standard.

+
+
see
+

Parser: A class to convert from JS RegExp to refa AST.

+
+
see
+

toLiteral: A function to convert from refa AST to JS RegExp.

+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

BoundaryAssertion

+ + +
+
+ +

ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+ +
+
+ +

PredefinedCharacterSet

+ + +
+
+
+

Functions

+
+ +

createAssertion

+ + +
+
+ +

createCharSet

+ +
    +
  • + +
    +
    +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

toLiteral

+ +
    +
  • + +
    +
    +

    Converts the given AST or AST subtree into a JS literal.

    +
    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to + builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/NFA.html b/docs/v0.9.0/modules/NFA.html new file mode 100644 index 00000000..3ab08380 --- /dev/null +++ b/docs/v0.9.0/modules/NFA.html @@ -0,0 +1,185 @@ + + + + + + NFA | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace NFA

+
+
+
+
+
+
+
+
+
+

A namespace for NFA-specific classes and interfaces.

+
+
+
see
+

NFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/Transformers.html b/docs/v0.9.0/modules/Transformers.html new file mode 100644 index 00000000..33139977 --- /dev/null +++ b/docs/v0.9.0/modules/Transformers.html @@ -0,0 +1,602 @@ + + + + + + Transformers | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Transformers

+
+
+
+
+
+
+
+
+
+

Contains all AST transformer implementations of refa.

+
+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. + This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

applyAssertions

+ +
    +
  • + +
    +
    +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in + assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

factorOut

+ +
    +
  • + +
    +
    +

    This will factor out common prefixes and suffixes in parent nodes.

    +
    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious + case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty + alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

inline

+ +
    +
  • + +
    +
    +

    This transformer will simplify the AST by doing trivial inlining operations.

    +
    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

mergeWithQuantifier

+ +
    +
  • + +
    +
    +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +
    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

moveUpEmpty

+ +
    +
  • + +
    +
    +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression + such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the + sub-expression to accept the empty string moves closer to the root of the tree.

    +
    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

nestedQuantifiers

+ +
    +
  • + +
    +
    +

    This merges/optimizes nested quantifiers.

    +
    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

patternEdgeAssertions

+ +
    +
  • + +
    +
    +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +
    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) + and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which + may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) + in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => + a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeDeadBranches

+ +
    +
  • + +
    +
    +

    This removes dead branches in the AST.

    +
    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will + be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeUnnecessaryAssertions

+ +
    +
  • + +
    +
    +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

replaceAssertions

+ +
    +
  • + +
    +
    +

    This transformer will all assertions with either the empty set or the empty word.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

sortAssertions

+ +
    +
  • + +
    +
    +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +
    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

unionCharacters

+ +
    +
  • + +
    +
    +

    Combines single-character alternatives.

    +
    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.0/modules/Words.html b/docs/v0.9.0/modules/Words.html new file mode 100644 index 00000000..c08d340f --- /dev/null +++ b/docs/v0.9.0/modules/Words.html @@ -0,0 +1,401 @@ + + + + + + Words | refa - v0.9.0 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Words

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

fromStringToUTF16

+
    +
  • fromStringToUTF16(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of UTF16 character codes.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromStringToUnicode

+
    +
  • fromStringToUnicode(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of Unicode code points.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromUTF16ToString

+ +
    +
  • + +
    +
    +

    Converts the given array of UTF16 character codes into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

fromUnicodeToString

+ +
    +
  • + +
    +
    +

    Converts the given array of Unicode code points into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

pickMostReadableCharacter

+
    +
  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +
+
    +
  • + +
    +
    +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely + implementation-defined but, generally, word characters will be picked over non-word characters and printable + characters will be picked over non-printable characters.

    +
    +

    If the given character set is empty, undefined will be returned.

    +
    +

    Parameters

    + +

    Returns Char | undefined

    +
  • +
+
+
+ +

pickMostReadableWord

+ +
    +
  • + +
    +
    +

    Returns a word of the given word set that is the most humanly readable.

    +
    +
    +

    Parameters

    + +

    Returns Word

    +
  • +
+
+
+ +

wordSetToWords

+ +
    +
  • + +
    +
    +

    Returns an iterable yielding all words that can be constructed from the given word set.

    +
    +
    +
    deprecated
    +

    Use wordSetsToWords instead.

    +
    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

wordSetsToWords

+ +
    +
  • + +
    +
    +

    Returns an iterable yielding all words that can be constructed from the given word sets.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/assets/css/main.css b/docs/v0.9.1/assets/css/main.css new file mode 100644 index 00000000..46571c27 --- /dev/null +++ b/docs/v0.9.1/assets/css/main.css @@ -0,0 +1,2660 @@ +:root { + --color-background: #fdfdfd; + --color-text: #222; + --color-text-aside: #707070; + --color-link: #4da6ff; + --color-menu-divider: #eee; + --color-menu-divider-focus: #000; + --color-menu-label: #707070; + --color-panel: #fff; + --color-panel-divider: #eee; + --color-comment-tag: #707070; + --color-comment-tag-text: #fff; + --color-code-background: rgba(0, 0, 0, 0.04); + --color-ts: #9600ff; + --color-ts-interface: #647f1b; + --color-ts-enum: #937210; + --color-ts-class: #0672de; + --color-ts-private: #707070; + --color-toolbar: #fff; + --color-toolbar-text: #333; +} + +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: var(--color-code-background); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member a[data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member a[data-tsd-kind=Interface] { + color: var(--color-ts-interface); +} +.tsd-member a[data-tsd-kind=Enum] { + color: var(--color-ts-enum); +} +.tsd-member a[data-tsd-kind=Class] { + color: var(--color-ts-class); +} +.tsd-member a[data-tsd-kind=Private] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} diff --git a/docs/v0.9.1/assets/images/icons.png b/docs/v0.9.1/assets/images/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/v0.9.1/assets/images/icons.png differ diff --git a/docs/v0.9.1/assets/images/icons@2x.png b/docs/v0.9.1/assets/images/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/v0.9.1/assets/images/icons@2x.png differ diff --git a/docs/v0.9.1/assets/images/widgets.png b/docs/v0.9.1/assets/images/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/v0.9.1/assets/images/widgets.png differ diff --git a/docs/v0.9.1/assets/images/widgets@2x.png b/docs/v0.9.1/assets/images/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/v0.9.1/assets/images/widgets@2x.png differ diff --git a/docs/v0.9.1/assets/js/main.js b/docs/v0.9.1/assets/js/main.js new file mode 100644 index 00000000..dc257a86 --- /dev/null +++ b/docs/v0.9.1/assets/js/main.js @@ -0,0 +1,248 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is not neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "../node_modules/lunr/lunr.js": +/*!************************************!*\ + !*** ../node_modules/lunr/lunr.js ***! + \************************************/ +/***/ ((module, exports, __webpack_require__) => { + +eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliver Nightingale\n * @license MIT\n */\n\n;(function(){\n\n/**\n * A convenience function for configuring and constructing\n * a new lunr Index.\n *\n * A lunr.Builder instance is created and the pipeline setup\n * with a trimmer, stop word filter and stemmer.\n *\n * This builder object is yielded to the configuration function\n * that is passed as a parameter, allowing the list of fields\n * and other builder parameters to be customised.\n *\n * All documents _must_ be added within the passed config function.\n *\n * @example\n * var idx = lunr(function () {\n * this.field('title')\n * this.field('body')\n * this.ref('id')\n *\n * documents.forEach(function (doc) {\n * this.add(doc)\n * }, this)\n * })\n *\n * @see {@link lunr.Builder}\n * @see {@link lunr.Pipeline}\n * @see {@link lunr.trimmer}\n * @see {@link lunr.stopWordFilter}\n * @see {@link lunr.stemmer}\n * @namespace {function} lunr\n */\nvar lunr = function (config) {\n var builder = new lunr.Builder\n\n builder.pipeline.add(\n lunr.trimmer,\n lunr.stopWordFilter,\n lunr.stemmer\n )\n\n builder.searchPipeline.add(\n lunr.stemmer\n )\n\n config.call(builder, builder)\n return builder.build()\n}\n\nlunr.version = \"2.3.9\"\n/*!\n * lunr.utils\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A namespace containing utils for the rest of the lunr library\n * @namespace lunr.utils\n */\nlunr.utils = {}\n\n/**\n * Print a warning message to the console.\n *\n * @param {String} message The message to be printed.\n * @memberOf lunr.utils\n * @function\n */\nlunr.utils.warn = (function (global) {\n /* eslint-disable no-console */\n return function (message) {\n if (global.console && console.warn) {\n console.warn(message)\n }\n }\n /* eslint-enable no-console */\n})(this)\n\n/**\n * Convert an object to a string.\n *\n * In the case of `null` and `undefined` the function returns\n * the empty string, in all other cases the result of calling\n * `toString` on the passed object is returned.\n *\n * @param {Any} obj The object to convert to a string.\n * @return {String} string representation of the passed object.\n * @memberOf lunr.utils\n */\nlunr.utils.asString = function (obj) {\n if (obj === void 0 || obj === null) {\n return \"\"\n } else {\n return obj.toString()\n }\n}\n\n/**\n * Clones an object.\n *\n * Will create a copy of an existing object such that any mutations\n * on the copy cannot affect the original.\n *\n * Only shallow objects are supported, passing a nested object to this\n * function will cause a TypeError.\n *\n * Objects with primitives, and arrays of primitives are supported.\n *\n * @param {Object} obj The object to clone.\n * @return {Object} a clone of the passed object.\n * @throws {TypeError} when a nested object is passed.\n * @memberOf Utils\n */\nlunr.utils.clone = function (obj) {\n if (obj === null || obj === undefined) {\n return obj\n }\n\n var clone = Object.create(null),\n keys = Object.keys(obj)\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i],\n val = obj[key]\n\n if (Array.isArray(val)) {\n clone[key] = val.slice()\n continue\n }\n\n if (typeof val === 'string' ||\n typeof val === 'number' ||\n typeof val === 'boolean') {\n clone[key] = val\n continue\n }\n\n throw new TypeError(\"clone is not deep and does not support nested objects\")\n }\n\n return clone\n}\nlunr.FieldRef = function (docRef, fieldName, stringValue) {\n this.docRef = docRef\n this.fieldName = fieldName\n this._stringValue = stringValue\n}\n\nlunr.FieldRef.joiner = \"/\"\n\nlunr.FieldRef.fromString = function (s) {\n var n = s.indexOf(lunr.FieldRef.joiner)\n\n if (n === -1) {\n throw \"malformed field ref string\"\n }\n\n var fieldRef = s.slice(0, n),\n docRef = s.slice(n + 1)\n\n return new lunr.FieldRef (docRef, fieldRef, s)\n}\n\nlunr.FieldRef.prototype.toString = function () {\n if (this._stringValue == undefined) {\n this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef\n }\n\n return this._stringValue\n}\n/*!\n * lunr.Set\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A lunr set.\n *\n * @constructor\n */\nlunr.Set = function (elements) {\n this.elements = Object.create(null)\n\n if (elements) {\n this.length = elements.length\n\n for (var i = 0; i < this.length; i++) {\n this.elements[elements[i]] = true\n }\n } else {\n this.length = 0\n }\n}\n\n/**\n * A complete set that contains all elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.complete = {\n intersect: function (other) {\n return other\n },\n\n union: function () {\n return this\n },\n\n contains: function () {\n return true\n }\n}\n\n/**\n * An empty set that contains no elements.\n *\n * @static\n * @readonly\n * @type {lunr.Set}\n */\nlunr.Set.empty = {\n intersect: function () {\n return this\n },\n\n union: function (other) {\n return other\n },\n\n contains: function () {\n return false\n }\n}\n\n/**\n * Returns true if this set contains the specified object.\n *\n * @param {object} object - Object whose presence in this set is to be tested.\n * @returns {boolean} - True if this set contains the specified object.\n */\nlunr.Set.prototype.contains = function (object) {\n return !!this.elements[object]\n}\n\n/**\n * Returns a new set containing only the elements that are present in both\n * this set and the specified set.\n *\n * @param {lunr.Set} other - set to intersect with this set.\n * @returns {lunr.Set} a new set that is the intersection of this and the specified set.\n */\n\nlunr.Set.prototype.intersect = function (other) {\n var a, b, elements, intersection = []\n\n if (other === lunr.Set.complete) {\n return this\n }\n\n if (other === lunr.Set.empty) {\n return other\n }\n\n if (this.length < other.length) {\n a = this\n b = other\n } else {\n a = other\n b = this\n }\n\n elements = Object.keys(a.elements)\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i]\n if (element in b.elements) {\n intersection.push(element)\n }\n }\n\n return new lunr.Set (intersection)\n}\n\n/**\n * Returns a new set combining the elements of this and the specified set.\n *\n * @param {lunr.Set} other - set to union with this set.\n * @return {lunr.Set} a new set that is the union of this and the specified set.\n */\n\nlunr.Set.prototype.union = function (other) {\n if (other === lunr.Set.complete) {\n return lunr.Set.complete\n }\n\n if (other === lunr.Set.empty) {\n return this\n }\n\n return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))\n}\n/**\n * A function to calculate the inverse document frequency for\n * a posting. This is shared between the builder and the index\n *\n * @private\n * @param {object} posting - The posting for a given term\n * @param {number} documentCount - The total number of documents.\n */\nlunr.idf = function (posting, documentCount) {\n var documentsWithTerm = 0\n\n for (var fieldName in posting) {\n if (fieldName == '_index') continue // Ignore the term index, its not a field\n documentsWithTerm += Object.keys(posting[fieldName]).length\n }\n\n var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)\n\n return Math.log(1 + Math.abs(x))\n}\n\n/**\n * A token wraps a string representation of a token\n * as it is passed through the text processing pipeline.\n *\n * @constructor\n * @param {string} [str=''] - The string token being wrapped.\n * @param {object} [metadata={}] - Metadata associated with this token.\n */\nlunr.Token = function (str, metadata) {\n this.str = str || \"\"\n this.metadata = metadata || {}\n}\n\n/**\n * Returns the token string that is being wrapped by this object.\n *\n * @returns {string}\n */\nlunr.Token.prototype.toString = function () {\n return this.str\n}\n\n/**\n * A token update function is used when updating or optionally\n * when cloning a token.\n *\n * @callback lunr.Token~updateFunction\n * @param {string} str - The string representation of the token.\n * @param {Object} metadata - All metadata associated with this token.\n */\n\n/**\n * Applies the given function to the wrapped string token.\n *\n * @example\n * token.update(function (str, metadata) {\n * return str.toUpperCase()\n * })\n *\n * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.update = function (fn) {\n this.str = fn(this.str, this.metadata)\n return this\n}\n\n/**\n * Creates a clone of this token. Optionally a function can be\n * applied to the cloned token.\n *\n * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.\n * @returns {lunr.Token}\n */\nlunr.Token.prototype.clone = function (fn) {\n fn = fn || function (s) { return s }\n return new lunr.Token (fn(this.str, this.metadata), this.metadata)\n}\n/*!\n * lunr.tokenizer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A function for splitting a string into tokens ready to be inserted into\n * the search index. Uses `lunr.tokenizer.separator` to split strings, change\n * the value of this property to change how strings are split into tokens.\n *\n * This tokenizer will convert its parameter to a string by calling `toString` and\n * then will split this string on the character in `lunr.tokenizer.separator`.\n * Arrays will have their elements converted to strings and wrapped in a lunr.Token.\n *\n * Optional metadata can be passed to the tokenizer, this metadata will be cloned and\n * added as metadata to every token that is created from the object to be tokenized.\n *\n * @static\n * @param {?(string|object|object[])} obj - The object to convert into tokens\n * @param {?object} metadata - Optional metadata to associate with every token\n * @returns {lunr.Token[]}\n * @see {@link lunr.Pipeline}\n */\nlunr.tokenizer = function (obj, metadata) {\n if (obj == null || obj == undefined) {\n return []\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (t) {\n return new lunr.Token(\n lunr.utils.asString(t).toLowerCase(),\n lunr.utils.clone(metadata)\n )\n })\n }\n\n var str = obj.toString().toLowerCase(),\n len = str.length,\n tokens = []\n\n for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {\n var char = str.charAt(sliceEnd),\n sliceLength = sliceEnd - sliceStart\n\n if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {\n\n if (sliceLength > 0) {\n var tokenMetadata = lunr.utils.clone(metadata) || {}\n tokenMetadata[\"position\"] = [sliceStart, sliceLength]\n tokenMetadata[\"index\"] = tokens.length\n\n tokens.push(\n new lunr.Token (\n str.slice(sliceStart, sliceEnd),\n tokenMetadata\n )\n )\n }\n\n sliceStart = sliceEnd + 1\n }\n\n }\n\n return tokens\n}\n\n/**\n * The separator used to split a string into tokens. Override this property to change the behaviour of\n * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.\n *\n * @static\n * @see lunr.tokenizer\n */\nlunr.tokenizer.separator = /[\\s\\-]+/\n/*!\n * lunr.Pipeline\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Pipelines maintain an ordered list of functions to be applied to all\n * tokens in documents entering the search index and queries being ran against\n * the index.\n *\n * An instance of lunr.Index created with the lunr shortcut will contain a\n * pipeline with a stop word filter and an English language stemmer. Extra\n * functions can be added before or after either of these functions or these\n * default functions can be removed.\n *\n * When run the pipeline will call each function in turn, passing a token, the\n * index of that token in the original list of all tokens and finally a list of\n * all the original tokens.\n *\n * The output of functions in the pipeline will be passed to the next function\n * in the pipeline. To exclude a token from entering the index the function\n * should return undefined, the rest of the pipeline will not be called with\n * this token.\n *\n * For serialisation of pipelines to work, all functions used in an instance of\n * a pipeline should be registered with lunr.Pipeline. Registered functions can\n * then be loaded. If trying to load a serialised pipeline that uses functions\n * that are not registered an error will be thrown.\n *\n * If not planning on serialising the pipeline then registering pipeline functions\n * is not necessary.\n *\n * @constructor\n */\nlunr.Pipeline = function () {\n this._stack = []\n}\n\nlunr.Pipeline.registeredFunctions = Object.create(null)\n\n/**\n * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token\n * string as well as all known metadata. A pipeline function can mutate the token string\n * or mutate (or add) metadata for a given token.\n *\n * A pipeline function can indicate that the passed token should be discarded by returning\n * null, undefined or an empty string. This token will not be passed to any downstream pipeline\n * functions and will not be added to the index.\n *\n * Multiple tokens can be returned by returning an array of tokens. Each token will be passed\n * to any downstream pipeline functions and all will returned tokens will be added to the index.\n *\n * Any number of pipeline functions may be chained together using a lunr.Pipeline.\n *\n * @interface lunr.PipelineFunction\n * @param {lunr.Token} token - A token from the document being processed.\n * @param {number} i - The index of this token in the complete list of tokens for this document/field.\n * @param {lunr.Token[]} tokens - All tokens for this document/field.\n * @returns {(?lunr.Token|lunr.Token[])}\n */\n\n/**\n * Register a function with the pipeline.\n *\n * Functions that are used in the pipeline should be registered if the pipeline\n * needs to be serialised, or a serialised pipeline needs to be loaded.\n *\n * Registering a function does not add it to a pipeline, functions must still be\n * added to instances of the pipeline for them to be used when running a pipeline.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @param {String} label - The label to register this function with\n */\nlunr.Pipeline.registerFunction = function (fn, label) {\n if (label in this.registeredFunctions) {\n lunr.utils.warn('Overwriting existing registered function: ' + label)\n }\n\n fn.label = label\n lunr.Pipeline.registeredFunctions[fn.label] = fn\n}\n\n/**\n * Warns if the function is not registered as a Pipeline function.\n *\n * @param {lunr.PipelineFunction} fn - The function to check for.\n * @private\n */\nlunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {\n var isRegistered = fn.label && (fn.label in this.registeredFunctions)\n\n if (!isRegistered) {\n lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\\n', fn)\n }\n}\n\n/**\n * Loads a previously serialised pipeline.\n *\n * All functions to be loaded must already be registered with lunr.Pipeline.\n * If any function from the serialised data has not been registered then an\n * error will be thrown.\n *\n * @param {Object} serialised - The serialised pipeline to load.\n * @returns {lunr.Pipeline}\n */\nlunr.Pipeline.load = function (serialised) {\n var pipeline = new lunr.Pipeline\n\n serialised.forEach(function (fnName) {\n var fn = lunr.Pipeline.registeredFunctions[fnName]\n\n if (fn) {\n pipeline.add(fn)\n } else {\n throw new Error('Cannot load unregistered function: ' + fnName)\n }\n })\n\n return pipeline\n}\n\n/**\n * Adds new functions to the end of the pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.\n */\nlunr.Pipeline.prototype.add = function () {\n var fns = Array.prototype.slice.call(arguments)\n\n fns.forEach(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n this._stack.push(fn)\n }, this)\n}\n\n/**\n * Adds a single function after a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.after = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n pos = pos + 1\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Adds a single function before a function that already exists in the\n * pipeline.\n *\n * Logs a warning if the function has not been registered.\n *\n * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.\n * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.\n */\nlunr.Pipeline.prototype.before = function (existingFn, newFn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(newFn)\n\n var pos = this._stack.indexOf(existingFn)\n if (pos == -1) {\n throw new Error('Cannot find existingFn')\n }\n\n this._stack.splice(pos, 0, newFn)\n}\n\n/**\n * Removes a function from the pipeline.\n *\n * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.\n */\nlunr.Pipeline.prototype.remove = function (fn) {\n var pos = this._stack.indexOf(fn)\n if (pos == -1) {\n return\n }\n\n this._stack.splice(pos, 1)\n}\n\n/**\n * Runs the current list of functions that make up the pipeline against the\n * passed tokens.\n *\n * @param {Array} tokens The tokens to run through the pipeline.\n * @returns {Array}\n */\nlunr.Pipeline.prototype.run = function (tokens) {\n var stackLength = this._stack.length\n\n for (var i = 0; i < stackLength; i++) {\n var fn = this._stack[i]\n var memo = []\n\n for (var j = 0; j < tokens.length; j++) {\n var result = fn(tokens[j], j, tokens)\n\n if (result === null || result === void 0 || result === '') continue\n\n if (Array.isArray(result)) {\n for (var k = 0; k < result.length; k++) {\n memo.push(result[k])\n }\n } else {\n memo.push(result)\n }\n }\n\n tokens = memo\n }\n\n return tokens\n}\n\n/**\n * Convenience method for passing a string through a pipeline and getting\n * strings out. This method takes care of wrapping the passed string in a\n * token and mapping the resulting tokens back to strings.\n *\n * @param {string} str - The string to pass through the pipeline.\n * @param {?object} metadata - Optional metadata to associate with the token\n * passed to the pipeline.\n * @returns {string[]}\n */\nlunr.Pipeline.prototype.runString = function (str, metadata) {\n var token = new lunr.Token (str, metadata)\n\n return this.run([token]).map(function (t) {\n return t.toString()\n })\n}\n\n/**\n * Resets the pipeline by removing any existing processors.\n *\n */\nlunr.Pipeline.prototype.reset = function () {\n this._stack = []\n}\n\n/**\n * Returns a representation of the pipeline ready for serialisation.\n *\n * Logs a warning if the function has not been registered.\n *\n * @returns {Array}\n */\nlunr.Pipeline.prototype.toJSON = function () {\n return this._stack.map(function (fn) {\n lunr.Pipeline.warnIfFunctionNotRegistered(fn)\n\n return fn.label\n })\n}\n/*!\n * lunr.Vector\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A vector is used to construct the vector space of documents and queries. These\n * vectors support operations to determine the similarity between two documents or\n * a document and a query.\n *\n * Normally no parameters are required for initializing a vector, but in the case of\n * loading a previously dumped vector the raw elements can be provided to the constructor.\n *\n * For performance reasons vectors are implemented with a flat array, where an elements\n * index is immediately followed by its value. E.g. [index, value, index, value]. This\n * allows the underlying array to be as sparse as possible and still offer decent\n * performance when being used for vector calculations.\n *\n * @constructor\n * @param {Number[]} [elements] - The flat list of element index and element value pairs.\n */\nlunr.Vector = function (elements) {\n this._magnitude = 0\n this.elements = elements || []\n}\n\n\n/**\n * Calculates the position within the vector to insert a given index.\n *\n * This is used internally by insert and upsert. If there are duplicate indexes then\n * the position is returned as if the value for that index were to be updated, but it\n * is the callers responsibility to check whether there is a duplicate at that index\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @returns {Number}\n */\nlunr.Vector.prototype.positionForIndex = function (index) {\n // For an empty vector the tuple can be inserted at the beginning\n if (this.elements.length == 0) {\n return 0\n }\n\n var start = 0,\n end = this.elements.length / 2,\n sliceLength = end - start,\n pivotPoint = Math.floor(sliceLength / 2),\n pivotIndex = this.elements[pivotPoint * 2]\n\n while (sliceLength > 1) {\n if (pivotIndex < index) {\n start = pivotPoint\n }\n\n if (pivotIndex > index) {\n end = pivotPoint\n }\n\n if (pivotIndex == index) {\n break\n }\n\n sliceLength = end - start\n pivotPoint = start + Math.floor(sliceLength / 2)\n pivotIndex = this.elements[pivotPoint * 2]\n }\n\n if (pivotIndex == index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex > index) {\n return pivotPoint * 2\n }\n\n if (pivotIndex < index) {\n return (pivotPoint + 1) * 2\n }\n}\n\n/**\n * Inserts an element at an index within the vector.\n *\n * Does not allow duplicates, will throw an error if there is already an entry\n * for this index.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n */\nlunr.Vector.prototype.insert = function (insertIdx, val) {\n this.upsert(insertIdx, val, function () {\n throw \"duplicate index\"\n })\n}\n\n/**\n * Inserts or updates an existing index within the vector.\n *\n * @param {Number} insertIdx - The index at which the element should be inserted.\n * @param {Number} val - The value to be inserted into the vector.\n * @param {function} fn - A function that is called for updates, the existing value and the\n * requested value are passed as arguments\n */\nlunr.Vector.prototype.upsert = function (insertIdx, val, fn) {\n this._magnitude = 0\n var position = this.positionForIndex(insertIdx)\n\n if (this.elements[position] == insertIdx) {\n this.elements[position + 1] = fn(this.elements[position + 1], val)\n } else {\n this.elements.splice(position, 0, insertIdx, val)\n }\n}\n\n/**\n * Calculates the magnitude of this vector.\n *\n * @returns {Number}\n */\nlunr.Vector.prototype.magnitude = function () {\n if (this._magnitude) return this._magnitude\n\n var sumOfSquares = 0,\n elementsLength = this.elements.length\n\n for (var i = 1; i < elementsLength; i += 2) {\n var val = this.elements[i]\n sumOfSquares += val * val\n }\n\n return this._magnitude = Math.sqrt(sumOfSquares)\n}\n\n/**\n * Calculates the dot product of this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The vector to compute the dot product with.\n * @returns {Number}\n */\nlunr.Vector.prototype.dot = function (otherVector) {\n var dotProduct = 0,\n a = this.elements, b = otherVector.elements,\n aLen = a.length, bLen = b.length,\n aVal = 0, bVal = 0,\n i = 0, j = 0\n\n while (i < aLen && j < bLen) {\n aVal = a[i], bVal = b[j]\n if (aVal < bVal) {\n i += 2\n } else if (aVal > bVal) {\n j += 2\n } else if (aVal == bVal) {\n dotProduct += a[i + 1] * b[j + 1]\n i += 2\n j += 2\n }\n }\n\n return dotProduct\n}\n\n/**\n * Calculates the similarity between this vector and another vector.\n *\n * @param {lunr.Vector} otherVector - The other vector to calculate the\n * similarity with.\n * @returns {Number}\n */\nlunr.Vector.prototype.similarity = function (otherVector) {\n return this.dot(otherVector) / this.magnitude() || 0\n}\n\n/**\n * Converts the vector to an array of the elements within the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toArray = function () {\n var output = new Array (this.elements.length / 2)\n\n for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {\n output[j] = this.elements[i]\n }\n\n return output\n}\n\n/**\n * A JSON serializable representation of the vector.\n *\n * @returns {Number[]}\n */\nlunr.Vector.prototype.toJSON = function () {\n return this.elements\n}\n/* eslint-disable */\n/*!\n * lunr.stemmer\n * Copyright (C) 2020 Oliver Nightingale\n * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt\n */\n\n/**\n * lunr.stemmer is an english language stemmer, this is a JavaScript\n * implementation of the PorterStemmer taken from http://tartarus.org/~martin\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token - The string to stem\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n * @function\n */\nlunr.stemmer = (function(){\n var step2list = {\n \"ational\" : \"ate\",\n \"tional\" : \"tion\",\n \"enci\" : \"ence\",\n \"anci\" : \"ance\",\n \"izer\" : \"ize\",\n \"bli\" : \"ble\",\n \"alli\" : \"al\",\n \"entli\" : \"ent\",\n \"eli\" : \"e\",\n \"ousli\" : \"ous\",\n \"ization\" : \"ize\",\n \"ation\" : \"ate\",\n \"ator\" : \"ate\",\n \"alism\" : \"al\",\n \"iveness\" : \"ive\",\n \"fulness\" : \"ful\",\n \"ousness\" : \"ous\",\n \"aliti\" : \"al\",\n \"iviti\" : \"ive\",\n \"biliti\" : \"ble\",\n \"logi\" : \"log\"\n },\n\n step3list = {\n \"icate\" : \"ic\",\n \"ative\" : \"\",\n \"alize\" : \"al\",\n \"iciti\" : \"ic\",\n \"ical\" : \"ic\",\n \"ful\" : \"\",\n \"ness\" : \"\"\n },\n\n c = \"[^aeiou]\", // consonant\n v = \"[aeiouy]\", // vowel\n C = c + \"[^aeiouy]*\", // consonant sequence\n V = v + \"[aeiou]*\", // vowel sequence\n\n mgr0 = \"^(\" + C + \")?\" + V + C, // [C]VC... is m>0\n meq1 = \"^(\" + C + \")?\" + V + C + \"(\" + V + \")?$\", // [C]VC[V] is m=1\n mgr1 = \"^(\" + C + \")?\" + V + C + V + C, // [C]VCVC... is m>1\n s_v = \"^(\" + C + \")?\" + v; // vowel in stem\n\n var re_mgr0 = new RegExp(mgr0);\n var re_mgr1 = new RegExp(mgr1);\n var re_meq1 = new RegExp(meq1);\n var re_s_v = new RegExp(s_v);\n\n var re_1a = /^(.+?)(ss|i)es$/;\n var re2_1a = /^(.+?)([^s])s$/;\n var re_1b = /^(.+?)eed$/;\n var re2_1b = /^(.+?)(ed|ing)$/;\n var re_1b_2 = /.$/;\n var re2_1b_2 = /(at|bl|iz)$/;\n var re3_1b_2 = new RegExp(\"([^aeiouylsz])\\\\1$\");\n var re4_1b_2 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var re_1c = /^(.+?[^aeiou])y$/;\n var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;\n\n var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;\n\n var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;\n var re2_4 = /^(.+?)(s|t)(ion)$/;\n\n var re_5 = /^(.+?)e$/;\n var re_5_1 = /ll$/;\n var re3_5 = new RegExp(\"^\" + C + v + \"[^aeiouwxy]$\");\n\n var porterStemmer = function porterStemmer(w) {\n var stem,\n suffix,\n firstch,\n re,\n re2,\n re3,\n re4;\n\n if (w.length < 3) { return w; }\n\n firstch = w.substr(0,1);\n if (firstch == \"y\") {\n w = firstch.toUpperCase() + w.substr(1);\n }\n\n // Step 1a\n re = re_1a\n re2 = re2_1a;\n\n if (re.test(w)) { w = w.replace(re,\"$1$2\"); }\n else if (re2.test(w)) { w = w.replace(re2,\"$1$2\"); }\n\n // Step 1b\n re = re_1b;\n re2 = re2_1b;\n if (re.test(w)) {\n var fp = re.exec(w);\n re = re_mgr0;\n if (re.test(fp[1])) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1];\n re2 = re_s_v;\n if (re2.test(stem)) {\n w = stem;\n re2 = re2_1b_2;\n re3 = re3_1b_2;\n re4 = re4_1b_2;\n if (re2.test(w)) { w = w + \"e\"; }\n else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,\"\"); }\n else if (re4.test(w)) { w = w + \"e\"; }\n }\n }\n\n // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)\n re = re_1c;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n w = stem + \"i\";\n }\n\n // Step 2\n re = re_2;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step2list[suffix];\n }\n }\n\n // Step 3\n re = re_3;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n suffix = fp[2];\n re = re_mgr0;\n if (re.test(stem)) {\n w = stem + step3list[suffix];\n }\n }\n\n // Step 4\n re = re_4;\n re2 = re2_4;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n if (re.test(stem)) {\n w = stem;\n }\n } else if (re2.test(w)) {\n var fp = re2.exec(w);\n stem = fp[1] + fp[2];\n re2 = re_mgr1;\n if (re2.test(stem)) {\n w = stem;\n }\n }\n\n // Step 5\n re = re_5;\n if (re.test(w)) {\n var fp = re.exec(w);\n stem = fp[1];\n re = re_mgr1;\n re2 = re_meq1;\n re3 = re3_5;\n if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {\n w = stem;\n }\n }\n\n re = re_5_1;\n re2 = re_mgr1;\n if (re.test(w) && re2.test(w)) {\n re = re_1b_2;\n w = w.replace(re,\"\");\n }\n\n // and turn initial Y back to y\n\n if (firstch == \"y\") {\n w = firstch.toLowerCase() + w.substr(1);\n }\n\n return w;\n };\n\n return function (token) {\n return token.update(porterStemmer);\n }\n})();\n\nlunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')\n/*!\n * lunr.stopWordFilter\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.generateStopWordFilter builds a stopWordFilter function from the provided\n * list of stop words.\n *\n * The built in lunr.stopWordFilter is built using this generator and can be used\n * to generate custom stopWordFilters for applications or non English languages.\n *\n * @function\n * @param {Array} token The token to pass through the filter\n * @returns {lunr.PipelineFunction}\n * @see lunr.Pipeline\n * @see lunr.stopWordFilter\n */\nlunr.generateStopWordFilter = function (stopWords) {\n var words = stopWords.reduce(function (memo, stopWord) {\n memo[stopWord] = stopWord\n return memo\n }, {})\n\n return function (token) {\n if (token && words[token.toString()] !== token.toString()) return token\n }\n}\n\n/**\n * lunr.stopWordFilter is an English language stop word list filter, any words\n * contained in the list will not be passed through the filter.\n *\n * This is intended to be used in the Pipeline. If the token does not pass the\n * filter then undefined will be returned.\n *\n * @function\n * @implements {lunr.PipelineFunction}\n * @params {lunr.Token} token - A token to check for being a stop word.\n * @returns {lunr.Token}\n * @see {@link lunr.Pipeline}\n */\nlunr.stopWordFilter = lunr.generateStopWordFilter([\n 'a',\n 'able',\n 'about',\n 'across',\n 'after',\n 'all',\n 'almost',\n 'also',\n 'am',\n 'among',\n 'an',\n 'and',\n 'any',\n 'are',\n 'as',\n 'at',\n 'be',\n 'because',\n 'been',\n 'but',\n 'by',\n 'can',\n 'cannot',\n 'could',\n 'dear',\n 'did',\n 'do',\n 'does',\n 'either',\n 'else',\n 'ever',\n 'every',\n 'for',\n 'from',\n 'get',\n 'got',\n 'had',\n 'has',\n 'have',\n 'he',\n 'her',\n 'hers',\n 'him',\n 'his',\n 'how',\n 'however',\n 'i',\n 'if',\n 'in',\n 'into',\n 'is',\n 'it',\n 'its',\n 'just',\n 'least',\n 'let',\n 'like',\n 'likely',\n 'may',\n 'me',\n 'might',\n 'most',\n 'must',\n 'my',\n 'neither',\n 'no',\n 'nor',\n 'not',\n 'of',\n 'off',\n 'often',\n 'on',\n 'only',\n 'or',\n 'other',\n 'our',\n 'own',\n 'rather',\n 'said',\n 'say',\n 'says',\n 'she',\n 'should',\n 'since',\n 'so',\n 'some',\n 'than',\n 'that',\n 'the',\n 'their',\n 'them',\n 'then',\n 'there',\n 'these',\n 'they',\n 'this',\n 'tis',\n 'to',\n 'too',\n 'twas',\n 'us',\n 'wants',\n 'was',\n 'we',\n 'were',\n 'what',\n 'when',\n 'where',\n 'which',\n 'while',\n 'who',\n 'whom',\n 'why',\n 'will',\n 'with',\n 'would',\n 'yet',\n 'you',\n 'your'\n])\n\nlunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')\n/*!\n * lunr.trimmer\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.trimmer is a pipeline function for trimming non word\n * characters from the beginning and end of tokens before they\n * enter the index.\n *\n * This implementation may not work correctly for non latin\n * characters and should either be removed or adapted for use\n * with languages with non-latin characters.\n *\n * @static\n * @implements {lunr.PipelineFunction}\n * @param {lunr.Token} token The token to pass through the filter\n * @returns {lunr.Token}\n * @see lunr.Pipeline\n */\nlunr.trimmer = function (token) {\n return token.update(function (s) {\n return s.replace(/^\\W+/, '').replace(/\\W+$/, '')\n })\n}\n\nlunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')\n/*!\n * lunr.TokenSet\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * A token set is used to store the unique list of all tokens\n * within an index. Token sets are also used to represent an\n * incoming query to the index, this query token set and index\n * token set are then intersected to find which tokens to look\n * up in the inverted index.\n *\n * A token set can hold multiple tokens, as in the case of the\n * index token set, or it can hold a single token as in the\n * case of a simple query token set.\n *\n * Additionally token sets are used to perform wildcard matching.\n * Leading, contained and trailing wildcards are supported, and\n * from this edit distance matching can also be provided.\n *\n * Token sets are implemented as a minimal finite state automata,\n * where both common prefixes and suffixes are shared between tokens.\n * This helps to reduce the space used for storing the token set.\n *\n * @constructor\n */\nlunr.TokenSet = function () {\n this.final = false\n this.edges = {}\n this.id = lunr.TokenSet._nextId\n lunr.TokenSet._nextId += 1\n}\n\n/**\n * Keeps track of the next, auto increment, identifier to assign\n * to a new tokenSet.\n *\n * TokenSets require a unique identifier to be correctly minimised.\n *\n * @private\n */\nlunr.TokenSet._nextId = 1\n\n/**\n * Creates a TokenSet instance from the given sorted array of words.\n *\n * @param {String[]} arr - A sorted array of strings to create the set from.\n * @returns {lunr.TokenSet}\n * @throws Will throw an error if the input array is not sorted.\n */\nlunr.TokenSet.fromArray = function (arr) {\n var builder = new lunr.TokenSet.Builder\n\n for (var i = 0, len = arr.length; i < len; i++) {\n builder.insert(arr[i])\n }\n\n builder.finish()\n return builder.root\n}\n\n/**\n * Creates a token set from a query clause.\n *\n * @private\n * @param {Object} clause - A single clause from lunr.Query.\n * @param {string} clause.term - The query clause term.\n * @param {number} [clause.editDistance] - The optional edit distance for the term.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromClause = function (clause) {\n if ('editDistance' in clause) {\n return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)\n } else {\n return lunr.TokenSet.fromString(clause.term)\n }\n}\n\n/**\n * Creates a token set representing a single string with a specified\n * edit distance.\n *\n * Insertions, deletions, substitutions and transpositions are each\n * treated as an edit distance of 1.\n *\n * Increasing the allowed edit distance will have a dramatic impact\n * on the performance of both creating and intersecting these TokenSets.\n * It is advised to keep the edit distance less than 3.\n *\n * @param {string} str - The string to create the token set from.\n * @param {number} editDistance - The allowed edit distance to match.\n * @returns {lunr.Vector}\n */\nlunr.TokenSet.fromFuzzyString = function (str, editDistance) {\n var root = new lunr.TokenSet\n\n var stack = [{\n node: root,\n editsRemaining: editDistance,\n str: str\n }]\n\n while (stack.length) {\n var frame = stack.pop()\n\n // no edit\n if (frame.str.length > 0) {\n var char = frame.str.charAt(0),\n noEditNode\n\n if (char in frame.node.edges) {\n noEditNode = frame.node.edges[char]\n } else {\n noEditNode = new lunr.TokenSet\n frame.node.edges[char] = noEditNode\n }\n\n if (frame.str.length == 1) {\n noEditNode.final = true\n }\n\n stack.push({\n node: noEditNode,\n editsRemaining: frame.editsRemaining,\n str: frame.str.slice(1)\n })\n }\n\n if (frame.editsRemaining == 0) {\n continue\n }\n\n // insertion\n if (\"*\" in frame.node.edges) {\n var insertionNode = frame.node.edges[\"*\"]\n } else {\n var insertionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = insertionNode\n }\n\n if (frame.str.length == 0) {\n insertionNode.final = true\n }\n\n stack.push({\n node: insertionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str\n })\n\n // deletion\n // can only do a deletion if we have enough edits remaining\n // and if there are characters left to delete in the string\n if (frame.str.length > 1) {\n stack.push({\n node: frame.node,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // deletion\n // just removing the last character from the str\n if (frame.str.length == 1) {\n frame.node.final = true\n }\n\n // substitution\n // can only do a substitution if we have enough edits remaining\n // and if there are characters left to substitute\n if (frame.str.length >= 1) {\n if (\"*\" in frame.node.edges) {\n var substitutionNode = frame.node.edges[\"*\"]\n } else {\n var substitutionNode = new lunr.TokenSet\n frame.node.edges[\"*\"] = substitutionNode\n }\n\n if (frame.str.length == 1) {\n substitutionNode.final = true\n }\n\n stack.push({\n node: substitutionNode,\n editsRemaining: frame.editsRemaining - 1,\n str: frame.str.slice(1)\n })\n }\n\n // transposition\n // can only do a transposition if there are edits remaining\n // and there are enough characters to transpose\n if (frame.str.length > 1) {\n var charA = frame.str.charAt(0),\n charB = frame.str.charAt(1),\n transposeNode\n\n if (charB in frame.node.edges) {\n transposeNode = frame.node.edges[charB]\n } else {\n transposeNode = new lunr.TokenSet\n frame.node.edges[charB] = transposeNode\n }\n\n if (frame.str.length == 1) {\n transposeNode.final = true\n }\n\n stack.push({\n node: transposeNode,\n editsRemaining: frame.editsRemaining - 1,\n str: charA + frame.str.slice(2)\n })\n }\n }\n\n return root\n}\n\n/**\n * Creates a TokenSet from a string.\n *\n * The string may contain one or more wildcard characters (*)\n * that will allow wildcard matching when intersecting with\n * another TokenSet.\n *\n * @param {string} str - The string to create a TokenSet from.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.fromString = function (str) {\n var node = new lunr.TokenSet,\n root = node\n\n /*\n * Iterates through all characters within the passed string\n * appending a node for each character.\n *\n * When a wildcard character is found then a self\n * referencing edge is introduced to continually match\n * any number of any characters.\n */\n for (var i = 0, len = str.length; i < len; i++) {\n var char = str[i],\n final = (i == len - 1)\n\n if (char == \"*\") {\n node.edges[char] = node\n node.final = final\n\n } else {\n var next = new lunr.TokenSet\n next.final = final\n\n node.edges[char] = next\n node = next\n }\n }\n\n return root\n}\n\n/**\n * Converts this TokenSet into an array of strings\n * contained within the TokenSet.\n *\n * This is not intended to be used on a TokenSet that\n * contains wildcards, in these cases the results are\n * undefined and are likely to cause an infinite loop.\n *\n * @returns {string[]}\n */\nlunr.TokenSet.prototype.toArray = function () {\n var words = []\n\n var stack = [{\n prefix: \"\",\n node: this\n }]\n\n while (stack.length) {\n var frame = stack.pop(),\n edges = Object.keys(frame.node.edges),\n len = edges.length\n\n if (frame.node.final) {\n /* In Safari, at this point the prefix is sometimes corrupted, see:\n * https://github.com/olivernn/lunr.js/issues/279 Calling any\n * String.prototype method forces Safari to \"cast\" this string to what\n * it's supposed to be, fixing the bug. */\n frame.prefix.charAt(0)\n words.push(frame.prefix)\n }\n\n for (var i = 0; i < len; i++) {\n var edge = edges[i]\n\n stack.push({\n prefix: frame.prefix.concat(edge),\n node: frame.node.edges[edge]\n })\n }\n }\n\n return words\n}\n\n/**\n * Generates a string representation of a TokenSet.\n *\n * This is intended to allow TokenSets to be used as keys\n * in objects, largely to aid the construction and minimisation\n * of a TokenSet. As such it is not designed to be a human\n * friendly representation of the TokenSet.\n *\n * @returns {string}\n */\nlunr.TokenSet.prototype.toString = function () {\n // NOTE: Using Object.keys here as this.edges is very likely\n // to enter 'hash-mode' with many keys being added\n //\n // avoiding a for-in loop here as it leads to the function\n // being de-optimised (at least in V8). From some simple\n // benchmarks the performance is comparable, but allowing\n // V8 to optimize may mean easy performance wins in the future.\n\n if (this._str) {\n return this._str\n }\n\n var str = this.final ? '1' : '0',\n labels = Object.keys(this.edges).sort(),\n len = labels.length\n\n for (var i = 0; i < len; i++) {\n var label = labels[i],\n node = this.edges[label]\n\n str = str + label + node.id\n }\n\n return str\n}\n\n/**\n * Returns a new TokenSet that is the intersection of\n * this TokenSet and the passed TokenSet.\n *\n * This intersection will take into account any wildcards\n * contained within the TokenSet.\n *\n * @param {lunr.TokenSet} b - An other TokenSet to intersect with.\n * @returns {lunr.TokenSet}\n */\nlunr.TokenSet.prototype.intersect = function (b) {\n var output = new lunr.TokenSet,\n frame = undefined\n\n var stack = [{\n qNode: b,\n output: output,\n node: this\n }]\n\n while (stack.length) {\n frame = stack.pop()\n\n // NOTE: As with the #toString method, we are using\n // Object.keys and a for loop instead of a for-in loop\n // as both of these objects enter 'hash' mode, causing\n // the function to be de-optimised in V8\n var qEdges = Object.keys(frame.qNode.edges),\n qLen = qEdges.length,\n nEdges = Object.keys(frame.node.edges),\n nLen = nEdges.length\n\n for (var q = 0; q < qLen; q++) {\n var qEdge = qEdges[q]\n\n for (var n = 0; n < nLen; n++) {\n var nEdge = nEdges[n]\n\n if (nEdge == qEdge || qEdge == '*') {\n var node = frame.node.edges[nEdge],\n qNode = frame.qNode.edges[qEdge],\n final = node.final && qNode.final,\n next = undefined\n\n if (nEdge in frame.output.edges) {\n // an edge already exists for this character\n // no need to create a new node, just set the finality\n // bit unless this node is already final\n next = frame.output.edges[nEdge]\n next.final = next.final || final\n\n } else {\n // no edge exists yet, must create one\n // set the finality bit and insert it\n // into the output\n next = new lunr.TokenSet\n next.final = final\n frame.output.edges[nEdge] = next\n }\n\n stack.push({\n qNode: qNode,\n output: next,\n node: node\n })\n }\n }\n }\n }\n\n return output\n}\nlunr.TokenSet.Builder = function () {\n this.previousWord = \"\"\n this.root = new lunr.TokenSet\n this.uncheckedNodes = []\n this.minimizedNodes = {}\n}\n\nlunr.TokenSet.Builder.prototype.insert = function (word) {\n var node,\n commonPrefix = 0\n\n if (word < this.previousWord) {\n throw new Error (\"Out of order word insertion\")\n }\n\n for (var i = 0; i < word.length && i < this.previousWord.length; i++) {\n if (word[i] != this.previousWord[i]) break\n commonPrefix++\n }\n\n this.minimize(commonPrefix)\n\n if (this.uncheckedNodes.length == 0) {\n node = this.root\n } else {\n node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child\n }\n\n for (var i = commonPrefix; i < word.length; i++) {\n var nextNode = new lunr.TokenSet,\n char = word[i]\n\n node.edges[char] = nextNode\n\n this.uncheckedNodes.push({\n parent: node,\n char: char,\n child: nextNode\n })\n\n node = nextNode\n }\n\n node.final = true\n this.previousWord = word\n}\n\nlunr.TokenSet.Builder.prototype.finish = function () {\n this.minimize(0)\n}\n\nlunr.TokenSet.Builder.prototype.minimize = function (downTo) {\n for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {\n var node = this.uncheckedNodes[i],\n childKey = node.child.toString()\n\n if (childKey in this.minimizedNodes) {\n node.parent.edges[node.char] = this.minimizedNodes[childKey]\n } else {\n // Cache the key for this node since\n // we know it can't change anymore\n node.child._str = childKey\n\n this.minimizedNodes[childKey] = node.child\n }\n\n this.uncheckedNodes.pop()\n }\n}\n/*!\n * lunr.Index\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * An index contains the built index of all documents and provides a query interface\n * to the index.\n *\n * Usually instances of lunr.Index will not be created using this constructor, instead\n * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be\n * used to load previously built and serialized indexes.\n *\n * @constructor\n * @param {Object} attrs - The attributes of the built search index.\n * @param {Object} attrs.invertedIndex - An index of term/field to document reference.\n * @param {Object} attrs.fieldVectors - Field vectors\n * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.\n * @param {string[]} attrs.fields - The names of indexed document fields.\n * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.\n */\nlunr.Index = function (attrs) {\n this.invertedIndex = attrs.invertedIndex\n this.fieldVectors = attrs.fieldVectors\n this.tokenSet = attrs.tokenSet\n this.fields = attrs.fields\n this.pipeline = attrs.pipeline\n}\n\n/**\n * A result contains details of a document matching a search query.\n * @typedef {Object} lunr.Index~Result\n * @property {string} ref - The reference of the document this result represents.\n * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.\n * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.\n */\n\n/**\n * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple\n * query language which itself is parsed into an instance of lunr.Query.\n *\n * For programmatically building queries it is advised to directly use lunr.Query, the query language\n * is best used for human entered text rather than program generated text.\n *\n * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported\n * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'\n * or 'world', though those that contain both will rank higher in the results.\n *\n * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can\n * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding\n * wildcards will increase the number of documents that will be found but can also have a negative\n * impact on query performance, especially with wildcards at the beginning of a term.\n *\n * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term\n * hello in the title field will match this query. Using a field not present in the index will lead\n * to an error being thrown.\n *\n * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term\n * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported\n * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.\n * Avoid large values for edit distance to improve query performance.\n *\n * Each term also supports a presence modifier. By default a term's presence in document is optional, however\n * this can be changed to either required or prohibited. For a term's presence to be required in a document the\n * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and\n * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not\n * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.\n *\n * To escape special characters the backslash character '\\' can be used, this allows searches to include\n * characters that would normally be considered modifiers, e.g. `foo\\~2` will search for a term \"foo~2\" instead\n * of attempting to apply a boost of 2 to the search term \"foo\".\n *\n * @typedef {string} lunr.Index~QueryString\n * @example Simple single term query\n * hello\n * @example Multiple term query\n * hello world\n * @example term scoped to a field\n * title:hello\n * @example term with a boost of 10\n * hello^10\n * @example term with an edit distance of 2\n * hello~2\n * @example terms with presence modifiers\n * -foo +bar baz\n */\n\n/**\n * Performs a search against the index using lunr query syntax.\n *\n * Results will be returned sorted by their score, the most relevant results\n * will be returned first. For details on how the score is calculated, please see\n * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.\n *\n * For more programmatic querying use lunr.Index#query.\n *\n * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.\n * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.search = function (queryString) {\n return this.query(function (query) {\n var parser = new lunr.QueryParser(queryString, query)\n parser.parse()\n })\n}\n\n/**\n * A query builder callback provides a query object to be used to express\n * the query to perform on the index.\n *\n * @callback lunr.Index~queryBuilder\n * @param {lunr.Query} query - The query object to build up.\n * @this lunr.Query\n */\n\n/**\n * Performs a query against the index using the yielded lunr.Query object.\n *\n * If performing programmatic queries against the index, this method is preferred\n * over lunr.Index#search so as to avoid the additional query parsing overhead.\n *\n * A query object is yielded to the supplied function which should be used to\n * express the query to be run against the index.\n *\n * Note that although this function takes a callback parameter it is _not_ an\n * asynchronous operation, the callback is just yielded a query object to be\n * customized.\n *\n * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.\n * @returns {lunr.Index~Result[]}\n */\nlunr.Index.prototype.query = function (fn) {\n // for each query clause\n // * process terms\n // * expand terms from token set\n // * find matching documents and metadata\n // * get document vectors\n // * score documents\n\n var query = new lunr.Query(this.fields),\n matchingFields = Object.create(null),\n queryVectors = Object.create(null),\n termFieldCache = Object.create(null),\n requiredMatches = Object.create(null),\n prohibitedMatches = Object.create(null)\n\n /*\n * To support field level boosts a query vector is created per\n * field. An empty vector is eagerly created to support negated\n * queries.\n */\n for (var i = 0; i < this.fields.length; i++) {\n queryVectors[this.fields[i]] = new lunr.Vector\n }\n\n fn.call(query, query)\n\n for (var i = 0; i < query.clauses.length; i++) {\n /*\n * Unless the pipeline has been disabled for this term, which is\n * the case for terms with wildcards, we need to pass the clause\n * term through the search pipeline. A pipeline returns an array\n * of processed terms. Pipeline functions may expand the passed\n * term, which means we may end up performing multiple index lookups\n * for a single query term.\n */\n var clause = query.clauses[i],\n terms = null,\n clauseMatches = lunr.Set.empty\n\n if (clause.usePipeline) {\n terms = this.pipeline.runString(clause.term, {\n fields: clause.fields\n })\n } else {\n terms = [clause.term]\n }\n\n for (var m = 0; m < terms.length; m++) {\n var term = terms[m]\n\n /*\n * Each term returned from the pipeline needs to use the same query\n * clause object, e.g. the same boost and or edit distance. The\n * simplest way to do this is to re-use the clause object but mutate\n * its term property.\n */\n clause.term = term\n\n /*\n * From the term in the clause we create a token set which will then\n * be used to intersect the indexes token set to get a list of terms\n * to lookup in the inverted index\n */\n var termTokenSet = lunr.TokenSet.fromClause(clause),\n expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()\n\n /*\n * If a term marked as required does not exist in the tokenSet it is\n * impossible for the search to return any matches. We set all the field\n * scoped required matches set to empty and stop examining any further\n * clauses.\n */\n if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = lunr.Set.empty\n }\n\n break\n }\n\n for (var j = 0; j < expandedTerms.length; j++) {\n /*\n * For each term get the posting and termIndex, this is required for\n * building the query vector.\n */\n var expandedTerm = expandedTerms[j],\n posting = this.invertedIndex[expandedTerm],\n termIndex = posting._index\n\n for (var k = 0; k < clause.fields.length; k++) {\n /*\n * For each field that this query term is scoped by (by default\n * all fields are in scope) we need to get all the document refs\n * that have this term in that field.\n *\n * The posting is the entry in the invertedIndex for the matching\n * term from above.\n */\n var field = clause.fields[k],\n fieldPosting = posting[field],\n matchingDocumentRefs = Object.keys(fieldPosting),\n termField = expandedTerm + \"/\" + field,\n matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)\n\n /*\n * if the presence of this term is required ensure that the matching\n * documents are added to the set of required matches for this clause.\n *\n */\n if (clause.presence == lunr.Query.presence.REQUIRED) {\n clauseMatches = clauseMatches.union(matchingDocumentsSet)\n\n if (requiredMatches[field] === undefined) {\n requiredMatches[field] = lunr.Set.complete\n }\n }\n\n /*\n * if the presence of this term is prohibited ensure that the matching\n * documents are added to the set of prohibited matches for this field,\n * creating that set if it does not yet exist.\n */\n if (clause.presence == lunr.Query.presence.PROHIBITED) {\n if (prohibitedMatches[field] === undefined) {\n prohibitedMatches[field] = lunr.Set.empty\n }\n\n prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)\n\n /*\n * Prohibited matches should not be part of the query vector used for\n * similarity scoring and no metadata should be extracted so we continue\n * to the next field\n */\n continue\n }\n\n /*\n * The query field vector is populated using the termIndex found for\n * the term and a unit value with the appropriate boost applied.\n * Using upsert because there could already be an entry in the vector\n * for the term we are working with. In that case we just add the scores\n * together.\n */\n queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })\n\n /**\n * If we've already seen this term, field combo then we've already collected\n * the matching documents and metadata, no need to go through all that again\n */\n if (termFieldCache[termField]) {\n continue\n }\n\n for (var l = 0; l < matchingDocumentRefs.length; l++) {\n /*\n * All metadata for this term/field/document triple\n * are then extracted and collected into an instance\n * of lunr.MatchData ready to be returned in the query\n * results\n */\n var matchingDocumentRef = matchingDocumentRefs[l],\n matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),\n metadata = fieldPosting[matchingDocumentRef],\n fieldMatch\n\n if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {\n matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)\n } else {\n fieldMatch.add(expandedTerm, field, metadata)\n }\n\n }\n\n termFieldCache[termField] = true\n }\n }\n }\n\n /**\n * If the presence was required we need to update the requiredMatches field sets.\n * We do this after all fields for the term have collected their matches because\n * the clause terms presence is required in _any_ of the fields not _all_ of the\n * fields.\n */\n if (clause.presence === lunr.Query.presence.REQUIRED) {\n for (var k = 0; k < clause.fields.length; k++) {\n var field = clause.fields[k]\n requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)\n }\n }\n }\n\n /**\n * Need to combine the field scoped required and prohibited\n * matching documents into a global set of required and prohibited\n * matches\n */\n var allRequiredMatches = lunr.Set.complete,\n allProhibitedMatches = lunr.Set.empty\n\n for (var i = 0; i < this.fields.length; i++) {\n var field = this.fields[i]\n\n if (requiredMatches[field]) {\n allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])\n }\n\n if (prohibitedMatches[field]) {\n allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])\n }\n }\n\n var matchingFieldRefs = Object.keys(matchingFields),\n results = [],\n matches = Object.create(null)\n\n /*\n * If the query is negated (contains only prohibited terms)\n * we need to get _all_ fieldRefs currently existing in the\n * index. This is only done when we know that the query is\n * entirely prohibited terms to avoid any cost of getting all\n * fieldRefs unnecessarily.\n *\n * Additionally, blank MatchData must be created to correctly\n * populate the results.\n */\n if (query.isNegated()) {\n matchingFieldRefs = Object.keys(this.fieldVectors)\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n var matchingFieldRef = matchingFieldRefs[i]\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)\n matchingFields[matchingFieldRef] = new lunr.MatchData\n }\n }\n\n for (var i = 0; i < matchingFieldRefs.length; i++) {\n /*\n * Currently we have document fields that match the query, but we\n * need to return documents. The matchData and scores are combined\n * from multiple fields belonging to the same document.\n *\n * Scores are calculated by field, using the query vectors created\n * above, and combined into a final document score using addition.\n */\n var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),\n docRef = fieldRef.docRef\n\n if (!allRequiredMatches.contains(docRef)) {\n continue\n }\n\n if (allProhibitedMatches.contains(docRef)) {\n continue\n }\n\n var fieldVector = this.fieldVectors[fieldRef],\n score = queryVectors[fieldRef.fieldName].similarity(fieldVector),\n docMatch\n\n if ((docMatch = matches[docRef]) !== undefined) {\n docMatch.score += score\n docMatch.matchData.combine(matchingFields[fieldRef])\n } else {\n var match = {\n ref: docRef,\n score: score,\n matchData: matchingFields[fieldRef]\n }\n matches[docRef] = match\n results.push(match)\n }\n }\n\n /*\n * Sort the results objects by score, highest first.\n */\n return results.sort(function (a, b) {\n return b.score - a.score\n })\n}\n\n/**\n * Prepares the index for JSON serialization.\n *\n * The schema for this JSON blob will be described in a\n * separate JSON schema file.\n *\n * @returns {Object}\n */\nlunr.Index.prototype.toJSON = function () {\n var invertedIndex = Object.keys(this.invertedIndex)\n .sort()\n .map(function (term) {\n return [term, this.invertedIndex[term]]\n }, this)\n\n var fieldVectors = Object.keys(this.fieldVectors)\n .map(function (ref) {\n return [ref, this.fieldVectors[ref].toJSON()]\n }, this)\n\n return {\n version: lunr.version,\n fields: this.fields,\n fieldVectors: fieldVectors,\n invertedIndex: invertedIndex,\n pipeline: this.pipeline.toJSON()\n }\n}\n\n/**\n * Loads a previously serialized lunr.Index\n *\n * @param {Object} serializedIndex - A previously serialized lunr.Index\n * @returns {lunr.Index}\n */\nlunr.Index.load = function (serializedIndex) {\n var attrs = {},\n fieldVectors = {},\n serializedVectors = serializedIndex.fieldVectors,\n invertedIndex = Object.create(null),\n serializedInvertedIndex = serializedIndex.invertedIndex,\n tokenSetBuilder = new lunr.TokenSet.Builder,\n pipeline = lunr.Pipeline.load(serializedIndex.pipeline)\n\n if (serializedIndex.version != lunr.version) {\n lunr.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr '\" + lunr.version + \"' does not match serialized index '\" + serializedIndex.version + \"'\")\n }\n\n for (var i = 0; i < serializedVectors.length; i++) {\n var tuple = serializedVectors[i],\n ref = tuple[0],\n elements = tuple[1]\n\n fieldVectors[ref] = new lunr.Vector(elements)\n }\n\n for (var i = 0; i < serializedInvertedIndex.length; i++) {\n var tuple = serializedInvertedIndex[i],\n term = tuple[0],\n posting = tuple[1]\n\n tokenSetBuilder.insert(term)\n invertedIndex[term] = posting\n }\n\n tokenSetBuilder.finish()\n\n attrs.fields = serializedIndex.fields\n\n attrs.fieldVectors = fieldVectors\n attrs.invertedIndex = invertedIndex\n attrs.tokenSet = tokenSetBuilder.root\n attrs.pipeline = pipeline\n\n return new lunr.Index(attrs)\n}\n/*!\n * lunr.Builder\n * Copyright (C) 2020 Oliver Nightingale\n */\n\n/**\n * lunr.Builder performs indexing on a set of documents and\n * returns instances of lunr.Index ready for querying.\n *\n * All configuration of the index is done via the builder, the\n * fields to index, the document reference, the text processing\n * pipeline and document scoring parameters are all set on the\n * builder before indexing.\n *\n * @constructor\n * @property {string} _ref - Internal reference to the document reference field.\n * @property {string[]} _fields - Internal reference to the document fields to index.\n * @property {object} invertedIndex - The inverted index maps terms to document fields.\n * @property {object} documentTermFrequencies - Keeps track of document term frequencies.\n * @property {object} documentLengths - Keeps track of the length of documents added to the index.\n * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.\n * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.\n * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.\n * @property {number} documentCount - Keeps track of the total number of documents indexed.\n * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.\n * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.\n * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.\n * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.\n */\nlunr.Builder = function () {\n this._ref = \"id\"\n this._fields = Object.create(null)\n this._documents = Object.create(null)\n this.invertedIndex = Object.create(null)\n this.fieldTermFrequencies = {}\n this.fieldLengths = {}\n this.tokenizer = lunr.tokenizer\n this.pipeline = new lunr.Pipeline\n this.searchPipeline = new lunr.Pipeline\n this.documentCount = 0\n this._b = 0.75\n this._k1 = 1.2\n this.termIndex = 0\n this.metadataWhitelist = []\n}\n\n/**\n * Sets the document field used as the document reference. Every document must have this field.\n * The type of this field in the document should be a string, if it is not a string it will be\n * coerced into a string by calling toString.\n *\n * The default ref is 'id'.\n *\n * The ref should _not_ be changed during indexing, it should be set before any documents are\n * added to the index. Changing it during indexing can lead to inconsistent results.\n *\n * @param {string} ref - The name of the reference field in the document.\n */\nlunr.Builder.prototype.ref = function (ref) {\n this._ref = ref\n}\n\n/**\n * A function that is used to extract a field from a document.\n *\n * Lunr expects a field to be at the top level of a document, if however the field\n * is deeply nested within a document an extractor function can be used to extract\n * the right field for indexing.\n *\n * @callback fieldExtractor\n * @param {object} doc - The document being added to the index.\n * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.\n * @example Extracting a nested field\n * function (doc) { return doc.nested.field }\n */\n\n/**\n * Adds a field to the list of document fields that will be indexed. Every document being\n * indexed should have this field. Null values for this field in indexed documents will\n * not cause errors but will limit the chance of that document being retrieved by searches.\n *\n * All fields should be added before adding documents to the index. Adding fields after\n * a document has been indexed will have no effect on already indexed documents.\n *\n * Fields can be boosted at build time. This allows terms within that field to have more\n * importance when ranking search results. Use a field boost to specify that matches within\n * one field are more important than other fields.\n *\n * @param {string} fieldName - The name of a field to index in all documents.\n * @param {object} attributes - Optional attributes associated with this field.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.\n * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.\n * @throws {RangeError} fieldName cannot contain unsupported characters '/'\n */\nlunr.Builder.prototype.field = function (fieldName, attributes) {\n if (/\\//.test(fieldName)) {\n throw new RangeError (\"Field '\" + fieldName + \"' contains illegal character '/'\")\n }\n\n this._fields[fieldName] = attributes || {}\n}\n\n/**\n * A parameter to tune the amount of field length normalisation that is applied when\n * calculating relevance scores. A value of 0 will completely disable any normalisation\n * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b\n * will be clamped to the range 0 - 1.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.b = function (number) {\n if (number < 0) {\n this._b = 0\n } else if (number > 1) {\n this._b = 1\n } else {\n this._b = number\n }\n}\n\n/**\n * A parameter that controls the speed at which a rise in term frequency results in term\n * frequency saturation. The default value is 1.2. Setting this to a higher value will give\n * slower saturation levels, a lower value will result in quicker saturation.\n *\n * @param {number} number - The value to set for this tuning parameter.\n */\nlunr.Builder.prototype.k1 = function (number) {\n this._k1 = number\n}\n\n/**\n * Adds a document to the index.\n *\n * Before adding fields to the index the index should have been fully setup, with the document\n * ref and all fields to index already having been specified.\n *\n * The document must have a field name as specified by the ref (by default this is 'id') and\n * it should have all fields defined for indexing, though null or undefined values will not\n * cause errors.\n *\n * Entire documents can be boosted at build time. Applying a boost to a document indicates that\n * this document should rank higher in search results than other documents.\n *\n * @param {object} doc - The document to add to the index.\n * @param {object} attributes - Optional attributes associated with this document.\n * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.\n */\nlunr.Builder.prototype.add = function (doc, attributes) {\n var docRef = doc[this._ref],\n fields = Object.keys(this._fields)\n\n this._documents[docRef] = attributes || {}\n this.documentCount += 1\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i],\n extractor = this._fields[fieldName].extractor,\n field = extractor ? extractor(doc) : doc[fieldName],\n tokens = this.tokenizer(field, {\n fields: [fieldName]\n }),\n terms = this.pipeline.run(tokens),\n fieldRef = new lunr.FieldRef (docRef, fieldName),\n fieldTerms = Object.create(null)\n\n this.fieldTermFrequencies[fieldRef] = fieldTerms\n this.fieldLengths[fieldRef] = 0\n\n // store the length of this field for this document\n this.fieldLengths[fieldRef] += terms.length\n\n // calculate term frequencies for this field\n for (var j = 0; j < terms.length; j++) {\n var term = terms[j]\n\n if (fieldTerms[term] == undefined) {\n fieldTerms[term] = 0\n }\n\n fieldTerms[term] += 1\n\n // add to inverted index\n // create an initial posting if one doesn't exist\n if (this.invertedIndex[term] == undefined) {\n var posting = Object.create(null)\n posting[\"_index\"] = this.termIndex\n this.termIndex += 1\n\n for (var k = 0; k < fields.length; k++) {\n posting[fields[k]] = Object.create(null)\n }\n\n this.invertedIndex[term] = posting\n }\n\n // add an entry for this term/fieldName/docRef to the invertedIndex\n if (this.invertedIndex[term][fieldName][docRef] == undefined) {\n this.invertedIndex[term][fieldName][docRef] = Object.create(null)\n }\n\n // store all whitelisted metadata about this token in the\n // inverted index\n for (var l = 0; l < this.metadataWhitelist.length; l++) {\n var metadataKey = this.metadataWhitelist[l],\n metadata = term.metadata[metadataKey]\n\n if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {\n this.invertedIndex[term][fieldName][docRef][metadataKey] = []\n }\n\n this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)\n }\n }\n\n }\n}\n\n/**\n * Calculates the average document length for this index\n *\n * @private\n */\nlunr.Builder.prototype.calculateAverageFieldLengths = function () {\n\n var fieldRefs = Object.keys(this.fieldLengths),\n numberOfFields = fieldRefs.length,\n accumulator = {},\n documentsWithField = {}\n\n for (var i = 0; i < numberOfFields; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n field = fieldRef.fieldName\n\n documentsWithField[field] || (documentsWithField[field] = 0)\n documentsWithField[field] += 1\n\n accumulator[field] || (accumulator[field] = 0)\n accumulator[field] += this.fieldLengths[fieldRef]\n }\n\n var fields = Object.keys(this._fields)\n\n for (var i = 0; i < fields.length; i++) {\n var fieldName = fields[i]\n accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]\n }\n\n this.averageFieldLength = accumulator\n}\n\n/**\n * Builds a vector space model of every document using lunr.Vector\n *\n * @private\n */\nlunr.Builder.prototype.createFieldVectors = function () {\n var fieldVectors = {},\n fieldRefs = Object.keys(this.fieldTermFrequencies),\n fieldRefsLength = fieldRefs.length,\n termIdfCache = Object.create(null)\n\n for (var i = 0; i < fieldRefsLength; i++) {\n var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),\n fieldName = fieldRef.fieldName,\n fieldLength = this.fieldLengths[fieldRef],\n fieldVector = new lunr.Vector,\n termFrequencies = this.fieldTermFrequencies[fieldRef],\n terms = Object.keys(termFrequencies),\n termsLength = terms.length\n\n\n var fieldBoost = this._fields[fieldName].boost || 1,\n docBoost = this._documents[fieldRef.docRef].boost || 1\n\n for (var j = 0; j < termsLength; j++) {\n var term = terms[j],\n tf = termFrequencies[term],\n termIndex = this.invertedIndex[term]._index,\n idf, score, scoreWithPrecision\n\n if (termIdfCache[term] === undefined) {\n idf = lunr.idf(this.invertedIndex[term], this.documentCount)\n termIdfCache[term] = idf\n } else {\n idf = termIdfCache[term]\n }\n\n score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)\n score *= fieldBoost\n score *= docBoost\n scoreWithPrecision = Math.round(score * 1000) / 1000\n // Converts 1.23456789 to 1.234.\n // Reducing the precision so that the vectors take up less\n // space when serialised. Doing it now so that they behave\n // the same before and after serialisation. Also, this is\n // the fastest approach to reducing a number's precision in\n // JavaScript.\n\n fieldVector.insert(termIndex, scoreWithPrecision)\n }\n\n fieldVectors[fieldRef] = fieldVector\n }\n\n this.fieldVectors = fieldVectors\n}\n\n/**\n * Creates a token set of all tokens in the index using lunr.TokenSet\n *\n * @private\n */\nlunr.Builder.prototype.createTokenSet = function () {\n this.tokenSet = lunr.TokenSet.fromArray(\n Object.keys(this.invertedIndex).sort()\n )\n}\n\n/**\n * Builds the index, creating an instance of lunr.Index.\n *\n * This completes the indexing process and should only be called\n * once all documents have been added to the index.\n *\n * @returns {lunr.Index}\n */\nlunr.Builder.prototype.build = function () {\n this.calculateAverageFieldLengths()\n this.createFieldVectors()\n this.createTokenSet()\n\n return new lunr.Index({\n invertedIndex: this.invertedIndex,\n fieldVectors: this.fieldVectors,\n tokenSet: this.tokenSet,\n fields: Object.keys(this._fields),\n pipeline: this.searchPipeline\n })\n}\n\n/**\n * Applies a plugin to the index builder.\n *\n * A plugin is a function that is called with the index builder as its context.\n * Plugins can be used to customise or extend the behaviour of the index\n * in some way. A plugin is just a function, that encapsulated the custom\n * behaviour that should be applied when building the index.\n *\n * The plugin function will be called with the index builder as its argument, additional\n * arguments can also be passed when calling use. The function will be called\n * with the index builder as its context.\n *\n * @param {Function} plugin The plugin to apply.\n */\nlunr.Builder.prototype.use = function (fn) {\n var args = Array.prototype.slice.call(arguments, 1)\n args.unshift(this)\n fn.apply(this, args)\n}\n/**\n * Contains and collects metadata about a matching document.\n * A single instance of lunr.MatchData is returned as part of every\n * lunr.Index~Result.\n *\n * @constructor\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n * @property {object} metadata - A cloned collection of metadata associated with this document.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData = function (term, field, metadata) {\n var clonedMetadata = Object.create(null),\n metadataKeys = Object.keys(metadata || {})\n\n // Cloning the metadata to prevent the original\n // being mutated during match data combination.\n // Metadata is kept in an array within the inverted\n // index so cloning the data can be done with\n // Array#slice\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n clonedMetadata[key] = metadata[key].slice()\n }\n\n this.metadata = Object.create(null)\n\n if (term !== undefined) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = clonedMetadata\n }\n}\n\n/**\n * An instance of lunr.MatchData will be created for every term that matches a\n * document. However only one instance is required in a lunr.Index~Result. This\n * method combines metadata from another instance of lunr.MatchData with this\n * objects metadata.\n *\n * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.\n * @see {@link lunr.Index~Result}\n */\nlunr.MatchData.prototype.combine = function (otherMatchData) {\n var terms = Object.keys(otherMatchData.metadata)\n\n for (var i = 0; i < terms.length; i++) {\n var term = terms[i],\n fields = Object.keys(otherMatchData.metadata[term])\n\n if (this.metadata[term] == undefined) {\n this.metadata[term] = Object.create(null)\n }\n\n for (var j = 0; j < fields.length; j++) {\n var field = fields[j],\n keys = Object.keys(otherMatchData.metadata[term][field])\n\n if (this.metadata[term][field] == undefined) {\n this.metadata[term][field] = Object.create(null)\n }\n\n for (var k = 0; k < keys.length; k++) {\n var key = keys[k]\n\n if (this.metadata[term][field][key] == undefined) {\n this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]\n } else {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])\n }\n\n }\n }\n }\n}\n\n/**\n * Add metadata for a term/field pair to this instance of match data.\n *\n * @param {string} term - The term this match data is associated with\n * @param {string} field - The field in which the term was found\n * @param {object} metadata - The metadata recorded about this term in this field\n */\nlunr.MatchData.prototype.add = function (term, field, metadata) {\n if (!(term in this.metadata)) {\n this.metadata[term] = Object.create(null)\n this.metadata[term][field] = metadata\n return\n }\n\n if (!(field in this.metadata[term])) {\n this.metadata[term][field] = metadata\n return\n }\n\n var metadataKeys = Object.keys(metadata)\n\n for (var i = 0; i < metadataKeys.length; i++) {\n var key = metadataKeys[i]\n\n if (key in this.metadata[term][field]) {\n this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])\n } else {\n this.metadata[term][field][key] = metadata[key]\n }\n }\n}\n/**\n * A lunr.Query provides a programmatic way of defining queries to be performed\n * against a {@link lunr.Index}.\n *\n * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method\n * so the query object is pre-initialized with the right index fields.\n *\n * @constructor\n * @property {lunr.Query~Clause[]} clauses - An array of query clauses.\n * @property {string[]} allFields - An array of all available fields in a lunr.Index.\n */\nlunr.Query = function (allFields) {\n this.clauses = []\n this.allFields = allFields\n}\n\n/**\n * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.\n *\n * This allows wildcards to be added to the beginning and end of a term without having to manually do any string\n * concatenation.\n *\n * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.\n *\n * @constant\n * @default\n * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour\n * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists\n * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with trailing wildcard\n * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })\n * @example query term with leading and trailing wildcard\n * query.term('foo', {\n * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING\n * })\n */\n\nlunr.Query.wildcard = new String (\"*\")\nlunr.Query.wildcard.NONE = 0\nlunr.Query.wildcard.LEADING = 1\nlunr.Query.wildcard.TRAILING = 2\n\n/**\n * Constants for indicating what kind of presence a term must have in matching documents.\n *\n * @constant\n * @enum {number}\n * @see lunr.Query~Clause\n * @see lunr.Query#clause\n * @see lunr.Query#term\n * @example query term with required presence\n * query.term('foo', { presence: lunr.Query.presence.REQUIRED })\n */\nlunr.Query.presence = {\n /**\n * Term's presence in a document is optional, this is the default value.\n */\n OPTIONAL: 1,\n\n /**\n * Term's presence in a document is required, documents that do not contain\n * this term will not be returned.\n */\n REQUIRED: 2,\n\n /**\n * Term's presence in a document is prohibited, documents that do contain\n * this term will not be returned.\n */\n PROHIBITED: 3\n}\n\n/**\n * A single clause in a {@link lunr.Query} contains a term and details on how to\n * match that term against a {@link lunr.Index}.\n *\n * @typedef {Object} lunr.Query~Clause\n * @property {string[]} fields - The fields in an index this clause should be matched against.\n * @property {number} [boost=1] - Any boost that should be applied when matching this clause.\n * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.\n * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.\n * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.\n * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.\n */\n\n/**\n * Adds a {@link lunr.Query~Clause} to this query.\n *\n * Unless the clause contains the fields to be matched all fields will be matched. In addition\n * a default boost of 1 is applied to the clause.\n *\n * @param {lunr.Query~Clause} clause - The clause to add to this query.\n * @see lunr.Query~Clause\n * @returns {lunr.Query}\n */\nlunr.Query.prototype.clause = function (clause) {\n if (!('fields' in clause)) {\n clause.fields = this.allFields\n }\n\n if (!('boost' in clause)) {\n clause.boost = 1\n }\n\n if (!('usePipeline' in clause)) {\n clause.usePipeline = true\n }\n\n if (!('wildcard' in clause)) {\n clause.wildcard = lunr.Query.wildcard.NONE\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {\n clause.term = \"*\" + clause.term\n }\n\n if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {\n clause.term = \"\" + clause.term + \"*\"\n }\n\n if (!('presence' in clause)) {\n clause.presence = lunr.Query.presence.OPTIONAL\n }\n\n this.clauses.push(clause)\n\n return this\n}\n\n/**\n * A negated query is one in which every clause has a presence of\n * prohibited. These queries require some special processing to return\n * the expected results.\n *\n * @returns boolean\n */\nlunr.Query.prototype.isNegated = function () {\n for (var i = 0; i < this.clauses.length; i++) {\n if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}\n * to the list of clauses that make up this query.\n *\n * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion\n * to a token or token-like string should be done before calling this method.\n *\n * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an\n * array, each term in the array will share the same options.\n *\n * @param {object|object[]} term - The term(s) to add to the query.\n * @param {object} [options] - Any additional properties to add to the query clause.\n * @returns {lunr.Query}\n * @see lunr.Query#clause\n * @see lunr.Query~Clause\n * @example adding a single term to a query\n * query.term(\"foo\")\n * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard\n * query.term(\"foo\", {\n * fields: [\"title\"],\n * boost: 10,\n * wildcard: lunr.Query.wildcard.TRAILING\n * })\n * @example using lunr.tokenizer to convert a string to tokens before using them as terms\n * query.term(lunr.tokenizer(\"foo bar\"))\n */\nlunr.Query.prototype.term = function (term, options) {\n if (Array.isArray(term)) {\n term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)\n return this\n }\n\n var clause = options || {}\n clause.term = term.toString()\n\n this.clause(clause)\n\n return this\n}\nlunr.QueryParseError = function (message, start, end) {\n this.name = \"QueryParseError\"\n this.message = message\n this.start = start\n this.end = end\n}\n\nlunr.QueryParseError.prototype = new Error\nlunr.QueryLexer = function (str) {\n this.lexemes = []\n this.str = str\n this.length = str.length\n this.pos = 0\n this.start = 0\n this.escapeCharPositions = []\n}\n\nlunr.QueryLexer.prototype.run = function () {\n var state = lunr.QueryLexer.lexText\n\n while (state) {\n state = state(this)\n }\n}\n\nlunr.QueryLexer.prototype.sliceString = function () {\n var subSlices = [],\n sliceStart = this.start,\n sliceEnd = this.pos\n\n for (var i = 0; i < this.escapeCharPositions.length; i++) {\n sliceEnd = this.escapeCharPositions[i]\n subSlices.push(this.str.slice(sliceStart, sliceEnd))\n sliceStart = sliceEnd + 1\n }\n\n subSlices.push(this.str.slice(sliceStart, this.pos))\n this.escapeCharPositions.length = 0\n\n return subSlices.join('')\n}\n\nlunr.QueryLexer.prototype.emit = function (type) {\n this.lexemes.push({\n type: type,\n str: this.sliceString(),\n start: this.start,\n end: this.pos\n })\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.escapeCharacter = function () {\n this.escapeCharPositions.push(this.pos - 1)\n this.pos += 1\n}\n\nlunr.QueryLexer.prototype.next = function () {\n if (this.pos >= this.length) {\n return lunr.QueryLexer.EOS\n }\n\n var char = this.str.charAt(this.pos)\n this.pos += 1\n return char\n}\n\nlunr.QueryLexer.prototype.width = function () {\n return this.pos - this.start\n}\n\nlunr.QueryLexer.prototype.ignore = function () {\n if (this.start == this.pos) {\n this.pos += 1\n }\n\n this.start = this.pos\n}\n\nlunr.QueryLexer.prototype.backup = function () {\n this.pos -= 1\n}\n\nlunr.QueryLexer.prototype.acceptDigitRun = function () {\n var char, charCode\n\n do {\n char = this.next()\n charCode = char.charCodeAt(0)\n } while (charCode > 47 && charCode < 58)\n\n if (char != lunr.QueryLexer.EOS) {\n this.backup()\n }\n}\n\nlunr.QueryLexer.prototype.more = function () {\n return this.pos < this.length\n}\n\nlunr.QueryLexer.EOS = 'EOS'\nlunr.QueryLexer.FIELD = 'FIELD'\nlunr.QueryLexer.TERM = 'TERM'\nlunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'\nlunr.QueryLexer.BOOST = 'BOOST'\nlunr.QueryLexer.PRESENCE = 'PRESENCE'\n\nlunr.QueryLexer.lexField = function (lexer) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.FIELD)\n lexer.ignore()\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexTerm = function (lexer) {\n if (lexer.width() > 1) {\n lexer.backup()\n lexer.emit(lunr.QueryLexer.TERM)\n }\n\n lexer.ignore()\n\n if (lexer.more()) {\n return lunr.QueryLexer.lexText\n }\n}\n\nlunr.QueryLexer.lexEditDistance = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexBoost = function (lexer) {\n lexer.ignore()\n lexer.acceptDigitRun()\n lexer.emit(lunr.QueryLexer.BOOST)\n return lunr.QueryLexer.lexText\n}\n\nlunr.QueryLexer.lexEOS = function (lexer) {\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n}\n\n// This matches the separator used when tokenising fields\n// within a document. These should match otherwise it is\n// not possible to search for some tokens within a document.\n//\n// It is possible for the user to change the separator on the\n// tokenizer so it _might_ clash with any other of the special\n// characters already used within the search string, e.g. :.\n//\n// This means that it is possible to change the separator in\n// such a way that makes some words unsearchable using a search\n// string.\nlunr.QueryLexer.termSeparator = lunr.tokenizer.separator\n\nlunr.QueryLexer.lexText = function (lexer) {\n while (true) {\n var char = lexer.next()\n\n if (char == lunr.QueryLexer.EOS) {\n return lunr.QueryLexer.lexEOS\n }\n\n // Escape character is '\\'\n if (char.charCodeAt(0) == 92) {\n lexer.escapeCharacter()\n continue\n }\n\n if (char == \":\") {\n return lunr.QueryLexer.lexField\n }\n\n if (char == \"~\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexEditDistance\n }\n\n if (char == \"^\") {\n lexer.backup()\n if (lexer.width() > 0) {\n lexer.emit(lunr.QueryLexer.TERM)\n }\n return lunr.QueryLexer.lexBoost\n }\n\n // \"+\" indicates term presence is required\n // checking for length to ensure that only\n // leading \"+\" are considered\n if (char == \"+\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n // \"-\" indicates term presence is prohibited\n // checking for length to ensure that only\n // leading \"-\" are considered\n if (char == \"-\" && lexer.width() === 1) {\n lexer.emit(lunr.QueryLexer.PRESENCE)\n return lunr.QueryLexer.lexText\n }\n\n if (char.match(lunr.QueryLexer.termSeparator)) {\n return lunr.QueryLexer.lexTerm\n }\n }\n}\n\nlunr.QueryParser = function (str, query) {\n this.lexer = new lunr.QueryLexer (str)\n this.query = query\n this.currentClause = {}\n this.lexemeIdx = 0\n}\n\nlunr.QueryParser.prototype.parse = function () {\n this.lexer.run()\n this.lexemes = this.lexer.lexemes\n\n var state = lunr.QueryParser.parseClause\n\n while (state) {\n state = state(this)\n }\n\n return this.query\n}\n\nlunr.QueryParser.prototype.peekLexeme = function () {\n return this.lexemes[this.lexemeIdx]\n}\n\nlunr.QueryParser.prototype.consumeLexeme = function () {\n var lexeme = this.peekLexeme()\n this.lexemeIdx += 1\n return lexeme\n}\n\nlunr.QueryParser.prototype.nextClause = function () {\n var completedClause = this.currentClause\n this.query.clause(completedClause)\n this.currentClause = {}\n}\n\nlunr.QueryParser.parseClause = function (parser) {\n var lexeme = parser.peekLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.type) {\n case lunr.QueryLexer.PRESENCE:\n return lunr.QueryParser.parsePresence\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expected either a field or a term, found \" + lexeme.type\n\n if (lexeme.str.length >= 1) {\n errorMessage += \" with value '\" + lexeme.str + \"'\"\n }\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n}\n\nlunr.QueryParser.parsePresence = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n switch (lexeme.str) {\n case \"-\":\n parser.currentClause.presence = lunr.Query.presence.PROHIBITED\n break\n case \"+\":\n parser.currentClause.presence = lunr.Query.presence.REQUIRED\n break\n default:\n var errorMessage = \"unrecognised presence operator'\" + lexeme.str + \"'\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term or field, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.FIELD:\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term or field, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseField = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n if (parser.query.allFields.indexOf(lexeme.str) == -1) {\n var possibleFields = parser.query.allFields.map(function (f) { return \"'\" + f + \"'\" }).join(', '),\n errorMessage = \"unrecognised field '\" + lexeme.str + \"', possible fields: \" + possibleFields\n\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.fields = [lexeme.str]\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n var errorMessage = \"expecting term, found nothing\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n return lunr.QueryParser.parseTerm\n default:\n var errorMessage = \"expecting term, found '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseTerm = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n parser.currentClause.term = lexeme.str.toLowerCase()\n\n if (lexeme.str.indexOf(\"*\") != -1) {\n parser.currentClause.usePipeline = false\n }\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseEditDistance = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var editDistance = parseInt(lexeme.str, 10)\n\n if (isNaN(editDistance)) {\n var errorMessage = \"edit distance must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.editDistance = editDistance\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\nlunr.QueryParser.parseBoost = function (parser) {\n var lexeme = parser.consumeLexeme()\n\n if (lexeme == undefined) {\n return\n }\n\n var boost = parseInt(lexeme.str, 10)\n\n if (isNaN(boost)) {\n var errorMessage = \"boost must be numeric\"\n throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)\n }\n\n parser.currentClause.boost = boost\n\n var nextLexeme = parser.peekLexeme()\n\n if (nextLexeme == undefined) {\n parser.nextClause()\n return\n }\n\n switch (nextLexeme.type) {\n case lunr.QueryLexer.TERM:\n parser.nextClause()\n return lunr.QueryParser.parseTerm\n case lunr.QueryLexer.FIELD:\n parser.nextClause()\n return lunr.QueryParser.parseField\n case lunr.QueryLexer.EDIT_DISTANCE:\n return lunr.QueryParser.parseEditDistance\n case lunr.QueryLexer.BOOST:\n return lunr.QueryParser.parseBoost\n case lunr.QueryLexer.PRESENCE:\n parser.nextClause()\n return lunr.QueryParser.parsePresence\n default:\n var errorMessage = \"Unexpected lexeme type '\" + nextLexeme.type + \"'\"\n throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)\n }\n}\n\n /**\n * export the module via AMD, CommonJS or as a browser global\n * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js\n */\n ;(function (root, factory) {\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))\n } else {}\n }(this, function () {\n /**\n * Just return a value to define the module export.\n * This example returns an object, but the module\n * can return a function as the exported value.\n */\n return lunr\n }))\n})();\n\n\n//# sourceURL=webpack:///../node_modules/lunr/lunr.js?"); + +/***/ }), + +/***/ "./default/assets/css/main.sass": +/*!**************************************!*\ + !*** ./default/assets/css/main.sass ***! + \**************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack:///./default/assets/css/main.sass?"); + +/***/ }), + +/***/ "./default/assets/js/src/bootstrap.ts": +/*!********************************************!*\ + !*** ./default/assets/js/src/bootstrap.ts ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typedoc/Application */ \"./default/assets/js/src/typedoc/Application.ts\");\n/* harmony import */ var _typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typedoc/components/MenuHighlight */ \"./default/assets/js/src/typedoc/components/MenuHighlight.ts\");\n/* harmony import */ var _typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./typedoc/components/Search */ \"./default/assets/js/src/typedoc/components/Search.ts\");\n/* harmony import */ var _typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./typedoc/components/Signature */ \"./default/assets/js/src/typedoc/components/Signature.ts\");\n/* harmony import */ var _typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./typedoc/components/Toggle */ \"./default/assets/js/src/typedoc/components/Toggle.ts\");\n/* harmony import */ var _typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./typedoc/components/Filter */ \"./default/assets/js/src/typedoc/components/Filter.ts\");\n/* harmony import */ var _css_main_sass__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../css/main.sass */ \"./default/assets/css/main.sass\");\n\n\n\n\n\n\n\n(0,_typedoc_components_Search__WEBPACK_IMPORTED_MODULE_2__.initSearch)();\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_MenuHighlight__WEBPACK_IMPORTED_MODULE_1__.MenuHighlight, \".menu-highlight\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Signature__WEBPACK_IMPORTED_MODULE_3__.Signature, \".tsd-signatures\");\n(0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Toggle__WEBPACK_IMPORTED_MODULE_4__.Toggle, \"a[data-toggle]\");\nif (_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter.isSupported()) {\n (0,_typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.registerComponent)(_typedoc_components_Filter__WEBPACK_IMPORTED_MODULE_5__.Filter, \"#tsd-filter\");\n}\nelse {\n document.documentElement.classList.add(\"no-filter\");\n}\nvar app = new _typedoc_Application__WEBPACK_IMPORTED_MODULE_0__.Application();\nObject.defineProperty(window, \"app\", { value: app });\n\n\n//# sourceURL=webpack:///./default/assets/js/src/bootstrap.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Application.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/Application.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerComponent\": () => /* binding */ registerComponent,\n/* harmony export */ \"Application\": () => /* binding */ Application\n/* harmony export */ });\n/**\n * List of all known components.\n */\nvar components = [];\n/**\n * Register a new component.\n */\nfunction registerComponent(constructor, selector) {\n components.push({\n selector: selector,\n constructor: constructor,\n });\n}\n/**\n * TypeDoc application class.\n */\nvar Application = /** @class */ (function () {\n /**\n * Create a new Application instance.\n */\n function Application() {\n this.createComponents(document.body);\n }\n /**\n * Create all components beneath the given jQuery element.\n */\n Application.prototype.createComponents = function (context) {\n components.forEach(function (c) {\n context.querySelectorAll(c.selector).forEach(function (el) {\n if (!el.dataset.hasInstance) {\n new c.constructor({ el: el });\n el.dataset.hasInstance = String(true);\n }\n });\n });\n };\n return Application;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Application.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/Component.ts": +/*!****************************************************!*\ + !*** ./default/assets/js/src/typedoc/Component.ts ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Component\": () => /* binding */ Component\n/* harmony export */ });\n/**\n * TypeDoc component class.\n */\nvar Component = /** @class */ (function () {\n function Component(options) {\n this.el = options.el;\n }\n return Component;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/Component.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/EventTarget.ts": +/*!******************************************************!*\ + !*** ./default/assets/js/src/typedoc/EventTarget.ts ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"EventTarget\": () => /* binding */ EventTarget\n/* harmony export */ });\n/**\n * TypeDoc event target class.\n */\nvar EventTarget = /** @class */ (function () {\n function EventTarget() {\n this.listeners = {};\n }\n EventTarget.prototype.addEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n this.listeners[type].push(callback);\n };\n EventTarget.prototype.removeEventListener = function (type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n var stack = this.listeners[type];\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n };\n EventTarget.prototype.dispatchEvent = function (event) {\n if (!(event.type in this.listeners)) {\n return true;\n }\n var stack = this.listeners[event.type].slice();\n for (var i = 0, l = stack.length; i < l; i++) {\n stack[i].call(this, event);\n }\n return !event.defaultPrevented;\n };\n return EventTarget;\n}());\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/EventTarget.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Filter.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Filter.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Filter\": () => /* binding */ Filter\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar FilterItem = /** @class */ (function () {\n function FilterItem(key, value) {\n this.key = key;\n this.value = value;\n this.defaultValue = value;\n this.initialize();\n if (window.localStorage[this.key]) {\n this.setValue(this.fromLocalStorage(window.localStorage[this.key]));\n }\n }\n FilterItem.prototype.initialize = function () { };\n FilterItem.prototype.setValue = function (value) {\n if (this.value == value)\n return;\n var oldValue = this.value;\n this.value = value;\n window.localStorage[this.key] = this.toLocalStorage(value);\n this.handleValueChange(oldValue, value);\n };\n return FilterItem;\n}());\nvar FilterItemCheckbox = /** @class */ (function (_super) {\n __extends(FilterItemCheckbox, _super);\n function FilterItemCheckbox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemCheckbox.prototype.initialize = function () {\n var _this = this;\n var checkbox = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!checkbox)\n return;\n this.checkbox = checkbox;\n this.checkbox.addEventListener(\"change\", function () {\n _this.setValue(_this.checkbox.checked);\n });\n };\n FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) {\n if (!this.checkbox)\n return;\n this.checkbox.checked = this.value;\n document.documentElement.classList.toggle(\"toggle-\" + this.key, this.value != this.defaultValue);\n };\n FilterItemCheckbox.prototype.fromLocalStorage = function (value) {\n return value == \"true\";\n };\n FilterItemCheckbox.prototype.toLocalStorage = function (value) {\n return value ? \"true\" : \"false\";\n };\n return FilterItemCheckbox;\n}(FilterItem));\nvar FilterItemSelect = /** @class */ (function (_super) {\n __extends(FilterItemSelect, _super);\n function FilterItemSelect() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterItemSelect.prototype.initialize = function () {\n var _this = this;\n document.documentElement.classList.add(\"toggle-\" + this.key + this.value);\n var select = document.querySelector(\"#tsd-filter-\" + this.key);\n if (!select)\n return;\n this.select = select;\n var onActivate = function () {\n _this.select.classList.add(\"active\");\n };\n var onDeactivate = function () {\n _this.select.classList.remove(\"active\");\n };\n this.select.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, onActivate);\n this.select.addEventListener(\"mouseover\", onActivate);\n this.select.addEventListener(\"mouseleave\", onDeactivate);\n this.select.querySelectorAll(\"li\").forEach(function (el) {\n el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n select.classList.remove(\"active\");\n _this.setValue(e.target.dataset.value || \"\");\n });\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n if (_this.select.contains(e.target))\n return;\n _this.select.classList.remove(\"active\");\n });\n };\n FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) {\n this.select.querySelectorAll(\"li.selected\").forEach(function (el) {\n el.classList.remove(\"selected\");\n });\n var selected = this.select.querySelector('li[data-value=\"' + newValue + '\"]');\n var label = this.select.querySelector(\".tsd-select-label\");\n if (selected && label) {\n selected.classList.add(\"selected\");\n label.textContent = selected.textContent;\n }\n document.documentElement.classList.remove(\"toggle-\" + oldValue);\n document.documentElement.classList.add(\"toggle-\" + newValue);\n };\n FilterItemSelect.prototype.fromLocalStorage = function (value) {\n return value;\n };\n FilterItemSelect.prototype.toLocalStorage = function (value) {\n return value;\n };\n return FilterItemSelect;\n}(FilterItem));\nvar Filter = /** @class */ (function (_super) {\n __extends(Filter, _super);\n function Filter(options) {\n var _this = _super.call(this, options) || this;\n _this.optionVisibility = new FilterItemSelect(\"visibility\", \"private\");\n _this.optionInherited = new FilterItemCheckbox(\"inherited\", true);\n _this.optionExternals = new FilterItemCheckbox(\"externals\", true);\n return _this;\n }\n Filter.isSupported = function () {\n try {\n return typeof window.localStorage != \"undefined\";\n }\n catch (e) {\n return false;\n }\n };\n return Filter;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Filter.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/MenuHighlight.ts": +/*!*******************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/MenuHighlight.ts ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MenuHighlight\": () => /* binding */ MenuHighlight\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Manages the sticky state of the navigation and moves the highlight\n * to the current navigation item.\n */\nvar MenuHighlight = /** @class */ (function (_super) {\n __extends(MenuHighlight, _super);\n /**\n * Create a new MenuHighlight instance.\n *\n * @param options Backbone view constructor options.\n */\n function MenuHighlight(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of all discovered anchors.\n */\n _this.anchors = [];\n /**\n * Index of the currently highlighted anchor.\n */\n _this.index = -1;\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"resize\", function () { return _this.onResize(); });\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.addEventListener(\"scroll\", function (e) { return _this.onScroll(e); });\n _this.createAnchors();\n return _this;\n }\n /**\n * Find all anchors on the current page.\n */\n MenuHighlight.prototype.createAnchors = function () {\n var _this = this;\n var base = window.location.href;\n if (base.indexOf(\"#\") != -1) {\n base = base.substr(0, base.indexOf(\"#\"));\n }\n this.el.querySelectorAll(\"a\").forEach(function (el) {\n var href = el.href;\n if (href.indexOf(\"#\") == -1)\n return;\n if (href.substr(0, base.length) != base)\n return;\n var hash = href.substr(href.indexOf(\"#\") + 1);\n var anchor = document.querySelector(\"a.tsd-anchor[name=\" + hash + \"]\");\n var link = el.parentNode;\n if (!anchor || !link)\n return;\n _this.anchors.push({\n link: link,\n anchor: anchor,\n position: 0,\n });\n });\n this.onResize();\n };\n /**\n * Triggered after the viewport was resized.\n */\n MenuHighlight.prototype.onResize = function () {\n var anchor;\n for (var index = 0, count = this.anchors.length; index < count; index++) {\n anchor = this.anchors[index];\n var rect = anchor.anchor.getBoundingClientRect();\n anchor.position = rect.top + document.body.scrollTop;\n }\n this.anchors.sort(function (a, b) {\n return a.position - b.position;\n });\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.scrollTop,\n },\n });\n this.onScroll(event);\n };\n /**\n * Triggered after the viewport was scrolled.\n *\n * @param event The custom event with the current vertical scroll position.\n */\n MenuHighlight.prototype.onScroll = function (event) {\n var scrollTop = event.detail.scrollTop + 5;\n var anchors = this.anchors;\n var count = anchors.length - 1;\n var index = this.index;\n while (index > -1 && anchors[index].position > scrollTop) {\n index -= 1;\n }\n while (index < count && anchors[index + 1].position < scrollTop) {\n index += 1;\n }\n if (this.index != index) {\n if (this.index > -1)\n this.anchors[this.index].link.classList.remove(\"focus\");\n this.index = index;\n if (this.index > -1)\n this.anchors[this.index].link.classList.add(\"focus\");\n }\n };\n return MenuHighlight;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/MenuHighlight.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Search.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Search.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"initSearch\": () => /* binding */ initSearch\n/* harmony export */ });\n/* harmony import */ var _utils_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/debounce */ \"./default/assets/js/src/typedoc/utils/debounce.ts\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lunr */ \"../node_modules/lunr/lunr.js\");\n/* harmony import */ var lunr__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lunr__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction initSearch() {\n var searchEl = document.getElementById(\"tsd-search\");\n if (!searchEl)\n return;\n var searchScript = document.getElementById(\"search-script\");\n searchEl.classList.add(\"loading\");\n if (searchScript) {\n searchScript.addEventListener(\"error\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"failure\");\n });\n searchScript.addEventListener(\"load\", function () {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n });\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n }\n }\n var field = document.querySelector(\"#tsd-search-field\");\n var results = document.querySelector(\".results\");\n if (!field || !results) {\n throw new Error(\"The input field or the result list wrapper was not found\");\n }\n var resultClicked = false;\n results.addEventListener(\"mousedown\", function () { return (resultClicked = true); });\n results.addEventListener(\"mouseup\", function () {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n });\n field.addEventListener(\"focus\", function () { return searchEl.classList.add(\"has-focus\"); });\n field.addEventListener(\"blur\", function () {\n if (!resultClicked) {\n resultClicked = false;\n searchEl.classList.remove(\"has-focus\");\n }\n });\n var state = {\n base: searchEl.dataset.base + \"/\",\n };\n bindEvents(searchEl, results, field, state);\n}\nfunction bindEvents(searchEl, results, field, state) {\n field.addEventListener(\"input\", (0,_utils_debounce__WEBPACK_IMPORTED_MODULE_0__.debounce)(function () {\n updateResults(searchEl, results, field, state);\n }, 200));\n var preventPress = false;\n field.addEventListener(\"keydown\", function (e) {\n preventPress = true;\n if (e.key == \"Enter\") {\n gotoCurrentResult(results, field);\n }\n else if (e.key == \"Escape\") {\n field.blur();\n }\n else if (e.key == \"ArrowUp\") {\n setCurrentResult(results, -1);\n }\n else if (e.key === \"ArrowDown\") {\n setCurrentResult(results, 1);\n }\n else {\n preventPress = false;\n }\n });\n field.addEventListener(\"keypress\", function (e) {\n if (preventPress)\n e.preventDefault();\n });\n /**\n * Start searching by pressing slash.\n */\n document.body.addEventListener(\"keydown\", function (e) {\n if (e.altKey || e.ctrlKey || e.metaKey)\n return;\n if (!field.matches(\":focus\") && e.key === \"/\") {\n field.focus();\n e.preventDefault();\n }\n });\n}\nfunction checkIndex(state, searchEl) {\n if (state.index)\n return;\n if (window.searchData) {\n searchEl.classList.remove(\"loading\");\n searchEl.classList.add(\"ready\");\n state.data = window.searchData;\n state.index = lunr__WEBPACK_IMPORTED_MODULE_1__.Index.load(window.searchData.index);\n }\n}\nfunction updateResults(searchEl, results, query, state) {\n checkIndex(state, searchEl);\n // Don't clear results if loading state is not ready,\n // because loading or error message can be removed.\n if (!state.index || !state.data)\n return;\n results.textContent = \"\";\n var searchText = query.value.trim();\n // Perform a wildcard search\n var res = state.index.search(\"*\" + searchText + \"*\");\n for (var i = 0, c = Math.min(10, res.length); i < c; i++) {\n var row = state.data.rows[Number(res[i].ref)];\n // Bold the matched part of the query in the search results\n var name_1 = boldMatches(row.name, searchText);\n if (row.parent) {\n name_1 = \"\" + boldMatches(row.parent, searchText) + \".\" + name_1;\n }\n var item = document.createElement(\"li\");\n item.classList.value = row.classes;\n var anchor = document.createElement(\"a\");\n anchor.href = state.base + row.url;\n anchor.classList.add(\"tsd-kind-icon\");\n anchor.innerHTML = name_1;\n item.append(anchor);\n results.appendChild(item);\n }\n}\n/**\n * Move the highlight within the result set.\n */\nfunction setCurrentResult(results, dir) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(dir == 1 ? \"li:first-child\" : \"li:last-child\");\n if (current) {\n current.classList.add(\"current\");\n }\n }\n else {\n var rel = dir == 1\n ? current.nextElementSibling\n : current.previousElementSibling;\n if (rel) {\n current.classList.remove(\"current\");\n rel.classList.add(\"current\");\n }\n }\n}\n/**\n * Navigate to the highlighted result.\n */\nfunction gotoCurrentResult(results, field) {\n var current = results.querySelector(\".current\");\n if (!current) {\n current = results.querySelector(\"li:first-child\");\n }\n if (current) {\n var link = current.querySelector(\"a\");\n if (link) {\n window.location.href = link.href;\n }\n field.blur();\n }\n}\nfunction boldMatches(text, search) {\n if (search === \"\") {\n return text;\n }\n var lowerText = text.toLocaleLowerCase();\n var lowerSearch = search.toLocaleLowerCase();\n var parts = [];\n var lastIndex = 0;\n var index = lowerText.indexOf(lowerSearch);\n while (index != -1) {\n parts.push(escapeHtml(text.substring(lastIndex, index)), \"\" + escapeHtml(text.substring(index, index + lowerSearch.length)) + \"\");\n lastIndex = index + lowerSearch.length;\n index = lowerText.indexOf(lowerSearch, lastIndex);\n }\n parts.push(escapeHtml(text.substring(lastIndex)));\n return parts.join(\"\");\n}\nvar SPECIAL_HTML = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\",\n};\nfunction escapeHtml(text) {\n return text.replace(/[&<>\"'\"]/g, function (match) { return SPECIAL_HTML[match]; });\n}\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Search.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Signature.ts": +/*!***************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Signature.ts ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Signature\": () => /* binding */ Signature\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _services_Viewport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/Viewport */ \"./default/assets/js/src/typedoc/services/Viewport.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * Holds a signature and its description.\n */\nvar SignatureGroup = /** @class */ (function () {\n /**\n * Create a new SignatureGroup instance.\n *\n * @param signature The target signature.\n * @param description The description for the signature.\n */\n function SignatureGroup(signature, description) {\n this.signature = signature;\n this.description = description;\n }\n /**\n * Add the given class to all elements of the group.\n *\n * @param className The class name to add.\n */\n SignatureGroup.prototype.addClass = function (className) {\n this.signature.classList.add(className);\n this.description.classList.add(className);\n return this;\n };\n /**\n * Remove the given class from all elements of the group.\n *\n * @param className The class name to remove.\n */\n SignatureGroup.prototype.removeClass = function (className) {\n this.signature.classList.remove(className);\n this.description.classList.remove(className);\n return this;\n };\n return SignatureGroup;\n}());\n/**\n * Controls the tab like behaviour of methods and functions with multiple signatures.\n */\nvar Signature = /** @class */ (function (_super) {\n __extends(Signature, _super);\n /**\n * Create a new Signature instance.\n *\n * @param options Backbone view constructor options.\n */\n function Signature(options) {\n var _this = _super.call(this, options) || this;\n /**\n * List of found signature groups.\n */\n _this.groups = [];\n /**\n * The index of the currently displayed signature.\n */\n _this.index = -1;\n _this.createGroups();\n if (_this.container) {\n _this.el.classList.add(\"active\");\n Array.from(_this.el.children).forEach(function (signature) {\n signature.addEventListener(\"touchstart\", function (event) {\n return _this.onClick(event);\n });\n signature.addEventListener(\"click\", function (event) {\n return _this.onClick(event);\n });\n });\n _this.container.classList.add(\"active\");\n _this.setIndex(0);\n }\n return _this;\n }\n /**\n * Set the index of the active signature.\n *\n * @param index The index of the signature to activate.\n */\n Signature.prototype.setIndex = function (index) {\n if (index < 0)\n index = 0;\n if (index > this.groups.length - 1)\n index = this.groups.length - 1;\n if (this.index == index)\n return;\n var to = this.groups[index];\n if (this.index > -1) {\n var from_1 = this.groups[this.index];\n from_1.removeClass(\"current\").addClass(\"fade-out\");\n to.addClass(\"current\");\n to.addClass(\"fade-in\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n setTimeout(function () {\n from_1.removeClass(\"fade-out\");\n to.removeClass(\"fade-in\");\n }, 300);\n }\n else {\n to.addClass(\"current\");\n _services_Viewport__WEBPACK_IMPORTED_MODULE_1__.Viewport.instance.triggerResize();\n }\n this.index = index;\n };\n /**\n * Find all signature/description groups.\n */\n Signature.prototype.createGroups = function () {\n var signatures = this.el.children;\n if (signatures.length < 2)\n return;\n this.container = this.el.nextElementSibling;\n var descriptions = this.container.children;\n this.groups = [];\n for (var index = 0; index < signatures.length; index++) {\n this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));\n }\n };\n /**\n * Triggered when the user clicks onto a signature header.\n *\n * @param e The related event object.\n */\n Signature.prototype.onClick = function (e) {\n var _this = this;\n this.groups.forEach(function (group, index) {\n if (group.signature === e.currentTarget) {\n _this.setIndex(index);\n }\n });\n };\n return Signature;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Signature.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/components/Toggle.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/components/Toggle.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Toggle\": () => /* binding */ Toggle\n/* harmony export */ });\n/* harmony import */ var _Component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Component */ \"./default/assets/js/src/typedoc/Component.ts\");\n/* harmony import */ var _utils_pointer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/pointer */ \"./default/assets/js/src/typedoc/utils/pointer.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Toggle = /** @class */ (function (_super) {\n __extends(Toggle, _super);\n function Toggle(options) {\n var _this = _super.call(this, options) || this;\n _this.className = _this.el.dataset.toggle || \"\";\n _this.el.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) { return _this.onPointerUp(e); });\n _this.el.addEventListener(\"click\", function (e) { return e.preventDefault(); });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerDown, function (e) {\n return _this.onDocumentPointerDown(e);\n });\n document.addEventListener(_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.pointerUp, function (e) {\n return _this.onDocumentPointerUp(e);\n });\n return _this;\n }\n Toggle.prototype.setActive = function (value) {\n if (this.active == value)\n return;\n this.active = value;\n document.documentElement.classList.toggle(\"has-\" + this.className, value);\n this.el.classList.toggle(\"active\", value);\n var transition = (this.active ? \"to-has-\" : \"from-has-\") + this.className;\n document.documentElement.classList.add(transition);\n setTimeout(function () { return document.documentElement.classList.remove(transition); }, 500);\n };\n Toggle.prototype.onPointerUp = function (event) {\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n this.setActive(true);\n event.preventDefault();\n };\n Toggle.prototype.onDocumentPointerDown = function (e) {\n if (this.active) {\n if (e.target.closest(\".col-menu, .tsd-filter-group\")) {\n return;\n }\n this.setActive(false);\n }\n };\n Toggle.prototype.onDocumentPointerUp = function (e) {\n var _this = this;\n if (_utils_pointer__WEBPACK_IMPORTED_MODULE_1__.hasPointerMoved)\n return;\n if (this.active) {\n if (e.target.closest(\".col-menu\")) {\n var link = e.target.closest(\"a\");\n if (link) {\n var href = window.location.href;\n if (href.indexOf(\"#\") != -1) {\n href = href.substr(0, href.indexOf(\"#\"));\n }\n if (link.href.substr(0, href.length) == href) {\n setTimeout(function () { return _this.setActive(false); }, 250);\n }\n }\n }\n }\n };\n return Toggle;\n}(_Component__WEBPACK_IMPORTED_MODULE_0__.Component));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/components/Toggle.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/services/Viewport.ts": +/*!************************************************************!*\ + !*** ./default/assets/js/src/typedoc/services/Viewport.ts ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Viewport\": () => /* binding */ Viewport\n/* harmony export */ });\n/* harmony import */ var _EventTarget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../EventTarget */ \"./default/assets/js/src/typedoc/EventTarget.ts\");\n/* harmony import */ var _utils_trottle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/trottle */ \"./default/assets/js/src/typedoc/utils/trottle.ts\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/**\n * A global service that monitors the window size and scroll position.\n */\nvar Viewport = /** @class */ (function (_super) {\n __extends(Viewport, _super);\n /**\n * Create new Viewport instance.\n */\n function Viewport() {\n var _this = _super.call(this) || this;\n /**\n * The current scroll position.\n */\n _this.scrollTop = 0;\n /**\n * The previous scrollTop.\n */\n _this.lastY = 0;\n /**\n * The width of the window.\n */\n _this.width = 0;\n /**\n * The height of the window.\n */\n _this.height = 0;\n /**\n * Boolean indicating whether the toolbar is shown.\n */\n _this.showToolbar = true;\n _this.toolbar = (document.querySelector(\".tsd-page-toolbar\"));\n _this.secondaryNav = (document.querySelector(\".tsd-navigation.secondary\"));\n window.addEventListener(\"scroll\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onScroll(); }, 10));\n window.addEventListener(\"resize\", (0,_utils_trottle__WEBPACK_IMPORTED_MODULE_1__.throttle)(function () { return _this.onResize(); }, 10));\n _this.onResize();\n _this.onScroll();\n return _this;\n }\n /**\n * Trigger a resize event.\n */\n Viewport.prototype.triggerResize = function () {\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the size of the window has changed.\n */\n Viewport.prototype.onResize = function () {\n this.width = window.innerWidth || 0;\n this.height = window.innerHeight || 0;\n var event = new CustomEvent(\"resize\", {\n detail: {\n width: this.width,\n height: this.height,\n },\n });\n this.dispatchEvent(event);\n };\n /**\n * Triggered when the user scrolled the viewport.\n */\n Viewport.prototype.onScroll = function () {\n this.scrollTop = window.scrollY || 0;\n var event = new CustomEvent(\"scroll\", {\n detail: {\n scrollTop: this.scrollTop,\n },\n });\n this.dispatchEvent(event);\n this.hideShowToolbar();\n };\n /**\n * Handle hiding/showing of the toolbar.\n */\n Viewport.prototype.hideShowToolbar = function () {\n var isShown = this.showToolbar;\n this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop <= 0;\n if (isShown !== this.showToolbar) {\n this.toolbar.classList.toggle(\"tsd-page-toolbar--hide\");\n this.secondaryNav.classList.toggle(\"tsd-navigation--toolbar-hide\");\n }\n this.lastY = this.scrollTop;\n };\n Viewport.instance = new Viewport();\n return Viewport;\n}(_EventTarget__WEBPACK_IMPORTED_MODULE_0__.EventTarget));\n\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/services/Viewport.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/debounce.ts": +/*!*********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/debounce.ts ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"debounce\": () => /* binding */ debounce\n/* harmony export */ });\nvar debounce = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () { return fn(args); }, wait);\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/debounce.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/pointer.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/pointer.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pointerDown\": () => /* binding */ pointerDown,\n/* harmony export */ \"pointerMove\": () => /* binding */ pointerMove,\n/* harmony export */ \"pointerUp\": () => /* binding */ pointerUp,\n/* harmony export */ \"pointerDownPosition\": () => /* binding */ pointerDownPosition,\n/* harmony export */ \"preventNextClick\": () => /* binding */ preventNextClick,\n/* harmony export */ \"isPointerDown\": () => /* binding */ isPointerDown,\n/* harmony export */ \"isPointerTouch\": () => /* binding */ isPointerTouch,\n/* harmony export */ \"hasPointerMoved\": () => /* binding */ hasPointerMoved,\n/* harmony export */ \"isMobile\": () => /* binding */ isMobile\n/* harmony export */ });\n/**\n * Event name of the pointer down event.\n */\nvar pointerDown = \"mousedown\";\n/**\n * Event name of the pointer move event.\n */\nvar pointerMove = \"mousemove\";\n/**\n * Event name of the pointer up event.\n */\nvar pointerUp = \"mouseup\";\n/**\n * Position the pointer was pressed at.\n */\nvar pointerDownPosition = { x: 0, y: 0 };\n/**\n * Should the next click on the document be supressed?\n */\nvar preventNextClick = false;\n/**\n * Is the pointer down?\n */\nvar isPointerDown = false;\n/**\n * Is the pointer a touch point?\n */\nvar isPointerTouch = false;\n/**\n * Did the pointer move since the last down event?\n */\nvar hasPointerMoved = false;\n/**\n * Is the user agent a mobile agent?\n */\nvar isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\ndocument.documentElement.classList.add(isMobile ? \"is-mobile\" : \"not-mobile\");\nif (isMobile && \"ontouchstart\" in document.documentElement) {\n isPointerTouch = true;\n pointerDown = \"touchstart\";\n pointerMove = \"touchmove\";\n pointerUp = \"touchend\";\n}\ndocument.addEventListener(pointerDown, function (e) {\n isPointerDown = true;\n hasPointerMoved = false;\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n pointerDownPosition.y = t.pageY || 0;\n pointerDownPosition.x = t.pageX || 0;\n});\ndocument.addEventListener(pointerMove, function (e) {\n if (!isPointerDown)\n return;\n if (!hasPointerMoved) {\n var t = pointerDown == \"touchstart\"\n ? e.targetTouches[0]\n : e;\n var x = pointerDownPosition.x - (t.pageX || 0);\n var y = pointerDownPosition.y - (t.pageY || 0);\n hasPointerMoved = Math.sqrt(x * x + y * y) > 10;\n }\n});\ndocument.addEventListener(pointerUp, function () {\n isPointerDown = false;\n});\ndocument.addEventListener(\"click\", function (e) {\n if (preventNextClick) {\n e.preventDefault();\n e.stopImmediatePropagation();\n preventNextClick = false;\n }\n});\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/pointer.ts?"); + +/***/ }), + +/***/ "./default/assets/js/src/typedoc/utils/trottle.ts": +/*!********************************************************!*\ + !*** ./default/assets/js/src/typedoc/utils/trottle.ts ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"throttle\": () => /* binding */ throttle\n/* harmony export */ });\nvar throttle = function (fn, wait) {\n if (wait === void 0) { wait = 100; }\n var time = Date.now();\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (time + wait - Date.now() < 0) {\n fn.apply(void 0, args);\n time = Date.now();\n }\n };\n};\n\n\n//# sourceURL=webpack:///./default/assets/js/src/typedoc/utils/trottle.ts?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => module['default'] : +/******/ () => module; +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ // startup +/******/ // Load entry module +/******/ __webpack_require__("./default/assets/js/src/bootstrap.ts"); +/******/ // This entry module used 'exports' so it can't be inlined +/******/ })() +; \ No newline at end of file diff --git a/docs/v0.9.1/assets/js/search.js b/docs/v0.9.1/assets/js/search.js new file mode 100644 index 00000000..81999193 --- /dev/null +++ b/docs/v0.9.1/assets/js/search.js @@ -0,0 +1 @@ +window.searchData = {"kinds":{"2":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"Transformers","url":"modules/Transformers.html","classes":"tsd-kind-namespace"},{"id":1,"kind":256,"name":"CreationOptions","url":"interfaces/Transformers.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":2,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.CreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":3,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.CreationOptions"},{"id":4,"kind":64,"name":"applyAssertions","url":"modules/Transformers.html#applyAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":5,"kind":64,"name":"factorOut","url":"modules/Transformers.html#factorOut","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":6,"kind":64,"name":"inline","url":"modules/Transformers.html#inline","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":7,"kind":64,"name":"mergeWithQuantifier","url":"modules/Transformers.html#mergeWithQuantifier","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":8,"kind":64,"name":"moveUpEmpty","url":"modules/Transformers.html#moveUpEmpty","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":9,"kind":64,"name":"nestedQuantifiers","url":"modules/Transformers.html#nestedQuantifiers","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":10,"kind":64,"name":"patternEdgeAssertions","url":"modules/Transformers.html#patternEdgeAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":11,"kind":256,"name":"PatternEdgeAssertionsCreationOptions","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":12,"kind":1024,"name":"inline","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":13,"kind":1024,"name":"remove","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":14,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":15,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.PatternEdgeAssertionsCreationOptions"},{"id":16,"kind":64,"name":"removeDeadBranches","url":"modules/Transformers.html#removeDeadBranches","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":17,"kind":64,"name":"removeUnnecessaryAssertions","url":"modules/Transformers.html#removeUnnecessaryAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":18,"kind":64,"name":"replaceAssertions","url":"modules/Transformers.html#replaceAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":19,"kind":256,"name":"RemoveAssertionsCreationOptions","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"Transformers"},{"id":20,"kind":1024,"name":"replacement","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":21,"kind":1024,"name":"ignoreOrder","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":22,"kind":1024,"name":"ignoreAmbiguity","url":"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Transformers.RemoveAssertionsCreationOptions"},{"id":23,"kind":64,"name":"sortAssertions","url":"modules/Transformers.html#sortAssertions","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":24,"kind":64,"name":"unionCharacters","url":"modules/Transformers.html#unionCharacters","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Transformers"},{"id":25,"kind":2,"name":"FAIterators","url":"modules/FAIterators.html","classes":"tsd-kind-namespace"},{"id":26,"kind":64,"name":"intersection","url":"modules/FAIterators.html#intersection","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":27,"kind":64,"name":"mapOut","url":"modules/FAIterators.html#mapOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":28,"kind":64,"name":"mapOutIter","url":"modules/FAIterators.html#mapOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":29,"kind":64,"name":"filterOutIter","url":"modules/FAIterators.html#filterOutIter","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":30,"kind":64,"name":"forEach","url":"modules/FAIterators.html#forEach","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":31,"kind":64,"name":"count","url":"modules/FAIterators.html#count","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":32,"kind":64,"name":"ensureStableOut","url":"modules/FAIterators.html#ensureStableOut","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":33,"kind":64,"name":"iterateStates","url":"modules/FAIterators.html#iterateStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":34,"kind":64,"name":"canReachFinal","url":"modules/FAIterators.html#canReachFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":35,"kind":64,"name":"hasCycle","url":"modules/FAIterators.html#hasCycle","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":36,"kind":64,"name":"languageIsFinite","url":"modules/FAIterators.html#languageIsFinite","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":37,"kind":64,"name":"makeInitialFinal","url":"modules/FAIterators.html#makeInitialFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":38,"kind":64,"name":"makeInitialNonFinal","url":"modules/FAIterators.html#makeInitialNonFinal","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":39,"kind":64,"name":"shortestAcceptingPath","url":"modules/FAIterators.html#shortestAcceptingPath","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":40,"kind":64,"name":"makeDeterministic","url":"modules/FAIterators.html#makeDeterministic","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":41,"kind":128,"name":"MapFABuilder","url":"classes/FAIterators.MapFABuilder.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"FAIterators"},{"id":42,"kind":512,"name":"constructor","url":"classes/FAIterators.MapFABuilder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":43,"kind":1024,"name":"initial","url":"classes/FAIterators.MapFABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":44,"kind":1024,"name":"finals","url":"classes/FAIterators.MapFABuilder.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":45,"kind":2048,"name":"makeFinal","url":"classes/FAIterators.MapFABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":46,"kind":2048,"name":"isFinal","url":"classes/FAIterators.MapFABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":47,"kind":2048,"name":"createNode","url":"classes/FAIterators.MapFABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":48,"kind":2048,"name":"linkNodes","url":"classes/FAIterators.MapFABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"FAIterators.MapFABuilder"},{"id":49,"kind":4194304,"name":"MapFABuilderNode","url":"modules/FAIterators.html#MapFABuilderNode","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":50,"kind":64,"name":"removeDeadStates","url":"modules/FAIterators.html#removeDeadStates","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":51,"kind":64,"name":"toDot","url":"modules/FAIterators.html#toDot","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":52,"kind":64,"name":"createSimpleToDotOptions","url":"modules/FAIterators.html#createSimpleToDotOptions","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":53,"kind":4194304,"name":"ToDotAttrs","url":"modules/FAIterators.html#ToDotAttrs","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"FAIterators"},{"id":54,"kind":256,"name":"ToDotOptions","url":"interfaces/FAIterators.ToDotOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":55,"kind":2048,"name":"getEdgeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":56,"kind":2048,"name":"getGraphAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":57,"kind":2048,"name":"getNodeAttributes","url":"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotOptions"},{"id":58,"kind":256,"name":"ToDotInfo","url":"interfaces/FAIterators.ToDotInfo.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":59,"kind":2048,"name":"isInitial","url":"interfaces/FAIterators.ToDotInfo.html#isInitial","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":60,"kind":2048,"name":"isFinal","url":"interfaces/FAIterators.ToDotInfo.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":61,"kind":2048,"name":"getId","url":"interfaces/FAIterators.ToDotInfo.html#getId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":62,"kind":2048,"name":"getNumberOfOutgoingEdges","url":"interfaces/FAIterators.ToDotInfo.html#getNumberOfOutgoingEdges","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterators.ToDotInfo"},{"id":63,"kind":64,"name":"toRegex","url":"modules/FAIterators.html#toRegex","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":64,"kind":64,"name":"toString","url":"modules/FAIterators.html#toString","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":65,"kind":64,"name":"iterateWordSets","url":"modules/FAIterators.html#iterateWordSets","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":66,"kind":64,"name":"shortestWordSet","url":"modules/FAIterators.html#shortestWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":67,"kind":64,"name":"approximateRejectingWordSet","url":"modules/FAIterators.html#approximateRejectingWordSet","classes":"tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter","parent":"FAIterators"},{"id":68,"kind":2,"name":"JS","url":"modules/JS.html","classes":"tsd-kind-namespace"},{"id":69,"kind":64,"name":"createAssertion","url":"modules/JS.html#createAssertion","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":70,"kind":4194304,"name":"BoundaryAssertion","url":"modules/JS.html#BoundaryAssertion","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":71,"kind":256,"name":"WordBoundaryAssertion","url":"interfaces/JS.WordBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":72,"kind":1024,"name":"kind","url":"interfaces/JS.WordBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":73,"kind":1024,"name":"negate","url":"interfaces/JS.WordBoundaryAssertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordBoundaryAssertion"},{"id":74,"kind":256,"name":"TextBoundaryAssertion","url":"interfaces/JS.TextBoundaryAssertion.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":75,"kind":1024,"name":"kind","url":"interfaces/JS.TextBoundaryAssertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.TextBoundaryAssertion"},{"id":76,"kind":64,"name":"createCharSet","url":"modules/JS.html#createCharSet","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":77,"kind":4194304,"name":"PredefinedCharacterSet","url":"modules/JS.html#PredefinedCharacterSet","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":78,"kind":256,"name":"AnyCharacterSet","url":"interfaces/JS.AnyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":79,"kind":1024,"name":"kind","url":"interfaces/JS.AnyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.AnyCharacterSet"},{"id":80,"kind":256,"name":"DigitCharacterSet","url":"interfaces/JS.DigitCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":81,"kind":1024,"name":"kind","url":"interfaces/JS.DigitCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":82,"kind":1024,"name":"negate","url":"interfaces/JS.DigitCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.DigitCharacterSet"},{"id":83,"kind":256,"name":"PropertyCharacterSet","url":"interfaces/JS.PropertyCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":84,"kind":1024,"name":"kind","url":"interfaces/JS.PropertyCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":85,"kind":1024,"name":"key","url":"interfaces/JS.PropertyCharacterSet.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":86,"kind":1024,"name":"value","url":"interfaces/JS.PropertyCharacterSet.html#value","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":87,"kind":1024,"name":"negate","url":"interfaces/JS.PropertyCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.PropertyCharacterSet"},{"id":88,"kind":256,"name":"SpaceCharacterSet","url":"interfaces/JS.SpaceCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":89,"kind":1024,"name":"kind","url":"interfaces/JS.SpaceCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":90,"kind":1024,"name":"negate","url":"interfaces/JS.SpaceCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.SpaceCharacterSet"},{"id":91,"kind":256,"name":"WordCharacterSet","url":"interfaces/JS.WordCharacterSet.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":92,"kind":1024,"name":"kind","url":"interfaces/JS.WordCharacterSet.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":93,"kind":1024,"name":"negate","url":"interfaces/JS.WordCharacterSet.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.WordCharacterSet"},{"id":94,"kind":64,"name":"toLiteral","url":"modules/JS.html#toLiteral","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"JS"},{"id":95,"kind":256,"name":"ToLiteralOptions","url":"interfaces/JS.ToLiteralOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":96,"kind":1024,"name":"flags","url":"interfaces/JS.ToLiteralOptions.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":97,"kind":1024,"name":"fastCharacters","url":"interfaces/JS.ToLiteralOptions.html#fastCharacters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ToLiteralOptions"},{"id":98,"kind":256,"name":"Flags","url":"interfaces/JS.Flags.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":99,"kind":1024,"name":"dotAll","url":"interfaces/JS.Flags.html#dotAll","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":100,"kind":1024,"name":"global","url":"interfaces/JS.Flags.html#global","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":101,"kind":1024,"name":"hasIndices","url":"interfaces/JS.Flags.html#hasIndices","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":102,"kind":1024,"name":"ignoreCase","url":"interfaces/JS.Flags.html#ignoreCase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":103,"kind":1024,"name":"multiline","url":"interfaces/JS.Flags.html#multiline","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":104,"kind":1024,"name":"sticky","url":"interfaces/JS.Flags.html#sticky","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":105,"kind":1024,"name":"unicode","url":"interfaces/JS.Flags.html#unicode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Flags"},{"id":106,"kind":256,"name":"Literal","url":"interfaces/JS.Literal.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":107,"kind":1024,"name":"source","url":"interfaces/JS.Literal.html#source","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":108,"kind":1024,"name":"flags","url":"interfaces/JS.Literal.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.Literal"},{"id":109,"kind":256,"name":"ParseOptions","url":"interfaces/JS.ParseOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":110,"kind":1024,"name":"maxBackreferenceWords","url":"interfaces/JS.ParseOptions.html#maxBackreferenceWords","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":111,"kind":1024,"name":"backreferences","url":"interfaces/JS.ParseOptions.html#backreferences","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":112,"kind":1024,"name":"assertions","url":"interfaces/JS.ParseOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":113,"kind":1024,"name":"simplify","url":"interfaces/JS.ParseOptions.html#simplify","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":114,"kind":1024,"name":"maxNodes","url":"interfaces/JS.ParseOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":115,"kind":2048,"name":"getUnknownId","url":"interfaces/JS.ParseOptions.html#getUnknownId","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"JS.ParseOptions"},{"id":116,"kind":256,"name":"RegexppAst","url":"interfaces/JS.RegexppAst.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":117,"kind":1024,"name":"pattern","url":"interfaces/JS.RegexppAst.html#pattern","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":118,"kind":1024,"name":"flags","url":"interfaces/JS.RegexppAst.html#flags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.RegexppAst"},{"id":119,"kind":4194304,"name":"ParsableElement","url":"modules/JS.html#ParsableElement","classes":"tsd-kind-type-alias tsd-parent-kind-namespace","parent":"JS"},{"id":120,"kind":256,"name":"ParseResult","url":"interfaces/JS.ParseResult.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"JS"},{"id":121,"kind":1024,"name":"expression","url":"interfaces/JS.ParseResult.html#expression","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":122,"kind":1024,"name":"maxCharacter","url":"interfaces/JS.ParseResult.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"JS.ParseResult"},{"id":123,"kind":128,"name":"Parser","url":"classes/JS.Parser.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"JS"},{"id":124,"kind":2048,"name":"fromLiteral","url":"classes/JS.Parser.html#fromLiteral","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":125,"kind":2048,"name":"fromAst","url":"classes/JS.Parser.html#fromAst","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"JS.Parser"},{"id":126,"kind":1024,"name":"literal","url":"classes/JS.Parser.html#literal","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":127,"kind":1024,"name":"ast","url":"classes/JS.Parser.html#ast","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":128,"kind":1024,"name":"maxCharacter","url":"classes/JS.Parser.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"JS.Parser"},{"id":129,"kind":2048,"name":"parse","url":"classes/JS.Parser.html#parse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":130,"kind":2048,"name":"parseElement","url":"classes/JS.Parser.html#parseElement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"JS.Parser"},{"id":131,"kind":2,"name":"Words","url":"modules/Words.html","classes":"tsd-kind-namespace"},{"id":132,"kind":64,"name":"fromUTF16ToString","url":"modules/Words.html#fromUTF16ToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":133,"kind":64,"name":"fromUnicodeToString","url":"modules/Words.html#fromUnicodeToString","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":134,"kind":64,"name":"fromStringToUTF16","url":"modules/Words.html#fromStringToUTF16","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":135,"kind":64,"name":"fromStringToUnicode","url":"modules/Words.html#fromStringToUnicode","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":136,"kind":64,"name":"pickMostReadableCharacter","url":"modules/Words.html#pickMostReadableCharacter","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":137,"kind":64,"name":"pickMostReadableWord","url":"modules/Words.html#pickMostReadableWord","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":138,"kind":64,"name":"wordSetsToWords","url":"modules/Words.html#wordSetsToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":139,"kind":64,"name":"wordSetToWords","url":"modules/Words.html#wordSetToWords","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Words"},{"id":140,"kind":256,"name":"SourceLocation","url":"interfaces/SourceLocation.html","classes":"tsd-kind-interface"},{"id":141,"kind":1024,"name":"start","url":"interfaces/SourceLocation.html#start","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":142,"kind":1024,"name":"end","url":"interfaces/SourceLocation.html#end","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SourceLocation"},{"id":143,"kind":4194304,"name":"Element","url":"modules.html#Element","classes":"tsd-kind-type-alias"},{"id":144,"kind":4194304,"name":"Parent","url":"modules.html#Parent","classes":"tsd-kind-type-alias"},{"id":145,"kind":4194304,"name":"Node","url":"modules.html#Node","classes":"tsd-kind-type-alias"},{"id":146,"kind":256,"name":"Alternation","url":"interfaces/Alternation.html","classes":"tsd-kind-interface"},{"id":147,"kind":1024,"name":"type","url":"interfaces/Alternation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":148,"kind":1024,"name":"parent","url":"interfaces/Alternation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Alternation"},{"id":149,"kind":1024,"name":"alternatives","url":"interfaces/Alternation.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Alternation"},{"id":150,"kind":1024,"name":"source","url":"interfaces/Alternation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Alternation"},{"id":151,"kind":256,"name":"Assertion","url":"interfaces/Assertion.html","classes":"tsd-kind-interface"},{"id":152,"kind":1024,"name":"type","url":"interfaces/Assertion.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":153,"kind":1024,"name":"parent","url":"interfaces/Assertion.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Assertion"},{"id":154,"kind":1024,"name":"alternatives","url":"interfaces/Assertion.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":155,"kind":1024,"name":"kind","url":"interfaces/Assertion.html#kind","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":156,"kind":1024,"name":"negate","url":"interfaces/Assertion.html#negate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Assertion"},{"id":157,"kind":1024,"name":"source","url":"interfaces/Assertion.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Assertion"},{"id":158,"kind":256,"name":"Quantifier","url":"interfaces/Quantifier.html","classes":"tsd-kind-interface"},{"id":159,"kind":1024,"name":"type","url":"interfaces/Quantifier.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":160,"kind":1024,"name":"parent","url":"interfaces/Quantifier.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Quantifier"},{"id":161,"kind":1024,"name":"alternatives","url":"interfaces/Quantifier.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":162,"kind":1024,"name":"lazy","url":"interfaces/Quantifier.html#lazy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":163,"kind":1024,"name":"min","url":"interfaces/Quantifier.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":164,"kind":1024,"name":"max","url":"interfaces/Quantifier.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Quantifier"},{"id":165,"kind":1024,"name":"source","url":"interfaces/Quantifier.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Quantifier"},{"id":166,"kind":256,"name":"CharacterClass","url":"interfaces/CharacterClass.html","classes":"tsd-kind-interface"},{"id":167,"kind":1024,"name":"type","url":"interfaces/CharacterClass.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":168,"kind":1024,"name":"parent","url":"interfaces/CharacterClass.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"CharacterClass"},{"id":169,"kind":1024,"name":"characters","url":"interfaces/CharacterClass.html#characters","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharacterClass"},{"id":170,"kind":1024,"name":"source","url":"interfaces/CharacterClass.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"CharacterClass"},{"id":171,"kind":256,"name":"Unknown","url":"interfaces/Unknown.html","classes":"tsd-kind-interface"},{"id":172,"kind":1024,"name":"type","url":"interfaces/Unknown.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":173,"kind":1024,"name":"parent","url":"interfaces/Unknown.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Unknown"},{"id":174,"kind":1024,"name":"id","url":"interfaces/Unknown.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Unknown"},{"id":175,"kind":1024,"name":"source","url":"interfaces/Unknown.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Unknown"},{"id":176,"kind":256,"name":"Expression","url":"interfaces/Expression.html","classes":"tsd-kind-interface"},{"id":177,"kind":1024,"name":"type","url":"interfaces/Expression.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":178,"kind":1024,"name":"parent","url":"interfaces/Expression.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Expression"},{"id":179,"kind":1024,"name":"alternatives","url":"interfaces/Expression.html#alternatives","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Expression"},{"id":180,"kind":1024,"name":"source","url":"interfaces/Expression.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Expression"},{"id":181,"kind":256,"name":"Concatenation","url":"interfaces/Concatenation.html","classes":"tsd-kind-interface"},{"id":182,"kind":1024,"name":"type","url":"interfaces/Concatenation.html#type","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":183,"kind":1024,"name":"parent","url":"interfaces/Concatenation.html#parent","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"Concatenation"},{"id":184,"kind":1024,"name":"elements","url":"interfaces/Concatenation.html#elements","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Concatenation"},{"id":185,"kind":1024,"name":"source","url":"interfaces/Concatenation.html#source","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"Concatenation"},{"id":186,"kind":4194304,"name":"NoParent","url":"modules.html#NoParent","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":187,"kind":64,"name":"setParent","url":"modules.html#setParent","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":188,"kind":64,"name":"setSource","url":"modules.html#setSource","classes":"tsd-kind-function"},{"id":189,"kind":64,"name":"visitAst","url":"modules.html#visitAst","classes":"tsd-kind-function"},{"id":190,"kind":256,"name":"VisitAstHandler","url":"interfaces/VisitAstHandler.html","classes":"tsd-kind-interface"},{"id":191,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":192,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":193,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":194,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":195,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":196,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":197,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":198,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":199,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":200,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":201,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":202,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":203,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":204,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitAstHandler"},{"id":205,"kind":256,"name":"VisitNoParentAstHandler","url":"interfaces/VisitNoParentAstHandler.html","classes":"tsd-kind-interface"},{"id":206,"kind":2048,"name":"onAlternationEnter","url":"interfaces/VisitNoParentAstHandler.html#onAlternationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":207,"kind":2048,"name":"onAlternationLeave","url":"interfaces/VisitNoParentAstHandler.html#onAlternationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":208,"kind":2048,"name":"onAssertionEnter","url":"interfaces/VisitNoParentAstHandler.html#onAssertionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":209,"kind":2048,"name":"onAssertionLeave","url":"interfaces/VisitNoParentAstHandler.html#onAssertionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":210,"kind":2048,"name":"onCharacterClassEnter","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":211,"kind":2048,"name":"onCharacterClassLeave","url":"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":212,"kind":2048,"name":"onConcatenationEnter","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":213,"kind":2048,"name":"onConcatenationLeave","url":"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":214,"kind":2048,"name":"onExpressionEnter","url":"interfaces/VisitNoParentAstHandler.html#onExpressionEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":215,"kind":2048,"name":"onExpressionLeave","url":"interfaces/VisitNoParentAstHandler.html#onExpressionLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":216,"kind":2048,"name":"onQuantifierEnter","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":217,"kind":2048,"name":"onQuantifierLeave","url":"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":218,"kind":2048,"name":"onUnknownEnter","url":"interfaces/VisitNoParentAstHandler.html#onUnknownEnter","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":219,"kind":2048,"name":"onUnknownLeave","url":"interfaces/VisitNoParentAstHandler.html#onUnknownLeave","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"VisitNoParentAstHandler"},{"id":220,"kind":64,"name":"combineTransformers","url":"modules.html#combineTransformers","classes":"tsd-kind-function"},{"id":221,"kind":64,"name":"transform","url":"modules.html#transform","classes":"tsd-kind-function"},{"id":222,"kind":256,"name":"Transformer","url":"interfaces/Transformer.html","classes":"tsd-kind-interface"},{"id":223,"kind":2048,"name":"onAlternation","url":"interfaces/Transformer.html#onAlternation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":224,"kind":2048,"name":"onAssertion","url":"interfaces/Transformer.html#onAssertion","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":225,"kind":2048,"name":"onCharacterClass","url":"interfaces/Transformer.html#onCharacterClass","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":226,"kind":2048,"name":"onConcatenation","url":"interfaces/Transformer.html#onConcatenation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":227,"kind":2048,"name":"onExpression","url":"interfaces/Transformer.html#onExpression","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":228,"kind":2048,"name":"onQuantifier","url":"interfaces/Transformer.html#onQuantifier","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":229,"kind":2048,"name":"onUnknown","url":"interfaces/Transformer.html#onUnknown","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Transformer"},{"id":230,"kind":256,"name":"TransformContext","url":"interfaces/TransformContext.html","classes":"tsd-kind-interface"},{"id":231,"kind":1024,"name":"maxCharacter","url":"interfaces/TransformContext.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformContext"},{"id":232,"kind":2048,"name":"signalMutation","url":"interfaces/TransformContext.html#signalMutation","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransformContext"},{"id":233,"kind":256,"name":"TransformOptions","url":"interfaces/TransformOptions.html","classes":"tsd-kind-interface"},{"id":234,"kind":1024,"name":"maxPasses","url":"interfaces/TransformOptions.html#maxPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransformOptions"},{"id":235,"kind":128,"name":"CharBase","url":"classes/CharBase.html","classes":"tsd-kind-class"},{"id":236,"kind":512,"name":"constructor","url":"classes/CharBase.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"CharBase"},{"id":237,"kind":1024,"name":"sets","url":"classes/CharBase.html#sets","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharBase"},{"id":238,"kind":2048,"name":"split","url":"classes/CharBase.html#split","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharBase"},{"id":239,"kind":256,"name":"ReadonlyCharMap","url":"interfaces/ReadonlyCharMap.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":240,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyCharMap.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":241,"kind":2048,"name":"has","url":"interfaces/ReadonlyCharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":242,"kind":2048,"name":"hasEvery","url":"interfaces/ReadonlyCharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":243,"kind":2048,"name":"hasSome","url":"interfaces/ReadonlyCharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":244,"kind":2048,"name":"get","url":"interfaces/ReadonlyCharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":245,"kind":2048,"name":"forEach","url":"interfaces/ReadonlyCharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":246,"kind":2048,"name":"keys","url":"interfaces/ReadonlyCharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":247,"kind":2048,"name":"values","url":"interfaces/ReadonlyCharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":248,"kind":2048,"name":"entries","url":"interfaces/ReadonlyCharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":249,"kind":2048,"name":"invert","url":"interfaces/ReadonlyCharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyCharMap"},{"id":250,"kind":128,"name":"CharMap","url":"classes/CharMap.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":251,"kind":512,"name":"constructor","url":"classes/CharMap.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"CharMap"},{"id":252,"kind":262144,"name":"isEmpty","url":"classes/CharMap.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharMap"},{"id":253,"kind":2048,"name":"has","url":"classes/CharMap.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":254,"kind":2048,"name":"hasEvery","url":"classes/CharMap.html#hasEvery","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":255,"kind":2048,"name":"hasSome","url":"classes/CharMap.html#hasSome","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":256,"kind":2048,"name":"get","url":"classes/CharMap.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":257,"kind":2048,"name":"set","url":"classes/CharMap.html#set","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":258,"kind":2048,"name":"setRange","url":"classes/CharMap.html#setRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":259,"kind":2048,"name":"setCharSet","url":"classes/CharMap.html#setCharSet","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":260,"kind":2048,"name":"delete","url":"classes/CharMap.html#delete","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":261,"kind":2048,"name":"deleteRange","url":"classes/CharMap.html#deleteRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":262,"kind":2048,"name":"clear","url":"classes/CharMap.html#clear","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":263,"kind":2048,"name":"map","url":"classes/CharMap.html#map","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":264,"kind":2048,"name":"mapRange","url":"classes/CharMap.html#mapRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":265,"kind":2048,"name":"filter","url":"classes/CharMap.html#filter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":266,"kind":2048,"name":"invert","url":"classes/CharMap.html#invert","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":267,"kind":2048,"name":"forEach","url":"classes/CharMap.html#forEach","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":268,"kind":2048,"name":"keys","url":"classes/CharMap.html#keys","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":269,"kind":2048,"name":"values","url":"classes/CharMap.html#values","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":270,"kind":2048,"name":"entries","url":"classes/CharMap.html#entries","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":271,"kind":2048,"name":"[Symbol.iterator]","url":"classes/CharMap.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharMap"},{"id":272,"kind":256,"name":"CharRange","url":"interfaces/CharRange.html","classes":"tsd-kind-interface"},{"id":273,"kind":1024,"name":"min","url":"interfaces/CharRange.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":274,"kind":1024,"name":"max","url":"interfaces/CharRange.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"CharRange"},{"id":275,"kind":128,"name":"CharSet","url":"classes/CharSet.html","classes":"tsd-kind-class"},{"id":276,"kind":2048,"name":"empty","url":"classes/CharSet.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":277,"kind":2048,"name":"all","url":"classes/CharSet.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":278,"kind":2048,"name":"fromCharacters","url":"classes/CharSet.html#fromCharacters","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"CharSet"},{"id":279,"kind":1024,"name":"maximum","url":"classes/CharSet.html#maximum","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":280,"kind":1024,"name":"ranges","url":"classes/CharSet.html#ranges","classes":"tsd-kind-property tsd-parent-kind-class","parent":"CharSet"},{"id":281,"kind":262144,"name":"isEmpty","url":"classes/CharSet.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":282,"kind":262144,"name":"isAll","url":"classes/CharSet.html#isAll","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":283,"kind":262144,"name":"size","url":"classes/CharSet.html#size","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"CharSet"},{"id":284,"kind":2048,"name":"characters","url":"classes/CharSet.html#characters","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":285,"kind":2048,"name":"toString","url":"classes/CharSet.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":286,"kind":2048,"name":"toRangesString","url":"classes/CharSet.html#toRangesString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":287,"kind":2048,"name":"equals","url":"classes/CharSet.html#equals","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":288,"kind":2048,"name":"compare","url":"classes/CharSet.html#compare","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":289,"kind":2048,"name":"negate","url":"classes/CharSet.html#negate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":290,"kind":2048,"name":"union","url":"classes/CharSet.html#union","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":291,"kind":2048,"name":"intersect","url":"classes/CharSet.html#intersect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":292,"kind":2048,"name":"without","url":"classes/CharSet.html#without","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":293,"kind":2048,"name":"has","url":"classes/CharSet.html#has","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":294,"kind":2048,"name":"isSupersetOf","url":"classes/CharSet.html#isSupersetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":295,"kind":2048,"name":"isSubsetOf","url":"classes/CharSet.html#isSubsetOf","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":296,"kind":2048,"name":"isDisjointWith","url":"classes/CharSet.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":297,"kind":2048,"name":"commonCharacter","url":"classes/CharSet.html#commonCharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"CharSet"},{"id":298,"kind":4194304,"name":"Char","url":"modules.html#Char","classes":"tsd-kind-type-alias"},{"id":299,"kind":4194304,"name":"Word","url":"modules.html#Word","classes":"tsd-kind-type-alias"},{"id":300,"kind":4194304,"name":"ReadonlyWord","url":"modules.html#ReadonlyWord","classes":"tsd-kind-type-alias"},{"id":301,"kind":256,"name":"FiniteAutomaton","url":"interfaces/FiniteAutomaton.html","classes":"tsd-kind-interface"},{"id":302,"kind":1024,"name":"isEmpty","url":"interfaces/FiniteAutomaton.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":303,"kind":1024,"name":"isFinite","url":"interfaces/FiniteAutomaton.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":304,"kind":1024,"name":"maxCharacter","url":"interfaces/FiniteAutomaton.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":305,"kind":2048,"name":"test","url":"interfaces/FiniteAutomaton.html#test","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":306,"kind":2048,"name":"words","url":"interfaces/FiniteAutomaton.html#words","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":307,"kind":2048,"name":"wordSets","url":"interfaces/FiniteAutomaton.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":308,"kind":2048,"name":"toString","url":"interfaces/FiniteAutomaton.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":309,"kind":2048,"name":"toRegex","url":"interfaces/FiniteAutomaton.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":310,"kind":2048,"name":"toDot","url":"interfaces/FiniteAutomaton.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FiniteAutomaton"},{"id":311,"kind":256,"name":"FAIterator","url":"interfaces/FAIterator.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":312,"kind":1024,"name":"initial","url":"interfaces/FAIterator.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":313,"kind":2048,"name":"getOut","url":"interfaces/FAIterator.html#getOut","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":314,"kind":1024,"name":"stableOut","url":"interfaces/FAIterator.html#stableOut","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FAIterator"},{"id":315,"kind":2048,"name":"isFinal","url":"interfaces/FAIterator.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FAIterator"},{"id":316,"kind":256,"name":"FABuilder","url":"interfaces/FABuilder.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":317,"kind":1024,"name":"initial","url":"interfaces/FABuilder.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FABuilder"},{"id":318,"kind":2048,"name":"makeFinal","url":"interfaces/FABuilder.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":319,"kind":2048,"name":"isFinal","url":"interfaces/FABuilder.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":320,"kind":2048,"name":"createNode","url":"interfaces/FABuilder.html#createNode","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":321,"kind":2048,"name":"linkNodes","url":"interfaces/FABuilder.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"FABuilder"},{"id":322,"kind":256,"name":"FACreationOptions","url":"interfaces/FACreationOptions.html","classes":"tsd-kind-interface"},{"id":323,"kind":1024,"name":"maxNodes","url":"interfaces/FACreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"FACreationOptions"},{"id":324,"kind":4194304,"name":"TransitionIterator","url":"modules.html#TransitionIterator","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":325,"kind":256,"name":"TransitionIterable","url":"interfaces/TransitionIterable.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":326,"kind":1024,"name":"maxCharacter","url":"interfaces/TransitionIterable.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":327,"kind":2048,"name":"transitionIterator","url":"interfaces/TransitionIterable.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"TransitionIterable"},{"id":328,"kind":256,"name":"ToRegexOptions","url":"interfaces/ToRegexOptions.html","classes":"tsd-kind-interface"},{"id":329,"kind":1024,"name":"maxNodes","url":"interfaces/ToRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":330,"kind":1024,"name":"maxOptimizationPasses","url":"interfaces/ToRegexOptions.html#maxOptimizationPasses","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ToRegexOptions"},{"id":331,"kind":256,"name":"ReadonlyDFA","url":"interfaces/ReadonlyDFA.html","classes":"tsd-kind-interface"},{"id":332,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyDFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":333,"kind":1024,"name":"options","url":"interfaces/ReadonlyDFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":334,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyDFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":335,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyDFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":336,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyDFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":337,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyDFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyDFA"},{"id":338,"kind":2048,"name":"copy","url":"interfaces/ReadonlyDFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":339,"kind":2048,"name":"structurallyEqual","url":"interfaces/ReadonlyDFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyDFA"},{"id":340,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyDFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":341,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyDFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":342,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyDFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":343,"kind":2048,"name":"test","url":"interfaces/ReadonlyDFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":344,"kind":2048,"name":"words","url":"interfaces/ReadonlyDFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":345,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyDFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":346,"kind":2048,"name":"toString","url":"interfaces/ReadonlyDFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":347,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyDFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":348,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyDFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":349,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyDFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyDFA"},{"id":350,"kind":128,"name":"DFA","url":"classes/DFA.html","classes":"tsd-kind-class"},{"id":351,"kind":2048,"name":"empty","url":"classes/DFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":352,"kind":2048,"name":"all","url":"classes/DFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":353,"kind":2048,"name":"fromIntersection","url":"classes/DFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":354,"kind":2048,"name":"fromWords","url":"classes/DFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA"},{"id":355,"kind":2048,"name":"fromFA","url":"classes/DFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":356,"kind":2048,"name":"fromTransitionIterator","url":"classes/DFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"DFA"},{"id":357,"kind":1024,"name":"nodes","url":"classes/DFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":358,"kind":1024,"name":"maxCharacter","url":"classes/DFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA"},{"id":359,"kind":262144,"name":"options","url":"classes/DFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":360,"kind":262144,"name":"isEmpty","url":"classes/DFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":361,"kind":262144,"name":"isFinite","url":"classes/DFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"DFA"},{"id":362,"kind":2048,"name":"stateIterator","url":"classes/DFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":363,"kind":2048,"name":"transitionIterator","url":"classes/DFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":364,"kind":2048,"name":"test","url":"classes/DFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":365,"kind":2048,"name":"wordSets","url":"classes/DFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":366,"kind":2048,"name":"words","url":"classes/DFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":367,"kind":2048,"name":"toString","url":"classes/DFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":368,"kind":2048,"name":"toRegex","url":"classes/DFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":369,"kind":2048,"name":"toDot","url":"classes/DFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":370,"kind":2048,"name":"isDisjointWith","url":"classes/DFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":371,"kind":2048,"name":"getIntersectionWords","url":"classes/DFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":372,"kind":2048,"name":"getIntersectionWordSets","url":"classes/DFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"DFA"},{"id":373,"kind":2048,"name":"copy","url":"classes/DFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":374,"kind":2048,"name":"structurallyEqual","url":"classes/DFA.html#structurallyEqual","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":375,"kind":2048,"name":"minimize","url":"classes/DFA.html#minimize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":376,"kind":2048,"name":"complement","url":"classes/DFA.html#complement","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":377,"kind":2048,"name":"prefixes","url":"classes/DFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA"},{"id":378,"kind":2,"name":"DFA","url":"modules/DFA.html","classes":"tsd-kind-namespace"},{"id":379,"kind":256,"name":"ReadonlyNode","url":"interfaces/DFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":380,"kind":1024,"name":"list","url":"interfaces/DFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":381,"kind":1024,"name":"out","url":"interfaces/DFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNode"},{"id":382,"kind":256,"name":"Node","url":"interfaces/DFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":383,"kind":1024,"name":"list","url":"interfaces/DFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":384,"kind":1024,"name":"out","url":"interfaces/DFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.Node"},{"id":385,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/DFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":386,"kind":1024,"name":"initial","url":"interfaces/DFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":387,"kind":1024,"name":"finals","url":"interfaces/DFA.ReadonlyNodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":388,"kind":2048,"name":"count","url":"interfaces/DFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"DFA.ReadonlyNodeList"},{"id":389,"kind":128,"name":"NodeList","url":"classes/DFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"DFA"},{"id":390,"kind":2048,"name":"withLimit","url":"classes/DFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"DFA.NodeList"},{"id":391,"kind":512,"name":"constructor","url":"classes/DFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":392,"kind":1024,"name":"initial","url":"classes/DFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":393,"kind":1024,"name":"finals","url":"classes/DFA.NodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":394,"kind":2048,"name":"createNode","url":"classes/DFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":395,"kind":2048,"name":"linkNodes","url":"classes/DFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":396,"kind":2048,"name":"_uncheckedLinkNodesWithCharacter","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharacter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":397,"kind":2048,"name":"_uncheckedLinkNodesWithCharRange","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharRange","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":398,"kind":2048,"name":"_uncheckedLinkNodesWithCharSet","url":"classes/DFA.NodeList.html#_uncheckedLinkNodesWithCharSet","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":399,"kind":2048,"name":"unlinkNodes","url":"classes/DFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":400,"kind":2048,"name":"makeFinal","url":"classes/DFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":401,"kind":2048,"name":"isFinal","url":"classes/DFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":402,"kind":2048,"name":"removeUnreachable","url":"classes/DFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":403,"kind":2048,"name":"count","url":"classes/DFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":404,"kind":2048,"name":"[Symbol.iterator]","url":"classes/DFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"DFA.NodeList"},{"id":405,"kind":256,"name":"CreationOptions","url":"interfaces/DFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":406,"kind":1024,"name":"maxNodes","url":"interfaces/DFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"DFA.CreationOptions"},{"id":407,"kind":256,"name":"Options","url":"interfaces/DFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"DFA"},{"id":408,"kind":1024,"name":"maxCharacter","url":"interfaces/DFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"DFA.Options"},{"id":409,"kind":256,"name":"ReadonlyENFA","url":"interfaces/ReadonlyENFA.html","classes":"tsd-kind-interface"},{"id":410,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyENFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":411,"kind":1024,"name":"options","url":"interfaces/ReadonlyENFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":412,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":413,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyENFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":414,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyENFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":415,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyENFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyENFA"},{"id":416,"kind":2048,"name":"copy","url":"interfaces/ReadonlyENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyENFA"},{"id":417,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyENFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":418,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyENFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":419,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":420,"kind":2048,"name":"test","url":"interfaces/ReadonlyENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":421,"kind":2048,"name":"words","url":"interfaces/ReadonlyENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":422,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":423,"kind":2048,"name":"toString","url":"interfaces/ReadonlyENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":424,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":425,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":426,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyENFA"},{"id":427,"kind":128,"name":"ENFA","url":"classes/ENFA.html","classes":"tsd-kind-class"},{"id":428,"kind":2048,"name":"empty","url":"classes/ENFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":429,"kind":2048,"name":"all","url":"classes/ENFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":430,"kind":2048,"name":"fromRegex","url":"classes/ENFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":431,"kind":2048,"name":"fromWords","url":"classes/ENFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA"},{"id":432,"kind":2048,"name":"fromFA","url":"classes/ENFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":433,"kind":2048,"name":"fromTransitionIterator","url":"classes/ENFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"ENFA"},{"id":434,"kind":1024,"name":"nodes","url":"classes/ENFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":435,"kind":1024,"name":"maxCharacter","url":"classes/ENFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA"},{"id":436,"kind":262144,"name":"options","url":"classes/ENFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":437,"kind":262144,"name":"isEmpty","url":"classes/ENFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":438,"kind":262144,"name":"isFinite","url":"classes/ENFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"ENFA"},{"id":439,"kind":2048,"name":"stateIterator","url":"classes/ENFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":440,"kind":2048,"name":"transitionIterator","url":"classes/ENFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":441,"kind":2048,"name":"isDisjointWith","url":"classes/ENFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":442,"kind":2048,"name":"getIntersectionWords","url":"classes/ENFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":443,"kind":2048,"name":"getIntersectionWordSets","url":"classes/ENFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":444,"kind":2048,"name":"copy","url":"classes/ENFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":445,"kind":2048,"name":"test","url":"classes/ENFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":446,"kind":2048,"name":"wordSets","url":"classes/ENFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":447,"kind":2048,"name":"words","url":"classes/ENFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":448,"kind":2048,"name":"toString","url":"classes/ENFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":449,"kind":2048,"name":"toRegex","url":"classes/ENFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":450,"kind":2048,"name":"toDot","url":"classes/ENFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":451,"kind":2048,"name":"append","url":"classes/ENFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":452,"kind":2048,"name":"prepend","url":"classes/ENFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":453,"kind":2048,"name":"union","url":"classes/ENFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"ENFA"},{"id":454,"kind":2048,"name":"quantify","url":"classes/ENFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":455,"kind":2048,"name":"prefixes","url":"classes/ENFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":456,"kind":2048,"name":"suffixes","url":"classes/ENFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA"},{"id":457,"kind":2,"name":"ENFA","url":"modules/ENFA.html","classes":"tsd-kind-namespace"},{"id":458,"kind":256,"name":"ReadonlyNode","url":"interfaces/ENFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":459,"kind":1024,"name":"list","url":"interfaces/ENFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":460,"kind":1024,"name":"out","url":"interfaces/ENFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":461,"kind":1024,"name":"in","url":"interfaces/ENFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNode"},{"id":462,"kind":256,"name":"Node","url":"interfaces/ENFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":463,"kind":1024,"name":"list","url":"interfaces/ENFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":464,"kind":1024,"name":"out","url":"interfaces/ENFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":465,"kind":1024,"name":"in","url":"interfaces/ENFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.Node"},{"id":466,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/ENFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":467,"kind":1024,"name":"initial","url":"interfaces/ENFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":468,"kind":1024,"name":"final","url":"interfaces/ENFA.ReadonlyNodeList.html#final","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":469,"kind":2048,"name":"count","url":"interfaces/ENFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ENFA.ReadonlyNodeList"},{"id":470,"kind":128,"name":"NodeList","url":"classes/ENFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"ENFA"},{"id":471,"kind":2048,"name":"withLimit","url":"classes/ENFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":472,"kind":2048,"name":"resolveEpsilon","url":"classes/ENFA.NodeList.html#resolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":473,"kind":2048,"name":"unorderedResolveEpsilon","url":"classes/ENFA.NodeList.html#unorderedResolveEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":474,"kind":2048,"name":"reachableViaEpsilon","url":"classes/ENFA.NodeList.html#reachableViaEpsilon","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"ENFA.NodeList"},{"id":475,"kind":512,"name":"constructor","url":"classes/ENFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":476,"kind":1024,"name":"initial","url":"classes/ENFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":477,"kind":1024,"name":"final","url":"classes/ENFA.NodeList.html#final","classes":"tsd-kind-property tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":478,"kind":2048,"name":"createNode","url":"classes/ENFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":479,"kind":2048,"name":"linkNodes","url":"classes/ENFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":480,"kind":2048,"name":"unlinkNodes","url":"classes/ENFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":481,"kind":2048,"name":"makeFinal","url":"classes/ENFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":482,"kind":2048,"name":"isFinal","url":"classes/ENFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":483,"kind":2048,"name":"removeUnreachable","url":"classes/ENFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":484,"kind":2048,"name":"normalize","url":"classes/ENFA.NodeList.html#normalize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":485,"kind":2048,"name":"count","url":"classes/ENFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":486,"kind":2048,"name":"[Symbol.iterator]","url":"classes/ENFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"ENFA.NodeList"},{"id":487,"kind":256,"name":"CreationOptions","url":"interfaces/ENFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":488,"kind":1024,"name":"maxNodes","url":"interfaces/ENFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"ENFA.CreationOptions"},{"id":489,"kind":256,"name":"Options","url":"interfaces/ENFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":490,"kind":1024,"name":"maxCharacter","url":"interfaces/ENFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.Options"},{"id":491,"kind":256,"name":"FromRegexOptions","url":"interfaces/ENFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"ENFA"},{"id":492,"kind":1024,"name":"assertions","url":"interfaces/ENFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":493,"kind":1024,"name":"unknowns","url":"interfaces/ENFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":494,"kind":1024,"name":"infinityThreshold","url":"interfaces/ENFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ENFA.FromRegexOptions"},{"id":495,"kind":1024,"name":"maxNodes","url":"interfaces/ENFA.FromRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ENFA.FromRegexOptions"},{"id":496,"kind":128,"name":"MaxCharacterError","url":"classes/MaxCharacterError.html","classes":"tsd-kind-class"},{"id":497,"kind":2048,"name":"assert","url":"classes/MaxCharacterError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"MaxCharacterError"},{"id":498,"kind":512,"name":"constructor","url":"classes/MaxCharacterError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"MaxCharacterError"},{"id":499,"kind":128,"name":"TooManyNodesError","url":"classes/TooManyNodesError.html","classes":"tsd-kind-class"},{"id":500,"kind":2048,"name":"assert","url":"classes/TooManyNodesError.html#assert","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"TooManyNodesError"},{"id":501,"kind":512,"name":"constructor","url":"classes/TooManyNodesError.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited","parent":"TooManyNodesError"},{"id":502,"kind":64,"name":"getIntersectionIterator","url":"modules.html#getIntersectionIterator","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":503,"kind":64,"name":"isDisjointWith","url":"modules.html#isDisjointWith","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":504,"kind":64,"name":"getIntersectionWordSets","url":"modules.html#getIntersectionWordSets","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":505,"kind":64,"name":"getIntersectionWords","url":"modules.html#getIntersectionWords","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":506,"kind":256,"name":"ReadonlyNFA","url":"interfaces/ReadonlyNFA.html","classes":"tsd-kind-interface"},{"id":507,"kind":1024,"name":"nodes","url":"interfaces/ReadonlyNFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":508,"kind":1024,"name":"options","url":"interfaces/ReadonlyNFA.html#options","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":509,"kind":2048,"name":"stateIterator","url":"interfaces/ReadonlyNFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":510,"kind":2048,"name":"isDisjointWith","url":"interfaces/ReadonlyNFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":511,"kind":2048,"name":"getIntersectionWords","url":"interfaces/ReadonlyNFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":512,"kind":2048,"name":"getIntersectionWordSets","url":"interfaces/ReadonlyNFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"ReadonlyNFA"},{"id":513,"kind":2048,"name":"copy","url":"interfaces/ReadonlyNFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ReadonlyNFA"},{"id":514,"kind":1024,"name":"isEmpty","url":"interfaces/ReadonlyNFA.html#isEmpty","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":515,"kind":1024,"name":"isFinite","url":"interfaces/ReadonlyNFA.html#isFinite","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":516,"kind":1024,"name":"maxCharacter","url":"interfaces/ReadonlyNFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":517,"kind":2048,"name":"test","url":"interfaces/ReadonlyNFA.html#test","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":518,"kind":2048,"name":"words","url":"interfaces/ReadonlyNFA.html#words","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":519,"kind":2048,"name":"wordSets","url":"interfaces/ReadonlyNFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":520,"kind":2048,"name":"toString","url":"interfaces/ReadonlyNFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":521,"kind":2048,"name":"toRegex","url":"interfaces/ReadonlyNFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":522,"kind":2048,"name":"toDot","url":"interfaces/ReadonlyNFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":523,"kind":2048,"name":"transitionIterator","url":"interfaces/ReadonlyNFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"ReadonlyNFA"},{"id":524,"kind":128,"name":"NFA","url":"classes/NFA.html","classes":"tsd-kind-class"},{"id":525,"kind":2048,"name":"empty","url":"classes/NFA.html#empty","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":526,"kind":2048,"name":"all","url":"classes/NFA.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":527,"kind":2048,"name":"fromIntersection","url":"classes/NFA.html#fromIntersection","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":528,"kind":2048,"name":"fromRegex","url":"classes/NFA.html#fromRegex","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":529,"kind":2048,"name":"fromWords","url":"classes/NFA.html#fromWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA"},{"id":530,"kind":2048,"name":"fromFA","url":"classes/NFA.html#fromFA","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":531,"kind":2048,"name":"fromTransitionIterator","url":"classes/NFA.html#fromTransitionIterator","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-static","parent":"NFA"},{"id":532,"kind":1024,"name":"nodes","url":"classes/NFA.html#nodes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":533,"kind":1024,"name":"maxCharacter","url":"classes/NFA.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA"},{"id":534,"kind":262144,"name":"options","url":"classes/NFA.html#options","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":535,"kind":262144,"name":"isEmpty","url":"classes/NFA.html#isEmpty","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":536,"kind":262144,"name":"isFinite","url":"classes/NFA.html#isFinite","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"NFA"},{"id":537,"kind":2048,"name":"stateIterator","url":"classes/NFA.html#stateIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":538,"kind":2048,"name":"transitionIterator","url":"classes/NFA.html#transitionIterator","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":539,"kind":2048,"name":"copy","url":"classes/NFA.html#copy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":540,"kind":2048,"name":"test","url":"classes/NFA.html#test","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":541,"kind":2048,"name":"wordSets","url":"classes/NFA.html#wordSets","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":542,"kind":2048,"name":"words","url":"classes/NFA.html#words","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":543,"kind":2048,"name":"toString","url":"classes/NFA.html#toString","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":544,"kind":2048,"name":"toRegex","url":"classes/NFA.html#toRegex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":545,"kind":2048,"name":"toDot","url":"classes/NFA.html#toDot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":546,"kind":2048,"name":"isDisjointWith","url":"classes/NFA.html#isDisjointWith","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":547,"kind":2048,"name":"getIntersectionWords","url":"classes/NFA.html#getIntersectionWords","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":548,"kind":2048,"name":"getIntersectionWordSets","url":"classes/NFA.html#getIntersectionWordSets","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":549,"kind":2048,"name":"union","url":"classes/NFA.html#union","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":550,"kind":2048,"name":"append","url":"classes/NFA.html#append","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":551,"kind":2048,"name":"prepend","url":"classes/NFA.html#prepend","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"NFA"},{"id":552,"kind":2048,"name":"quantify","url":"classes/NFA.html#quantify","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":553,"kind":2048,"name":"withoutEmptyWord","url":"classes/NFA.html#withoutEmptyWord","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":554,"kind":2048,"name":"prefixes","url":"classes/NFA.html#prefixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":555,"kind":2048,"name":"suffixes","url":"classes/NFA.html#suffixes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":556,"kind":2048,"name":"reverse","url":"classes/NFA.html#reverse","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA"},{"id":557,"kind":2,"name":"NFA","url":"modules/NFA.html","classes":"tsd-kind-namespace"},{"id":558,"kind":256,"name":"ReadonlyNode","url":"interfaces/NFA.ReadonlyNode.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":559,"kind":1024,"name":"list","url":"interfaces/NFA.ReadonlyNode.html#list","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":560,"kind":1024,"name":"out","url":"interfaces/NFA.ReadonlyNode.html#out","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":561,"kind":1024,"name":"in","url":"interfaces/NFA.ReadonlyNode.html#in","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNode"},{"id":562,"kind":256,"name":"Node","url":"interfaces/NFA.Node.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":563,"kind":1024,"name":"list","url":"interfaces/NFA.Node.html#list","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":564,"kind":1024,"name":"out","url":"interfaces/NFA.Node.html#out","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":565,"kind":1024,"name":"in","url":"interfaces/NFA.Node.html#in","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.Node"},{"id":566,"kind":256,"name":"ReadonlyNodeList","url":"interfaces/NFA.ReadonlyNodeList.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":567,"kind":1024,"name":"initial","url":"interfaces/NFA.ReadonlyNodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":568,"kind":1024,"name":"finals","url":"interfaces/NFA.ReadonlyNodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":569,"kind":2048,"name":"count","url":"interfaces/NFA.ReadonlyNodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"NFA.ReadonlyNodeList"},{"id":570,"kind":128,"name":"NodeList","url":"classes/NFA.NodeList.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"NFA"},{"id":571,"kind":2048,"name":"withLimit","url":"classes/NFA.NodeList.html#withLimit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-static","parent":"NFA.NodeList"},{"id":572,"kind":512,"name":"constructor","url":"classes/NFA.NodeList.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":573,"kind":1024,"name":"initial","url":"classes/NFA.NodeList.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":574,"kind":1024,"name":"finals","url":"classes/NFA.NodeList.html#finals","classes":"tsd-kind-property tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":575,"kind":2048,"name":"createNode","url":"classes/NFA.NodeList.html#createNode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":576,"kind":2048,"name":"linkNodes","url":"classes/NFA.NodeList.html#linkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":577,"kind":2048,"name":"unlinkNodes","url":"classes/NFA.NodeList.html#unlinkNodes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":578,"kind":2048,"name":"makeFinal","url":"classes/NFA.NodeList.html#makeFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":579,"kind":2048,"name":"isFinal","url":"classes/NFA.NodeList.html#isFinal","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":580,"kind":2048,"name":"removeUnreachable","url":"classes/NFA.NodeList.html#removeUnreachable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":581,"kind":2048,"name":"count","url":"classes/NFA.NodeList.html#count","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":582,"kind":2048,"name":"[Symbol.iterator]","url":"classes/NFA.NodeList.html#_Symbol_iterator_","classes":"tsd-kind-method tsd-parent-kind-class","parent":"NFA.NodeList"},{"id":583,"kind":256,"name":"CreationOptions","url":"interfaces/NFA.CreationOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":584,"kind":1024,"name":"maxNodes","url":"interfaces/NFA.CreationOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"NFA.CreationOptions"},{"id":585,"kind":256,"name":"Options","url":"interfaces/NFA.Options.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":586,"kind":1024,"name":"maxCharacter","url":"interfaces/NFA.Options.html#maxCharacter","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.Options"},{"id":587,"kind":256,"name":"FromRegexOptions","url":"interfaces/NFA.FromRegexOptions.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"NFA"},{"id":588,"kind":1024,"name":"assertions","url":"interfaces/NFA.FromRegexOptions.html#assertions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":589,"kind":1024,"name":"unknowns","url":"interfaces/NFA.FromRegexOptions.html#unknowns","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":590,"kind":1024,"name":"infinityThreshold","url":"interfaces/NFA.FromRegexOptions.html#infinityThreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"NFA.FromRegexOptions"},{"id":591,"kind":1024,"name":"maxNodes","url":"interfaces/NFA.FromRegexOptions.html#maxNodes","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"NFA.FromRegexOptions"},{"id":592,"kind":4194304,"name":"WordSet","url":"modules.html#WordSet","classes":"tsd-kind-type-alias"},{"id":593,"kind":4194304,"name":"ReadonlyWordSet","url":"modules.html#ReadonlyWordSet","classes":"tsd-kind-type-alias"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,35.852]],["parent/0",[]],["name/1",[1,48.845]],["parent/1",[0,3.433]],["name/2",[2,51.358]],["parent/2",[3,5.24]],["name/3",[4,51.358]],["parent/3",[3,5.24]],["name/4",[5,59.831]],["parent/4",[0,3.433]],["name/5",[6,59.831]],["parent/5",[0,3.433]],["name/6",[7,54.723]],["parent/6",[0,3.433]],["name/7",[8,59.831]],["parent/7",[0,3.433]],["name/8",[9,59.831]],["parent/8",[0,3.433]],["name/9",[10,59.831]],["parent/9",[0,3.433]],["name/10",[11,59.831]],["parent/10",[0,3.433]],["name/11",[12,59.831]],["parent/11",[0,3.433]],["name/12",[7,54.723]],["parent/12",[13,4.677]],["name/13",[14,59.831]],["parent/13",[13,4.677]],["name/14",[2,51.358]],["parent/14",[13,4.677]],["name/15",[4,51.358]],["parent/15",[13,4.677]],["name/16",[15,59.831]],["parent/16",[0,3.433]],["name/17",[16,59.831]],["parent/17",[0,3.433]],["name/18",[17,59.831]],["parent/18",[0,3.433]],["name/19",[18,59.831]],["parent/19",[0,3.433]],["name/20",[19,59.831]],["parent/20",[20,4.918]],["name/21",[2,51.358]],["parent/21",[20,4.918]],["name/22",[4,51.358]],["parent/22",[20,4.918]],["name/23",[21,59.831]],["parent/23",[0,3.433]],["name/24",[22,59.831]],["parent/24",[0,3.433]],["name/25",[23,30.042]],["parent/25",[]],["name/26",[24,59.831]],["parent/26",[23,2.877]],["name/27",[25,59.831]],["parent/27",[23,2.877]],["name/28",[26,59.831]],["parent/28",[23,2.877]],["name/29",[27,59.831]],["parent/29",[23,2.877]],["name/30",[28,51.358]],["parent/30",[23,2.877]],["name/31",[29,43.737]],["parent/31",[23,2.877]],["name/32",[30,59.831]],["parent/32",[23,2.877]],["name/33",[31,59.831]],["parent/33",[23,2.877]],["name/34",[32,59.831]],["parent/34",[23,2.877]],["name/35",[33,59.831]],["parent/35",[23,2.877]],["name/36",[34,59.831]],["parent/36",[23,2.877]],["name/37",[35,59.831]],["parent/37",[23,2.877]],["name/38",[36,59.831]],["parent/38",[23,2.877]],["name/39",[37,59.831]],["parent/39",[23,2.877]],["name/40",[38,59.831]],["parent/40",[23,2.877]],["name/41",[39,59.831]],["parent/41",[23,2.877]],["name/42",[40,42.485]],["parent/42",[41,4.188]],["name/43",[42,41.373]],["parent/43",[41,4.188]],["name/44",[43,46.838]],["parent/44",[41,4.188]],["name/45",[44,46.838]],["parent/45",[41,4.188]],["name/46",[45,43.737]],["parent/46",[41,4.188]],["name/47",[46,46.838]],["parent/47",[41,4.188]],["name/48",[47,46.838]],["parent/48",[41,4.188]],["name/49",[48,59.831]],["parent/49",[23,2.877]],["name/50",[49,59.831]],["parent/50",[23,2.877]],["name/51",[50,42.485]],["parent/51",[23,2.877]],["name/52",[51,59.831]],["parent/52",[23,2.877]],["name/53",[52,59.831]],["parent/53",[23,2.877]],["name/54",[53,59.831]],["parent/54",[23,2.877]],["name/55",[54,59.831]],["parent/55",[55,4.918]],["name/56",[56,59.831]],["parent/56",[55,4.918]],["name/57",[57,59.831]],["parent/57",[55,4.918]],["name/58",[58,59.831]],["parent/58",[23,2.877]],["name/59",[59,59.831]],["parent/59",[60,4.677]],["name/60",[45,43.737]],["parent/60",[60,4.677]],["name/61",[61,59.831]],["parent/61",[60,4.677]],["name/62",[62,59.831]],["parent/62",[60,4.677]],["name/63",[63,42.485]],["parent/63",[23,2.877]],["name/64",[64,41.373]],["parent/64",[23,2.877]],["name/65",[65,59.831]],["parent/65",[23,2.877]],["name/66",[66,59.831]],["parent/66",[23,2.877]],["name/67",[67,59.831]],["parent/67",[23,2.877]],["name/68",[68,33.205]],["parent/68",[]],["name/69",[69,59.831]],["parent/69",[68,3.18]],["name/70",[70,59.831]],["parent/70",[68,3.18]],["name/71",[71,59.831]],["parent/71",[68,3.18]],["name/72",[72,42.485]],["parent/72",[73,5.24]],["name/73",[74,43.737]],["parent/73",[73,5.24]],["name/74",[75,59.831]],["parent/74",[68,3.18]],["name/75",[72,42.485]],["parent/75",[76,5.729]],["name/76",[77,59.831]],["parent/76",[68,3.18]],["name/77",[78,59.831]],["parent/77",[68,3.18]],["name/78",[79,59.831]],["parent/78",[68,3.18]],["name/79",[72,42.485]],["parent/79",[80,5.729]],["name/80",[81,59.831]],["parent/80",[68,3.18]],["name/81",[72,42.485]],["parent/81",[82,5.24]],["name/82",[74,43.737]],["parent/82",[82,5.24]],["name/83",[83,59.831]],["parent/83",[68,3.18]],["name/84",[72,42.485]],["parent/84",[84,4.677]],["name/85",[85,59.831]],["parent/85",[84,4.677]],["name/86",[86,59.831]],["parent/86",[84,4.677]],["name/87",[74,43.737]],["parent/87",[84,4.677]],["name/88",[87,59.831]],["parent/88",[68,3.18]],["name/89",[72,42.485]],["parent/89",[88,5.24]],["name/90",[74,43.737]],["parent/90",[88,5.24]],["name/91",[89,59.831]],["parent/91",[68,3.18]],["name/92",[72,42.485]],["parent/92",[90,5.24]],["name/93",[74,43.737]],["parent/93",[90,5.24]],["name/94",[91,59.831]],["parent/94",[68,3.18]],["name/95",[92,59.831]],["parent/95",[68,3.18]],["name/96",[93,48.845]],["parent/96",[94,5.24]],["name/97",[95,59.831]],["parent/97",[94,5.24]],["name/98",[93,48.845]],["parent/98",[68,3.18]],["name/99",[96,59.831]],["parent/99",[97,4.188]],["name/100",[98,59.831]],["parent/100",[97,4.188]],["name/101",[99,59.831]],["parent/101",[97,4.188]],["name/102",[100,59.831]],["parent/102",[97,4.188]],["name/103",[101,59.831]],["parent/103",[97,4.188]],["name/104",[102,59.831]],["parent/104",[97,4.188]],["name/105",[103,59.831]],["parent/105",[97,4.188]],["name/106",[104,54.723]],["parent/106",[68,3.18]],["name/107",[105,42.485]],["parent/107",[106,5.24]],["name/108",[93,48.845]],["parent/108",[106,5.24]],["name/109",[107,59.831]],["parent/109",[68,3.18]],["name/110",[108,59.831]],["parent/110",[109,4.325]],["name/111",[110,59.831]],["parent/111",[109,4.325]],["name/112",[111,51.358]],["parent/112",[109,4.325]],["name/113",[112,59.831]],["parent/113",[109,4.325]],["name/114",[113,42.485]],["parent/114",[109,4.325]],["name/115",[114,59.831]],["parent/115",[109,4.325]],["name/116",[115,59.831]],["parent/116",[68,3.18]],["name/117",[116,59.831]],["parent/117",[117,5.24]],["name/118",[93,48.845]],["parent/118",[117,5.24]],["name/119",[118,59.831]],["parent/119",[68,3.18]],["name/120",[119,59.831]],["parent/120",[68,3.18]],["name/121",[120,45.168]],["parent/121",[121,5.24]],["name/122",[122,37.144]],["parent/122",[121,5.24]],["name/123",[123,59.831]],["parent/123",[68,3.18]],["name/124",[124,59.831]],["parent/124",[125,4.188]],["name/125",[126,59.831]],["parent/125",[125,4.188]],["name/126",[104,54.723]],["parent/126",[125,4.188]],["name/127",[127,59.831]],["parent/127",[125,4.188]],["name/128",[122,37.144]],["parent/128",[125,4.188]],["name/129",[128,59.831]],["parent/129",[125,4.188]],["name/130",[129,59.831]],["parent/130",[125,4.188]],["name/131",[130,35.852]],["parent/131",[]],["name/132",[131,59.831]],["parent/132",[130,3.433]],["name/133",[132,59.831]],["parent/133",[130,3.433]],["name/134",[133,59.831]],["parent/134",[130,3.433]],["name/135",[134,59.831]],["parent/135",[130,3.433]],["name/136",[135,59.831]],["parent/136",[130,3.433]],["name/137",[136,59.831]],["parent/137",[130,3.433]],["name/138",[137,59.831]],["parent/138",[130,3.433]],["name/139",[138,59.831]],["parent/139",[130,3.433]],["name/140",[139,51.358]],["parent/140",[]],["name/141",[140,59.831]],["parent/141",[139,4.918]],["name/142",[141,59.831]],["parent/142",[139,4.918]],["name/143",[142,59.831]],["parent/143",[]],["name/144",[143,42.485]],["parent/144",[]],["name/145",[144,48.845]],["parent/145",[]],["name/146",[145,46.838]],["parent/146",[]],["name/147",[146,43.737]],["parent/147",[145,4.485]],["name/148",[143,42.485]],["parent/148",[145,4.485]],["name/149",[147,48.845]],["parent/149",[145,4.485]],["name/150",[105,42.485]],["parent/150",[145,4.485]],["name/151",[148,43.737]],["parent/151",[]],["name/152",[146,43.737]],["parent/152",[148,4.188]],["name/153",[143,42.485]],["parent/153",[148,4.188]],["name/154",[147,48.845]],["parent/154",[148,4.188]],["name/155",[72,42.485]],["parent/155",[148,4.188]],["name/156",[74,43.737]],["parent/156",[148,4.188]],["name/157",[105,42.485]],["parent/157",[148,4.188]],["name/158",[149,42.485]],["parent/158",[]],["name/159",[146,43.737]],["parent/159",[149,4.068]],["name/160",[143,42.485]],["parent/160",[149,4.068]],["name/161",[147,48.845]],["parent/161",[149,4.068]],["name/162",[150,59.831]],["parent/162",[149,4.068]],["name/163",[151,54.723]],["parent/163",[149,4.068]],["name/164",[152,54.723]],["parent/164",[149,4.068]],["name/165",[105,42.485]],["parent/165",[149,4.068]],["name/166",[153,46.838]],["parent/166",[]],["name/167",[146,43.737]],["parent/167",[153,4.485]],["name/168",[143,42.485]],["parent/168",[153,4.485]],["name/169",[154,54.723]],["parent/169",[153,4.485]],["name/170",[105,42.485]],["parent/170",[153,4.485]],["name/171",[155,46.838]],["parent/171",[]],["name/172",[146,43.737]],["parent/172",[155,4.485]],["name/173",[143,42.485]],["parent/173",[155,4.485]],["name/174",[156,59.831]],["parent/174",[155,4.485]],["name/175",[105,42.485]],["parent/175",[155,4.485]],["name/176",[120,45.168]],["parent/176",[]],["name/177",[146,43.737]],["parent/177",[120,4.325]],["name/178",[143,42.485]],["parent/178",[120,4.325]],["name/179",[147,48.845]],["parent/179",[120,4.325]],["name/180",[105,42.485]],["parent/180",[120,4.325]],["name/181",[157,46.838]],["parent/181",[]],["name/182",[146,43.737]],["parent/182",[157,4.485]],["name/183",[143,42.485]],["parent/183",[157,4.485]],["name/184",[158,59.831]],["parent/184",[157,4.485]],["name/185",[105,42.485]],["parent/185",[157,4.485]],["name/186",[159,59.831]],["parent/186",[]],["name/187",[160,59.831]],["parent/187",[]],["name/188",[161,59.831]],["parent/188",[]],["name/189",[162,59.831]],["parent/189",[]],["name/190",[163,36.477]],["parent/190",[]],["name/191",[164,54.723]],["parent/191",[163,3.493]],["name/192",[165,54.723]],["parent/192",[163,3.493]],["name/193",[166,54.723]],["parent/193",[163,3.493]],["name/194",[167,54.723]],["parent/194",[163,3.493]],["name/195",[168,54.723]],["parent/195",[163,3.493]],["name/196",[169,54.723]],["parent/196",[163,3.493]],["name/197",[170,54.723]],["parent/197",[163,3.493]],["name/198",[171,54.723]],["parent/198",[163,3.493]],["name/199",[172,54.723]],["parent/199",[163,3.493]],["name/200",[173,54.723]],["parent/200",[163,3.493]],["name/201",[174,54.723]],["parent/201",[163,3.493]],["name/202",[175,54.723]],["parent/202",[163,3.493]],["name/203",[176,54.723]],["parent/203",[163,3.493]],["name/204",[177,54.723]],["parent/204",[163,3.493]],["name/205",[178,36.477]],["parent/205",[]],["name/206",[164,54.723]],["parent/206",[178,3.493]],["name/207",[165,54.723]],["parent/207",[178,3.493]],["name/208",[166,54.723]],["parent/208",[178,3.493]],["name/209",[167,54.723]],["parent/209",[178,3.493]],["name/210",[168,54.723]],["parent/210",[178,3.493]],["name/211",[169,54.723]],["parent/211",[178,3.493]],["name/212",[170,54.723]],["parent/212",[178,3.493]],["name/213",[171,54.723]],["parent/213",[178,3.493]],["name/214",[172,54.723]],["parent/214",[178,3.493]],["name/215",[173,54.723]],["parent/215",[178,3.493]],["name/216",[174,54.723]],["parent/216",[178,3.493]],["name/217",[175,54.723]],["parent/217",[178,3.493]],["name/218",[176,54.723]],["parent/218",[178,3.493]],["name/219",[177,54.723]],["parent/219",[178,3.493]],["name/220",[179,59.831]],["parent/220",[]],["name/221",[180,59.831]],["parent/221",[]],["name/222",[181,42.485]],["parent/222",[]],["name/223",[182,59.831]],["parent/223",[181,4.068]],["name/224",[183,59.831]],["parent/224",[181,4.068]],["name/225",[184,59.831]],["parent/225",[181,4.068]],["name/226",[185,59.831]],["parent/226",[181,4.068]],["name/227",[186,59.831]],["parent/227",[181,4.068]],["name/228",[187,59.831]],["parent/228",[181,4.068]],["name/229",[188,59.831]],["parent/229",[181,4.068]],["name/230",[189,51.358]],["parent/230",[]],["name/231",[122,37.144]],["parent/231",[189,4.918]],["name/232",[190,59.831]],["parent/232",[189,4.918]],["name/233",[191,54.723]],["parent/233",[]],["name/234",[192,59.831]],["parent/234",[191,5.24]],["name/235",[193,48.845]],["parent/235",[]],["name/236",[40,42.485]],["parent/236",[193,4.677]],["name/237",[194,59.831]],["parent/237",[193,4.677]],["name/238",[195,59.831]],["parent/238",[193,4.677]],["name/239",[196,39.462]],["parent/239",[]],["name/240",[197,40.372]],["parent/240",[196,3.779]],["name/241",[198,51.358]],["parent/241",[196,3.779]],["name/242",[199,54.723]],["parent/242",[196,3.779]],["name/243",[200,54.723]],["parent/243",[196,3.779]],["name/244",[201,54.723]],["parent/244",[196,3.779]],["name/245",[28,51.358]],["parent/245",[196,3.779]],["name/246",[202,54.723]],["parent/246",[196,3.779]],["name/247",[203,54.723]],["parent/247",[196,3.779]],["name/248",[204,54.723]],["parent/248",[196,3.779]],["name/249",[205,54.723]],["parent/249",[196,3.779]],["name/250",[206,32.75]],["parent/250",[]],["name/251",[40,42.485]],["parent/251",[206,3.136]],["name/252",[197,40.372]],["parent/252",[206,3.136]],["name/253",[198,51.358]],["parent/253",[206,3.136]],["name/254",[199,54.723]],["parent/254",[206,3.136]],["name/255",[200,54.723]],["parent/255",[206,3.136]],["name/256",[201,54.723]],["parent/256",[206,3.136]],["name/257",[207,59.831]],["parent/257",[206,3.136]],["name/258",[208,59.831]],["parent/258",[206,3.136]],["name/259",[209,59.831]],["parent/259",[206,3.136]],["name/260",[210,59.831]],["parent/260",[206,3.136]],["name/261",[211,59.831]],["parent/261",[206,3.136]],["name/262",[212,59.831]],["parent/262",[206,3.136]],["name/263",[213,59.831]],["parent/263",[206,3.136]],["name/264",[214,59.831]],["parent/264",[206,3.136]],["name/265",[215,59.831]],["parent/265",[206,3.136]],["name/266",[205,54.723]],["parent/266",[206,3.136]],["name/267",[28,51.358]],["parent/267",[206,3.136]],["name/268",[202,54.723]],["parent/268",[206,3.136]],["name/269",[203,54.723]],["parent/269",[206,3.136]],["name/270",[204,54.723]],["parent/270",[206,3.136]],["name/271",[216,48.845]],["parent/271",[206,3.136]],["name/272",[217,51.358]],["parent/272",[]],["name/273",[151,54.723]],["parent/273",[217,4.918]],["name/274",[152,54.723]],["parent/274",[217,4.918]],["name/275",[218,32.316]],["parent/275",[]],["name/276",[219,48.845]],["parent/276",[218,3.095]],["name/277",[220,48.845]],["parent/277",[218,3.095]],["name/278",[221,59.831]],["parent/278",[218,3.095]],["name/279",[222,59.831]],["parent/279",[218,3.095]],["name/280",[223,59.831]],["parent/280",[218,3.095]],["name/281",[197,40.372]],["parent/281",[218,3.095]],["name/282",[224,59.831]],["parent/282",[218,3.095]],["name/283",[225,59.831]],["parent/283",[218,3.095]],["name/284",[154,54.723]],["parent/284",[218,3.095]],["name/285",[64,41.373]],["parent/285",[218,3.095]],["name/286",[226,59.831]],["parent/286",[218,3.095]],["name/287",[227,59.831]],["parent/287",[218,3.095]],["name/288",[228,59.831]],["parent/288",[218,3.095]],["name/289",[74,43.737]],["parent/289",[218,3.095]],["name/290",[229,51.358]],["parent/290",[218,3.095]],["name/291",[230,59.831]],["parent/291",[218,3.095]],["name/292",[231,59.831]],["parent/292",[218,3.095]],["name/293",[198,51.358]],["parent/293",[218,3.095]],["name/294",[232,59.831]],["parent/294",[218,3.095]],["name/295",[233,59.831]],["parent/295",[218,3.095]],["name/296",[234,42.485]],["parent/296",[218,3.095]],["name/297",[235,59.831]],["parent/297",[218,3.095]],["name/298",[236,59.831]],["parent/298",[]],["name/299",[237,59.831]],["parent/299",[]],["name/300",[238,59.831]],["parent/300",[]],["name/301",[239,40.372]],["parent/301",[]],["name/302",[197,40.372]],["parent/302",[239,3.866]],["name/303",[240,43.737]],["parent/303",[239,3.866]],["name/304",[122,37.144]],["parent/304",[239,3.866]],["name/305",[241,43.737]],["parent/305",[239,3.866]],["name/306",[130,35.852]],["parent/306",[239,3.866]],["name/307",[242,43.737]],["parent/307",[239,3.866]],["name/308",[64,41.373]],["parent/308",[239,3.866]],["name/309",[63,42.485]],["parent/309",[239,3.866]],["name/310",[50,42.485]],["parent/310",[239,3.866]],["name/311",[243,46.838]],["parent/311",[]],["name/312",[42,41.373]],["parent/312",[243,4.485]],["name/313",[244,59.831]],["parent/313",[243,4.485]],["name/314",[245,59.831]],["parent/314",[243,4.485]],["name/315",[45,43.737]],["parent/315",[243,4.485]],["name/316",[246,45.168]],["parent/316",[]],["name/317",[42,41.373]],["parent/317",[246,4.325]],["name/318",[44,46.838]],["parent/318",[246,4.325]],["name/319",[45,43.737]],["parent/319",[246,4.325]],["name/320",[46,46.838]],["parent/320",[246,4.325]],["name/321",[47,46.838]],["parent/321",[246,4.325]],["name/322",[247,54.723]],["parent/322",[]],["name/323",[113,42.485]],["parent/323",[247,5.24]],["name/324",[248,42.485]],["parent/324",[]],["name/325",[249,51.358]],["parent/325",[]],["name/326",[122,37.144]],["parent/326",[249,4.918]],["name/327",[248,42.485]],["parent/327",[249,4.918]],["name/328",[250,51.358]],["parent/328",[]],["name/329",[113,42.485]],["parent/329",[250,4.918]],["name/330",[251,59.831]],["parent/330",[250,4.918]],["name/331",[252,34.181]],["parent/331",[]],["name/332",[253,45.168]],["parent/332",[252,3.273]],["name/333",[254,41.373]],["parent/333",[252,3.273]],["name/334",[255,45.168]],["parent/334",[252,3.273]],["name/335",[234,42.485]],["parent/335",[252,3.273]],["name/336",[256,43.737]],["parent/336",[252,3.273]],["name/337",[257,43.737]],["parent/337",[252,3.273]],["name/338",[258,45.168]],["parent/338",[252,3.273]],["name/339",[259,54.723]],["parent/339",[252,3.273]],["name/340",[197,40.372]],["parent/340",[252,3.273]],["name/341",[240,43.737]],["parent/341",[252,3.273]],["name/342",[122,37.144]],["parent/342",[252,3.273]],["name/343",[241,43.737]],["parent/343",[252,3.273]],["name/344",[130,35.852]],["parent/344",[252,3.273]],["name/345",[242,43.737]],["parent/345",[252,3.273]],["name/346",[64,41.373]],["parent/346",[252,3.273]],["name/347",[63,42.485]],["parent/347",[252,3.273]],["name/348",[50,42.485]],["parent/348",[252,3.273]],["name/349",[248,42.485]],["parent/349",[252,3.273]],["name/350",[260,28.19]],["parent/350",[]],["name/351",[219,48.845]],["parent/351",[260,2.7]],["name/352",[220,48.845]],["parent/352",[260,2.7]],["name/353",[261,54.723]],["parent/353",[260,2.7]],["name/354",[262,51.358]],["parent/354",[260,2.7]],["name/355",[263,51.358]],["parent/355",[260,2.7]],["name/356",[264,51.358]],["parent/356",[260,2.7]],["name/357",[253,45.168]],["parent/357",[260,2.7]],["name/358",[122,37.144]],["parent/358",[260,2.7]],["name/359",[254,41.373]],["parent/359",[260,2.7]],["name/360",[197,40.372]],["parent/360",[260,2.7]],["name/361",[240,43.737]],["parent/361",[260,2.7]],["name/362",[255,45.168]],["parent/362",[260,2.7]],["name/363",[248,42.485]],["parent/363",[260,2.7]],["name/364",[241,43.737]],["parent/364",[260,2.7]],["name/365",[242,43.737]],["parent/365",[260,2.7]],["name/366",[130,35.852]],["parent/366",[260,2.7]],["name/367",[64,41.373]],["parent/367",[260,2.7]],["name/368",[63,42.485]],["parent/368",[260,2.7]],["name/369",[50,42.485]],["parent/369",[260,2.7]],["name/370",[234,42.485]],["parent/370",[260,2.7]],["name/371",[256,43.737]],["parent/371",[260,2.7]],["name/372",[257,43.737]],["parent/372",[260,2.7]],["name/373",[258,45.168]],["parent/373",[260,2.7]],["name/374",[259,54.723]],["parent/374",[260,2.7]],["name/375",[265,59.831]],["parent/375",[260,2.7]],["name/376",[266,59.831]],["parent/376",[260,2.7]],["name/377",[267,51.358]],["parent/377",[260,2.7]],["name/378",[260,28.19]],["parent/378",[]],["name/379",[268,51.358]],["parent/379",[260,2.7]],["name/380",[269,45.168]],["parent/380",[270,5.24]],["name/381",[271,45.168]],["parent/381",[270,5.24]],["name/382",[144,48.845]],["parent/382",[260,2.7]],["name/383",[269,45.168]],["parent/383",[272,5.24]],["name/384",[271,45.168]],["parent/384",[272,5.24]],["name/385",[273,51.358]],["parent/385",[260,2.7]],["name/386",[42,41.373]],["parent/386",[274,4.918]],["name/387",[43,46.838]],["parent/387",[274,4.918]],["name/388",[29,43.737]],["parent/388",[274,4.918]],["name/389",[275,51.358]],["parent/389",[260,2.7]],["name/390",[276,51.358]],["parent/390",[277,3.493]],["name/391",[40,42.485]],["parent/391",[277,3.493]],["name/392",[42,41.373]],["parent/392",[277,3.493]],["name/393",[43,46.838]],["parent/393",[277,3.493]],["name/394",[46,46.838]],["parent/394",[277,3.493]],["name/395",[47,46.838]],["parent/395",[277,3.493]],["name/396",[278,59.831]],["parent/396",[277,3.493]],["name/397",[279,59.831]],["parent/397",[277,3.493]],["name/398",[280,59.831]],["parent/398",[277,3.493]],["name/399",[281,51.358]],["parent/399",[277,3.493]],["name/400",[44,46.838]],["parent/400",[277,3.493]],["name/401",[45,43.737]],["parent/401",[277,3.493]],["name/402",[282,51.358]],["parent/402",[277,3.493]],["name/403",[29,43.737]],["parent/403",[277,3.493]],["name/404",[216,48.845]],["parent/404",[277,3.493]],["name/405",[1,48.845]],["parent/405",[260,2.7]],["name/406",[113,42.485]],["parent/406",[283,5.729]],["name/407",[254,41.373]],["parent/407",[260,2.7]],["name/408",[122,37.144]],["parent/408",[284,5.729]],["name/409",[285,34.708]],["parent/409",[]],["name/410",[253,45.168]],["parent/410",[285,3.324]],["name/411",[254,41.373]],["parent/411",[285,3.324]],["name/412",[255,45.168]],["parent/412",[285,3.324]],["name/413",[234,42.485]],["parent/413",[285,3.324]],["name/414",[256,43.737]],["parent/414",[285,3.324]],["name/415",[257,43.737]],["parent/415",[285,3.324]],["name/416",[258,45.168]],["parent/416",[285,3.324]],["name/417",[197,40.372]],["parent/417",[285,3.324]],["name/418",[240,43.737]],["parent/418",[285,3.324]],["name/419",[122,37.144]],["parent/419",[285,3.324]],["name/420",[241,43.737]],["parent/420",[285,3.324]],["name/421",[130,35.852]],["parent/421",[285,3.324]],["name/422",[242,43.737]],["parent/422",[285,3.324]],["name/423",[64,41.373]],["parent/423",[285,3.324]],["name/424",[63,42.485]],["parent/424",[285,3.324]],["name/425",[50,42.485]],["parent/425",[285,3.324]],["name/426",[248,42.485]],["parent/426",[285,3.324]],["name/427",[286,27.379]],["parent/427",[]],["name/428",[219,48.845]],["parent/428",[286,2.622]],["name/429",[220,48.845]],["parent/429",[286,2.622]],["name/430",[287,54.723]],["parent/430",[286,2.622]],["name/431",[262,51.358]],["parent/431",[286,2.622]],["name/432",[263,51.358]],["parent/432",[286,2.622]],["name/433",[264,51.358]],["parent/433",[286,2.622]],["name/434",[253,45.168]],["parent/434",[286,2.622]],["name/435",[122,37.144]],["parent/435",[286,2.622]],["name/436",[254,41.373]],["parent/436",[286,2.622]],["name/437",[197,40.372]],["parent/437",[286,2.622]],["name/438",[240,43.737]],["parent/438",[286,2.622]],["name/439",[255,45.168]],["parent/439",[286,2.622]],["name/440",[248,42.485]],["parent/440",[286,2.622]],["name/441",[234,42.485]],["parent/441",[286,2.622]],["name/442",[256,43.737]],["parent/442",[286,2.622]],["name/443",[257,43.737]],["parent/443",[286,2.622]],["name/444",[258,45.168]],["parent/444",[286,2.622]],["name/445",[241,43.737]],["parent/445",[286,2.622]],["name/446",[242,43.737]],["parent/446",[286,2.622]],["name/447",[130,35.852]],["parent/447",[286,2.622]],["name/448",[64,41.373]],["parent/448",[286,2.622]],["name/449",[63,42.485]],["parent/449",[286,2.622]],["name/450",[50,42.485]],["parent/450",[286,2.622]],["name/451",[288,54.723]],["parent/451",[286,2.622]],["name/452",[289,54.723]],["parent/452",[286,2.622]],["name/453",[229,51.358]],["parent/453",[286,2.622]],["name/454",[290,54.723]],["parent/454",[286,2.622]],["name/455",[267,51.358]],["parent/455",[286,2.622]],["name/456",[291,54.723]],["parent/456",[286,2.622]],["name/457",[286,27.379]],["parent/457",[]],["name/458",[268,51.358]],["parent/458",[286,2.622]],["name/459",[269,45.168]],["parent/459",[292,4.918]],["name/460",[271,45.168]],["parent/460",[292,4.918]],["name/461",[293,48.845]],["parent/461",[292,4.918]],["name/462",[144,48.845]],["parent/462",[286,2.622]],["name/463",[269,45.168]],["parent/463",[294,4.918]],["name/464",[271,45.168]],["parent/464",[294,4.918]],["name/465",[293,48.845]],["parent/465",[294,4.918]],["name/466",[273,51.358]],["parent/466",[286,2.622]],["name/467",[42,41.373]],["parent/467",[295,4.918]],["name/468",[296,54.723]],["parent/468",[295,4.918]],["name/469",[29,43.737]],["parent/469",[295,4.918]],["name/470",[275,51.358]],["parent/470",[286,2.622]],["name/471",[276,51.358]],["parent/471",[297,3.433]],["name/472",[298,59.831]],["parent/472",[297,3.433]],["name/473",[299,59.831]],["parent/473",[297,3.433]],["name/474",[300,59.831]],["parent/474",[297,3.433]],["name/475",[40,42.485]],["parent/475",[297,3.433]],["name/476",[42,41.373]],["parent/476",[297,3.433]],["name/477",[296,54.723]],["parent/477",[297,3.433]],["name/478",[46,46.838]],["parent/478",[297,3.433]],["name/479",[47,46.838]],["parent/479",[297,3.433]],["name/480",[281,51.358]],["parent/480",[297,3.433]],["name/481",[44,46.838]],["parent/481",[297,3.433]],["name/482",[45,43.737]],["parent/482",[297,3.433]],["name/483",[282,51.358]],["parent/483",[297,3.433]],["name/484",[301,59.831]],["parent/484",[297,3.433]],["name/485",[29,43.737]],["parent/485",[297,3.433]],["name/486",[216,48.845]],["parent/486",[297,3.433]],["name/487",[1,48.845]],["parent/487",[286,2.622]],["name/488",[113,42.485]],["parent/488",[302,5.729]],["name/489",[254,41.373]],["parent/489",[286,2.622]],["name/490",[122,37.144]],["parent/490",[303,5.729]],["name/491",[304,54.723]],["parent/491",[286,2.622]],["name/492",[111,51.358]],["parent/492",[305,4.677]],["name/493",[306,54.723]],["parent/493",[305,4.677]],["name/494",[307,54.723]],["parent/494",[305,4.677]],["name/495",[113,42.485]],["parent/495",[305,4.677]],["name/496",[308,51.358]],["parent/496",[]],["name/497",[309,54.723]],["parent/497",[308,4.918]],["name/498",[40,42.485]],["parent/498",[308,4.918]],["name/499",[310,51.358]],["parent/499",[]],["name/500",[309,54.723]],["parent/500",[310,4.918]],["name/501",[40,42.485]],["parent/501",[310,4.918]],["name/502",[311,59.831]],["parent/502",[]],["name/503",[234,42.485]],["parent/503",[]],["name/504",[257,43.737]],["parent/504",[]],["name/505",[256,43.737]],["parent/505",[]],["name/506",[312,34.708]],["parent/506",[]],["name/507",[253,45.168]],["parent/507",[312,3.324]],["name/508",[254,41.373]],["parent/508",[312,3.324]],["name/509",[255,45.168]],["parent/509",[312,3.324]],["name/510",[234,42.485]],["parent/510",[312,3.324]],["name/511",[256,43.737]],["parent/511",[312,3.324]],["name/512",[257,43.737]],["parent/512",[312,3.324]],["name/513",[258,45.168]],["parent/513",[312,3.324]],["name/514",[197,40.372]],["parent/514",[312,3.324]],["name/515",[240,43.737]],["parent/515",[312,3.324]],["name/516",[122,37.144]],["parent/516",[312,3.324]],["name/517",[241,43.737]],["parent/517",[312,3.324]],["name/518",[130,35.852]],["parent/518",[312,3.324]],["name/519",[242,43.737]],["parent/519",[312,3.324]],["name/520",[64,41.373]],["parent/520",[312,3.324]],["name/521",[63,42.485]],["parent/521",[312,3.324]],["name/522",[50,42.485]],["parent/522",[312,3.324]],["name/523",[248,42.485]],["parent/523",[312,3.324]],["name/524",[313,26.629]],["parent/524",[]],["name/525",[219,48.845]],["parent/525",[313,2.55]],["name/526",[220,48.845]],["parent/526",[313,2.55]],["name/527",[261,54.723]],["parent/527",[313,2.55]],["name/528",[287,54.723]],["parent/528",[313,2.55]],["name/529",[262,51.358]],["parent/529",[313,2.55]],["name/530",[263,51.358]],["parent/530",[313,2.55]],["name/531",[264,51.358]],["parent/531",[313,2.55]],["name/532",[253,45.168]],["parent/532",[313,2.55]],["name/533",[122,37.144]],["parent/533",[313,2.55]],["name/534",[254,41.373]],["parent/534",[313,2.55]],["name/535",[197,40.372]],["parent/535",[313,2.55]],["name/536",[240,43.737]],["parent/536",[313,2.55]],["name/537",[255,45.168]],["parent/537",[313,2.55]],["name/538",[248,42.485]],["parent/538",[313,2.55]],["name/539",[258,45.168]],["parent/539",[313,2.55]],["name/540",[241,43.737]],["parent/540",[313,2.55]],["name/541",[242,43.737]],["parent/541",[313,2.55]],["name/542",[130,35.852]],["parent/542",[313,2.55]],["name/543",[64,41.373]],["parent/543",[313,2.55]],["name/544",[63,42.485]],["parent/544",[313,2.55]],["name/545",[50,42.485]],["parent/545",[313,2.55]],["name/546",[234,42.485]],["parent/546",[313,2.55]],["name/547",[256,43.737]],["parent/547",[313,2.55]],["name/548",[257,43.737]],["parent/548",[313,2.55]],["name/549",[229,51.358]],["parent/549",[313,2.55]],["name/550",[288,54.723]],["parent/550",[313,2.55]],["name/551",[289,54.723]],["parent/551",[313,2.55]],["name/552",[290,54.723]],["parent/552",[313,2.55]],["name/553",[314,59.831]],["parent/553",[313,2.55]],["name/554",[267,51.358]],["parent/554",[313,2.55]],["name/555",[291,54.723]],["parent/555",[313,2.55]],["name/556",[315,59.831]],["parent/556",[313,2.55]],["name/557",[313,26.629]],["parent/557",[]],["name/558",[268,51.358]],["parent/558",[313,2.55]],["name/559",[269,45.168]],["parent/559",[316,4.918]],["name/560",[271,45.168]],["parent/560",[316,4.918]],["name/561",[293,48.845]],["parent/561",[316,4.918]],["name/562",[144,48.845]],["parent/562",[313,2.55]],["name/563",[269,45.168]],["parent/563",[317,4.918]],["name/564",[271,45.168]],["parent/564",[317,4.918]],["name/565",[293,48.845]],["parent/565",[317,4.918]],["name/566",[273,51.358]],["parent/566",[313,2.55]],["name/567",[42,41.373]],["parent/567",[318,4.918]],["name/568",[43,46.838]],["parent/568",[318,4.918]],["name/569",[29,43.737]],["parent/569",[318,4.918]],["name/570",[275,51.358]],["parent/570",[313,2.55]],["name/571",[276,51.358]],["parent/571",[319,3.699]],["name/572",[40,42.485]],["parent/572",[319,3.699]],["name/573",[42,41.373]],["parent/573",[319,3.699]],["name/574",[43,46.838]],["parent/574",[319,3.699]],["name/575",[46,46.838]],["parent/575",[319,3.699]],["name/576",[47,46.838]],["parent/576",[319,3.699]],["name/577",[281,51.358]],["parent/577",[319,3.699]],["name/578",[44,46.838]],["parent/578",[319,3.699]],["name/579",[45,43.737]],["parent/579",[319,3.699]],["name/580",[282,51.358]],["parent/580",[319,3.699]],["name/581",[29,43.737]],["parent/581",[319,3.699]],["name/582",[216,48.845]],["parent/582",[319,3.699]],["name/583",[1,48.845]],["parent/583",[313,2.55]],["name/584",[113,42.485]],["parent/584",[320,5.729]],["name/585",[254,41.373]],["parent/585",[313,2.55]],["name/586",[122,37.144]],["parent/586",[321,5.729]],["name/587",[304,54.723]],["parent/587",[313,2.55]],["name/588",[111,51.358]],["parent/588",[322,4.677]],["name/589",[306,54.723]],["parent/589",[322,4.677]],["name/590",[307,54.723]],["parent/590",[322,4.677]],["name/591",[113,42.485]],["parent/591",[322,4.677]],["name/592",[323,59.831]],["parent/592",[]],["name/593",[324,59.831]],["parent/593",[]]],"invertedIndex":[["_uncheckedlinknodeswithcharacter",{"_index":278,"name":{"396":{}},"parent":{}}],["_uncheckedlinknodeswithcharrange",{"_index":279,"name":{"397":{}},"parent":{}}],["_uncheckedlinknodeswithcharset",{"_index":280,"name":{"398":{}},"parent":{}}],["all",{"_index":220,"name":{"277":{},"352":{},"429":{},"526":{}},"parent":{}}],["alternation",{"_index":145,"name":{"146":{}},"parent":{"147":{},"148":{},"149":{},"150":{}}}],["alternatives",{"_index":147,"name":{"149":{},"154":{},"161":{},"179":{}},"parent":{}}],["anycharacterset",{"_index":79,"name":{"78":{}},"parent":{}}],["append",{"_index":288,"name":{"451":{},"550":{}},"parent":{}}],["applyassertions",{"_index":5,"name":{"4":{}},"parent":{}}],["approximaterejectingwordset",{"_index":67,"name":{"67":{}},"parent":{}}],["assert",{"_index":309,"name":{"497":{},"500":{}},"parent":{}}],["assertion",{"_index":148,"name":{"151":{}},"parent":{"152":{},"153":{},"154":{},"155":{},"156":{},"157":{}}}],["assertions",{"_index":111,"name":{"112":{},"492":{},"588":{}},"parent":{}}],["ast",{"_index":127,"name":{"127":{}},"parent":{}}],["backreferences",{"_index":110,"name":{"111":{}},"parent":{}}],["boundaryassertion",{"_index":70,"name":{"70":{}},"parent":{}}],["canreachfinal",{"_index":32,"name":{"34":{}},"parent":{}}],["char",{"_index":236,"name":{"298":{}},"parent":{}}],["characterclass",{"_index":153,"name":{"166":{}},"parent":{"167":{},"168":{},"169":{},"170":{}}}],["characters",{"_index":154,"name":{"169":{},"284":{}},"parent":{}}],["charbase",{"_index":193,"name":{"235":{}},"parent":{"236":{},"237":{},"238":{}}}],["charmap",{"_index":206,"name":{"250":{}},"parent":{"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{}}}],["charrange",{"_index":217,"name":{"272":{}},"parent":{"273":{},"274":{}}}],["charset",{"_index":218,"name":{"275":{}},"parent":{"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{},"297":{}}}],["clear",{"_index":212,"name":{"262":{}},"parent":{}}],["combinetransformers",{"_index":179,"name":{"220":{}},"parent":{}}],["commoncharacter",{"_index":235,"name":{"297":{}},"parent":{}}],["compare",{"_index":228,"name":{"288":{}},"parent":{}}],["complement",{"_index":266,"name":{"376":{}},"parent":{}}],["concatenation",{"_index":157,"name":{"181":{}},"parent":{"182":{},"183":{},"184":{},"185":{}}}],["constructor",{"_index":40,"name":{"42":{},"236":{},"251":{},"391":{},"475":{},"498":{},"501":{},"572":{}},"parent":{}}],["copy",{"_index":258,"name":{"338":{},"373":{},"416":{},"444":{},"513":{},"539":{}},"parent":{}}],["count",{"_index":29,"name":{"31":{},"388":{},"403":{},"469":{},"485":{},"569":{},"581":{}},"parent":{}}],["createassertion",{"_index":69,"name":{"69":{}},"parent":{}}],["createcharset",{"_index":77,"name":{"76":{}},"parent":{}}],["createnode",{"_index":46,"name":{"47":{},"320":{},"394":{},"478":{},"575":{}},"parent":{}}],["createsimpletodotoptions",{"_index":51,"name":{"52":{}},"parent":{}}],["creationoptions",{"_index":1,"name":{"1":{},"405":{},"487":{},"583":{}},"parent":{}}],["delete",{"_index":210,"name":{"260":{}},"parent":{}}],["deleterange",{"_index":211,"name":{"261":{}},"parent":{}}],["dfa",{"_index":260,"name":{"350":{},"378":{}},"parent":{"351":{},"352":{},"353":{},"354":{},"355":{},"356":{},"357":{},"358":{},"359":{},"360":{},"361":{},"362":{},"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{},"376":{},"377":{},"379":{},"382":{},"385":{},"389":{},"405":{},"407":{}}}],["dfa.creationoptions",{"_index":283,"name":{},"parent":{"406":{}}}],["dfa.node",{"_index":272,"name":{},"parent":{"383":{},"384":{}}}],["dfa.nodelist",{"_index":277,"name":{},"parent":{"390":{},"391":{},"392":{},"393":{},"394":{},"395":{},"396":{},"397":{},"398":{},"399":{},"400":{},"401":{},"402":{},"403":{},"404":{}}}],["dfa.options",{"_index":284,"name":{},"parent":{"408":{}}}],["dfa.readonlynode",{"_index":270,"name":{},"parent":{"380":{},"381":{}}}],["dfa.readonlynodelist",{"_index":274,"name":{},"parent":{"386":{},"387":{},"388":{}}}],["digitcharacterset",{"_index":81,"name":{"80":{}},"parent":{}}],["dotall",{"_index":96,"name":{"99":{}},"parent":{}}],["element",{"_index":142,"name":{"143":{}},"parent":{}}],["elements",{"_index":158,"name":{"184":{}},"parent":{}}],["empty",{"_index":219,"name":{"276":{},"351":{},"428":{},"525":{}},"parent":{}}],["end",{"_index":141,"name":{"142":{}},"parent":{}}],["enfa",{"_index":286,"name":{"427":{},"457":{}},"parent":{"428":{},"429":{},"430":{},"431":{},"432":{},"433":{},"434":{},"435":{},"436":{},"437":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"444":{},"445":{},"446":{},"447":{},"448":{},"449":{},"450":{},"451":{},"452":{},"453":{},"454":{},"455":{},"456":{},"458":{},"462":{},"466":{},"470":{},"487":{},"489":{},"491":{}}}],["enfa.creationoptions",{"_index":302,"name":{},"parent":{"488":{}}}],["enfa.fromregexoptions",{"_index":305,"name":{},"parent":{"492":{},"493":{},"494":{},"495":{}}}],["enfa.node",{"_index":294,"name":{},"parent":{"463":{},"464":{},"465":{}}}],["enfa.nodelist",{"_index":297,"name":{},"parent":{"471":{},"472":{},"473":{},"474":{},"475":{},"476":{},"477":{},"478":{},"479":{},"480":{},"481":{},"482":{},"483":{},"484":{},"485":{},"486":{}}}],["enfa.options",{"_index":303,"name":{},"parent":{"490":{}}}],["enfa.readonlynode",{"_index":292,"name":{},"parent":{"459":{},"460":{},"461":{}}}],["enfa.readonlynodelist",{"_index":295,"name":{},"parent":{"467":{},"468":{},"469":{}}}],["ensurestableout",{"_index":30,"name":{"32":{}},"parent":{}}],["entries",{"_index":204,"name":{"248":{},"270":{}},"parent":{}}],["equals",{"_index":227,"name":{"287":{}},"parent":{}}],["expression",{"_index":120,"name":{"121":{},"176":{}},"parent":{"177":{},"178":{},"179":{},"180":{}}}],["fabuilder",{"_index":246,"name":{"316":{}},"parent":{"317":{},"318":{},"319":{},"320":{},"321":{}}}],["facreationoptions",{"_index":247,"name":{"322":{}},"parent":{"323":{}}}],["factorout",{"_index":6,"name":{"5":{}},"parent":{}}],["faiterator",{"_index":243,"name":{"311":{}},"parent":{"312":{},"313":{},"314":{},"315":{}}}],["faiterators",{"_index":23,"name":{"25":{}},"parent":{"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"58":{},"63":{},"64":{},"65":{},"66":{},"67":{}}}],["faiterators.mapfabuilder",{"_index":41,"name":{},"parent":{"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{}}}],["faiterators.todotinfo",{"_index":60,"name":{},"parent":{"59":{},"60":{},"61":{},"62":{}}}],["faiterators.todotoptions",{"_index":55,"name":{},"parent":{"55":{},"56":{},"57":{}}}],["fastcharacters",{"_index":95,"name":{"97":{}},"parent":{}}],["filter",{"_index":215,"name":{"265":{}},"parent":{}}],["filteroutiter",{"_index":27,"name":{"29":{}},"parent":{}}],["final",{"_index":296,"name":{"468":{},"477":{}},"parent":{}}],["finals",{"_index":43,"name":{"44":{},"387":{},"393":{},"568":{},"574":{}},"parent":{}}],["finiteautomaton",{"_index":239,"name":{"301":{}},"parent":{"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{},"310":{}}}],["flags",{"_index":93,"name":{"96":{},"98":{},"108":{},"118":{}},"parent":{}}],["foreach",{"_index":28,"name":{"30":{},"245":{},"267":{}},"parent":{}}],["fromast",{"_index":126,"name":{"125":{}},"parent":{}}],["fromcharacters",{"_index":221,"name":{"278":{}},"parent":{}}],["fromfa",{"_index":263,"name":{"355":{},"432":{},"530":{}},"parent":{}}],["fromintersection",{"_index":261,"name":{"353":{},"527":{}},"parent":{}}],["fromliteral",{"_index":124,"name":{"124":{}},"parent":{}}],["fromregex",{"_index":287,"name":{"430":{},"528":{}},"parent":{}}],["fromregexoptions",{"_index":304,"name":{"491":{},"587":{}},"parent":{}}],["fromstringtounicode",{"_index":134,"name":{"135":{}},"parent":{}}],["fromstringtoutf16",{"_index":133,"name":{"134":{}},"parent":{}}],["fromtransitioniterator",{"_index":264,"name":{"356":{},"433":{},"531":{}},"parent":{}}],["fromunicodetostring",{"_index":132,"name":{"133":{}},"parent":{}}],["fromutf16tostring",{"_index":131,"name":{"132":{}},"parent":{}}],["fromwords",{"_index":262,"name":{"354":{},"431":{},"529":{}},"parent":{}}],["get",{"_index":201,"name":{"244":{},"256":{}},"parent":{}}],["getedgeattributes",{"_index":54,"name":{"55":{}},"parent":{}}],["getgraphattributes",{"_index":56,"name":{"56":{}},"parent":{}}],["getid",{"_index":61,"name":{"61":{}},"parent":{}}],["getintersectioniterator",{"_index":311,"name":{"502":{}},"parent":{}}],["getintersectionwords",{"_index":256,"name":{"336":{},"371":{},"414":{},"442":{},"505":{},"511":{},"547":{}},"parent":{}}],["getintersectionwordsets",{"_index":257,"name":{"337":{},"372":{},"415":{},"443":{},"504":{},"512":{},"548":{}},"parent":{}}],["getnodeattributes",{"_index":57,"name":{"57":{}},"parent":{}}],["getnumberofoutgoingedges",{"_index":62,"name":{"62":{}},"parent":{}}],["getout",{"_index":244,"name":{"313":{}},"parent":{}}],["getunknownid",{"_index":114,"name":{"115":{}},"parent":{}}],["global",{"_index":98,"name":{"100":{}},"parent":{}}],["has",{"_index":198,"name":{"241":{},"253":{},"293":{}},"parent":{}}],["hascycle",{"_index":33,"name":{"35":{}},"parent":{}}],["hasevery",{"_index":199,"name":{"242":{},"254":{}},"parent":{}}],["hasindices",{"_index":99,"name":{"101":{}},"parent":{}}],["hassome",{"_index":200,"name":{"243":{},"255":{}},"parent":{}}],["id",{"_index":156,"name":{"174":{}},"parent":{}}],["ignoreambiguity",{"_index":4,"name":{"3":{},"15":{},"22":{}},"parent":{}}],["ignorecase",{"_index":100,"name":{"102":{}},"parent":{}}],["ignoreorder",{"_index":2,"name":{"2":{},"14":{},"21":{}},"parent":{}}],["in",{"_index":293,"name":{"461":{},"465":{},"561":{},"565":{}},"parent":{}}],["infinitythreshold",{"_index":307,"name":{"494":{},"590":{}},"parent":{}}],["initial",{"_index":42,"name":{"43":{},"312":{},"317":{},"386":{},"392":{},"467":{},"476":{},"567":{},"573":{}},"parent":{}}],["inline",{"_index":7,"name":{"6":{},"12":{}},"parent":{}}],["intersect",{"_index":230,"name":{"291":{}},"parent":{}}],["intersection",{"_index":24,"name":{"26":{}},"parent":{}}],["invert",{"_index":205,"name":{"249":{},"266":{}},"parent":{}}],["isall",{"_index":224,"name":{"282":{}},"parent":{}}],["isdisjointwith",{"_index":234,"name":{"296":{},"335":{},"370":{},"413":{},"441":{},"503":{},"510":{},"546":{}},"parent":{}}],["isempty",{"_index":197,"name":{"240":{},"252":{},"281":{},"302":{},"340":{},"360":{},"417":{},"437":{},"514":{},"535":{}},"parent":{}}],["isfinal",{"_index":45,"name":{"46":{},"60":{},"315":{},"319":{},"401":{},"482":{},"579":{}},"parent":{}}],["isfinite",{"_index":240,"name":{"303":{},"341":{},"361":{},"418":{},"438":{},"515":{},"536":{}},"parent":{}}],["isinitial",{"_index":59,"name":{"59":{}},"parent":{}}],["issubsetof",{"_index":233,"name":{"295":{}},"parent":{}}],["issupersetof",{"_index":232,"name":{"294":{}},"parent":{}}],["iteratestates",{"_index":31,"name":{"33":{}},"parent":{}}],["iteratewordsets",{"_index":65,"name":{"65":{}},"parent":{}}],["js",{"_index":68,"name":{"68":{}},"parent":{"69":{},"70":{},"71":{},"74":{},"76":{},"77":{},"78":{},"80":{},"83":{},"88":{},"91":{},"94":{},"95":{},"98":{},"106":{},"109":{},"116":{},"119":{},"120":{},"123":{}}}],["js.anycharacterset",{"_index":80,"name":{},"parent":{"79":{}}}],["js.digitcharacterset",{"_index":82,"name":{},"parent":{"81":{},"82":{}}}],["js.flags",{"_index":97,"name":{},"parent":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{}}}],["js.literal",{"_index":106,"name":{},"parent":{"107":{},"108":{}}}],["js.parseoptions",{"_index":109,"name":{},"parent":{"110":{},"111":{},"112":{},"113":{},"114":{},"115":{}}}],["js.parser",{"_index":125,"name":{},"parent":{"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{}}}],["js.parseresult",{"_index":121,"name":{},"parent":{"121":{},"122":{}}}],["js.propertycharacterset",{"_index":84,"name":{},"parent":{"84":{},"85":{},"86":{},"87":{}}}],["js.regexppast",{"_index":117,"name":{},"parent":{"117":{},"118":{}}}],["js.spacecharacterset",{"_index":88,"name":{},"parent":{"89":{},"90":{}}}],["js.textboundaryassertion",{"_index":76,"name":{},"parent":{"75":{}}}],["js.toliteraloptions",{"_index":94,"name":{},"parent":{"96":{},"97":{}}}],["js.wordboundaryassertion",{"_index":73,"name":{},"parent":{"72":{},"73":{}}}],["js.wordcharacterset",{"_index":90,"name":{},"parent":{"92":{},"93":{}}}],["key",{"_index":85,"name":{"85":{}},"parent":{}}],["keys",{"_index":202,"name":{"246":{},"268":{}},"parent":{}}],["kind",{"_index":72,"name":{"72":{},"75":{},"79":{},"81":{},"84":{},"89":{},"92":{},"155":{}},"parent":{}}],["languageisfinite",{"_index":34,"name":{"36":{}},"parent":{}}],["lazy",{"_index":150,"name":{"162":{}},"parent":{}}],["linknodes",{"_index":47,"name":{"48":{},"321":{},"395":{},"479":{},"576":{}},"parent":{}}],["list",{"_index":269,"name":{"380":{},"383":{},"459":{},"463":{},"559":{},"563":{}},"parent":{}}],["literal",{"_index":104,"name":{"106":{},"126":{}},"parent":{}}],["makedeterministic",{"_index":38,"name":{"40":{}},"parent":{}}],["makefinal",{"_index":44,"name":{"45":{},"318":{},"400":{},"481":{},"578":{}},"parent":{}}],["makeinitialfinal",{"_index":35,"name":{"37":{}},"parent":{}}],["makeinitialnonfinal",{"_index":36,"name":{"38":{}},"parent":{}}],["map",{"_index":213,"name":{"263":{}},"parent":{}}],["mapfabuilder",{"_index":39,"name":{"41":{}},"parent":{}}],["mapfabuildernode",{"_index":48,"name":{"49":{}},"parent":{}}],["mapout",{"_index":25,"name":{"27":{}},"parent":{}}],["mapoutiter",{"_index":26,"name":{"28":{}},"parent":{}}],["maprange",{"_index":214,"name":{"264":{}},"parent":{}}],["max",{"_index":152,"name":{"164":{},"274":{}},"parent":{}}],["maxbackreferencewords",{"_index":108,"name":{"110":{}},"parent":{}}],["maxcharacter",{"_index":122,"name":{"122":{},"128":{},"231":{},"304":{},"326":{},"342":{},"358":{},"408":{},"419":{},"435":{},"490":{},"516":{},"533":{},"586":{}},"parent":{}}],["maxcharactererror",{"_index":308,"name":{"496":{}},"parent":{"497":{},"498":{}}}],["maximum",{"_index":222,"name":{"279":{}},"parent":{}}],["maxnodes",{"_index":113,"name":{"114":{},"323":{},"329":{},"406":{},"488":{},"495":{},"584":{},"591":{}},"parent":{}}],["maxoptimizationpasses",{"_index":251,"name":{"330":{}},"parent":{}}],["maxpasses",{"_index":192,"name":{"234":{}},"parent":{}}],["mergewithquantifier",{"_index":8,"name":{"7":{}},"parent":{}}],["min",{"_index":151,"name":{"163":{},"273":{}},"parent":{}}],["minimize",{"_index":265,"name":{"375":{}},"parent":{}}],["moveupempty",{"_index":9,"name":{"8":{}},"parent":{}}],["multiline",{"_index":101,"name":{"103":{}},"parent":{}}],["negate",{"_index":74,"name":{"73":{},"82":{},"87":{},"90":{},"93":{},"156":{},"289":{}},"parent":{}}],["nestedquantifiers",{"_index":10,"name":{"9":{}},"parent":{}}],["nfa",{"_index":313,"name":{"524":{},"557":{}},"parent":{"525":{},"526":{},"527":{},"528":{},"529":{},"530":{},"531":{},"532":{},"533":{},"534":{},"535":{},"536":{},"537":{},"538":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"547":{},"548":{},"549":{},"550":{},"551":{},"552":{},"553":{},"554":{},"555":{},"556":{},"558":{},"562":{},"566":{},"570":{},"583":{},"585":{},"587":{}}}],["nfa.creationoptions",{"_index":320,"name":{},"parent":{"584":{}}}],["nfa.fromregexoptions",{"_index":322,"name":{},"parent":{"588":{},"589":{},"590":{},"591":{}}}],["nfa.node",{"_index":317,"name":{},"parent":{"563":{},"564":{},"565":{}}}],["nfa.nodelist",{"_index":319,"name":{},"parent":{"571":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"578":{},"579":{},"580":{},"581":{},"582":{}}}],["nfa.options",{"_index":321,"name":{},"parent":{"586":{}}}],["nfa.readonlynode",{"_index":316,"name":{},"parent":{"559":{},"560":{},"561":{}}}],["nfa.readonlynodelist",{"_index":318,"name":{},"parent":{"567":{},"568":{},"569":{}}}],["node",{"_index":144,"name":{"145":{},"382":{},"462":{},"562":{}},"parent":{}}],["nodelist",{"_index":275,"name":{"389":{},"470":{},"570":{}},"parent":{}}],["nodes",{"_index":253,"name":{"332":{},"357":{},"410":{},"434":{},"507":{},"532":{}},"parent":{}}],["noparent",{"_index":159,"name":{"186":{}},"parent":{}}],["normalize",{"_index":301,"name":{"484":{}},"parent":{}}],["onalternation",{"_index":182,"name":{"223":{}},"parent":{}}],["onalternationenter",{"_index":164,"name":{"191":{},"206":{}},"parent":{}}],["onalternationleave",{"_index":165,"name":{"192":{},"207":{}},"parent":{}}],["onassertion",{"_index":183,"name":{"224":{}},"parent":{}}],["onassertionenter",{"_index":166,"name":{"193":{},"208":{}},"parent":{}}],["onassertionleave",{"_index":167,"name":{"194":{},"209":{}},"parent":{}}],["oncharacterclass",{"_index":184,"name":{"225":{}},"parent":{}}],["oncharacterclassenter",{"_index":168,"name":{"195":{},"210":{}},"parent":{}}],["oncharacterclassleave",{"_index":169,"name":{"196":{},"211":{}},"parent":{}}],["onconcatenation",{"_index":185,"name":{"226":{}},"parent":{}}],["onconcatenationenter",{"_index":170,"name":{"197":{},"212":{}},"parent":{}}],["onconcatenationleave",{"_index":171,"name":{"198":{},"213":{}},"parent":{}}],["onexpression",{"_index":186,"name":{"227":{}},"parent":{}}],["onexpressionenter",{"_index":172,"name":{"199":{},"214":{}},"parent":{}}],["onexpressionleave",{"_index":173,"name":{"200":{},"215":{}},"parent":{}}],["onquantifier",{"_index":187,"name":{"228":{}},"parent":{}}],["onquantifierenter",{"_index":174,"name":{"201":{},"216":{}},"parent":{}}],["onquantifierleave",{"_index":175,"name":{"202":{},"217":{}},"parent":{}}],["onunknown",{"_index":188,"name":{"229":{}},"parent":{}}],["onunknownenter",{"_index":176,"name":{"203":{},"218":{}},"parent":{}}],["onunknownleave",{"_index":177,"name":{"204":{},"219":{}},"parent":{}}],["options",{"_index":254,"name":{"333":{},"359":{},"407":{},"411":{},"436":{},"489":{},"508":{},"534":{},"585":{}},"parent":{}}],["out",{"_index":271,"name":{"381":{},"384":{},"460":{},"464":{},"560":{},"564":{}},"parent":{}}],["parent",{"_index":143,"name":{"144":{},"148":{},"153":{},"160":{},"168":{},"173":{},"178":{},"183":{}},"parent":{}}],["parsableelement",{"_index":118,"name":{"119":{}},"parent":{}}],["parse",{"_index":128,"name":{"129":{}},"parent":{}}],["parseelement",{"_index":129,"name":{"130":{}},"parent":{}}],["parseoptions",{"_index":107,"name":{"109":{}},"parent":{}}],["parser",{"_index":123,"name":{"123":{}},"parent":{}}],["parseresult",{"_index":119,"name":{"120":{}},"parent":{}}],["pattern",{"_index":116,"name":{"117":{}},"parent":{}}],["patternedgeassertions",{"_index":11,"name":{"10":{}},"parent":{}}],["patternedgeassertionscreationoptions",{"_index":12,"name":{"11":{}},"parent":{}}],["pickmostreadablecharacter",{"_index":135,"name":{"136":{}},"parent":{}}],["pickmostreadableword",{"_index":136,"name":{"137":{}},"parent":{}}],["predefinedcharacterset",{"_index":78,"name":{"77":{}},"parent":{}}],["prefixes",{"_index":267,"name":{"377":{},"455":{},"554":{}},"parent":{}}],["prepend",{"_index":289,"name":{"452":{},"551":{}},"parent":{}}],["propertycharacterset",{"_index":83,"name":{"83":{}},"parent":{}}],["quantifier",{"_index":149,"name":{"158":{}},"parent":{"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{}}}],["quantify",{"_index":290,"name":{"454":{},"552":{}},"parent":{}}],["ranges",{"_index":223,"name":{"280":{}},"parent":{}}],["reachableviaepsilon",{"_index":300,"name":{"474":{}},"parent":{}}],["readonlycharmap",{"_index":196,"name":{"239":{}},"parent":{"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{}}}],["readonlydfa",{"_index":252,"name":{"331":{}},"parent":{"332":{},"333":{},"334":{},"335":{},"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{}}}],["readonlyenfa",{"_index":285,"name":{"409":{}},"parent":{"410":{},"411":{},"412":{},"413":{},"414":{},"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{}}}],["readonlynfa",{"_index":312,"name":{"506":{}},"parent":{"507":{},"508":{},"509":{},"510":{},"511":{},"512":{},"513":{},"514":{},"515":{},"516":{},"517":{},"518":{},"519":{},"520":{},"521":{},"522":{},"523":{}}}],["readonlynode",{"_index":268,"name":{"379":{},"458":{},"558":{}},"parent":{}}],["readonlynodelist",{"_index":273,"name":{"385":{},"466":{},"566":{}},"parent":{}}],["readonlyword",{"_index":238,"name":{"300":{}},"parent":{}}],["readonlywordset",{"_index":324,"name":{"593":{}},"parent":{}}],["regexppast",{"_index":115,"name":{"116":{}},"parent":{}}],["remove",{"_index":14,"name":{"13":{}},"parent":{}}],["removeassertionscreationoptions",{"_index":18,"name":{"19":{}},"parent":{}}],["removedeadbranches",{"_index":15,"name":{"16":{}},"parent":{}}],["removedeadstates",{"_index":49,"name":{"50":{}},"parent":{}}],["removeunnecessaryassertions",{"_index":16,"name":{"17":{}},"parent":{}}],["removeunreachable",{"_index":282,"name":{"402":{},"483":{},"580":{}},"parent":{}}],["replaceassertions",{"_index":17,"name":{"18":{}},"parent":{}}],["replacement",{"_index":19,"name":{"20":{}},"parent":{}}],["resolveepsilon",{"_index":298,"name":{"472":{}},"parent":{}}],["reverse",{"_index":315,"name":{"556":{}},"parent":{}}],["set",{"_index":207,"name":{"257":{}},"parent":{}}],["setcharset",{"_index":209,"name":{"259":{}},"parent":{}}],["setparent",{"_index":160,"name":{"187":{}},"parent":{}}],["setrange",{"_index":208,"name":{"258":{}},"parent":{}}],["sets",{"_index":194,"name":{"237":{}},"parent":{}}],["setsource",{"_index":161,"name":{"188":{}},"parent":{}}],["shortestacceptingpath",{"_index":37,"name":{"39":{}},"parent":{}}],["shortestwordset",{"_index":66,"name":{"66":{}},"parent":{}}],["signalmutation",{"_index":190,"name":{"232":{}},"parent":{}}],["simplify",{"_index":112,"name":{"113":{}},"parent":{}}],["size",{"_index":225,"name":{"283":{}},"parent":{}}],["sortassertions",{"_index":21,"name":{"23":{}},"parent":{}}],["source",{"_index":105,"name":{"107":{},"150":{},"157":{},"165":{},"170":{},"175":{},"180":{},"185":{}},"parent":{}}],["sourcelocation",{"_index":139,"name":{"140":{}},"parent":{"141":{},"142":{}}}],["spacecharacterset",{"_index":87,"name":{"88":{}},"parent":{}}],["split",{"_index":195,"name":{"238":{}},"parent":{}}],["stableout",{"_index":245,"name":{"314":{}},"parent":{}}],["start",{"_index":140,"name":{"141":{}},"parent":{}}],["stateiterator",{"_index":255,"name":{"334":{},"362":{},"412":{},"439":{},"509":{},"537":{}},"parent":{}}],["sticky",{"_index":102,"name":{"104":{}},"parent":{}}],["structurallyequal",{"_index":259,"name":{"339":{},"374":{}},"parent":{}}],["suffixes",{"_index":291,"name":{"456":{},"555":{}},"parent":{}}],["symbol.iterator",{"_index":216,"name":{"271":{},"404":{},"486":{},"582":{}},"parent":{}}],["test",{"_index":241,"name":{"305":{},"343":{},"364":{},"420":{},"445":{},"517":{},"540":{}},"parent":{}}],["textboundaryassertion",{"_index":75,"name":{"74":{}},"parent":{}}],["todot",{"_index":50,"name":{"51":{},"310":{},"348":{},"369":{},"425":{},"450":{},"522":{},"545":{}},"parent":{}}],["todotattrs",{"_index":52,"name":{"53":{}},"parent":{}}],["todotinfo",{"_index":58,"name":{"58":{}},"parent":{}}],["todotoptions",{"_index":53,"name":{"54":{}},"parent":{}}],["toliteral",{"_index":91,"name":{"94":{}},"parent":{}}],["toliteraloptions",{"_index":92,"name":{"95":{}},"parent":{}}],["toomanynodeserror",{"_index":310,"name":{"499":{}},"parent":{"500":{},"501":{}}}],["torangesstring",{"_index":226,"name":{"286":{}},"parent":{}}],["toregex",{"_index":63,"name":{"63":{},"309":{},"347":{},"368":{},"424":{},"449":{},"521":{},"544":{}},"parent":{}}],["toregexoptions",{"_index":250,"name":{"328":{}},"parent":{"329":{},"330":{}}}],["tostring",{"_index":64,"name":{"64":{},"285":{},"308":{},"346":{},"367":{},"423":{},"448":{},"520":{},"543":{}},"parent":{}}],["transform",{"_index":180,"name":{"221":{}},"parent":{}}],["transformcontext",{"_index":189,"name":{"230":{}},"parent":{"231":{},"232":{}}}],["transformer",{"_index":181,"name":{"222":{}},"parent":{"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{}}}],["transformers",{"_index":0,"name":{"0":{}},"parent":{"1":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"17":{},"18":{},"19":{},"23":{},"24":{}}}],["transformers.creationoptions",{"_index":3,"name":{},"parent":{"2":{},"3":{}}}],["transformers.patternedgeassertionscreationoptions",{"_index":13,"name":{},"parent":{"12":{},"13":{},"14":{},"15":{}}}],["transformers.removeassertionscreationoptions",{"_index":20,"name":{},"parent":{"20":{},"21":{},"22":{}}}],["transformoptions",{"_index":191,"name":{"233":{}},"parent":{"234":{}}}],["transitioniterable",{"_index":249,"name":{"325":{}},"parent":{"326":{},"327":{}}}],["transitioniterator",{"_index":248,"name":{"324":{},"327":{},"349":{},"363":{},"426":{},"440":{},"523":{},"538":{}},"parent":{}}],["type",{"_index":146,"name":{"147":{},"152":{},"159":{},"167":{},"172":{},"177":{},"182":{}},"parent":{}}],["unicode",{"_index":103,"name":{"105":{}},"parent":{}}],["union",{"_index":229,"name":{"290":{},"453":{},"549":{}},"parent":{}}],["unioncharacters",{"_index":22,"name":{"24":{}},"parent":{}}],["unknown",{"_index":155,"name":{"171":{}},"parent":{"172":{},"173":{},"174":{},"175":{}}}],["unknowns",{"_index":306,"name":{"493":{},"589":{}},"parent":{}}],["unlinknodes",{"_index":281,"name":{"399":{},"480":{},"577":{}},"parent":{}}],["unorderedresolveepsilon",{"_index":299,"name":{"473":{}},"parent":{}}],["value",{"_index":86,"name":{"86":{}},"parent":{}}],["values",{"_index":203,"name":{"247":{},"269":{}},"parent":{}}],["visitast",{"_index":162,"name":{"189":{}},"parent":{}}],["visitasthandler",{"_index":163,"name":{"190":{}},"parent":{"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{}}}],["visitnoparentasthandler",{"_index":178,"name":{"205":{}},"parent":{"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{}}}],["withlimit",{"_index":276,"name":{"390":{},"471":{},"571":{}},"parent":{}}],["without",{"_index":231,"name":{"292":{}},"parent":{}}],["withoutemptyword",{"_index":314,"name":{"553":{}},"parent":{}}],["word",{"_index":237,"name":{"299":{}},"parent":{}}],["wordboundaryassertion",{"_index":71,"name":{"71":{}},"parent":{}}],["wordcharacterset",{"_index":89,"name":{"91":{}},"parent":{}}],["words",{"_index":130,"name":{"131":{},"306":{},"344":{},"366":{},"421":{},"447":{},"518":{},"542":{}},"parent":{"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{}}}],["wordset",{"_index":323,"name":{"592":{}},"parent":{}}],["wordsets",{"_index":242,"name":{"307":{},"345":{},"365":{},"422":{},"446":{},"519":{},"541":{}},"parent":{}}],["wordsetstowords",{"_index":137,"name":{"138":{}},"parent":{}}],["wordsettowords",{"_index":138,"name":{"139":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/v0.9.1/classes/CharBase.html b/docs/v0.9.1/classes/CharBase.html new file mode 100644 index 00000000..c6c0cbb5 --- /dev/null +++ b/docs/v0.9.1/classes/CharBase.html @@ -0,0 +1,280 @@ + + + + + + CharBase | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharBase

+
+
+
+
+
+
+
+
+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty + character sets - the base sets - that can be used to construct every character set in the collection it was + constructed from.

+
+ +

Guarantees

+
+
    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n + is the number of unique, non-empty character sets in the collection, and o is the number of characters in the + union of all character sets in the collection.

    +
  • +
+ +

Use case

+
+

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the + alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. + Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such + that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet + can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • + CharBase +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +

    Create the base sets of the given collection of character sets.

    +
    +

    See CharBase to learn more.

    +
    +
    throws
    +

    RangeError if the collection contains two character sets with different maximums.

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      charSets: Iterable<CharSet>
      +
    • +
    +

    Returns CharBase

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly sets

+
sets: readonly CharSet[]
+ +
+
+

A list of disjoint, non-empty character sets.

+
+

See CharBase to learn more.

+
+
+
+
+

Methods

+
+ +

split

+
    +
  • split(charSet: CharSet): number[]
  • +
+
    +
  • + +
    +
    +

    Splits the given character set into its base sets.

    +
    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The + indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the + assumption is not met, the output of this function will be undefined.

    +
    +

    Parameters

    + +

    Returns number[]

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/CharMap.html b/docs/v0.9.1/classes/CharMap.html new file mode 100644 index 00000000..0824028e --- /dev/null +++ b/docs/v0.9.1/classes/CharMap.html @@ -0,0 +1,834 @@ + + + + + + CharMap | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharMap<T>

+
+
+
+
+
+
+
+
+
+

A map from characters to generic values.

+
+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated + as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + CharMap +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Returns CharMap<T>

    +
  • +
+
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+ +
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<[CharRange, T]>
  • +
+
    +
  • + +

    Returns IterableIterator<[CharRange, T]>

    +
  • +
+
+
+ +

clear

+
    +
  • clear(): void
  • +
+
    +
  • + +
    +
    +

    Deletes all entries in the map.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

delete

+
    +
  • delete(char: Char): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

deleteRange

+ +
    +
  • + +
    +
    +

    Deletes all characters in the given range.

    +
    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

entries

+ + +
+
+ +

filter

+ + +
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

invert

+ +
    +
  • + +
    +
    +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
      +
    • +
    +

    Returns Map<T, CharSet>

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

map

+ + +
+
+ +

mapRange

+ + +
+
+ +

set

+
    +
  • set(char: Char, value: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      char: Char
      +
    • +
    • +
      value: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setCharSet

+
    +
  • setCharSet(charSet: CharSet, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given character set.

    +
    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setRange

+
    +
  • setRange(chars: CharRange, value: T): void
  • +
+
    +
  • + +
    +
    +

    Sets the value for all characters in the given range.

    +
    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +

    Parameters

    +
      +
    • +
      chars: CharRange
      +
    • +
    • +
      value: T
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

values

+
    +
  • values(): IterableIterator<T>
  • +
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/CharSet.html b/docs/v0.9.1/classes/CharSet.html new file mode 100644 index 00000000..ad4c7831 --- /dev/null +++ b/docs/v0.9.1/classes/CharSet.html @@ -0,0 +1,837 @@ + + + + + + CharSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CharSet

+
+
+
+
+
+
+
+
+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+
+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • + CharSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maximum

+
maximum: Char
+ +
+
+

The greatest character which can be element of the set.

+
+
+
+
+ +

Readonly ranges

+
ranges: readonly CharRange[]
+ +
+
+

An array of ranges representing this character set.

+
+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+
+

Accessors

+
+ +

isAll

+
    +
  • get isAll(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in + the set.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns true if this set doesn't contain any characters.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of unique characters in the set.

    +
    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

characters

+
    +
  • characters(): Iterable<Char>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable of all characters in this set.

    +
    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
  • +
+
+
+ +

commonCharacter

+ +
    +
  • + +
    +
    +

    Returns any one of the common characters of this set and the given set or range.

    +
    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +

    Parameters

    + +

    Returns undefined | Char

    +
  • +
+
+
+ +

compare

+
    +
  • compare(other: CharSet): number
  • +
+
    +
  • + +
    +
    +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are + always guaranteed to return 0.

    +
    +

    The order defined by this function is guaranteed to be a + total order. Apart from this, no other guarantees are given.

    +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

equals

+
    +
  • equals(other: CharSet): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this and the given character set are equivalent.

    +
    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They have the same number of char ranges.
    4. +
    5. For every CharRange in this set, there exists one CharRange in the other set with the same minimum and + maximum.
    6. +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

has

+
    +
  • has(character: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

intersect

+ +
    +
  • + +
    +
    +

    Returns the intersection of this set and the given set + and character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

isSubsetOf

+ + +
+
+ +

isSupersetOf

+ + +
+
+ +

negate

+ +
    +
  • + +
    +
    +

    Returns the complement of this set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +

    Returns CharSet

    +
  • +
+
+
+ +

toRangesString

+
    +
  • toRangesString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the ranges of this character set.

    +
    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    +ranges = range *( ", " range )
    +range  = +hex [ ".." +hex ]
    +hex    = "a" | "b" | "c" | "d" | "e" | "f" | digit
    +digit  = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of the character set.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

union

+ +
    +
  • + +
    +
    +

    Returns the union of this set and all given sets and + character ranges.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the + maximum of one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

without

+ +
    +
  • + +
    +
    +

    Returns a set that contains all characters of this set that are not in the given set.

    +
    +

    The returned set will have the same maximum as this set.

    +
    +
    throws
    +

    RangeError If the maximum of the given set differs from the maximum of this set or if the maximum of + one of the given ranges is greater than the maximum of this set.

    +
    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
  • + +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which can be element of the set.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+ +

Static fromCharacters

+ +
    +
  • + +
    +
    +

    Returns a character set which contains the given characters.

    +
    +
    +
    throws
    +

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +
      +

      A sorted collection of characters.

      +
      +
    • +
    +

    Returns CharSet

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/DFA.NodeList.html b/docs/v0.9.1/classes/DFA.NodeList.html new file mode 100644 index 00000000..1e84cb47 --- /dev/null +++ b/docs/v0.9.1/classes/DFA.NodeList.html @@ -0,0 +1,626 @@ + + + + + + NodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): IterableIterator<Node>
  • +
+
    +
  • + +

    Returns IterableIterator<Node>

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharRange

+
    +
  • _uncheckedLinkNodesWithCharRange(from: Node, to: Node, characters: CharRange): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharSet

+
    +
  • _uncheckedLinkNodesWithCharSet(from: Node, to: Node, characters: CharSet): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

_uncheckedLinkNodesWithCharacter

+
    +
  • _uncheckedLinkNodesWithCharacter(from: Node, to: Node, character: Char): void
  • +
+
    +
  • + +
    +
    +
    internal
    +
    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/DFA.html b/docs/v0.9.1/classes/DFA.html new file mode 100644 index 00000000..bf657ddb --- /dev/null +++ b/docs/v0.9.1/classes/DFA.html @@ -0,0 +1,985 @@ + + + + + + DFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DFA

+
+
+
+
+
+
+
+
+ +

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + DFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

complement

+
    +
  • complement(): void
  • +
+
    +
  • + +
    +
    +

    Complements this DFA.

    +
    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this + function.

    +
    +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

minimize

+
    +
  • minimize(): void
  • +
+
    +
  • + +
    +
    +

    Minimizes this DFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns DFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ +
    +
  • + +
    +
    +

    Returns a new DFA which is equivalent to the intersection of the two given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns DFA

    +
  • +
+
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/ENFA.NodeList.html b/docs/v0.9.1/classes/ENFA.NodeList.html new file mode 100644 index 00000000..08dbea04 --- /dev/null +++ b/docs/v0.9.1/classes/ENFA.NodeList.html @@ -0,0 +1,838 @@ + + + + + + NodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

final

+
final: Node
+ +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

normalize

+
    +
  • normalize(): void
  • +
+
    +
  • + +
    +
    +

    Changes the nodes, so that the initial state has no incoming transitions and that the final state has no + outgoing transitions.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static reachableViaEpsilon

+ +
    +
  • + +
    +
    +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in + the given direction. The returned set is guaranteed to always contain the given node.

    +
    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = ENFA.NodeList.reachableViaEpsilon(final, "in");
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    +

    Returns Set<Node>

    +
  • +
  • + +

    Parameters

    + +

    Returns Set<ReadonlyNode>

    +
  • +
+
+
+ +

Static resolveEpsilon

+
    +
  • resolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • resolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static unorderedResolveEpsilon

+
    +
  • unorderedResolveEpsilon(node: Node, direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void
  • +
  • unorderedResolveEpsilon(node: ReadonlyNode, direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void
  • +
+
    +
  • + +
    +
    +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +
    +

    The order in which the consumer function will be called for the pair is implementation-defined. Only use this + if the order of nodes is irrelevant.

    +
    +

    Parameters

    +
      +
    • +
      node: Node
      +
    • +
    • +
      direction: "in" | "out"
      +
    • +
    • +
      consumerFn: (charSet: CharSet, node: Node) => void
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/ENFA.html b/docs/v0.9.1/classes/ENFA.html new file mode 100644 index 00000000..157ed460 --- /dev/null +++ b/docs/v0.9.1/classes/ENFA.html @@ -0,0 +1,1105 @@ + + + + + + ENFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class ENFA

+
+
+
+
+
+
+
+
+
+

A nondeterministic finite automaton with epsilon + transitions.

+
+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript + Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different + state machines in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + ENFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of this ENFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the concatenation of the given FA and this ENFA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number, lazy?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +
    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be + modified to accept <this>|<other>.

    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns ENFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new ENFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns ENFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/FAIterators.MapFABuilder.html b/docs/v0.9.1/classes/FAIterators.MapFABuilder.html new file mode 100644 index 00000000..ebb3361d --- /dev/null +++ b/docs/v0.9.1/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,453 @@ + + + + + + MapFABuilder | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MapFABuilder

+
+
+
+
+
+
+
+
+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+
+

Hierarchy

+
    +
  • + MapFABuilder +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new MapFABuilder(maxNodes?: number, kind?: string): MapFABuilder
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      maxNodes: number = ...
      +
    • +
    • +
      Optional kind: string
      +
    • +
    +

    Returns MapFABuilder

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<MapFABuilderNode> = ...
+ +
+
+ +

Readonly initial

+
initial: MapFABuilderNode = ...
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

createNode

+ + +
+
+ +

isFinal

+ +
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+ +
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/JS.Parser.html b/docs/v0.9.1/classes/JS.Parser.html new file mode 100644 index 00000000..1ec5c6f8 --- /dev/null +++ b/docs/v0.9.1/classes/JS.Parser.html @@ -0,0 +1,423 @@ + + + + + + Parser | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Parser

+
+
+
+
+
+
+
+
+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+
+

Hierarchy

+
    +
  • + Parser +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly ast

+ + +
+
+

The parsed AST of the literal this parser works on.

+
+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations + based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +

Readonly literal

+
literal: Literal
+ +
+
+

The literal of the parser instance.

+
+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the parsed AST.

+
+

This value will also be returned as part of the ParseResult.

+
+
+
+
+

Methods

+
+ +

parse

+ +
    +
  • + +
    +
    +

    Parsed the entire literal.

    +
    +

    For more information on parsing, see parseElement.

    +
    +

    Parameters

    + +

    Returns ParseResult

    +
  • +
+
+
+ +

parseElement

+ + +
+
+ +

Static fromAst

+ +
    +
  • + +
    +
    +

    Creates a new parser from the given regexpp AST.

    +
    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex + again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +

    Parameters

    + +

    Returns Parser

    +
  • +
+
+
+ +

Static fromLiteral

+
    +
  • fromLiteral(literal: Literal, parserOptions?: Options): Parser
  • +
+
    +
  • + +
    +
    +

    Creates a new parser from the given literal.

    +
    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the + given RegExp parser options.

    +
    +

    Parameters

    +
      +
    • +
      literal: Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
      +
      +
    • +
    +

    Returns Parser

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/MaxCharacterError.html b/docs/v0.9.1/classes/MaxCharacterError.html new file mode 100644 index 00000000..72f46e44 --- /dev/null +++ b/docs/v0.9.1/classes/MaxCharacterError.html @@ -0,0 +1,223 @@ + + + + + + MaxCharacterError | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MaxCharacterError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+
+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be + the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + MaxCharacterError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns MaxCharacterError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(a: Char | { maxCharacter: Char }, b: Char | { maxCharacter: Char }, kind?: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | { maxCharacter: Char }
      +
    • +
    • +
      b: Char | { maxCharacter: Char }
      +
    • +
    • +
      Optional kind: string
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/NFA.NodeList.html b/docs/v0.9.1/classes/NFA.NodeList.html new file mode 100644 index 00000000..6f65bc7a --- /dev/null +++ b/docs/v0.9.1/classes/NFA.NodeList.html @@ -0,0 +1,543 @@ + + + + + + NodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NodeList

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeList +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly finals

+
finals: Set<Node> = ...
+ +
+
+

The set of final states of this list.

+
+
+
+
+ +

Readonly initial

+
initial: Node
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+
+
+
+
+

Methods

+
+ +

[Symbol.iterator]

+
    +
  • [Symbol.iterator](): Iterator<Node, any, undefined>
  • +
+
    +
  • + +

    Returns Iterator<Node, any, undefined>

    +
  • +
+
+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+ +

createNode

+
    +
  • createNode(): Node
  • +
+
    +
  • + +
    +
    +

    Creates a new node associated with this node list.

    +
    +
    +

    Returns Node

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(state: Node): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

linkNodes

+ +
    +
  • + +
    +
    +

    Adds a transition from from to to using the given non-empty set of characters.

    +
    +

    If two nodes are already linked, the character sets will be combined.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

makeFinal

+
    +
  • makeFinal(state: Node): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: Node
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeUnreachable

+
    +
  • removeUnreachable(): void
  • +
+
    +
  • + +
    +
    +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be + removed.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unlinkNodes

+
    +
  • unlinkNodes(from: Node, to: Node): void
  • +
+
    +
  • + +
    +
    +

    Removes the transition from from to to.

    +
    +

    If there is no transition from from to to, an error will be thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Static withLimit

+
    +
  • withLimit(maxNodes: number, consumerFn: (nodeList: NodeList) => void): NodeList
  • +
+
    +
  • + +
    +
    +

    Creates and returns a new node list that is only allowed to create a certain number of nodes during the + execution of the given consumer function.

    +
    +

    After this function returns, the limit no longer applies.

    +
    +

    Parameters

    +
      +
    • +
      maxNodes: number
      +
    • +
    • +
      consumerFn: (nodeList: NodeList) => void
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns NodeList

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/NFA.html b/docs/v0.9.1/classes/NFA.html new file mode 100644 index 00000000..4e05d641 --- /dev/null +++ b/docs/v0.9.1/classes/NFA.html @@ -0,0 +1,1184 @@ + + + + + + NFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NFA

+
+
+
+
+
+
+
+
+ +

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple + CharSet.union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • + NFA +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+
nodes: NodeList
+ +
+
+
+

Accessors

+
+ +

isEmpty

+
    +
  • get isEmpty(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

isFinite

+
    +
  • get isFinite(): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +
    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
  • +
+
+
+ +

options

+
    +
  • get options(): Readonly<Options>
  • +
+ +
+
+
+

Methods

+
+ +

append

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

prefixes

+
    +
  • prefixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

prepend

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

quantify

+
    +
  • quantify(min: number, max: number): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +
    +

    Both min and max both have to be non-negative integers with min <= max. + max is also allowed to be Infinity.

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverse

+
    +
  • reverse(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

suffixes

+
    +
  • suffixes(): void
  • +
+
    +
  • + +
    +
    +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +
    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

transitionIterator

+ + +
+
+ +

union

+ +
    +
  • + +
    +
    +

    Modifies this NFA to accept all words from this NFA and the given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

withoutEmptyWord

+
    +
  • withoutEmptyWord(): void
  • +
+
    +
  • + +
    +
    +

    Removes the empty word from the accepted languages of this NFA.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

Static all

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all words.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static empty

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: Readonly<Options>
      +
      +
      +
    • +
    +

    Returns NFA

    +
  • +
+
+
+ +

Static fromFA

+ + +
+
+ +

Static fromIntersection

+ +
    +
  • + +
    +
    +

    Returns a new NFA which is equivalent to the intersection of the two given FA.

    +
    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+ +

Static fromRegex

+ + +
+
+ +

Static fromTransitionIterator

+ + +
+
+ +

Static fromWords

+ +
    +
  • + +
    +
    +

    Creates a new NFA which matches all and only all of the given words.

    +
    +
    +

    Parameters

    + +

    Returns NFA

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/classes/TooManyNodesError.html b/docs/v0.9.1/classes/TooManyNodesError.html new file mode 100644 index 00000000..c6e59ffd --- /dev/null +++ b/docs/v0.9.1/classes/TooManyNodesError.html @@ -0,0 +1,224 @@ + + + + + + TooManyNodesError | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TooManyNodesError

+
+
+
+
+
+
+
+
+
+

An error that is thrown when an operation causes too many nodes to be created.

+
+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in + the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely + abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • + Error +
      +
    • + TooManyNodesError +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional message: string
      +
    • +
    +

    Returns TooManyNodesError

    +
  • +
+
+
+
+

Methods

+
+ +

Static assert

+
    +
  • assert(current: number, limit: number, kind: string): void
  • +
+
    +
  • + +
    +
    +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/index.html b/docs/v0.9.1/index.html new file mode 100644 index 00000000..9000a1b8 --- /dev/null +++ b/docs/v0.9.1/index.html @@ -0,0 +1,534 @@ + + + + + + refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.9.1

+
+
+
+
+
+
+
+ +

Regular Expressions and Finite Automata (refa)

+
+

Actions Status + npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+ +

About

+
+

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+ +

Installation

+
+

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+ +

Features

+
+
    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print graph in DOT format or a human-readable form
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+ +

RE AST format

+
+

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+ +

Universal characters

+
+

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+ +

General limitations

+
+

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+ +

Usage examples

+
+

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";
+
+function toNFA(regex: RegExp): NFA {
+    const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+    return NFA.fromRegex(expression, { maxCharacter });
+}
+function toDFA(regex: RegExp): DFA {
+    return DFA.fromFA(toNFA(regex));
+}
+function toRegExp(fa: FiniteAutomaton): RegExp {
+    const literal = JS.toLiteral(fa.toRegex());
+    return new RegExp(literal.source, literal.flags);
+}
+
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+ +

Testing whether a word is accepted

+
+
import { Words } from "refa";
+
+const regex = /\w+\d+/;
+const nfa = toNFA(regex);
+
+console.log(nfa.test(Words.fromStringToUTF16("abc")));
+// => false
+console.log(nfa.test(Words.fromStringToUTF16("123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("abc123")));
+// => true
+console.log(nfa.test(Words.fromStringToUTF16("123abc")));
+// => false
+
+ +

Finding the intersection of two JS RegExps

+
+
const regex1 = /a+B+c+/i;
+const regex2 = /Ab*C\d?/;
+
+const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));
+
+console.log(toRegExp(intersection));
+// => /Ab+C/
+
+ +

Finding the complement of a JS RegExp

+
+
const regex = /a+b*/i;
+
+const dfa = toDFA(regex);
+dfa.complement();
+
+console.log(toRegExp(dfa));
+// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i
+
+ +

Converting a JS RegExp to an NFA

+
+

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+ +

Backreferences

+
+

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
+// => /".*"|'.*'/i
+
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
+// Error: Backreferences are not supported.
+
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
+const { expression } =
+    JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: 'foo', flags: '' }
+
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+ +

Assertions

+
+

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+NFA.fromRegex(expression, { maxCharacter });
+// Error: Assertions are not supported yet.
+
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } =
+    JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });
+
+console.log(JS.toLiteral(expression));
+// => { source: '->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter });
+console.log(toRegExp(nfa));
+// => /->/i
+
+
+

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
+console.log(toRegExp(nfa));
+// => /->/i
+
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The details about the transformers used in this example can be found in their documentation.

+
import { combineTransformers, JS, NFA, transform, Transformers } from "refa";
+
+const regex = /\b(?!\d)\w+\b|->/;
+const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
+
+console.log(JS.toLiteral(expression));
+// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }
+
+const applyTransformer = combineTransformers([
+    Transformers.inline(),
+    Transformers.removeDeadBranches(),
+    Transformers.removeUnnecessaryAssertions(),
+    Transformers.sortAssertions(),
+    Transformers.applyAssertions(),
+    Transformers.removeUnnecessaryAssertions(),
+]);
+const modifiedExpression = transform(applyTransformer, expression);
+
+console.log(JS.toLiteral(modifiedExpression));
+// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }
+
+// Most assertions have been removed but the patterns are still equivalent.
+// The only assertions left assert characters beyond the edge of the pattern.
+// Removing those assertions is easy but slightly changes the pattern.
+
+const finalExpression = transform(
+    Transformers.patternEdgeAssertions({ remove: true }),
+    modifiedExpression
+);
+
+console.log(JS.toLiteral(finalExpression));
+// => { source: '[A-Z_]\\w*|->', flags: 'i' }
+
+const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
+
+console.log(JS.toLiteral(nfa.toRegex()));
+// => { source: '->|[A-Z_]\\w*', flags: 'i' }
+
+

AST transformers can handle a lot of assertions but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST.

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Alternation.html b/docs/v0.9.1/interfaces/Alternation.html new file mode 100644 index 00000000..92692efc --- /dev/null +++ b/docs/v0.9.1/interfaces/Alternation.html @@ -0,0 +1,191 @@ + + + + + + Alternation | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Alternation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Alternation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Alternation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Assertion.html b/docs/v0.9.1/interfaces/Assertion.html new file mode 100644 index 00000000..72b1c73e --- /dev/null +++ b/docs/v0.9.1/interfaces/Assertion.html @@ -0,0 +1,213 @@ + + + + + + Assertion | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Assertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Assertion +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

kind

+
kind: "ahead" | "behind"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Assertion"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/CharRange.html b/docs/v0.9.1/interfaces/CharRange.html new file mode 100644 index 00000000..e0cb97ac --- /dev/null +++ b/docs/v0.9.1/interfaces/CharRange.html @@ -0,0 +1,181 @@ + + + + + + CharRange | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharRange

+
+
+
+
+
+
+
+
+
+

An immutable interval of Chars with inclusive ends.

+
+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • + CharRange +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly max

+
max: Char
+ +
+
+

The inclusive maximum of the interval.

+
+

This value has to be greater or equal to min.

+
+
+
+ +

Readonly min

+
min: Char
+ +
+
+

The inclusive minimum of the interval.

+
+

This value has to be less or equal to max.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/CharacterClass.html b/docs/v0.9.1/interfaces/CharacterClass.html new file mode 100644 index 00000000..26156bb0 --- /dev/null +++ b/docs/v0.9.1/interfaces/CharacterClass.html @@ -0,0 +1,191 @@ + + + + + + CharacterClass | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CharacterClass

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + CharacterClass +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

characters

+
characters: CharSet
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "CharacterClass"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Concatenation.html b/docs/v0.9.1/interfaces/Concatenation.html new file mode 100644 index 00000000..291a144f --- /dev/null +++ b/docs/v0.9.1/interfaces/Concatenation.html @@ -0,0 +1,191 @@ + + + + + + Concatenation | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Concatenation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Concatenation +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

elements

+
elements: Element[]
+ +
+
+ +

parent

+
parent: Parent
+ +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Concatenation"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/DFA.CreationOptions.html b/docs/v0.9.1/interfaces/DFA.CreationOptions.html new file mode 100644 index 00000000..8c371e9f --- /dev/null +++ b/docs/v0.9.1/interfaces/DFA.CreationOptions.html @@ -0,0 +1,218 @@ + + + + + + CreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a DFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the DFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the DFA creation operation may create as many nodes as + necessary to construct the DFA. This might cause the machine to run out of memory. I.e. the conversion from + NFA to DFA may create O(2^n) many nodes and an intersection may created O(n * m) many.

+

Note: This limit describes the maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/DFA.Node.html b/docs/v0.9.1/interfaces/DFA.Node.html new file mode 100644 index 00000000..72db6148 --- /dev/null +++ b/docs/v0.9.1/interfaces/DFA.Node.html @@ -0,0 +1,207 @@ + + + + + + Node | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/DFA.Options.html b/docs/v0.9.1/interfaces/DFA.Options.html new file mode 100644 index 00000000..8e7d09fc --- /dev/null +++ b/docs/v0.9.1/interfaces/DFA.Options.html @@ -0,0 +1,195 @@ + + + + + + Options | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/DFA.ReadonlyNode.html b/docs/v0.9.1/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 00000000..71c7ed6c --- /dev/null +++ b/docs/v0.9.1/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,205 @@ + + + + + + ReadonlyNode | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/DFA.ReadonlyNodeList.html b/docs/v0.9.1/interfaces/DFA.ReadonlyNodeList.html new file mode 100644 index 00000000..48b5cc20 --- /dev/null +++ b/docs/v0.9.1/interfaces/DFA.ReadonlyNodeList.html @@ -0,0 +1,244 @@ + + + + + + ReadonlyNodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.CreationOptions.html b/docs/v0.9.1/interfaces/ENFA.CreationOptions.html new file mode 100644 index 00000000..d0d1d55b --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.CreationOptions.html @@ -0,0 +1,226 @@ + + + + + + CreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a ENFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.FromRegexOptions.html b/docs/v0.9.1/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 00000000..3449289c --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,295 @@ + + + + + + FromRegexOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw"
+ +
+
+

How to handle assertions when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the ENFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the ENFA creation operation may create as many nodes as + necessary to construct the ENFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the ENFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.Node.html b/docs/v0.9.1/interfaces/ENFA.Node.html new file mode 100644 index 00000000..c13a5971 --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.Node.html @@ -0,0 +1,222 @@ + + + + + + Node | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, null | CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.Options.html b/docs/v0.9.1/interfaces/ENFA.Options.html new file mode 100644 index 00000000..0541f80d --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.Options.html @@ -0,0 +1,198 @@ + + + + + + Options | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.ReadonlyNode.html b/docs/v0.9.1/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 00000000..f4474ce4 --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,219 @@ + + + + + + ReadonlyNode | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, null | CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ENFA.ReadonlyNodeList.html b/docs/v0.9.1/interfaces/ENFA.ReadonlyNodeList.html new file mode 100644 index 00000000..d212e704 --- /dev/null +++ b/docs/v0.9.1/interfaces/ENFA.ReadonlyNodeList.html @@ -0,0 +1,263 @@ + + + + + + ReadonlyNodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly final

+ + +
+
+

The final state of this list.

+
+

The final state is fixed an cannot be changed or removed.

+

This state is not allowed to have any outgoing transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+

The initial state of this list.

+
+

The initial state is fixed an cannot be changed or removed.

+

This state is not allowed to have any incoming transitions.

+

The initial and final state are guaranteed to be two different states.

+
+
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Expression.html b/docs/v0.9.1/interfaces/Expression.html new file mode 100644 index 00000000..fdc2850f --- /dev/null +++ b/docs/v0.9.1/interfaces/Expression.html @@ -0,0 +1,191 @@ + + + + + + Expression | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Expression

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Expression +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

parent

+
parent: null
+ +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Expression"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FABuilder.html b/docs/v0.9.1/interfaces/FABuilder.html new file mode 100644 index 00000000..83069240 --- /dev/null +++ b/docs/v0.9.1/interfaces/FABuilder.html @@ -0,0 +1,328 @@ + + + + + + FABuilder | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FABuilder<S, T>

+
+
+
+
+
+
+
+
+
+

An FA builder has the responsibility of constructing a finite automata.

+
+

The constructed FA is always owned by the builder.

+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state.

    +
    +
    +
  • +
  • +

    T

    +
    +
    +

    The transition type of the values linking states.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FABuilder +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+
+

Methods

+
+ +

Readonly createNode

+
    +
  • createNode(): S
  • +
+
    +
  • + +
    +
    +

    Creates a new state owned by the builder.

    +
    +
    +
    throws
    +

    TooManyNodesError + May be thrown if the number of created nodes exceeds some limit.

    +
    +
    +
    +

    Returns S

    +
  • +
+
+
+ +

Readonly isFinal

+
    +
  • isFinal(state: S): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This operation is assumed to be semantically equivalent to FAIterator.isFinal.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

Readonly linkNodes

+
    +
  • linkNodes(from: S, to: S, transition: T): void
  • +
+
    +
  • + +
    +
    +

    Links to the two given states using the given transition.

    +
    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +

    Parameters

    +
      +
    • +
      from: S
      +
    • +
    • +
      to: S
      +
    • +
    • +
      transition: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Readonly makeFinal

+
    +
  • makeFinal(state: S): void
  • +
+
    +
  • + +
    +
    +

    Makes the given state behave like a final state of this FA.

    +
    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not + necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FACreationOptions.html b/docs/v0.9.1/interfaces/FACreationOptions.html new file mode 100644 index 00000000..f0bf09ad --- /dev/null +++ b/docs/v0.9.1/interfaces/FACreationOptions.html @@ -0,0 +1,173 @@ + + + + + + FACreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FACreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the operation is allowed to create before throwing a TooManyNodesError.

+
+

If the maximum number of nodes is unset or set to Infinity, the operation may create as many nodes as + necessary. This might cause the machine to run out of memory.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FAIterator.html b/docs/v0.9.1/interfaces/FAIterator.html new file mode 100644 index 00000000..17778423 --- /dev/null +++ b/docs/v0.9.1/interfaces/FAIterator.html @@ -0,0 +1,285 @@ + + + + + + FAIterator | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FAIterator<S, O>

+
+
+
+
+
+
+
+
+
+

A graph iterator for all states of an FA with final states.

+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
    +
    +

    The type of a state in the FA to iterate.

    +
    +
    +
  • +
  • +

    O = Iterable<S>

    +
    +
    +

    The type of the value each state maps to.

    +
    +
    +
  • +
+
+
+

Hierarchy

+
    +
  • + FAIterator +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly initial

+
initial: S
+ +
+
+

The initial state of the FA.

+
+
+
+
+ +

Optional Readonly stableOut

+
stableOut: boolean
+ +
+
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+
+

Stable means that if getOut gets called for the same state more than once, it will always return the same + value.

+

The sameness of states is defined by + the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the + collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of + the iterator.

+
+
default
+

false

+
+
+
+
+
+
+

Methods

+
+ +

Readonly getOut

+
    +
  • getOut(state: S): O
  • +
+
    +
  • + +
    +
    +

    Returns the value a state maps to.

    +
    +
    +
    see
    +

    stableOut

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns O

    +
  • +
+
+
+ +

Readonly isFinal

+
    +
  • isFinal(state: S): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given state is a final state.

    +
    +

    This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be + sufficiently fast, usually O(1) can be assumed.

    +
    +

    Parameters

    +
      +
    • +
      state: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FAIterators.ToDotInfo.html b/docs/v0.9.1/interfaces/FAIterators.ToDotInfo.html new file mode 100644 index 00000000..cf560ae4 --- /dev/null +++ b/docs/v0.9.1/interfaces/FAIterators.ToDotInfo.html @@ -0,0 +1,348 @@ + + + + + + ToDotInfo | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotInfo<S>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotInfo +
  • +
+
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

getId

+
    +
  • getId(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

getNumberOfOutgoingEdges

+
    +
  • getNumberOfOutgoingEdges(node: S): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

isFinal

+
    +
  • isFinal(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

isInitial

+
    +
  • isInitial(node: S): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: S
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FAIterators.ToDotOptions.html b/docs/v0.9.1/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 00000000..c07d0d9f --- /dev/null +++ b/docs/v0.9.1/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,336 @@ + + + + + + ToDotOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    S

    +
  • +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + ToDotOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

getEdgeAttributes

+
    +
  • getEdgeAttributes(transition: T, nth: number, from: S, to: S, info: ToDotInfo<S>): Readonly<ToDotAttrs>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      transition: T
      +
    • +
    • +
      nth: number
      +
    • +
    • +
      from: S
      +
    • +
    • +
      to: S
      +
    • +
    • +
      info: ToDotInfo<S>
      +
    • +
    +

    Returns Readonly<ToDotAttrs>

    +
  • +
+
+
+ +

Optional getGraphAttributes

+ + +
+
+ +

Optional getNodeAttributes

+ +
    +
  • + +

    Parameters

    + +

    Returns Readonly<ToDotAttrs>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/FiniteAutomaton.html b/docs/v0.9.1/interfaces/FiniteAutomaton.html new file mode 100644 index 00000000..7b03f64f --- /dev/null +++ b/docs/v0.9.1/interfaces/FiniteAutomaton.html @@ -0,0 +1,399 @@ + + + + + + FiniteAutomaton | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FiniteAutomaton

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+
+

Methods

+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.AnyCharacterSet.html b/docs/v0.9.1/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 00000000..11b5b37b --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,231 @@ + + + + + + AnyCharacterSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface AnyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + AnyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "any"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.DigitCharacterSet.html b/docs/v0.9.1/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 00000000..da4659c2 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + DigitCharacterSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface DigitCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + DigitCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "digit"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.Flags.html b/docs/v0.9.1/interfaces/JS.Flags.html new file mode 100644 index 00000000..6751899a --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.Flags.html @@ -0,0 +1,353 @@ + + + + + + Flags | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Flags

+
+
+
+
+
+
+
+
+
+

A partial set of RegExp flags.

+
+
+
+
+

Hierarchy

+
    +
  • + Flags +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional dotAll

+
dotAll: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional global

+
global: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional hasIndices

+
hasIndices: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreCase

+
ignoreCase: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional multiline

+
multiline: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional sticky

+
sticky: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+ +

Optional unicode

+
unicode: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.Literal.html b/docs/v0.9.1/interfaces/JS.Literal.html new file mode 100644 index 00000000..802ad1c4 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.Literal.html @@ -0,0 +1,251 @@ + + + + + + Literal | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Literal

+
+
+
+
+
+
+
+
+
+

A light-weight representation of a + JavaScript RegExp object.

+
+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • + Literal +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: string
+ +
+
+ +

Readonly source

+
source: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.ParseOptions.html b/docs/v0.9.1/interfaces/JS.ParseOptions.html new file mode 100644 index 00000000..fab8c41c --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.ParseOptions.html @@ -0,0 +1,411 @@ + + + + + + ParseOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw" | "unknown" | "parse"
+ +
+
+

How the parser will handle assertions.

+
+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions + (e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all + paths containing a assertion to be (effectively) removed.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the + assertion.

    +
  • +
+
+
default
+

"parse"

+
+
+
+
+
+ +

Optional backreferences

+
backreferences: "disable" | "throw" | "unknown"
+ +
+
+

How to the parser will handle unresolved backreferences.

+
+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing + a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because + of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will + be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional maxBackreferenceWords

+
maxBackreferenceWords: number
+ +
+
+

The maximum number of words a backreference can be replaced by.

+
+

Set this to 0 to disable resolving backreferences.

+
+
default
+

100

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the parser is allowed to create.

+
+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional simplify

+
simplify: boolean
+ +
+
+

By default, the parser will try to simplify the generated RE as much as possible.

+
+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, + or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually + good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
default
+

true

+
+
+
+
+
+
+

Methods

+
+ +

Optional getUnknownId

+
    +
  • getUnknownId(element: Backreference | Assertion): string
  • +
+
    +
  • + +
    +
    +

    Unknown nodes have an id property that can be used to identify the element that created the unknown. This + function can be used to control the id value.

    +
    +

    By default, the raw of the element will be used as its id.

    +
    +

    Parameters

    +
      +
    • +
      element: Backreference | Assertion
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.ParseResult.html b/docs/v0.9.1/interfaces/JS.ParseResult.html new file mode 100644 index 00000000..b99b9aa1 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.ParseResult.html @@ -0,0 +1,242 @@ + + + + + + ParseResult | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ParseResult

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ParseResult +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

expression

+
expression: Expression
+ +
+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.PropertyCharacterSet.html b/docs/v0.9.1/interfaces/JS.PropertyCharacterSet.html new file mode 100644 index 00000000..4bcd8435 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.PropertyCharacterSet.html @@ -0,0 +1,264 @@ + + + + + + PropertyCharacterSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PropertyCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + PropertyCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

key

+
key: string
+ +
+
+ +

kind

+
kind: "property"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+ +

value

+
value: null | string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.RegexppAst.html b/docs/v0.9.1/interfaces/JS.RegexppAst.html new file mode 100644 index 00000000..a1a3b2e0 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.RegexppAst.html @@ -0,0 +1,242 @@ + + + + + + RegexppAst | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RegexppAst

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RegexppAst +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly flags

+
flags: Flags
+ +
+
+ +

Readonly pattern

+
pattern: Pattern
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.SpaceCharacterSet.html b/docs/v0.9.1/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 00000000..3732edd2 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + SpaceCharacterSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SpaceCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "space"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.9.1/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 00000000..174c0094 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,231 @@ + + + + + + TextBoundaryAssertion | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TextBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "end" | "start"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.ToLiteralOptions.html b/docs/v0.9.1/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 00000000..3a45b1e3 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,265 @@ + + + + + + ToLiteralOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToLiteralOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToLiteralOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fastCharacters

+
fastCharacters: boolean
+ +
+
+

This will force the function to print characters as fast as possible.

+
+

Literals created with this option will usually be created about 10x faster but the result will usually be very + hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
default
+

false

+
+
+
+
+
+ +

Optional flags

+
flags: Flags
+ +
+
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+
+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that + are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are + given, the implementation will generally try to choose flags such that it can create a literal that is as + small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.9.1/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 00000000..345bcfbf --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,242 @@ + + + + + + WordBoundaryAssertion | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordBoundaryAssertion

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordBoundaryAssertion +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/JS.WordCharacterSet.html b/docs/v0.9.1/interfaces/JS.WordCharacterSet.html new file mode 100644 index 00000000..f125e731 --- /dev/null +++ b/docs/v0.9.1/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,242 @@ + + + + + + WordCharacterSet | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface WordCharacterSet

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + WordCharacterSet +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

kind

+
kind: "word"
+ +
+
+ +

negate

+
negate: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.CreationOptions.html b/docs/v0.9.1/interfaces/NFA.CreationOptions.html new file mode 100644 index 00000000..7293c8ab --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.CreationOptions.html @@ -0,0 +1,226 @@ + + + + + + CreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+
+
+

Options for the constraints on how a NFA will be created.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.FromRegexOptions.html b/docs/v0.9.1/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 00000000..085c7d8d --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,295 @@ + + + + + + FromRegexOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FromRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional assertions

+
assertions: "disable" | "throw"
+ +
+
+

How to handle assertions when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+ +

Optional infinityThreshold

+
infinityThreshold: number
+ +
+
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+
+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. + Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
default
+

Infinity

+
+
+
+
+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of nodes the NFA creation operation is allowed to create before throwing a + TooManyNodesError.

+
+

If the maximum number of nodes is set to Infinity, the NFA creation operation may create as many nodes as + necessary to construct the NFA. This might cause the machine to run out of memory. I.e. some REs can only be + represented with a huge number of states (e.g /a{123456789}/).

+

Note: This limit describes maximum number of created nodes. If nodes are created and subsequently + discard, they will still count toward the limit.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional unknowns

+
unknowns: "disable" | "throw"
+ +
+
+

How to handle unknowns when construction the NFA.

+
+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
default
+

"throw"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.Node.html b/docs/v0.9.1/interfaces/NFA.Node.html new file mode 100644 index 00000000..50f5c574 --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.Node.html @@ -0,0 +1,222 @@ + + + + + + Node | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Node

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: Map<Node, CharSet>
+ +
+
+ +

Readonly list

+
list: NodeList
+ +
+
+ +

Readonly out

+
out: Map<Node, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.Options.html b/docs/v0.9.1/interfaces/NFA.Options.html new file mode 100644 index 00000000..cb56b74f --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.Options.html @@ -0,0 +1,198 @@ + + + + + + Options | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Options

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum numerical value any character can have.

+
+

This will be the maximum of all underlying CharSets.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.ReadonlyNode.html b/docs/v0.9.1/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 00000000..b7b2edc6 --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,219 @@ + + + + + + ReadonlyNode | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNode

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ReadonlyNode + +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly in

+
in: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+ +

Readonly list

+ + +
+
+ +

Readonly out

+
out: ReadonlyMap<ReadonlyNode, CharSet>
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/NFA.ReadonlyNodeList.html b/docs/v0.9.1/interfaces/NFA.ReadonlyNodeList.html new file mode 100644 index 00000000..66a3905b --- /dev/null +++ b/docs/v0.9.1/interfaces/NFA.ReadonlyNodeList.html @@ -0,0 +1,247 @@ + + + + + + ReadonlyNodeList | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNodeList

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly finals

+
finals: ReadonlySet<ReadonlyNode>
+ +
+
+ +

Readonly initial

+
initial: ReadonlyNode
+ +
+
+
+

Methods

+
+ +

count

+
    +
  • count(): number
  • +
+
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state including the initial state.

    +
    +

    This may include trap states. This will not include unreachable final states.

    +

    This operation has to traverse the whole graph and runs in O(E + V).

    +
    +

    Returns number

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Quantifier.html b/docs/v0.9.1/interfaces/Quantifier.html new file mode 100644 index 00000000..a78479aa --- /dev/null +++ b/docs/v0.9.1/interfaces/Quantifier.html @@ -0,0 +1,224 @@ + + + + + + Quantifier | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Quantifier

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Quantifier +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

alternatives

+
alternatives: Concatenation[]
+ +
+
+ +

lazy

+
lazy: boolean
+ +
+
+ +

max

+
max: number
+ +
+
+ +

min

+
min: number
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Quantifier"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ReadonlyCharMap.html b/docs/v0.9.1/interfaces/ReadonlyCharMap.html new file mode 100644 index 00000000..dbdeaa17 --- /dev/null +++ b/docs/v0.9.1/interfaces/ReadonlyCharMap.html @@ -0,0 +1,449 @@ + + + + + + ReadonlyCharMap | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Iterable<[CharRange, T]> +
      +
    • + ReadonlyCharMap +
    • +
    +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+
+

Methods

+
+ +

entries

+ +
    +
  • + +

    Parameters

    + +

    Returns Iterable<[CharRange, T]>

    +
  • +
+
+
+ +

forEach

+ +
    +
  • + +
    +
    +

    Invokes the given callback for every item of the character map.

    +
    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every + possible.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

get

+
    +
  • get(char: Char): undefined | T
  • +
+
    +
  • + +
    +
    +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns undefined | T

    +
  • +
+
+
+ +

has

+
    +
  • has(char: Char): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      char: Char
      +
      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

hasEvery

+ +
    +
  • + +
    +
    +

    Returns whether every character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

hasSome

+ +
    +
  • + +
    +
    +

    Returns whether some character in the given range is a key in the map.

    +
    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

invert

+ +
    +
  • + +
    +
    +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
      +
    • +
    +

    Returns Map<T, CharSet>

    +
  • +
+
+
+ +

keys

+ + +
+
+ +

values

+
    +
  • values(): Iterable<T>
  • +
+
    +
  • + +

    Returns Iterable<T>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ReadonlyDFA.html b/docs/v0.9.1/interfaces/ReadonlyDFA.html new file mode 100644 index 00000000..bea104da --- /dev/null +++ b/docs/v0.9.1/interfaces/ReadonlyDFA.html @@ -0,0 +1,661 @@ + + + + + + ReadonlyDFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyDFA

+
+
+
+
+
+
+
+
+
+

A readonly DFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): DFA
  • +
+
    +
  • + +
    +
    +

    Creates a new DFA equivalent to this one.

    +
    +
    +

    Returns DFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

structurallyEqual

+ +
    +
  • + +
    +
    +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are + equal.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ReadonlyENFA.html b/docs/v0.9.1/interfaces/ReadonlyENFA.html new file mode 100644 index 00000000..f7980503 --- /dev/null +++ b/docs/v0.9.1/interfaces/ReadonlyENFA.html @@ -0,0 +1,632 @@ + + + + + + ReadonlyENFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyENFA

+
+
+
+
+
+
+
+
+
+

A readonly ENFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+ +
    +
  • + +
    +
    +

    Create a mutable copy of this ENFA.

    +
    +
    +

    Returns ENFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ReadonlyNFA.html b/docs/v0.9.1/interfaces/ReadonlyNFA.html new file mode 100644 index 00000000..2c7fa077 --- /dev/null +++ b/docs/v0.9.1/interfaces/ReadonlyNFA.html @@ -0,0 +1,629 @@ + + + + + + ReadonlyNFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ReadonlyNFA

+
+
+
+
+
+
+
+
+
+

A readonly NFA.

+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Readonly isEmpty

+
isEmpty: boolean
+ +
+
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+
+ +

Readonly isFinite

+
isFinite: boolean
+ +
+
+

Returns whether the formal language accepted by this FA contains finitely many words.

+
+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with + 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+
+ +

Readonly nodes

+ + +
+
+ +

Readonly options

+
options: Readonly<Options>
+ +
+
+
+

Methods

+
+ +

copy

+
    +
  • copy(): NFA
  • +
+
    +
  • + +
    +
    +

    Create a mutable copy of this NFA.

    +
    +
    +

    Returns NFA

    +
  • +
+
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWordSets(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    This is equivalent to getIntersectionWords(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    This is equivalent to isDisjointWith(this, other, options) (free function).

    +
    +
    +
    deprecated
    +

    Use the equivalent free function instead.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

stateIterator

+ + +
+
+ +

test

+ +
    +
  • + +
    +
    +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +
      +

      The characters of the word to test.

      +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

toDot

+
    +
  • toDot(charSetToString?: (charSet: CharSet) => string): string
  • +
+
    +
  • + +
    +
    +

    Returns the string representation of this FA in the + DOT format.

    +
    +

    The output of this function can passed to any graph visualization program. This can be a + local installation or an online editor.

    +

    By default, a hexadecimal range form will be used to represent CharSets. It's possible to provide a + custom stringify function using the charSetToString parameter.

    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: (charSet: CharSet) => string
      +
      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    + +

    Returns NoParentNode<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +
    +
    +

    Returns a string representation of this FA.

    +
    +
    +

    Returns string

    +
  • +
+
+
+ +

Readonly transitionIterator

+ + +
+
+ +

wordSets

+
    +
  • wordSets(): Iterable<WordSet>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +
    +

    If you analyse the words of this FA, consider using this method instead of words because this method will yield + at most O(n^3) word sets while words will yield at most O(n^3 * m) words (n = number of states, m = number + of possible characters).

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

words

+
    +
  • words(): Iterable<Word>
  • +
+
    +
  • + +
    +
    +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +
    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/SourceLocation.html b/docs/v0.9.1/interfaces/SourceLocation.html new file mode 100644 index 00000000..7119fae9 --- /dev/null +++ b/docs/v0.9.1/interfaces/SourceLocation.html @@ -0,0 +1,161 @@ + + + + + + SourceLocation | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SourceLocation

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + SourceLocation +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

end

+
end: number
+ +
+
+ +

start

+
start: number
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/ToRegexOptions.html b/docs/v0.9.1/interfaces/ToRegexOptions.html new file mode 100644 index 00000000..7a9ecd61 --- /dev/null +++ b/docs/v0.9.1/interfaces/ToRegexOptions.html @@ -0,0 +1,181 @@ + + + + + + ToRegexOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ToRegexOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + ToRegexOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxNodes

+
maxNodes: number
+ +
+
+

The maximum number of RE AST nodes the implementation is allowed to create.

+
+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This + maximum will be check before any optimization passes.

+
+
default
+

10000

+
+
+
+
+
+ +

Optional maxOptimizationPasses

+
maxOptimizationPasses: number
+ +
+
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+
+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize + the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/TransformContext.html b/docs/v0.9.1/interfaces/TransformContext.html new file mode 100644 index 00000000..97f0e12b --- /dev/null +++ b/docs/v0.9.1/interfaces/TransformContext.html @@ -0,0 +1,188 @@ + + + + + + TransformContext | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformContext

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformContext +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+

The maximum character of all character sets in the AST.

+
+

If the expression to transform does not contain any characters at the start of the transformation, then this + value will be 0.

+
+
+
+
+

Methods

+
+ +

Readonly signalMutation

+
    +
  • signalMutation(): void
  • +
+
    +
  • + +
    +
    +

    Signals that the transformer changed the AST.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/TransformOptions.html b/docs/v0.9.1/interfaces/TransformOptions.html new file mode 100644 index 00000000..d65c4cc4 --- /dev/null +++ b/docs/v0.9.1/interfaces/TransformOptions.html @@ -0,0 +1,162 @@ + + + + + + TransformOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransformOptions

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + TransformOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional maxPasses

+
maxPasses: number
+ +
+
+

The maximum number of times the transformer will be applied to the AST.

+
+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified + anymore.

+
+
default
+

10

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Transformer.html b/docs/v0.9.1/interfaces/Transformer.html new file mode 100644 index 00000000..e872fd66 --- /dev/null +++ b/docs/v0.9.1/interfaces/Transformer.html @@ -0,0 +1,340 @@ + + + + + + Transformer | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Transformer

+
+
+
+
+
+
+
+
+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. + They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure + functions.

+
+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change + the given AST.

+
+
+
+

Hierarchy

+
    +
  • + Transformer +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternation

+ + +
+
+ +

Optional onAssertion

+ + +
+
+ +

Optional onCharacterClass

+ + +
+
+ +

Optional onConcatenation

+ + +
+
+ +

Optional onExpression

+ + +
+
+ +

Optional onQuantifier

+ + +
+
+ +

Optional onUnknown

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Transformers.CreationOptions.html b/docs/v0.9.1/interfaces/Transformers.CreationOptions.html new file mode 100644 index 00000000..e9794b1c --- /dev/null +++ b/docs/v0.9.1/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,256 @@ + + + + + + CreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.9.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 00000000..d9067bfc --- /dev/null +++ b/docs/v0.9.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,291 @@ + + + + + + PatternEdgeAssertionsCreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional inline

+
inline: boolean
+ +
+
+
default
+

true

+
+
+
+
+
+ +

Optional remove

+
remove: boolean
+ +
+
+
default
+

false

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.9.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 00000000..7de2fff5 --- /dev/null +++ b/docs/v0.9.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,273 @@ + + + + + + RemoveAssertionsCreationOptions | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional ignoreAmbiguity

+
ignoreAmbiguity: boolean
+ +
+
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional ignoreOrder

+
ignoreOrder: boolean
+ +
+
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. + This may cause the behavior of the regex to change.

+
+
+
default
+

false

+
+
+
+
+
+ +

Optional replacement

+
replacement: "empty-set" | "empty-word"
+ +
+
+
default
+

"empty-set"

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/TransitionIterable.html b/docs/v0.9.1/interfaces/TransitionIterable.html new file mode 100644 index 00000000..bea9b197 --- /dev/null +++ b/docs/v0.9.1/interfaces/TransitionIterable.html @@ -0,0 +1,202 @@ + + + + + + TransitionIterable | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TransitionIterable<T>

+
+
+
+
+
+
+
+
+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly maxCharacter

+
maxCharacter: Char
+ +
+
+
+

Methods

+
+ +

Readonly transitionIterator

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/Unknown.html b/docs/v0.9.1/interfaces/Unknown.html new file mode 100644 index 00000000..de14ca4c --- /dev/null +++ b/docs/v0.9.1/interfaces/Unknown.html @@ -0,0 +1,191 @@ + + + + + + Unknown | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Unknown

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + NodeBase +
      +
    • + Unknown +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

id

+
id: string
+ +
+
+ +

parent

+ + +
+
+ +

Optional source

+ + +
+
+ +

type

+
type: "Unknown"
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/VisitAstHandler.html b/docs/v0.9.1/interfaces/VisitAstHandler.html new file mode 100644 index 00000000..afcaca92 --- /dev/null +++ b/docs/v0.9.1/interfaces/VisitAstHandler.html @@ -0,0 +1,475 @@ + + + + + + VisitAstHandler | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: Assertion): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: Unknown): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/interfaces/VisitNoParentAstHandler.html b/docs/v0.9.1/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 00000000..1021a0f7 --- /dev/null +++ b/docs/v0.9.1/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,475 @@ + + + + + + VisitNoParentAstHandler | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + VisitNoParentAstHandler +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

Optional onAlternationEnter

+
    +
  • onAlternationEnter(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAlternationLeave

+
    +
  • onAlternationLeave(node: NoParentNode<Alternation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionEnter

+
    +
  • onAssertionEnter(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onAssertionLeave

+
    +
  • onAssertionLeave(node: NoParentNode<Assertion>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassEnter

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onCharacterClassLeave

+ +
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationEnter

+
    +
  • onConcatenationEnter(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onConcatenationLeave

+
    +
  • onConcatenationLeave(node: NoParentNode<Concatenation>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionEnter

+
    +
  • onExpressionEnter(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onExpressionLeave

+
    +
  • onExpressionLeave(node: NoParentNode<Expression>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierEnter

+
    +
  • onQuantifierEnter(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onQuantifierLeave

+
    +
  • onQuantifierLeave(node: NoParentNode<Quantifier>): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownEnter

+
    +
  • onUnknownEnter(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Optional onUnknownLeave

+
    +
  • onUnknownLeave(node: NoParentNode<Unknown>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      node: NoParentNode<Unknown>
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules.html b/docs/v0.9.1/modules.html new file mode 100644 index 00000000..584449f0 --- /dev/null +++ b/docs/v0.9.1/modules.html @@ -0,0 +1,877 @@ + + + + + + refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+

refa - v0.9.1

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Char

+
Char: number & { __char?: never }
+ +
+
+

A character is a non-negative integer.

+
+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or + Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even + text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+
+ +

Element

+ + +
+
+ +

NoParent

+
NoParent<T>: T extends NodeIdent ? NoParentNode<T> : T extends unknown[] ? NoParentArray<T> : T
+ +
+
+

A view of an AST node that hides the parent property.

+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Node

+ + +
+
+ +

Parent

+ + +
+
+ +

ReadonlyWord

+
ReadonlyWord: readonly Char[]
+ +
+
+

An immutable finite sequence of Chars.

+
+

This is an immutable view on a Word.

+
+
+
+ +

ReadonlyWordSet

+
ReadonlyWordSet: readonly CharSet[]
+ +
+
+

An immutable finite sequence of non-empty CharSets.

+
+

This is an immutable view on a WordSet.

+
+
+
+ +

TransitionIterator

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+ +
+
+

An FAIterator where transitions are map of states to character sets.

+
+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Word

+
Word: Char[]
+ +
+
+

A word is finite sequence of Chars.

+
+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on + Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string + representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+ +

WordSet

+
WordSet: CharSet[]
+ +
+
+

A word set is finite sequence of non-empty CharSets.

+
+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary + because it's not practical to represent the large character sets used in every-day regexes using single characters. + Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an + FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
+

Functions

+
+ +

combineTransformers

+ +
    +
  • + +
    +
    +

    Creates a new transformer that performs all given transformers in sequentially order.

    +
    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are + given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

getIntersectionIterator

+ + +
+
+ +

getIntersectionWordSets

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be + yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

getIntersectionWords

+ +
    +
  • + +
    +
    +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +
    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in + any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

isDisjointWith

+ +
    +
  • + +
    +
    +

    Returns whether the languages of this and the other FA are disjoint.

    +
    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other + FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

setParent

+
    +
  • setParent<T>(node: T | NoParent<T>, parent: T["parent"]): asserts node is T
  • +
+
    +
  • + +
    +
    +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type parameters

    + +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +
      +

      The parent of node.

      +
      +
    • +
    +

    Returns asserts node is T

    +
  • +
+
+
+ +

setSource

+ +
    +
  • + +
    +
    +

    Sets the source property of the given node and all of its child nodes.

    +
    +

    If source is not a function, then the source object will be copied for all source properties to be set. The + object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

transform

+ +
    +
  • + +
    +
    +

    Transforms the given expression according to the given transformer.

    +
    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

visitAst

+ +
    +
  • + +
    +
    +

    Calls the given visitor on the given node and all of its children.

    +
    +

    If the given visitor throws an error, the traversal will stop and the error will be re-thrown.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/DFA.html b/docs/v0.9.1/modules/DFA.html new file mode 100644 index 00000000..53dc7529 --- /dev/null +++ b/docs/v0.9.1/modules/DFA.html @@ -0,0 +1,181 @@ + + + + + + DFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace DFA

+
+
+
+
+
+
+
+
+
+

A namespace for DFA-specific classes and interfaces.

+
+
+
see
+

DFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/ENFA.html b/docs/v0.9.1/modules/ENFA.html new file mode 100644 index 00000000..662ec7bb --- /dev/null +++ b/docs/v0.9.1/modules/ENFA.html @@ -0,0 +1,185 @@ + + + + + + ENFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace ENFA

+
+
+
+
+
+
+
+
+
+

A namespace for ENFA-specific classes and interfaces.

+
+
+
see
+

ENFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/FAIterators.html b/docs/v0.9.1/modules/FAIterators.html new file mode 100644 index 00000000..30b33be2 --- /dev/null +++ b/docs/v0.9.1/modules/FAIterators.html @@ -0,0 +1,1324 @@ + + + + + + FAIterators | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace FAIterators

+
+
+
+
+
+
+
+
+
+

Contains algorithms consuming and producing FAIterators.

+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+ +
+
+ +

ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+ +
+
+
+

Functions

+
+ +

approximateRejectingWordSet

+ +
    +
  • + +
    +
    +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +
    +

    If the iterator accepts all words, undefined will be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential + worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns + undefined instead.

    +
    +
    throws
    +

    if the set of input characters is empty.

    +
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    • +
    +

    Returns WordSet | undefined

    +
  • +
+
+
+ +

canReachFinal

+
    +
  • canReachFinal<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

count

+ +
    +
  • + +
    +
    +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

createSimpleToDotOptions

+
    +
  • createSimpleToDotOptions<S, T>(toString: (transition: T) => string, ordered?: boolean): ToDotOptions<S, T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      toString: (transition: T) => string
      +
        +
      • +
          +
        • (transition: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            transition: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
    • +
    +

    Returns ToDotOptions<S, T>

    +
  • +
+
+
+ +

ensureStableOut

+ +
    +
  • + +
    +
    +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

filterOutIter

+
    +
  • filterOutIter<S, O>(iter: FAIterator<S, Iterable<O>>, conditionFn: (out: O) => boolean): FAIterator<S, Iterable<O>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: (out: O) => boolean
      +
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns boolean

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<O>>

    +
  • +
+
+
+ +

forEach

+
    +
  • forEach<S>(iter: FAIterator<S>, consumerFn?: (state: S) => void): void
  • +
+
    +
  • + +
    +
    +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state + exactly once.

    +
    +

    The order in which states are traversed is implementation-defined.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S>
      +
    • +
    • +
      Optional consumerFn: (state: S) => void
      +
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            state: S
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

hasCycle

+ +
    +
  • + +
    +
    +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

intersection

+ +
    +
  • + +
    +
    +

    A lazy intersection algorithm that will use the given FA builder to construct the intersection FA as the returned + iterator is used to traverse the FA.

    +
    +

    To construct the whole intersection FA, simply traverse the entire iterator.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      L

      +
    • +
    • +

      R

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, S>

    +
  • +
+
+
+ +

iterateStates

+
    +
  • iterateStates<S>(iter: FAIterator<S>): Iterable<S>
  • +
+
    +
  • + +
    +
    +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +
    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<S>

    +
  • +
+
+
+ +

iterateWordSets

+ +
    +
  • + +
    +
    +

    Iterates all word sets of the given FA.

    +
    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns Iterable<WordSet>

    +
  • +
+
+
+ +

languageIsFinite

+
    +
  • languageIsFinite<S>(iter: FAIterator<S>): boolean
  • +
+
    +
  • + +
    +
    +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

makeDeterministic

+ +
    +
  • + +
    +
    +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +
    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +

    Type parameters

    +
      +
    • +

      B

      +
    • +
    • +

      I

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<B, B>

    +
  • +
+
+
+ +

makeInitialFinal

+ +
    +
  • + +
    +
    +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be + final.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

makeInitialNonFinal

+ +
    +
  • + +
    +
    +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be + non-final.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    + +

    Returns FAIterator<S, O>

    +
  • +
+
+
+ +

mapOut

+ +
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, T>

    +
  • +
+
+
+ +

mapOutIter

+
    +
  • mapOutIter<S, O, T>(iter: FAIterator<S, Iterable<O>>, mapFn: (out: O) => T): FAIterator<S, Iterable<T>>
  • +
+
    +
  • + +
    +
    +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: (out: O) => T
      +
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            out: O
            +
          • +
          +

          Returns T

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, Iterable<T>>

    +
  • +
+
+
+ +

removeDeadStates

+
    +
  • removeDeadStates<S, O>(iter: FAIterator<S, Iterable<O>>, select: (item: O) => S): FAIterator<S, O[]>
  • +
+
    +
  • + +
    +
    +

    Removes all dead states (and trap states) from the given iterator.

    +
    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      O

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: (item: O) => S
      +
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            item: O
            +
          • +
          +

          Returns S

          +
        • +
        +
      • +
      +
    • +
    +

    Returns FAIterator<S, O[]>

    +
  • +
+
+
+ +

shortestAcceptingPath

+
    +
  • shortestAcceptingPath<S, T>(iter: FAIterator<S, Iterable<T>>, selectState: (item: T) => S): T[] | undefined
  • +
+
    +
  • + +
    +
    +

    Returns any one of the shortest paths accepted by the given iterator.

    +
    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: (item: T) => S
      +
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            item: T
            +
          • +
          +

          Returns S

          +
        • +
        +
      • +
      +
    • +
    +

    Returns T[] | undefined

    +
  • +
+
+
+ +

shortestWordSet

+ +
    +
  • + +
    +
    +

    Returns any one of the shortest word sets accepted by the given iterator.

    +
    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns WordSet | undefined

    +
  • +
+
+
+ +

toDot

+ +
    +
  • + +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

toRegex

+ +
    +
  • + +
    +
    +

    Returns a regular expression for the given iterator.

    +
    +

    null transitions are assumed to be epsilon transitions.

    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    +

    Parameters

    + +

    Returns NoParent<Expression>

    +
  • +
+
+
+ +

toString

+
    +
  • toString<S, T>(iter: FAIterator<S, Iterable<[S, T]>>, toString?: (value: T) => string, ordered?: boolean): string
  • +
+
    +
  • + +
    +
    +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +
    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be + mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their + transition string. The number of states will be surrounded by brackets - square brackets for final states and round + brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native + String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +

    Type parameters

    +
      +
    • +

      S

      +
    • +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: (value: T) => string = ...
      +
        +
      • +
          +
        • (value: T): string
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            value: T
            +
          • +
          +

          Returns string

          +
        • +
        +
      • +
      +
    • +
    • +
      ordered: boolean = false
      +
      +
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/JS.html b/docs/v0.9.1/modules/JS.html new file mode 100644 index 00000000..a208953e --- /dev/null +++ b/docs/v0.9.1/modules/JS.html @@ -0,0 +1,381 @@ + + + + + + JS | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace JS

+
+
+
+
+
+
+
+
+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+
+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the + ECMAScript standard.

+
+
see
+

Parser: A class to convert from JS RegExp to refa AST.

+
+
see
+

toLiteral: A function to convert from refa AST to JS RegExp.

+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

BoundaryAssertion

+ + +
+
+ +

ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+ +
+
+ +

PredefinedCharacterSet

+ + +
+
+
+

Functions

+
+ +

createAssertion

+ + +
+
+ +

createCharSet

+ +
    +
  • + +
    +
    +

    Creates a new character set with the characters equivalent to a JavaScript regular expression character set.

    +
    +
    +

    Parameters

    + +

    Returns CharSet

    +
  • +
+
+
+ +

toLiteral

+ +
    +
  • + +
    +
    +

    Converts the given AST or AST subtree into a JS literal.

    +
    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to + builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +

    Parameters

    + +

    Returns Literal

    +
  • +
  • + +

    Parameters

    + +

    Returns Literal

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/NFA.html b/docs/v0.9.1/modules/NFA.html new file mode 100644 index 00000000..25641f82 --- /dev/null +++ b/docs/v0.9.1/modules/NFA.html @@ -0,0 +1,185 @@ + + + + + + NFA | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace NFA

+
+
+
+
+
+
+
+
+
+

A namespace for NFA-specific classes and interfaces.

+
+
+
see
+

NFA (class)

+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/Transformers.html b/docs/v0.9.1/modules/Transformers.html new file mode 100644 index 00000000..ea5fb440 --- /dev/null +++ b/docs/v0.9.1/modules/Transformers.html @@ -0,0 +1,602 @@ + + + + + + Transformers | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Transformers

+
+
+
+
+
+
+
+
+
+

Contains all AST transformer implementations of refa.

+
+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. + This can be used to control the behavior of the created transformers.

+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

applyAssertions

+ +
    +
  • + +
    +
    +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in + assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

factorOut

+ +
    +
  • + +
    +
    +

    This will factor out common prefixes and suffixes in parent nodes.

    +
    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious + case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty + alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

inline

+ +
    +
  • + +
    +
    +

    This transformer will simplify the AST by doing trivial inlining operations.

    +
    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

mergeWithQuantifier

+ +
    +
  • + +
    +
    +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +
    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

moveUpEmpty

+ +
    +
  • + +
    +
    +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression + such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the + sub-expression to accept the empty string moves closer to the root of the tree.

    +
    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

nestedQuantifiers

+ +
    +
  • + +
    +
    +

    This merges/optimizes nested quantifiers.

    +
    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If + order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

patternEdgeAssertions

+ +
    +
  • + +
    +
    +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +
    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) + and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which + may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) + in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => + a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeDeadBranches

+ +
    +
  • + +
    +
    +

    This removes dead branches in the AST.

    +
    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will + be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

removeUnnecessaryAssertions

+ +
    +
  • + +
    +
    +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

replaceAssertions

+ +
    +
  • + +
    +
    +

    This transformer will all assertions with either the empty set or the empty word.

    +
    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

sortAssertions

+ +
    +
  • + +
    +
    +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +
    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+ +

unionCharacters

+ +
    +
  • + +
    +
    +

    Combines single-character alternatives.

    +
    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +

    Parameters

    + +

    Returns Transformer

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/docs/v0.9.1/modules/Words.html b/docs/v0.9.1/modules/Words.html new file mode 100644 index 00000000..a3ef13eb --- /dev/null +++ b/docs/v0.9.1/modules/Words.html @@ -0,0 +1,401 @@ + + + + + + Words | refa - v0.9.1 + + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Namespace Words

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

fromStringToUTF16

+
    +
  • fromStringToUTF16(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of UTF16 character codes.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromStringToUnicode

+
    +
  • fromStringToUnicode(string: string): Word
  • +
+
    +
  • + +
    +
    +

    Converts the given string into an array of Unicode code points.

    +
    +

    All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    +
      +
    • +
      string: string
      +
      +
      +
    • +
    +

    Returns Word

    +
  • +
+
+
+ +

fromUTF16ToString

+ +
    +
  • + +
    +
    +

    Converts the given array of UTF16 character codes into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

fromUnicodeToString

+ +
    +
  • + +
    +
    +

    Converts the given array of Unicode code points into a string.

    +
    +

    All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive).

    +
    +

    Parameters

    + +

    Returns string

    +
  • +
+
+
+ +

pickMostReadableCharacter

+
    +
  • pickMostReadableCharacter(set: CharSet): Char | undefined
  • +
+
    +
  • + +
    +
    +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely + implementation-defined but, generally, word characters will be picked over non-word characters and printable + characters will be picked over non-printable characters.

    +
    +

    If the given character set is empty, undefined will be returned.

    +
    +

    Parameters

    + +

    Returns Char | undefined

    +
  • +
+
+
+ +

pickMostReadableWord

+ +
    +
  • + +
    +
    +

    Returns a word of the given word set that is the most humanly readable.

    +
    +
    +

    Parameters

    + +

    Returns Word

    +
  • +
+
+
+ +

wordSetToWords

+ +
    +
  • + +
    +
    +

    Returns an iterable yielding all words that can be constructed from the given word set.

    +
    +
    +
    deprecated
    +

    Use wordSetsToWords instead.

    +
    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+ +

wordSetsToWords

+ +
    +
  • + +
    +
    +

    Returns an iterable yielding all words that can be constructed from the given word sets.

    +
    +
    +

    Parameters

    + +

    Returns Iterable<Word>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
+
    +
  • Static method
  • +
+
+
+
+
+ + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 4251670e..00000000 --- a/package-lock.json +++ /dev/null @@ -1,9025 +0,0 @@ -{ - "name": "refa", - "version": "0.12.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "refa", - "version": "0.12.1", - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.8.0" - }, - "devDependencies": { - "@rollup/plugin-node-resolve": "^9.0.0", - "@types/chai": "^4.2.22", - "@types/mocha": "^9.0.0", - "@types/node": "^12.20.13", - "@typescript-eslint/eslint-plugin": "^6.4.1", - "@typescript-eslint/parser": "^6.4.1", - "@unicode/unicode-15.0.0": "^1.4.2", - "chai": "^4.3.4", - "dependency-cruiser": "^12.3.0", - "dts-bundle": "^0.7.3", - "eslint": "^8.47.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-jsdoc": "^46.5.0", - "eslint-plugin-prettier": "^4.2.1", - "mocha": "^9.1.3", - "nyc": "^15.1.0", - "prettier": "^2.8.7", - "rimraf": "^3.0.2", - "rollup": "^2.47.0", - "rollup-plugin-terser": "^7.0.2", - "ts-node": "^10.9.1", - "typedoc": "^0.24.8", - "typescript": "^5.0.2" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.0.tgz", - "integrity": "sha512-iV7Gwg0DePKvdDZZWRTkj4MW+6/AbVWd4ZCg+zk8H1RVt5xBpUZS6vLQWwb3pyLg4BFTaGiQCPoJ4Ibmbne4fA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.0", - "@babel/helper-module-transforms": "^7.12.0", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.12.0", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.0.tgz", - "integrity": "sha512-I0d/bgzgzgLsJMk7UZ0TN2KV3OGjC/t/9Saz8PKb9jrcEAXhgjGysOgp4PDKydIKjUv/gj2St4ae+ov8l+T9Xg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.0.tgz", - "integrity": "sha512-1ZTMoCiLSzTJLbq7mSaTHki4oIrBIf/dUbzdhwTrvtMU3ZNVKwQmGae3gSiqppo7G8HAgnXmc43rfEaD8yYLLQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.0", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.0.tgz", - "integrity": "sha512-9kycFdq2c9e7PXZOr2z/ZqTFF9OzFu287iFwYS+CiDVPuoTCfY8hoTsIqNQNetQjlqoRsRyJFrMG1uhGAR4EEw==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.0", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", - "dev": true, - "dependencies": { - "comment-parser": "1.4.0", - "esquery": "^1.5.0", - "jsdoc-type-pratt-parser": "~4.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", - "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true - }, - "node_modules/@types/chai": { - "version": "4.2.22", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", - "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", - "dev": true - }, - "node_modules/@types/detect-indent": { - "version": "0.1.30", - "resolved": "https://registry.npmjs.org/@types/detect-indent/-/detect-indent-0.1.30.tgz", - "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "5.0.30", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", - "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/mkdirp": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", - "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=", - "dev": true - }, - "node_modules/@types/mocha": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", - "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "12.20.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz", - "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/type-utils": "6.4.1", - "@typescript-eslint/utils": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", - "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz", - "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz", - "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/utils": "6.4.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz", - "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz", - "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", - "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", - "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.4.1", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "node_modules/@unicode/unicode-15.0.0": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@unicode/unicode-15.0.0/-/unicode-15.0.0-1.4.2.tgz", - "integrity": "sha512-3fo/fuLTw9QXB7RSs7qdy6q8OLdFdmiv1M7uwXB2wx7pxYP+4xDLjLKcx10nvdS2vdJuLP5/oEskqCGozfY2tQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-jsx-walk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx-walk/-/acorn-jsx-walk-2.0.0.tgz", - "integrity": "sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==", - "dev": true - }, - "node_modules/acorn-loose": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.3.0.tgz", - "integrity": "sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==", - "dev": true, - "dependencies": { - "acorn": "^8.5.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", - "dev": true - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "dependencies": { - "default-require-extensions": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", - "dev": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "dependencies": { - "strip-bom": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/default-require-extensions/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-cruiser": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-12.3.0.tgz", - "integrity": "sha512-izkszSM6NmVe5a/Y5IZSbMEFKAyF4XlrmTJXUcjQS92yBIk65qx2bUlKdlCEzFND9U+BMu80JGljh4NYLDRNVQ==", - "dev": true, - "dependencies": { - "acorn": "8.8.1", - "acorn-jsx": "5.3.2", - "acorn-jsx-walk": "2.0.0", - "acorn-loose": "8.3.0", - "acorn-walk": "8.2.0", - "ajv": "8.11.2", - "chalk": "^4.1.2", - "commander": "9.4.1", - "enhanced-resolve": "5.12.0", - "figures": "^3.2.0", - "get-stream": "^6.0.1", - "glob": "7.2.0", - "handlebars": "4.7.7", - "indent-string": "^4.0.0", - "interpret": "^3.1.0", - "is-installed-globally": "0.4.0", - "json5": "2.2.2", - "lodash": "4.17.21", - "prompts": "2.4.2", - "rechoir": "^0.8.0", - "safe-regex": "2.1.1", - "semver": "^7.3.7", - "semver-try-require": "6.0.0", - "teamcity-service-messages": "0.1.14", - "tsconfig-paths-webpack-plugin": "4.0.0", - "watskeburt": "0.9.0", - "wrap-ansi": "^7.0.0" - }, - "bin": { - "depcruise": "bin/dependency-cruise.js", - "depcruise-baseline": "bin/depcruise-baseline.js", - "depcruise-fmt": "bin/depcruise-fmt.js", - "depcruise-wrap-stream-in-html": "bin/wrap-stream-in-html.js", - "dependency-cruise": "bin/dependency-cruise.js", - "dependency-cruiser": "bin/dependency-cruise.js" - }, - "engines": { - "node": "^14||^16||>=18" - } - }, - "node_modules/dependency-cruiser/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dependency-cruiser/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/dependency-cruiser/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/dependency-cruiser/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/dependency-cruiser/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/dependency-cruiser/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/dependency-cruiser/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dependency-cruiser/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/dependency-cruiser/node_modules/json5": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", - "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dependency-cruiser/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/dependency-cruiser/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-indent": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.2.0.tgz", - "integrity": "sha512-C6jyrDu/eGH4KT0ZxAzijiH+ts5YLy7DqGFoDuHGxZjMOdjzRltp3jByySnpFBVIy4Em0ZkLN8tIV6mcREdw5A==", - "dev": true, - "dependencies": { - "get-stdin": "^0.1.0", - "minimist": "^0.1.0" - }, - "bin": { - "detect-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-indent/node_modules/minimist": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha512-wR5Ipl99t0mTGwLjQJnBjrP/O7zBbLZqvA3aw32DmLx+nXHfWctUjzDjnDx09pX1Po86WFQazF9xUzfMea3Cnw==", - "dev": true - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dts-bundle": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/dts-bundle/-/dts-bundle-0.7.3.tgz", - "integrity": "sha512-EEAEuPRk8QyKhoN90NHTh+spSQujkkvOnKWUfuzpmC/fgryiWopL1SegSktx0UsoPfNidIGVDN7/AXpBDBv0WQ==", - "dev": true, - "dependencies": { - "@types/detect-indent": "0.1.30", - "@types/glob": "5.0.30", - "@types/mkdirp": "0.3.29", - "@types/node": "8.0.0", - "commander": "^2.9.0", - "detect-indent": "^0.2.0", - "glob": "^6.0.4", - "mkdirp": "^0.5.0" - }, - "bin": { - "dts-bundle": "lib/dts-bundle.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/dts-bundle/node_modules/@types/node": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", - "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", - "dev": true - }, - "node_modules/dts-bundle/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/dts-bundle/node_modules/glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-jsdoc": { - "version": "46.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.5.0.tgz", - "integrity": "sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==", - "dev": true, - "dependencies": { - "@es-joy/jsdoccomment": "~0.40.1", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fromentries": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.1.tgz", - "integrity": "sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", - "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "dependencies": { - "append-transform": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "26.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz", - "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", - "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", - "dev": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/mocha/node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "dependencies": { - "process-on-spawn": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/nyc/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/nyc/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/nyc/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/nyc/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/nyc/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/regexp-tree": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.23.tgz", - "integrity": "sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==", - "dev": true, - "bin": { - "regexp-tree": "bin/regexp-tree" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.47.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz", - "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-try-require": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver-try-require/-/semver-try-require-6.0.0.tgz", - "integrity": "sha512-C3RwXtL5VHhGcUeH+t/Gybit9XGHutb1fX8mp2L2v6rrD1GPC9FLQuYN/RoZAedmoWKmuWWDGbfej1LpJOcJxA==", - "dev": true, - "dependencies": { - "semver": "^7.3.8" - }, - "engines": { - "node": "^14||^16||>=18" - } - }, - "node_modules/semver-try-require/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shiki": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", - "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", - "dev": true, - "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/teamcity-service-messages": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/teamcity-service-messages/-/teamcity-service-messages-0.1.14.tgz", - "integrity": "sha512-29aQwaHqm8RMX74u2o/h1KbMLP89FjNiMxD9wbF2BbWOnbM+q+d1sCEC+MqCc4QW3NJykn77OMpTFw/xTHIc0w==", - "dev": true - }, - "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz", - "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==", - "dev": true, - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tsconfig-paths": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz", - "integrity": "sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.0.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typedoc": { - "version": "0.24.8", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz", - "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==", - "dev": true, - "dependencies": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" - }, - "bin": { - "typedoc": "bin/typedoc" - }, - "engines": { - "node": ">= 14.14" - }, - "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x" - } - }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/uglify-js": { - "version": "3.12.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.7.tgz", - "integrity": "sha512-SIZhkoh+U/wjW+BHGhVwE9nt8tWJspncloBcFapkpGRwNPqcH8pzX36BXe3TPBjzHWPMUZotpCigak/udWNr1Q==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, - "node_modules/watskeburt": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-0.9.0.tgz", - "integrity": "sha512-rurSBKVssJXoiHGzYINYdFPd1M6a0HYA2KNoFj+qB3AvpDOIBbytMfeZo0oTMQqLs8YBjswonGt2ri8z1p3F6A==", - "dev": true, - "dependencies": { - "commander": "9.4.1" - }, - "bin": { - "watskeburt": "bin/cli.mjs" - }, - "engines": { - "node": "^14||^16||>=18" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "@babel/core": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.0.tgz", - "integrity": "sha512-iV7Gwg0DePKvdDZZWRTkj4MW+6/AbVWd4ZCg+zk8H1RVt5xBpUZS6vLQWwb3pyLg4BFTaGiQCPoJ4Ibmbne4fA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.0", - "@babel/helper-module-transforms": "^7.12.0", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.12.0", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.0.tgz", - "integrity": "sha512-I0d/bgzgzgLsJMk7UZ0TN2KV3OGjC/t/9Saz8PKb9jrcEAXhgjGysOgp4PDKydIKjUv/gj2St4ae+ov8l+T9Xg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.0.tgz", - "integrity": "sha512-1ZTMoCiLSzTJLbq7mSaTHki4oIrBIf/dUbzdhwTrvtMU3ZNVKwQmGae3gSiqppo7G8HAgnXmc43rfEaD8yYLLQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.0", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.0.tgz", - "integrity": "sha512-9kycFdq2c9e7PXZOr2z/ZqTFF9OzFu287iFwYS+CiDVPuoTCfY8hoTsIqNQNetQjlqoRsRyJFrMG1uhGAR4EEw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.0", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.0", - "@babel/types": "^7.12.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", - "dev": true, - "requires": { - "comment-parser": "1.4.0", - "esquery": "^1.5.0", - "jsdoc-type-pratt-parser": "~4.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==" - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", - "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true - }, - "@types/chai": { - "version": "4.2.22", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", - "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", - "dev": true - }, - "@types/detect-indent": { - "version": "0.1.30", - "resolved": "https://registry.npmjs.org/@types/detect-indent/-/detect-indent-0.1.30.tgz", - "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=", - "dev": true - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/glob": { - "version": "5.0.30", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", - "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/mkdirp": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", - "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=", - "dev": true - }, - "@types/mocha": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", - "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", - "dev": true - }, - "@types/node": { - "version": "12.20.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz", - "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/type-utils": "6.4.1", - "@typescript-eslint/utils": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/parser": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", - "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz", - "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1" - } - }, - "@typescript-eslint/type-utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz", - "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/utils": "6.4.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, - "@typescript-eslint/types": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz", - "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz", - "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", - "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", - "semver": "^7.5.4" - }, - "dependencies": { - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", - "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.4.1", - "eslint-visitor-keys": "^3.4.1" - } - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "@unicode/unicode-15.0.0": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@unicode/unicode-15.0.0/-/unicode-15.0.0-1.4.2.tgz", - "integrity": "sha512-3fo/fuLTw9QXB7RSs7qdy6q8OLdFdmiv1M7uwXB2wx7pxYP+4xDLjLKcx10nvdS2vdJuLP5/oEskqCGozfY2tQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-jsx-walk": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx-walk/-/acorn-jsx-walk-2.0.0.tgz", - "integrity": "sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==", - "dev": true - }, - "acorn-loose": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.3.0.tgz", - "integrity": "sha512-75lAs9H19ldmW+fAbyqHdjgdCrz0pWGXKmnqFoh8PyVd1L2RIb4RzYrSjmopeqv3E1G3/Pimu6GgLlrGbrkF7w==", - "dev": true, - "requires": { - "acorn": "^8.5.0" - } - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "append-transform": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", - "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", - "dev": true, - "requires": { - "default-require-extensions": "^3.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true - }, - "caching-transform": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", - "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", - "dev": true, - "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true - }, - "comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-require-extensions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", - "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", - "dev": true, - "requires": { - "strip-bom": "^4.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - } - } - }, - "dependency-cruiser": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-12.3.0.tgz", - "integrity": "sha512-izkszSM6NmVe5a/Y5IZSbMEFKAyF4XlrmTJXUcjQS92yBIk65qx2bUlKdlCEzFND9U+BMu80JGljh4NYLDRNVQ==", - "dev": true, - "requires": { - "acorn": "8.8.1", - "acorn-jsx": "5.3.2", - "acorn-jsx-walk": "2.0.0", - "acorn-loose": "8.3.0", - "acorn-walk": "8.2.0", - "ajv": "8.11.2", - "chalk": "^4.1.2", - "commander": "9.4.1", - "enhanced-resolve": "5.12.0", - "figures": "^3.2.0", - "get-stream": "^6.0.1", - "glob": "7.2.0", - "handlebars": "4.7.7", - "indent-string": "^4.0.0", - "interpret": "^3.1.0", - "is-installed-globally": "0.4.0", - "json5": "2.2.2", - "lodash": "4.17.21", - "prompts": "2.4.2", - "rechoir": "^0.8.0", - "safe-regex": "2.1.1", - "semver": "^7.3.7", - "semver-try-require": "6.0.0", - "teamcity-service-messages": "0.1.14", - "tsconfig-paths-webpack-plugin": "4.0.0", - "watskeburt": "0.9.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - }, - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "json5": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", - "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", - "dev": true - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "detect-indent": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.2.0.tgz", - "integrity": "sha512-C6jyrDu/eGH4KT0ZxAzijiH+ts5YLy7DqGFoDuHGxZjMOdjzRltp3jByySnpFBVIy4Em0ZkLN8tIV6mcREdw5A==", - "dev": true, - "requires": { - "get-stdin": "^0.1.0", - "minimist": "^0.1.0" - }, - "dependencies": { - "minimist": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha512-wR5Ipl99t0mTGwLjQJnBjrP/O7zBbLZqvA3aw32DmLx+nXHfWctUjzDjnDx09pX1Po86WFQazF9xUzfMea3Cnw==", - "dev": true - } - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dts-bundle": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/dts-bundle/-/dts-bundle-0.7.3.tgz", - "integrity": "sha512-EEAEuPRk8QyKhoN90NHTh+spSQujkkvOnKWUfuzpmC/fgryiWopL1SegSktx0UsoPfNidIGVDN7/AXpBDBv0WQ==", - "dev": true, - "requires": { - "@types/detect-indent": "0.1.30", - "@types/glob": "5.0.30", - "@types/mkdirp": "0.3.29", - "@types/node": "8.0.0", - "commander": "^2.9.0", - "detect-indent": "^0.2.0", - "glob": "^6.0.4", - "mkdirp": "^0.5.0" - }, - "dependencies": { - "@types/node": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", - "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "requires": {} - }, - "eslint-plugin-jsdoc": { - "version": "46.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.5.0.tgz", - "integrity": "sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==", - "dev": true, - "requires": { - "@es-joy/jsdoccomment": "~0.40.1", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "foreground-child": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", - "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - } - }, - "fromentries": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.1.tgz", - "integrity": "sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stdin": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", - "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "requires": { - "ini": "2.0.0" - } - }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "requires": { - "builtin-modules": "^3.3.0" - } - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", - "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", - "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest-worker": { - "version": "26.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz", - "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdoc-type-pratt-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", - "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node-preload": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", - "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", - "dev": true, - "requires": { - "process-on-spawn": "^1.0.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "nyc": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", - "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - } - } - }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-hash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", - "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "process-on-spawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", - "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", - "dev": true, - "requires": { - "fromentries": "^1.2.0" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "regexp-tree": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.23.tgz", - "integrity": "sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==", - "dev": true - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.47.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz", - "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==", - "dev": true, - "requires": { - "fsevents": "~2.3.1" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "requires": { - "regexp-tree": "~0.1.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "semver-try-require": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver-try-require/-/semver-try-require-6.0.0.tgz", - "integrity": "sha512-C3RwXtL5VHhGcUeH+t/Gybit9XGHutb1fX8mp2L2v6rrD1GPC9FLQuYN/RoZAedmoWKmuWWDGbfej1LpJOcJxA==", - "dev": true, - "requires": { - "semver": "^7.3.8" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shiki": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", - "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", - "dev": true, - "requires": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "spawn-wrap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", - "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "teamcity-service-messages": { - "version": "0.1.14", - "resolved": "https://registry.npmjs.org/teamcity-service-messages/-/teamcity-service-messages-0.1.14.tgz", - "integrity": "sha512-29aQwaHqm8RMX74u2o/h1KbMLP89FjNiMxD9wbF2BbWOnbM+q+d1sCEC+MqCc4QW3NJykn77OMpTFw/xTHIc0w==", - "dev": true - }, - "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-api-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz", - "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==", - "dev": true, - "requires": {} - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } - } - }, - "tsconfig-paths": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.1.2.tgz", - "integrity": "sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==", - "dev": true, - "requires": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "tsconfig-paths-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typedoc": { - "version": "0.24.8", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz", - "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==", - "dev": true, - "requires": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "dev": true - }, - "uglify-js": { - "version": "3.12.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.7.tgz", - "integrity": "sha512-SIZhkoh+U/wjW+BHGhVwE9nt8tWJspncloBcFapkpGRwNPqcH8pzX36BXe3TPBjzHWPMUZotpCigak/udWNr1Q==", - "dev": true, - "optional": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, - "watskeburt": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-0.9.0.tgz", - "integrity": "sha512-rurSBKVssJXoiHGzYINYdFPd1M6a0HYA2KNoFj+qB3AvpDOIBbytMfeZo0oTMQqLs8YBjswonGt2ri8z1p3F6A==", - "dev": true, - "requires": { - "commander": "9.4.1" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - } - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 0a21a3e0..00000000 --- a/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "refa", - "version": "0.12.1", - "description": "A library for finite automata and regular expressions in the context of JS RegExp", - "main": "index", - "scripts": { - "check": "npm run lint && npm run check:dependencies && npx tsc --noEmit && cd tests && npx tsc --noEmit && cd ../scripts && npx tsc --noEmit", - "check:dependencies": "npx depcruise --validate .dependency-cruiser.js src", - "lint": "npx eslint --ignore-path .gitignore **/*.ts", - "test": "cd tests && mocha -r ts-node/register '**/*.ts'", - "test:all": "npm run test -- --reporter=dot --run-transformers --run-stress-test", - "test:update": "npm run test -- --update --run-transformers", - "build": "npx rimraf ./index.* .out/** && npx tsc && rollup -c && npm run build:dts", - "build:dts": "dts-bundle --main ./.out/index.d.ts --name refa --out ../index.d.ts && npm run scripts:flat-dts && prettier --write ./index.d.ts", - "build:docs": "typedoc --treatWarningsAsErrors", - "coverage": "npx nyc --reporter=html --reporter=text npm run test", - "scripts:create-case-folding": "npx ts-node --project scripts/tsconfig.json scripts/create-case-folding.ts", - "scripts:create-unicode": "npx ts-node --project scripts/tsconfig.json scripts/create-unicode.ts", - "scripts:debug": "npx ts-node --project scripts/tsconfig.json scripts/debug.ts", - "scripts:flat-dts": "npx ts-node --project scripts/tsconfig.json scripts/flat-dts.ts", - "scripts:perf": "npx ts-node --project scripts/tsconfig.json scripts/perf.ts", - "prepublishOnly": "npm run build" - }, - "keywords": [ - "dfa", - "nfa", - "regex", - "regexp", - "regular", - "expression" - ], - "author": "Michael Schmidt", - "homepage": "https://github.com/RunDevelopment/refa#readme", - "repository": { - "type": "git", - "url": "https://github.com/RunDevelopment/refa.git" - }, - "license": "MIT", - "files": [ - "index.js", - "index.mjs", - "index.d.ts" - ], - "devDependencies": { - "@rollup/plugin-node-resolve": "^9.0.0", - "@types/chai": "^4.2.22", - "@types/mocha": "^9.0.0", - "@types/node": "^12.20.13", - "@typescript-eslint/eslint-plugin": "^6.4.1", - "@typescript-eslint/parser": "^6.4.1", - "@unicode/unicode-15.0.0": "^1.4.2", - "chai": "^4.3.4", - "dependency-cruiser": "^12.3.0", - "dts-bundle": "^0.7.3", - "eslint": "^8.47.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-jsdoc": "^46.5.0", - "eslint-plugin-prettier": "^4.2.1", - "mocha": "^9.1.3", - "nyc": "^15.1.0", - "prettier": "^2.8.7", - "rimraf": "^3.0.2", - "rollup": "^2.47.0", - "rollup-plugin-terser": "^7.0.2", - "ts-node": "^10.9.1", - "typedoc": "^0.24.8", - "typescript": "^5.0.2" - }, - "dependencies": { - "@eslint-community/regexpp": "^4.8.0" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } -} diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 3afdf50f..00000000 --- a/rollup.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { nodeResolve } from "@rollup/plugin-node-resolve"; -import { terser } from "rollup-plugin-terser"; - -export default /** @type {import('rollup').RollupOptions[]} */ ([ - { - input: ".out/index.js", - external: ["regexpp"], - output: { - file: "index.js", - format: "cjs", - }, - plugins: [ - nodeResolve(), - terser({ compress: { pure_funcs: ['debugAssert'] } }), - ], - }, -]); - diff --git a/scripts/create-case-folding.ts b/scripts/create-case-folding.ts deleted file mode 100644 index d86e3304..00000000 --- a/scripts/create-case-folding.ts +++ /dev/null @@ -1,118 +0,0 @@ -import * as fs from "fs"; -import * as path from "path"; -import { CharSet } from "../src/char-set"; -import { printRanges } from "./util"; - -const caseFoldingCommon: ReadonlyMap = require("@unicode/unicode-15.0.0/Case_Folding/C/code-points"); -const caseFoldingSimple: ReadonlyMap = require("@unicode/unicode-15.0.0/Case_Folding/S/code-points"); - -createCaseFoldingFile(canonicalizeIgnoreCaseUTF16, 0xffff, "UTF16", "utf16-case-folding.ts"); -createCaseFoldingFile(canonicalizeIgnoreCaseUnicode, 0x10ffff, "Unicode", "unicode/case-folding.ts"); - -function canonicalizeIgnoreCaseUTF16(ch: number): number { - // https://tc39.es/ecma262/#sec-runtime-semantics-canonicalize-ch - - const s = String.fromCharCode(ch); - const u = s.toUpperCase(); - if (u.length !== 1) { - return ch; - } - const cu = u.charCodeAt(0); - if (ch >= 128 && cu < 128) { - return ch; - } - return cu; -} - -function canonicalizeIgnoreCaseUnicode(ch: number): number { - // https://tc39.es/ecma262/#sec-runtime-semantics-canonicalize-ch - - let mapping = caseFoldingCommon.get(ch); - if (mapping !== undefined) { - return mapping; - } - mapping = caseFoldingSimple.get(ch); - if (mapping !== undefined) { - return mapping; - } - - return ch; -} - -function createCaseFoldingFile( - canonicalize: (ch: number) => number, - maxCharacter: number, - variablePrefix: string, - filename: string -): void { - const canonicalizeMapping = new Map(); - for (let ch = 0; ch <= maxCharacter; ch++) { - const c = canonicalize(ch); - let list = canonicalizeMapping.get(c); - if (list === undefined) { - canonicalizeMapping.set(c, (list = [])); - } - list.push(ch); - } - - const caseFolding: number[][] = []; - canonicalizeMapping.forEach(chars => { - chars.forEach(c => { - caseFolding[c] = chars; - }); - }); - - let count = 0; - const CASE_VARYING = CharSet.fromCharacters( - maxCharacter, - (function* () { - for (let i = 0; i < maxCharacter; i++) { - const fold = caseFolding[i]; - if (fold.indexOf(i) === -1) { - throw new Error(`The case folding of ${i} does not include itself.`); - } - if (fold.length > 1) { - count++; - yield i; - } - } - })() - ); - - const map: Record = {}; - caseFolding.forEach((fold, i) => { - if (fold.length > 1) { - map[i] = fold; - } - }); - - console.log(`${variablePrefix}: ${count} characters vary in case`); - - const code = `/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-case-folding.js - -import { CharSet } from "${"../".repeat(filename.split(/\//g).length)}char-set"; - - -/** - * A character set of all characters that have at least one case variation. - */ -export const ${variablePrefix}CaseVarying: CharSet = CharSet.empty(${maxCharacter}).union(${printRanges( - CASE_VARYING.ranges - )}); - -/** - * A map for a given character to all it case variations. The list of case variations also includes the key character - * itself. - * - * If the given character do not have case variations, it will not be part of this map. - */ -export const ${variablePrefix}CaseFolding: Readonly>> = JSON.parse('${JSON.stringify( - map - )}'); -`; - - fs.writeFileSync(path.join(__dirname, "../src/js", filename), code, "utf-8"); -} diff --git a/scripts/create-unicode.ts b/scripts/create-unicode.ts deleted file mode 100644 index ffc101b2..00000000 --- a/scripts/create-unicode.ts +++ /dev/null @@ -1,82 +0,0 @@ -import * as fs from "fs"; -import * as path from "path"; -import { CharSet } from "../src/char-set"; -import * as aliases from "../src/js/unicode/alias"; -import { printRanges } from "./util"; - -const UNICODE_SRC_DIR = path.join(__dirname, "../src/js/unicode"); - -createDataFile(Object.values(aliases.Binary_Property), "Binary_Property", "binary-property-data.ts"); -createDataFile(Object.values(aliases.General_Category), "General_Category", "general-category-data.ts"); -createDataFile(Object.values(aliases.ScriptAndScript_Extensions), "Script", "script-data.ts"); -createDataFile(Object.values(aliases.ScriptAndScript_Extensions), "Script_Extensions", "script-extensions-data.ts"); - -createDataStringsFile(Object.values(aliases.Binary_Property_Of_String), "properties-of-strings.ts"); - -function createDataFile(properties: Iterable, category: string, filename: string): void { - console.log(`Creating ${filename}`); - - const values = new Set(properties); - - let code = `/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Category: ${category} -// Exported ranges: ${[...values].join(", ")} - -import { CharRange } from "../../char-set"; - - -`; - - for (const prop of values) { - const codePoints: number[] = require(`@unicode/unicode-15.0.0/${category}/${prop}/code-points`); - const ranges = CharSet.fromCharacters(0x10ffff, codePoints).ranges; - - code += `export const ${prop}: readonly CharRange[] = ${printRanges(ranges)};\n`; - } - - fs.writeFileSync(path.join(UNICODE_SRC_DIR, filename), code, "utf-8"); -} - -function createDataStringsFile(properties: Iterable, filename: string): void { - console.log(`Creating ${filename}`); - - const values = new Set(properties); - - let code = `/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Exported strings: ${[...values].join(", ")} - -import { ReadonlyWord } from "../../char-types"; - - -`; - - for (const prop of values) { - const strings: string[] = require(`@unicode/unicode-15.0.0/Sequence_Property/${prop}/index.js`); - - const codePoints = strings.map(s => [...s].map(c => c.codePointAt(0)!)); - codePoints.sort((a, b) => { - if (a.length !== b.length) { - return a.length - b.length; - } - - for (let i = 0; i < a.length; i++) { - if (a[i] !== b[i]) { - return a[i] - b[i]; - } - } - return 0; - }); - - code += `export const ${prop}: readonly ReadonlyWord[] = JSON.parse('${JSON.stringify(codePoints)}');\n`; - } - - fs.writeFileSync(path.join(UNICODE_SRC_DIR, filename), code, "utf-8"); -} diff --git a/scripts/debug.ts b/scripts/debug.ts deleted file mode 100644 index 023f5d0e..00000000 --- a/scripts/debug.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ -import { - CharSet, - CharacterClass, - DFA, - ENFA, - Expression, - FiniteAutomaton, - JS, - NFA, - NoParent, - Transformers, - Words, - combineTransformers, - transform, -} from "../src"; -import { performance } from "perf_hooks"; -import { logDurations } from "./util"; - -// util functions -function toNFA(literal: JS.Literal): NFA { - const parser = JS.Parser.fromLiteral(literal); - const { expression, maxCharacter } = parser.parse(); - return NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" }); -} -function toENFA(literal: JS.Literal): ENFA { - const parser = JS.Parser.fromLiteral(literal); - const { expression, maxCharacter } = parser.parse(); - return ENFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" }); -} -const toDFA = (literal: JS.Literal): DFA => DFA.fromFA(toNFA(literal)); -function toCharSet(literal: JS.Literal): CharSet { - const parser = JS.Parser.fromLiteral(literal); - const { expression } = parser.parse(); - return (expression.alternatives[0].elements[0] as CharacterClass).characters; -} -function toRegExp(value: FiniteAutomaton | CharSet | NoParent): RegExp { - let literal; - if (value instanceof CharSet) { - literal = JS.toLiteral({ type: "Concatenation", elements: [{ type: "CharacterClass", characters: value }] }); - } else if ("toRegex" in value) { - literal = JS.toLiteral(value.toRegex()); - } else { - literal = JS.toLiteral(value); - } - return RegExp(literal.source, literal.flags); -} -function measure(fn: () => T, samples: number = 1, label?: string): T { - const durations: number[] = []; - let result: T; - - do { - const start = performance.now(); - result = fn(); - durations.push(performance.now() - start); - } while (--samples > 0); - - logDurations(durations, label ?? fn.toString().replace(/^\(\) => /, "")); - - return result; -} - -// actual debug code -// DO NOT commit changes to this file - -const dfa = toDFA(/a+(?:b+a+)*/); -dfa.minimize(); -console.log(toRegExp(dfa)); - -console.log(toENFA(/a*b/).toString()); -console.log(toENFA(/a*?b/).toString()); diff --git a/scripts/flat-dts.ts b/scripts/flat-dts.ts deleted file mode 100644 index 25b1c2c1..00000000 --- a/scripts/flat-dts.ts +++ /dev/null @@ -1,990 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import { promises as fs } from "fs"; - -// This is a parser for .d.ts files generated by Dts bundle. -// It will inline all generated modules into the main module. - -const JS_STRING = /"(?:[^"\\\r\n]|\\[\s\S])*"|'(?:[^'\\\r\n]|\\[\s\S])*'/y; -const JS_IDENT = /[a-zA-Z_]\w*/y; -const JS_M_COMMENT = /\/\*(?:[^*]|\*(?!\/))*\*\//y; -const JS_COMMENT = /\/\*(?:[^*]|\*(?!\/))*\*\/|\/\/.*(?!.)/y; - -async function run(): Promise { - const parsed = parseDts(await fs.readFile("./index.d.ts", "utf8")); - parsed.banner = ""; - - ensureUniqueNames(parsed); - ensureInternalExportAll(parsed); - ensureSoleExport(parsed); - - let output = outputModContext(inline(parsed).modules.refa); - - // Dirty hack to fix an error - output = output.replace("TransitionIterator", "TransitionIterator"); - - await fs.writeFile("./index.d.ts", output, "utf8"); -} -run().catch(err => { - console.log(err); - process.exit(1); -}); - -function ensureUniqueNames(parsed: ParsedDts): void { - const names = new Map(); - - for (const modName in parsed.modules) { - const mod = parsed.modules[modName]; - for (const mem of mod.members) { - const collision = names.get(mem.name); - if (collision && collision.modName !== modName) { - throw new Error( - `The name ${JSON.stringify(mem.name)} is present in both ${JSON.stringify( - modName - )} and ${JSON.stringify(collision.modName)}.` - ); - } - names.set(mem.name, { modName }); - } - } -} -function ensureInternalExportAll(parsed: ParsedDts): void { - for (const modName in parsed.modules) { - const mod = parsed.modules[modName]; - for (const exp of mod.exports) { - if (exp.type === "ns" && !isExternal(parsed, exp.from)) { - throw new Error(`Potentially partial export of "${exp.from}" in "${modName}" not allowed.`); - } - } - } -} -function ensureSoleExport(parsed: ParsedDts): void { - const exportedBy = new Map(); - - for (const modName in parsed.modules) { - const mod = parsed.modules[modName]; - for (const { from } of mod.exports) { - if (from === parsed.main) { - throw new Error(`The main module "${parsed.main}" cannot be exported by another module.`); - } - - const alsoExports = exportedBy.get(from); - if (alsoExports !== undefined) { - throw new Error( - `The both "${modName}" and "${alsoExports}" export "${from}". At most one module is allowed to export another module.` - ); - } - - exportedBy.set(from, modName); - } - } -} -function isExternal(parsed: ParsedDts, from: string): boolean { - return from !== parsed.main && !from.startsWith(parsed.main + "/"); -} - -function inline(parsed: Readonly): ParsedDts { - const inlined: ParsedDts = { - banner: parsed.banner, - main: parsed.main, - modules: { - [parsed.main]: inlineMod(parsed.modules[parsed.main]), - }, - }; - - function inlineMod(mod: Readonly): ParsedModule { - const inlined: ParsedModule = { - comment: mod.comment, - imports: mod.imports.filter(i => isExternal(parsed, i.from)), - exports: [], - members: [], - }; - - for (const exp of mod.exports) { - if (isExternal(parsed, exp.from)) { - inlined.exports.push(exp); - continue; - } - - switch (exp.type) { - case "all": { - const nested = inlineMod(parsed.modules[exp.from]); - inlined.imports.push(...nested.imports); - inlined.exports.push(...nested.exports); - inlined.members.push(...nested.members); - break; - } - case "all-as": { - const nested = inlineMod(parsed.modules[exp.from]); - inlined.imports.push(...nested.imports); - inlined.exports.push(...nested.exports); - inlined.members.push({ - type: "namespace", - exported: true, - name: exp.as, - source: null as never, - members: nested.members, - comment: exp.comment ?? nested.comment, - }); - break; - } - case "ns": { - throw new Error("Disallowed ns export."); - } - default: - assertNever(exp); - } - } - - inlined.members.push(...mod.members); - inlined.imports = mergeImports(inlined.imports); - return inlined; - } - - return inlined; -} - -interface OutputOptions { - moduleNameMap?: Record; -} -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function output(parsed: ParsedDts, options?: OutputOptions): string { - function mapModName(name: string): string { - return options?.moduleNameMap?.[name] ?? name; - } - - let s = parsed.banner + "\n\n"; - for (const modName in parsed.modules) { - const mod = parsed.modules[modName]; - s += `declare module ${JSON.stringify(mapModName(modName))} {\n`; - s += outputModContext(mod, options); - s += "}\n\n"; - } - - return s.replace(/\r\n/g, "\n"); -} -function outputModContext(mod: ParsedModule, options?: OutputOptions): string { - function mapModName(name: string): string { - return options?.moduleNameMap?.[name] ?? name; - } - - let s = ""; - if (mod.comment !== undefined) { - s += mod.comment + "\n"; - } - - for (const imp of mod.imports) { - switch (imp.type) { - case "ns": - s += `import {${imp.names.join(", ")}} from ${JSON.stringify(mapModName(imp.from))};\n`; - break; - default: - assertNever(imp.type); - } - } - - for (const exp of mod.exports) { - switch (exp.type) { - case "ns": - s += `export {${exp.names.join(", ")}} from ${JSON.stringify(mapModName(exp.from))};\n`; - break; - case "all": - s += `export * from ${JSON.stringify(mapModName(exp.from))};\n`; - break; - case "all-as": - if (exp.comment !== undefined) { - s += exp.comment + "\n"; - } - s += `export * as ${exp.as} from ${JSON.stringify(mapModName(exp.from))};\n`; - break; - default: - assertNever(exp); - } - } - - for (const mem of mod.members) { - s += outputMember(mem, false, options); - s += "\n"; - } - return s; -} -function outputMember(mem: Member, insideNamespace: boolean, options?: OutputOptions): string { - let s = ""; - - if (mem.comment !== undefined) { - s += mem.comment + "\n"; - } - if (mem.exported && !insideNamespace) { - s += "export "; - } - - if (mem.type === "simple") { - s += mem.source.text; - } else { - s += "namespace " + mem.name + " {\n"; - for (const m of mem.members) { - s += outputMember(m, true, options); - s += "\n"; - } - s += "}"; - } - - return s; -} - -interface ParsedDts { - banner: string; - main: string; - modules: Record; -} -interface ParsedModule { - comment?: string; - imports: Import[]; - exports: Export[]; - members: Member[]; -} - -type Import = NsImport; -interface ImportBase { - type: Import["type"]; - from: string; -} -interface NsImport extends ImportBase { - type: "ns"; - names: string[]; -} - -type Export = AllExport | AllAsExport | NsExport; -interface ExportBase { - type: Export["type"]; - from: string; -} -interface AllExport extends ExportBase { - type: "all"; -} -interface AllAsExport extends ExportBase { - type: "all-as"; - as: string; - comment?: string; -} -interface NsExport extends ExportBase { - type: "ns"; - names: string[]; -} - -type Member = SimpleMember | NamespaceMember; -interface MemberBase { - type: Member["type"]; - name: string; - source: SourceCode; - comment?: string; - exported?: boolean; -} -interface SimpleMember extends MemberBase { - type: "simple"; -} -interface NamespaceMember extends MemberBase { - type: "namespace"; - members: Member[]; -} - -function parseDts(code: string): ParsedDts { - const source = SourceCode.fromText(code); - source.consumeSpaces(); - - const banner = source.consume(/\/\/.*$(?:\s*\/\/.*$)*/my, "Expected comment")[0]; - source.consumeSpaces(); - - const modules: Record = {}; - let main: string | undefined = undefined; - while (source.good) { - const [name, module] = parseModule(source); - source.consumeSpaces(); - - modules[name] = module; - if (main === undefined) { - main = name; - } - } - - if (main === undefined) { - throw new Error("Expected at least one module"); - } - - return { banner, main, modules }; -} -function parseModule(source: SourceCode): [string, ParsedModule] { - const modPattern = reBuild(/\bdeclare\s+module\s+(<>)/y, { JS_STRING }); - - const name = stringValue(source.consume(modPattern, "Expected module")[1]); - source.consumeSpaces(); - - const block = consumeBracket(source, "{", "}"); - return [name, parseModuleContent(block.slice(1, block.length - 1))]; -} -function parseModuleContent(modSource: SourceCode): ParsedModule { - modSource.consumeSpaces(); - - const module: ParsedModule = { - imports: [], - exports: [], - members: [], - }; - - const moduleComment = modSource.peek(JS_M_COMMENT)?.[0]; - if (moduleComment !== undefined && /^\s*(?:\*\s*)?@module\b/m.test(moduleComment)) { - module.comment = moduleComment; - - modSource.consumeOptional(JS_M_COMMENT); - modSource.consumeSpaces(); - } - - while (modSource.good) { - const docComment = modSource.consumeOptional(JS_M_COMMENT); - modSource.consumeSpaces(); - - modSource.consumeAnyOf( - [ - { - pattern: reBuild(/export\s*\*\s*(?:as\s+(<>)\s*)?from\s*(<>);?/y, { - JS_STRING, - JS_IDENT, - }), - action(match, slice, invalid) { - const from = stringValue(match[2]); - const as = match[1]; - - if (as) { - module.exports.push({ - type: "all-as", - as, - from, - comment: docComment ? docComment[0] : undefined, - }); - } else { - if (docComment) { - invalid("Unexpected comment before export."); - } - - module.exports.push({ - type: "all", - from, - }); - } - }, - }, - { - pattern: reBuild(/export\s*(\{[^{}]*\})\s*from\s*(<>);?/y, { JS_STRING }), - action(match, slice, invalid) { - if (docComment) { - invalid("Unexpected comment before export."); - } - const from = stringValue(match[2]); - - const nsIndex = match[0].indexOf("{"); - const nsSlice = slice.slice(nsIndex, nsIndex + match[1].length); - - module.exports.push({ - type: "ns", - names: parseNameList(nsSlice), - from, - }); - }, - }, - { - pattern: reBuild(/import\s*(?:type\s*)?(\{[^{}]*\})\s*from\s*(<>);?/y, { JS_STRING }), - action(match, slice, invalid) { - if (docComment) { - invalid("Unexpected comment before import."); - } - const from = stringValue(match[2]); - - const nsIndex = match[0].indexOf("{"); - const nsSlice = slice.slice(nsIndex, nsIndex + match[1].length); - - module.imports.push({ - type: "ns", - names: parseNameList(nsSlice), - from, - }); - }, - }, - { - pattern: /(export\s+)?(?=(?:function|interface|class|type|var|let|const|namespace)\s)/y, - action([, exportDecl]) { - const member = parseMember(modSource); - if (exportDecl) { - member.exported = true; - } - if (docComment) { - member.comment = docComment[0]; - } - module.members.push(member); - }, - }, - { - pattern: /export\s*\{\s*\}\s*;/y, - action() { - // I have no idea what these things do, so let's just ignore them for now - }, - }, - ], - "Unsupported module element" - ); - - modSource.consumeSpaces(); - } - - return module; -} - -function parseNameList(source: SourceCode): string[] { - const names: string[] = []; - - source.consume(/\{/y, "Expected '{'"); - source.consumeSpaces(); - - if (!source.consumeOptional(/,/y)) { - const ident = reBuild(/<>/y, { JS_IDENT }); - let name; - while ((name = source.consumeOptional(ident))) { - names.push(name[0]); - - source.consumeSpaces(); - source.consume(/(?!as\b)/y, "Aliases are not supported"); - if (!source.consumeOptional(/,/y)) { - break; - } else { - source.consumeSpaces(); - } - } - } else { - source.consumeSpaces(); - } - - source.consume(/\}/y, "Expected '}'"); - - return names; -} - -function parseMember(memSource: SourceCode): Member { - const [, type, name] = memSource.consume( - reBuild(/(?=(function|interface|class|type|var|let|const|namespace)\s+(<>))/y, { JS_IDENT }), - "Invalid member" - ); - - let source; - switch (type) { - case "function": - source = consumeFunction(memSource); - break; - case "interface": - source = consumeInterface(memSource); - break; - case "class": - source = consumeClass(memSource); - break; - case "type": - source = consumeType(memSource); - break; - case "var": - case "let": - case "const": - source = consumeVariable(memSource); - break; - case "namespace": - return parseNamespace(memSource); - default: - memSource.error(memSource.pos, "Unsupported type."); - } - - return { - type: "simple", - name, - source, - }; -} -function parseNamespace(source: SourceCode): NamespaceMember { - const start = source.pos; - - source.consume(/namespace(?=\s)/y, "Expected 'namespace' keyword"); - source.consumeSpaces(); - const name = source.consume(JS_IDENT, "Expected namespace name")[0]; - source.consumeSpaces(); - source.consume(/\{/y, "Expected '{'"); - source.consumeSpaces(); - - const members: Member[] = []; - while (source.peekChar() !== "}") { - const docComment = source.consumeOptional(JS_M_COMMENT); - source.consumeSpaces(); - const member = parseMember(source); - source.consumeSpaces(); - - if (docComment) { - member.comment = docComment[0]; - } - members.push(member); - } - - source.consume(/\}/y, "Expected '}'"); - - return { - type: "namespace", - name, - source: source.slice(start, source.pos), - members, - }; -} - -function consumeFunction(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/function(?=\s)/y, "Expected 'function' keyword"); - source.consumeSpaces(); - source.consume(JS_IDENT, "Expected function name"); - source.consumeSpaces(); - if (source.peekChar() === "<") { - consumeBracket(source, "<", ">"); - source.consumeSpaces(); - } - consumeBracket(source, "(", ")"); - source.consumeSpaces(); - if (source.peekChar() === ":") { - consumeTypeAnnotation(source); - source.consumeSpaces(); - } - source.consume(/;/y, "Excepted ';' to end function declaration."); - return source.slice(start, source.pos); -} -function consumeVariable(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/(?:var|let|const)(?=\s)/y, "Expected 'var', 'let', or 'const' keyword"); - source.consumeSpaces(); - source.consume(JS_IDENT, "Expected variable name"); - consumeTSUntil(source, ";"); - return source.slice(start, source.pos); -} -function consumeClass(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/class(?=\s)/y, "Expected 'class' keyword"); - source.consumeSpaces(); - source.consume(JS_IDENT, "Expected class name"); - source.consumeSpaces(); - if (source.consumeOptional(/(?=<)/y)) { - consumeBracket(source, "<", ">"); - source.consumeSpaces(); - } - if (source.consumeOptional(/extends(?=\s)/y)) { - source.consumeSpaces(); - consumeRefList(source); - source.consumeSpaces(); - } - if (source.consumeOptional(/implements(?=\s)/y)) { - source.consumeSpaces(); - consumeRefList(source); - source.consumeSpaces(); - } - consumeBracket(source, "{", "}"); - return source.slice(start, source.pos); -} -function consumeInterface(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/interface(?=\s)/y, "Expected 'interface' keyword"); - source.consumeSpaces(); - source.consume(JS_IDENT, "Expected interface name"); - source.consumeSpaces(); - if (source.consumeOptional(/(?=<)/y)) { - consumeBracket(source, "<", ">"); - source.consumeSpaces(); - } - if (source.consumeOptional(/extends(?=\s)/y)) { - source.consumeSpaces(); - consumeRefList(source); - source.consumeSpaces(); - } - consumeBracket(source, "{", "}"); - return source.slice(start, source.pos); -} -function consumeType(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/type(?=\s)/y, "Expected 'type' keyword"); - source.consumeSpaces(); - source.consume(JS_IDENT, "Expected type name"); - consumeTSUntil(source, ";"); - return source.slice(start, source.pos); -} -function consumeTypeAnnotation(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(/:/y, "Expected ':'"); - source.consumeSpaces(); - - if (source.consumeOptional(/(?:asserts\s+)?\w+\s+is\b/y)) { - source.consumeSpaces(); - } - - for (;;) { - // readonly - while (source.consumeOptional(/readonly\b/y)) { - source.consumeSpaces(); - } - - // we assume that the type annotation is valid TS - source.consumeAnyOf( - [ - { - pattern: /(?=([([{<]))/y, - action([, open]) { - consumeBracket(source, open, CLOSING_BRACKET[open]); - }, - }, - { - pattern: reBuild(/(?=<>)/y, { JS_IDENT }), - action() { - consumeRef(source); - }, - }, - ], - "Unsupported type annotation element." - ); - - // array - while (source.consumeOptional(/\s*\[\s*\]/y)) { - /* noop */ - } - - if (source.consumeOptional(/\s*(?:[&|]|=>)/y)) { - source.consumeSpaces(); - } else { - break; - } - } - return source.slice(start, source.pos); -} -function consumeTSUntil(source: SourceCode, stop: string): SourceCode { - let counter = 0; - - const stopEscape = charToHexEscape(stop.charCodeAt(0)); - const disallowed = RegExp(`[^${stopEscape}{}()\\[\\]<>"'/]`); - - return source.consumeAnyUntil( - [ - { - pattern: RegExp(stopEscape, "y"), - action() { - return counter === 0; - }, - }, - { - pattern: /[([{<]/y, - action() { - counter++; - }, - }, - { - pattern: /[)\]}>]/y, - action() { - counter--; - }, - }, - { - pattern: reBuild(/(<>|<>|<>)+/my, { - JS_STRING, - JS_COMMENT, - disallowed, - }), - action() { - /* noop */ - }, - }, - ], - "Unended expression" - ); -} -function consumeRef(source: SourceCode): SourceCode { - const start = source.pos; - source.consume(JS_IDENT, "Expected identifier"); - while (source.consumeOptional(/\s*\.\s*/y)) { - source.consume(JS_IDENT, "Expected identifier"); - } - if (source.consumeOptional(/\s*(?=<)/y)) { - consumeBracket(source, "<", ">"); - } - return source.slice(start, source.pos); -} -function consumeRefList(source: SourceCode): SourceCode { - const start = source.pos; - consumeRef(source); - while (source.consumeOptional(/\s*,\s*/y)) { - consumeRef(source); - } - return source.slice(start, source.pos); -} - -function stringValue(strLiteral: string): string { - return eval(strLiteral); -} - -const CLOSING_BRACKET: Record = { - "(": ")", - "[": "]", - "{": "}", - "<": ">", -}; -function consumeBracket(source: SourceCode, open: string, close: string): SourceCode { - if (source.peekChar() !== open) { - source.error(source.pos, `The bracket doesn't start with the expected character ${JSON.stringify(open)}.`); - } - - const openEscape = charToHexEscape(open.charCodeAt(0)); - const closeEscape = charToHexEscape(close.charCodeAt(0)); - const disallowed = RegExp(`[^${openEscape}${closeEscape}"'/]`); - - let counter = 0; - - return source.consumeAnyUntil( - [ - { - pattern: RegExp(openEscape, "y"), - action() { - counter++; - }, - }, - { - pattern: RegExp(closeEscape, "y"), - action() { - counter--; - return counter === 0; - }, - }, - { - pattern: reBuild(/(<>|<>|<>)+/my, { - JS_STRING, - JS_COMMENT, - disallowed, - }), - action() { - /* noop */ - }, - }, - ], - "Missing closing " + close - ); -} - -interface PatternAction { - pattern: RegExp; - action(match: RegExpExecArray, slice: SourceCode, invalid: (message: string) => never): T; -} - -function findLastIndex(array: readonly T[], pred: (item: T) => boolean): number { - for (let i = array.length - 1; i >= 0; i--) { - if (pred(array[i])) { - return i; - } - } - return -1; -} -class SourcePositionTranslator { - private readonly _lineOffsets: number[]; - private readonly _length: number; - constructor(text: string) { - const lineRE = /\r\n?|\n/g; - let m; - - this._lineOffsets = [0]; - this._length = text.length; - - while ((m = lineRE.exec(text))) { - this._lineOffsets.push(m.index + m[0].length); - } - } - - at(pos: number): { line: number; column: number } | undefined { - if (pos < 0 || pos > this._length) { - return undefined; - } else { - const lineIndex = findLastIndex(this._lineOffsets, offset => pos >= offset); - const column = pos - this._lineOffsets[lineIndex]; - return { line: lineIndex + 1, column }; - } - } -} -class SourceCode { - readonly text: string; - readonly sliceIndex: number; - readonly posTranslator: SourcePositionTranslator; - pos: number = 0; - - private constructor(text: string, sliceIndex: number, posTranslator: SourcePositionTranslator) { - this.text = text; - this.sliceIndex = sliceIndex; - this.posTranslator = posTranslator; - } - static fromText(text: string): SourceCode { - return new SourceCode(text, 0, new SourcePositionTranslator(text)); - } - - get length(): number { - return this.text.length; - } - get good(): boolean { - return this.pos < this.text.length; - } - - /** - * Returns the character at the current position. - */ - peekChar(): string { - return this.text[this.pos]; - } - peek(pattern: RegExp): RegExpExecArray | null { - if (!pattern.sticky) { - throw new Error("The pattern has to be sticky."); - } - pattern.lastIndex = this.pos; - const m = pattern.exec(this.text); - return m; - } - - slice(start: number, end: number): SourceCode { - return new SourceCode(this.text.substring(start, end), start + this.sliceIndex, this.posTranslator); - } - consumeAsSlice(length: number): SourceCode { - const slice = this.slice(this.pos, this.pos + length); - this.pos += length; - return slice; - } - - skip(length: number): void { - this.pos += length; - } - - consumeOptional(pattern: RegExp): RegExpExecArray | null { - if (!pattern.sticky) { - throw new Error("The pattern has to be sticky."); - } - pattern.lastIndex = this.pos; - const m = pattern.exec(this.text); - if (m) { - this.pos += m[0].length; - } - return m; - } - consume(pattern: RegExp, errorMessage: string): RegExpExecArray { - const m = this.consumeOptional(pattern); - if (!m) { - this.error(this.pos, errorMessage); - } - return m; - } - consumeAnyOf(patterns: Iterable>, errorMessage: string): T { - for (const { pattern, action } of patterns) { - const orgPos = this.pos; - const m = this.consumeOptional(pattern); - if (m) { - const slice = this.slice(orgPos, orgPos + m[0].length); - return action(m, slice, msg => { - throw new Error(`Invalid format: ${msg}\nAt ${this._at(orgPos + this.sliceIndex)}\n\n${m[0]}`); - }); - } - } - throw new Error( - `Invalid format: ${errorMessage}\nAt ${this._at(this.pos + this.sliceIndex)}\n\n${this.text.substr( - this.pos, - 80 - )}` - ); - } - consumeAnyUntil(patterns: readonly PatternAction[], errorMessage: string): SourceCode { - const initialPos = this.pos; - while (this.good) { - const orgPos = this.pos; - for (const { pattern, action } of patterns) { - const m = this.consumeOptional(pattern); - if (m) { - const slice = this.slice(orgPos, orgPos + m[0].length); - const done = action(m, slice, msg => { - this.error(orgPos, msg); - }); - if (done) { - return this.slice(initialPos, this.pos); - } else { - break; - } - } - } - if (this.pos === initialPos) { - this.error(this.pos, errorMessage); - } - } - this.error(this.pos, errorMessage); - } - - consumeSpaces(): void { - this.consume(/\s*/y, "Expected spaces"); - } - - error(pos: number, message: string): never { - throw new Error( - `Invalid format: ${message}\nAt ${this._at(pos + this.sliceIndex)}\n\n${this.text.substr(pos, 80)}` - ); - } - - private _at(pos: number): string { - const result = this.posTranslator.at(pos); - if (result) { - return `${result.line}:${result.column}`; - } else { - return "pos: " + pos; - } - } -} - -function reBuild(base: RegExp, subs: Record): RegExp { - const source = base.source.replace(/<<(\w+)>>/g, (_, name) => { - const sub = subs[name] as RegExp | undefined; - if (!sub) { - throw new Error(`Unknown name <<${name}>>`); - } - [...sub.flags] - .filter(f => f !== "g" && f !== "y") - .forEach(f => { - if (base.flags.indexOf(f) === -1) { - throw new Error(`The ${f} flag is required by <<${name}>> but not present in the base pattern.`); - } - }); - return `(?:${sub.source})`; - }); - return RegExp(source, base.flags); -} - -function charToHexEscape(char: number): string { - if (char === 0) { - return "\\0"; - } else if (char < 256) { - return "\\x" + char.toString(16).padStart(2, "0"); - } else { - return "\\u" + char.toString(16).padStart(4, "0"); - } -} - -function assertNever(value: never): never { - throw new Error(value); -} - -function mergeImports(imports: readonly Import[]): Import[] { - const map = new Map(); - for (const imp of imports) { - const existing = map.get(imp.from); - if (existing) { - existing.names.push(...imp.names); - } else { - map.set(imp.from, { ...imp }); - } - } - - const result = [...map.values()]; - for (const i of result) { - i.names = [...new Set(i.names)]; - } - return result; -} diff --git a/scripts/perf.ts b/scripts/perf.ts deleted file mode 100644 index d75b820e..00000000 --- a/scripts/perf.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { CombinedTransformer, DFA, JS, NFA, Transformers, transform } from "../src"; -import { PrismRegexes } from "../tests/helper/prism-regex-data"; -import { performance } from "perf_hooks"; -import { logDurations } from "./util"; - -function perfTest(): void { - const durationRecord: Record = {}; - function measure(label: string, fn: () => T): T { - const durations = (durationRecord[label] = durationRecord[label] || []); - - const start = performance.now(); - const result = fn(); - durations.push(performance.now() - start); - - return result; - } - function showResult(): void { - const maxLen = Math.max(...Object.keys(durationRecord).map(s => s.length)); - for (const key in durationRecord) { - logDurations(durationRecord[key]!, (key + ":").padEnd(maxLen)); - } - } - - const TOO_BIG = new Set([245, 862, 1474, 2278]); - - let errors = 0; - let counter = 0; - for (const literal of PrismRegexes) { - counter++; - process.stdout.write(`\r${counter}/${PrismRegexes.length}`); - if (counter === PrismRegexes.length) { - console.log(); - } - - if (TOO_BIG.has(counter)) { - continue; - } - - try { - const parser = measure("Create parser", () => JS.Parser.fromLiteral(literal)); - const { expression, maxCharacter } = measure("parse", () => - parser.parse({ backreferences: "disable", maxNodes: 100_000 }) - ); - measure("toLiteral", () => JS.toLiteral(expression)); - measure("toLiteral fast", () => JS.toLiteral(expression, { fastCharacters: true })); - - const finalExpression = measure("transformers", () => { - const applyTransformer = new CombinedTransformer([ - Transformers.inline(), - Transformers.removeDeadBranches(), - Transformers.removeUnnecessaryAssertions(), - Transformers.sortAssertions(), - Transformers.applyAssertions(), - Transformers.removeUnnecessaryAssertions(), - ]); - const modifiedExpression = transform(applyTransformer, expression); - - return transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression); - }); - - const nfa = measure("Create NFA", () => - NFA.fromRegex( - finalExpression, - { maxCharacter }, - { assertions: "disable" }, - new NFA.LimitedNodeFactory(100_000) - ) - ); - measure("toRegex NFA", () => nfa.toRegex({ maxNodes: 100_000 })); - - const dfa = measure("Create DFA", () => DFA.fromFA(nfa)); - measure("Minimize DFA", () => dfa.minimize()); - - measure("toRegex mDFA", () => { - try { - dfa.toRegex({ maxNodes: 100_000 }); - } catch (error) { - if (!String(error).includes("toRegex operation")) { - throw error; - } - } - }); - } catch (error) { - errors++; - console.log(`Error in ${literal}`); - throw error; - } - } - - showResult(); - console.log(`${errors} errors`); -} - -perfTest(); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json deleted file mode 100644 index de6ffb15..00000000 --- a/scripts/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "module": "CommonJS", - "noEmit": true - }, - "include": ["**/*.ts"] -} diff --git a/scripts/util.ts b/scripts/util.ts deleted file mode 100644 index e5d155cc..00000000 --- a/scripts/util.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { CharRange } from "../src/char-set"; - -export function printRanges(ranges: Iterable): string { - return `JSON.parse('${JSON.stringify([...ranges])}')`; -} - -export function logDurations(durations: number[], label?: string): void { - durations.sort((a, b) => a - b); - - const avg = durations.reduce((a, b) => a + b, 0) / durations.length; - const max = Math.max(...durations); - - const median = - durations.length % 2 === 0 - ? (durations[durations.length / 2 - 1] + durations[durations.length / 2]) / 2 - : durations[(durations.length - 1) / 2]; - - const parts: string[] = []; - // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions - if (label) { - parts.push(label); - } - - parts.push(`avg=${+avg.toExponential(2)}ms`); - parts.push(`med=${+median.toExponential(2)}ms`); - parts.push(`max=${+max.toExponential(2)}ms`); - - console.log(parts.join("\t")); -} diff --git a/src/ast-analysis.ts b/src/ast-analysis.ts deleted file mode 100644 index 0a337916..00000000 --- a/src/ast-analysis.ts +++ /dev/null @@ -1,1404 +0,0 @@ -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Element, - Expression, - NoParent, - Node, - Parent, - Quantifier, - Unknown, -} from "./ast"; -import { CharSet } from "./char-set"; -import { assertNever, isReadonlyArray } from "./util"; - -// Most of the functions here are copied from https://github.com/RunDevelopment/eslint-plugin-clean-regex - -/** - * Returns whether all paths of the given element do not consume any characters of the input string. The given node may - * still assert characters of the input string. - * - * This essentially means that it's possible to wrap the given node into a look{ahead,behind} without changing the - * meaning of the pattern. - * - * @param node - */ -export function isZeroLength(node: NoParent | NoParent[]): boolean { - if (Array.isArray(node)) { - return node.every(isZeroLength); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return isZeroLength(node.alternatives); - - case "Assertion": - return true; - - case "CharacterClass": - return false; - - case "Concatenation": - return node.elements.every(isZeroLength); - - case "Quantifier": - return node.max === 0 || isZeroLength(node.alternatives); - - case "Unknown": - return false; - - default: - assertNever(node); - } -} -/** - * Returns whether there is at least one path in the given element that does not consume any characters of the input - * string. - * - * @param node - */ -export function isPotentiallyZeroLength(node: NoParent | NoParent[]): boolean { - if (Array.isArray(node)) { - return node.some(isPotentiallyZeroLength); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return isPotentiallyZeroLength(node.alternatives); - - case "Assertion": - return true; - - case "CharacterClass": - return false; - - case "Concatenation": - return node.elements.every(isPotentiallyZeroLength); - - case "Quantifier": - return node.min === 0 || isPotentiallyZeroLength(node.alternatives); - - case "Unknown": - return false; - - default: - assertNever(node); - } -} - -/** - * Returns whether all (but at least one) paths of the given element accept without consuming any characters and - * without asserting anything. - * - * This essentially means that the given node can be remove with the empty string (= empty concatenation) without - * changing the meaning of the pattern. - * - * @param node - */ -export function isEmpty(node: NoParent | NoParent[]): boolean { - if (Array.isArray(node)) { - return node.length >= 1 && node.every(isEmpty); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return isEmpty(node.alternatives); - - case "Assertion": - // only if the assertion is trivially accepting - return isTriviallyAccepting(node); - - case "CharacterClass": - return false; - - case "Concatenation": - return node.elements.every(isEmpty); - - case "Quantifier": - return node.max === 0 || isEmpty(node.alternatives); - - case "Unknown": - return false; - - default: - assertNever(node); - } -} -/** - * Returns whether there is at least one path in the given element that accepts without consuming any characters and - * without asserting anything. - * - * @param node - */ -export function isPotentiallyEmpty(node: NoParent | NoParent[]): boolean { - if (Array.isArray(node)) { - return node.some(isPotentiallyEmpty); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return isPotentiallyEmpty(node.alternatives); - - case "Assertion": - // only if the assertion is trivially accepting - return isTriviallyAccepting(node); - - case "CharacterClass": - return false; - - case "Concatenation": - return node.elements.every(isPotentiallyEmpty); - - case "Quantifier": - return node.min === 0 || isPotentiallyEmpty(node.alternatives); - - case "Unknown": - return false; - - default: - assertNever(node); - } -} - -/** - * Returns whether there all of the given nodes are guaranteed to consume at least one character. - * - * If no unknown nodes are present, then this function will return `!isPotentiallyZeroLength(node)`. - * - * @param node - */ -export function alwaysConsumesCharacters(node: NoParent | NoParent[]): boolean { - if (Array.isArray(node)) { - return node.every(alwaysConsumesCharacters); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return alwaysConsumesCharacters(node.alternatives); - - case "Assertion": - return false; - - case "CharacterClass": - return true; - - case "Concatenation": - return node.elements.some(alwaysConsumesCharacters); - - case "Quantifier": - return node.min > 0 && alwaysConsumesCharacters(node.alternatives); - - case "Unknown": - return false; - - default: - assertNever(node); - } -} - -/** - * Returns whether the given assertion will always trivially accept regardless of the input string and other RE AST - * nodes in the regular expression. - * - * @param assertion - */ -export function isTriviallyAccepting(assertion: NoParent): boolean { - if (assertion.negate) { - return assertion.alternatives.length === 0; - } else { - return isPotentiallyEmpty(assertion.alternatives); - } -} - -export type Descendants = T | RealDescendants; -type RealDescendants = T extends Expression - ? Element | Concatenation - : T extends CharacterClass - ? never - : Element | Concatenation; - -/** - * Returns whether any of the descendants of the given node fulfill the given condition. - * - * The descendants will be iterated in a DFS top-to-bottom manner from left to right with the first node being the - * given node. - * - * This function is short-circuited, so as soon as any `conditionFn` returns `true`, `true` will be returned. - * - * @param node - * @param conditionFn - * @param descentConditionFn An optional function to decide whether the descendant of the given node will be checked as - * well. - */ -export function hasSomeDescendant( - node: NoParent & NoParent, - conditionFn: (descendant: NoParent>) => boolean, - descentConditionFn?: (descendant: NoParent>) => boolean -): boolean { - if (conditionFn(node)) { - return true; - } - - if (descentConditionFn && !descentConditionFn(node)) { - return false; - } - - switch (node.type) { - case "Alternation": - case "Expression": - case "Assertion": - case "Quantifier": - return node.alternatives.some(a => hasSomeDescendant(a, conditionFn, descentConditionFn)); - case "Concatenation": - return node.elements.some(e => hasSomeDescendant(e, conditionFn, descentConditionFn)); - } - return false; -} - -type ChildOf = N extends Parent ? Concatenation : N extends Concatenation ? Element : never; -/** - * Represents the path from the root of the expression to a specific node. - */ -export interface Path { - readonly node: NoParent; - /** - * Converts this path into its parent path, if possible. - * - * After calling this operation, `this` cannot be used anymore. - */ - toParentPath(): P extends Node ? Path

: null; - /** - * Converts this path into the path of one of its children. - * - * After calling this operation, `this` cannot be used anymore. - */ - toChildPath>(child: NoParent): Path; -} - -/** - * Returns the natural path of the given node. - * - * The natural path is simply the path defined by the `parent` property of the given node. - * - * @param node - */ -export function naturalPath(node: N): Path { - return new NaturalPathImpl(node); -} -class NaturalPathImpl implements Path { - node: NoParent; - constructor(node: N) { - this.node = node as never; - } - toParentPath(): P extends Node ? Path

: null { - if (this.node.type === "Expression") { - return null as never; - } else { - this.node = (this.node as N).parent as never; - return this as never; - } - } - toChildPath>(child: NoParent): Path { - this.node = child as never; - return this as never; - } -} - -export function stackPath(stack: readonly NoParent[], node: NoParent): Path { - return new StackPathImpl([...stack, node]); -} -class StackPathImpl implements Path { - constructor(readonly stack: NoParent[]) { - if (stack[0].type !== "Expression") { - throw new Error("Invalid stack"); - } - } - get node(): NoParent { - return this.stack[this.stack.length - 1] as NoParent; - } - toParentPath(): P extends Node ? Path

: null { - this.stack.pop(); - if (this.stack.length === 0) { - return null as never; - } else { - return this as never; - } - } - toChildPath>(child: NoParent): Path { - this.stack.push(child); - return this as never; - } -} - -/** - * Returns whether any of the ancestors of the given node fulfills the given condition. - * - * The ancestors will be iterated in the order from closest to farthest. - * The condition function will not be called on the given node. - * - * @param nodePath - * @param conditionFn - */ -export function hasSomeAncestor( - nodePath: Path, - conditionFn: (ancestor: NoParent) => boolean -): boolean { - let parentPath = nodePath.toParentPath(); - while (parentPath) { - if (conditionFn(parentPath.node)) { - return true; - } - parentPath = parentPath.toParentPath(); - } - return false; -} - -interface LengthRange { - readonly min: number; - readonly max: number; -} -const ZERO_LENGTH_RANG: LengthRange = { min: 0, max: 0 }; -const ONE_LENGTH_RANG: LengthRange = { min: 1, max: 1 }; - -/** - * Returns how many characters the given element can consume at most and has to consume at least. - * - * If `undefined`, then the given element can't consume any characters. - * - * This function doesn't take assertions into account. - * - * @param element - */ -export function getLengthRange(element: NoParent | NoParent[]): LengthRange | undefined { - if (Array.isArray(element)) { - let min = Infinity; - let max = 0; - - for (const e of element) { - const eRange = getLengthRange(e); - if (eRange) { - min = Math.min(min, eRange.min); - max = Math.max(max, eRange.max); - } - } - - if (min > max) { - return undefined; - } else { - return { min, max }; - } - } - - switch (element.type) { - case "Alternation": - case "Expression": - return getLengthRange(element.alternatives); - - case "Assertion": - return ZERO_LENGTH_RANG; - - case "CharacterClass": - if (element.characters.isEmpty) { - return undefined; - } else { - return ONE_LENGTH_RANG; - } - - case "Concatenation": { - let min = 0; - let max = 0; - - for (const e of element.elements) { - const eRange = getLengthRange(e); - if (!eRange) { - return undefined; - } - min += eRange.min; - max += eRange.max; - } - - return { min, max }; - } - - case "Quantifier": { - if (element.max === 0) { - return ZERO_LENGTH_RANG; - } - const elementRange = getLengthRange(element.alternatives); - if (!elementRange) { - return element.min === 0 ? ZERO_LENGTH_RANG : undefined; - } - if (elementRange.max === 0) { - return ZERO_LENGTH_RANG; - } - return { min: elementRange.min * element.min, max: elementRange.max * element.max }; - } - - case "Unknown": - return undefined; - - default: - throw assertNever(element); - } -} -interface AssertRange extends LengthRange { - /** - * The maximum reach of an assertion within the element. - * - * This will always be `>= max`. - */ - readonly assertMax: number; -} -const ZERO_ASSERT_RANGE: AssertRange = { - min: 0, - max: 0, - assertMax: 0, -}; -const ONE_ASSERT_RANGE: AssertRange = { - min: 1, - max: 1, - assertMax: 1, -}; -/** - * Assuming that the given elements are part of an assertion, this function returns the number of characters the result - * of the assertion can be affected by. - * - * @param element - * @param kind - */ -export function getAssertRange( - element: NoParent | NoParent[], - kind: Assertion["kind"] -): AssertRange | undefined { - if (Array.isArray(element)) { - let min = Infinity; - let max = 0; - let assertMax = 0; - - for (const e of element) { - const eRange = getAssertRange(e, kind); - if (eRange) { - min = Math.min(min, eRange.min); - max = Math.max(max, eRange.max); - assertMax = Math.max(assertMax, eRange.assertMax); - } - } - - if (min > max) { - return undefined; - } else { - return { min, max, assertMax }; - } - } - - switch (element.type) { - case "Alternation": - case "Expression": - return getAssertRange(element.alternatives, kind); - - case "Assertion": - if (element.kind === kind) { - return getAssertRange(element.alternatives, kind); - } else { - return ZERO_ASSERT_RANGE; - } - - case "CharacterClass": - if (element.characters.isEmpty) { - return undefined; - } else { - return ONE_ASSERT_RANGE; - } - - case "Concatenation": { - let min = 0; - let max = 0; - let assertMax = 0; - - for (const e of element.elements) { - const eRange = getAssertRange(e, kind); - if (!eRange) { - return undefined; - } - assertMax = Math.max(assertMax, max + eRange.assertMax); - min += eRange.min; - max += eRange.max; - } - - return { min, max, assertMax }; - } - - case "Quantifier": { - if (element.max === 0) { - return ZERO_ASSERT_RANGE; - } - const elementRange = getAssertRange(element.alternatives, kind); - if (!elementRange) { - return element.min === 0 ? ZERO_ASSERT_RANGE : undefined; - } - if (elementRange.max === 0) { - return ZERO_ASSERT_RANGE; - } - - const max = elementRange.max * element.max; - return { - min: elementRange.min * element.min, - max, - assertMax: - max + elementRange.assertMax === Infinity - ? Infinity - : max + elementRange.assertMax - elementRange.max, - }; - } - - case "Unknown": - return undefined; - - default: - throw assertNever(element); - } -} - -export type MatchingDirection = "ltr" | "rtl"; -export function toMatchingDirection(direction: Assertion["kind"] | MatchingDirection): MatchingDirection { - return direction === "ltr" || direction === "ahead" ? "ltr" : "rtl"; -} -export function invertMatchingDirection(direction: Assertion["kind"] | MatchingDirection): MatchingDirection { - return direction === "ltr" || direction === "ahead" ? "rtl" : "ltr"; -} - -export interface FirstLookChar { - /** - * A super set of the first character. - * - * We can usually only guarantee a super set because assertions in the pattern may narrow down the actual character - * set. - */ - char: CharSet; - /** - * If `true`, then the first character can be the start/end of the string. - */ - edge: boolean; - /** - * If `true`, then `char` is guaranteed to be exactly the first character and not just a super set of it. - */ - exact: boolean; -} -export type FirstConsumedChar = FirstFullyConsumedChar | FirstPartiallyConsumedChar; -/** - * This is equivalent to a regex fragment `[char]`. - */ -export interface FirstFullyConsumedChar { - /** - * A super set of the first character. - * - * We can usually only guarantee a super set because assertions in the pattern may narrow down the actual character - * set. - */ - char: CharSet; - /** - * If `true`, then the first character also includes the empty word. - */ - empty: false; - /** - * If `true`, then `char` is guaranteed to be exactly the first character and not just a super set of it. - */ - exact: boolean; -} -/** - * This is equivalent to a regex fragment `[char]|(?=[look.char])` or `[char]|(?=[look.char]|$)` depending on - * `look.edge`. - */ -export interface FirstPartiallyConsumedChar { - /** - * A super set of the first character. - * - * We can usually only guarantee a super set because assertions in the pattern may narrow down the actual character - * set. - */ - char: CharSet; - /** - * If `true`, then the first character also includes the empty word. - */ - empty: true; - /** - * If `true`, then `char` is guaranteed to be exactly the first character and not just a super set of it. - */ - exact: boolean; - /** - * A set of characters that may come after the consumed character - */ - look: FirstLookChar; -} - -/** - * If a character is returned, it guaranteed to be a super set of the actual character. If the given element is - * always of zero length, then the empty character set will be returned. - * - * If `exact` is `true` then it is guaranteed that the returned character is guaranteed to be the actual - * character at all times if this element is not influenced by assertions outside itself. - * - * @param node - * @param direction - * @param maxCharacter - */ -export function getFirstCharConsumedBy( - node: NoParent | NoParent[], - direction: MatchingDirection, - maxCharacter: number -): FirstConsumedChar { - if (Array.isArray(node)) { - return firstConsumedCharUnion( - node.map(e => getFirstCharConsumedBy(e, direction, maxCharacter)), - maxCharacter - ); - } - - switch (node.type) { - case "Alternation": - case "Expression": - return getFirstCharConsumedBy(node.alternatives, direction, maxCharacter); - - case "Assertion": - if (toMatchingDirection(node.kind) === direction) { - if (node.negate) { - // we can only meaningfully analyse negative assertions of the form `(?![a])` - if (hasSomeDescendant(node, d => d !== node && d.type === "Assertion")) { - return misdirectedAssertion(); - } - const firstChar = getFirstCharConsumedBy(node.alternatives, direction, maxCharacter); - const range = getLengthRange(node.alternatives); - if (firstChar.empty || !range) { - // trivially rejecting - return { char: CharSet.empty(maxCharacter), empty: false, exact: true }; - } - - if (!firstChar.exact || range.max !== 1) { - // the goal to to convert `(?![a])` to `(?=[^a]|$)` but this negation is only correct - // if the characters are exact and if the assertion asserts at most one character - // E.g. `(?![a][b])` == `(?=$|[^a]|[a][^b])` - return misdirectedAssertion(); - } else { - return emptyWord({ char: firstChar.char.negate(), edge: true, exact: true }); - } - } else { - const firstChar = getFirstCharConsumedBy(node.alternatives, direction, maxCharacter); - return emptyWord(firstConsumedToLook(firstChar)); - } - } else { - return misdirectedAssertion(); - } - - case "CharacterClass": - return { char: node.characters, empty: false, exact: true }; - - case "Concatenation": { - let elements = node.elements; - if (direction === "rtl") { - elements = [...elements]; - elements.reverse(); - } - - return firstConsumedCharConcat( - (function* (): Iterable { - for (const e of elements) { - yield getFirstCharConsumedBy(e, direction, maxCharacter); - } - })(), - maxCharacter - ); - } - - case "Quantifier": { - if (node.max === 0) { - return emptyWord(); - } - - const firstChar = getFirstCharConsumedBy(node.alternatives, direction, maxCharacter); - if (node.min === 0) { - return firstConsumedCharUnion([emptyWord(), firstChar], maxCharacter); - } else { - return firstChar; - } - } - - case "Unknown": - // Since we have no information about this node, we will return a first character - // that accepts everything but is inexact. - // While the unknown may also accept the empty word, we will not make it empty because the results of - // `isEmpty` and this method should be consistent. - return { char: CharSet.all(maxCharacter), empty: false, exact: false }; - - default: - throw assertNever(node); - } - - /** - * The result for an assertion that (partly) assert for the wrong matching direction. - */ - function misdirectedAssertion(): FirstPartiallyConsumedChar { - return emptyWord({ - char: CharSet.all(maxCharacter), - edge: true, - // This is the important part. - // Since the allowed chars depend on the previous chars, we don't know which will be allowed. - exact: false, - }); - } - function emptyWord(look?: FirstLookChar): FirstPartiallyConsumedChar { - return firstConsumedCharEmptyWord(maxCharacter, look); - } -} -/** - * Returns first-look-char that is equivalent to a trivially-accepting assertion. - * - * @param maxCharacter - */ -function firstLookCharTriviallyAccepting(maxCharacter: number): FirstLookChar { - return { char: CharSet.all(maxCharacter), edge: true, exact: true }; -} -/** - * Returns first-consumed-char that is equivalent to consuming nothing (the empty word) followed by a trivially - * accepting assertion. - * - * @param maxCharacter - * @param look - */ -function firstConsumedCharEmptyWord(maxCharacter: number, look?: FirstLookChar): FirstPartiallyConsumedChar { - return { - char: CharSet.empty(maxCharacter), - empty: true, - exact: true, - look: look ?? firstLookCharTriviallyAccepting(maxCharacter), - }; -} -class CharUnion { - char: CharSet; - exact: boolean; - constructor(maximum: number) { - this.char = CharSet.empty(maximum); - this.exact = true; - } - add(char: CharSet, exact: boolean): void { - // basic idea here is that the union or an exact superset with an inexact subset will be exact - if (this.exact && !exact && !this.char.isSupersetOf(char)) { - this.exact = false; - } else if (!this.exact && exact && char.isSupersetOf(this.char)) { - this.exact = true; - } - - this.char = this.char.union(char); - } -} -function firstConsumedCharUnion(iter: Iterable>, maxCharacter: number): FirstConsumedChar { - const union = new CharUnion(maxCharacter); - const looks: FirstLookChar[] = []; - - for (const itemChar of iter) { - union.add(itemChar.char, itemChar.exact); - if (itemChar.empty) { - looks.push(itemChar.look); - } - } - - if (looks.length > 0) { - // This means that the unioned elements look something like this: - // (a|(?=g)|b?|x) - // - // Adding the trivially accepting look after all all alternatives that can be empty, we'll get: - // (a|(?=g)|b?|x) - // (a|(?=g)|b?(?=[^]|$)|x) - // (a|(?=g)|b(?=[^]|$)|(?=[^]|$)|x) - // - // Since we are only interested in the first character, the look in `b(?=[^]|$)` can be removed. - // (a|(?=g)|b|(?=[^]|$)|x) - // (a|b|x|(?=g)|(?=[^]|$)) - // ([abx]|(?=g)|(?=[^]|$)) - // - // To union the looks, we can simply use the fact that `(?=a)|(?=b)` == `(?=a|b)` - // ([abx]|(?=g)|(?=[^]|$)) - // ([abx]|(?=g|[^]|$)) - // ([abx]|(?=[^]|$)) - // - // And with that we are done. This is exactly the form of a first partial char. Getting the exactness of the - // union of normal chars and look chars follows the same rules. - - const lookUnion = new CharUnion(maxCharacter); - let edge = false; - for (const look of looks) { - lookUnion.add(look.char, look.exact); - edge = edge || look.edge; - } - return { - char: union.char, - exact: union.exact, - empty: true, - look: { char: lookUnion.char, exact: lookUnion.exact, edge }, - }; - } else { - return { char: union.char, exact: union.exact, empty: false }; - } -} -function firstConsumedCharConcat(iter: Iterable>, maxCharacter: number): FirstConsumedChar { - const union = new CharUnion(maxCharacter); - let look = firstLookCharTriviallyAccepting(maxCharacter); - - for (const item of iter) { - union.add(item.char.intersect(look.char), look.exact && item.exact); - - if (item.empty) { - // This is the hard case. We need to convert the expression - // (a|(?=b))(c|(?=d)) - // into an expression - // e|(?=f) - // (we will completely ignore edge assertions for now) - // - // To do that, we'll use the following idea: - // (a|(?=b))(c|(?=d)) - // a(c|(?=d))|(?=b)(c|(?=d)) - // ac|a(?=d)|(?=b)c|(?=b)(?=d) - // - // Since we are only interested in the first char, we can remove the `c` in `ac` and the `(?=d)` in - // `a(?=d)`. Furthermore, `(?=b)c` is a single char, so let's call it `C` for now. - // ac|a(?=d)|(?=b)c|(?=b)(?=d) - // a|a|C|(?=b)(?=d) - // [aC]|(?=b)(?=d) - // [aC]|(?=(?=b)d) - // - // This is *almost* the desired form. We now have to convert `(?=(?=b)d)` to an expression of the form - // `(?=f)`. This is the point where we can't ignore edge assertions any longer. Let's look at all possible - // cases and see how it plays out. Also, let `D` be the char intersection of `b` and `d`. - // (1) (?=(?=b)d) - // (?=D) - // - // (2) (?=(?=b)(d|$)) - // (?=(?=b)d|(?=b)$) - // (?=D) - // - // (3) (?=(?=b|$)d) - // (?=((?=b)|$)d) - // (?=(?=b)d|$d) - // (?=D) - // - // (4) (?=(?=b|$)(d|$)) - // (?=((?=b)|$)(d|$)) - // (?=(?=b)(d|$)|$(d|$)) - // (?=(?=b)d|(?=b)$|$d|$$) - // (?=D|$) - // - // As we can see, the look char is always `D` and the edge is only accepted if it's accepted by both. - - const charIntersection = look.char.intersect(item.look.char); - look = { - char: charIntersection, - exact: (look.exact && item.look.exact) || charIntersection.isEmpty, - edge: look.edge && item.look.edge, - }; - } else { - return { char: union.char, exact: union.exact, empty: false }; - } - } - return { char: union.char, exact: union.exact, empty: true, look }; -} -/** - * This wraps the first-consumed-char object in a look. - * - * @param first - */ -export function firstConsumedToLook(first: Readonly): FirstLookChar { - if (first.empty) { - // We have 2 cases: - // (1) (?=a|(?=b)) - // (?=a|b) - // (?=[ab]) - // (2) (?=a|(?=b|$)) - // (?=a|b|$) - // (?=[ab]|$) - const union = new CharUnion(first.char.maximum); - union.add(first.char, first.exact); - union.add(first.look.char, first.look.exact); - - return { - char: union.char, - exact: union.exact, - edge: first.look.edge, - }; - } else { - // It's already in the correct form: - // (?=a) - return { - char: first.char, - exact: first.exact, - edge: false, - }; - } -} - -export interface FollowOperations { - /** - * Split off a new path from the given one. - * - * The given state should not be modified. If the state is immutable, then `fork` may be implemented as the identify - * function in regard to `state`. - */ - fork(state: S, direction: MatchingDirection): S; - /** - * Joins any number but of paths to create a combined path. - */ - join(states: S[], direction: MatchingDirection): S; - /** - * This function is called when dealing with assertions. - */ - assert?: (state: S, direction: MatchingDirection, assertion: S, assertionDirection: MatchingDirection) => S; - - enter?: (element: NoParent, state: S, direction: MatchingDirection) => S; - leave?: (element: NoParent, state: S, enterState: S, direction: MatchingDirection) => S; - endPath?: (state: S, direction: MatchingDirection, reason: "expression" | "assertion") => S; - - /** - * Whether the current path should go into the given element (return `true`) or whether it should be skipped - * (return `false`). If the element is skipped, the given state will not be changed and passed as-is to the `leave` - * function. - * - * You shouldn't modify state in this function. Modify state in the `enter` function instead. - */ - continueInto?: (element: NoParent, state: S, direction: MatchingDirection) => boolean; - /** - * Whether the current path should continue after the given element (return `true`) or whether all elements that - * follow this element should be skipped (return `false`). - * - * If the current path is a fork path, then only the elements until the fork is joined will be skipped. A stopped - * fork path will be joined with all other forks like normal. - * - * You shouldn't modify state in this function. Modify state in the `leave` function instead. - */ - continueAfter?: (element: NoParent, state: S, direction: MatchingDirection) => boolean; -} -/** - * This function goes to all elements reachable from the given `start`. - * - * ## Paths - * - * The function uses _paths_ for this. A path is an [execution path](https://en.wikipedia.org/wiki/Symbolic_execution) - * that is described by a sequence of regex elements. - * - * I.e. there are two paths to go from `a` to `b` in the pattern `/a(\w|dd)b/`. The first path is `a \w b` and the - * second path is `a d d b`. - * - * However, the problem with paths is that there can be exponentially many because of combinatorial explosion (e.g. the - * pattern `/(a|b)(a|b)(a|b)(a|b)(a|b)/` has 32 paths). To solve this problem, this function will _join_ paths together - * again. - * - * I.e. In the pattern `/a(\w|dd)b/`, first element of all paths will be `a`. After `a`, the path splits into two. We - * call each of the split paths a _fork_. The two forks will be `a ( \w` and `a ( d d`. The `(` is used to indicate that - * a fork was made. Since both paths come together after the group ends, they will be _joined_. The joined path of - * `a ( \w` and `a ( d d` will be written as `a ( \w | d d )`. The `)` is used to indicate that forks have been joined. - * The final path will be `a ( \w | d d ) b`. - * - * This method of forking and joining works for alternations but it won't work for quantifiers. This is why quantifiers - * will be treated as single elements that can be entered. By default, a quantifier `q` will be interpreted as `( q | )` - * if its minimum is zero and as `( q )` otherwise. - * - * ### State - * - * Paths are thought of as a sequence of elements and they are represented by state (type parameter `S`). All operations - * that fork, join, or assert paths will operate on state and not a sequence of elements. - * - * State allows flow operations to be implemented more efficiently and ensures that only necessary data is passed - * around. Flow analysis for paths usually tracks properties and analyses how these properties change, the current - * values of these properties is state. - * - * ## Flow operations - * - * Flow operations are specific to the type of the state and act upon the state. The define how the state of paths - * changes when encountering elements and how paths fork, join, and continue. - * - * ### Operation sequence - * - * To follow all paths, two operations are necessary: one operations that enters elements and one that determines the - * next element. These operations will be called `Enter` and `Next` respectively. The operation will call the given - * flow operations like this: - * - * ```txt - * function Enter(element, state): - * operations.enter - * if operations.continueInto: - * if elementType == GROUP: - * operations.join( - * alternatives.map(e => Enter(e, operations.fork(state))) - * ) - * if elementType == QUANTIFIER: - * if quantifierMin == 0: - * operations.join([ - * state, - * Enter(quantifier, operations.fork(state)) - * ]) - * if elementType == ASSERTION: - * operations.assert( - * state, - * operations.join( - * alternatives.map(e => Enter(e, operations.fork(state))) - * ) - * ) - * operations.leave - * Next(element, state) - * - * function Next(element, state): - * if operations.continueAfter: - * if noNextElement: - * operations.endPath - * else: - * Enter(nextElement, state) - * ``` - * - * (This is just simplified pseudo code but the general order of operations will be the same.) - * - * ## Runtime - * - * If `n` elements can be reached from the given starting element, then the average runtime will be `O(n)` and the - * worst-case runtime will be `O(n^2)`. - * - * @param startPath - * @param startMode If "enter", then the first element to be entered will be the starting element. If "leave", then the - * first element to continue after will be the starting element. - * @param initialState - * @param operations - * @param direction - */ -export function followPaths( - startPath: Path, - startMode: "enter" | "next", - initialState: NonNullable, - operations: FollowOperations>, - direction: MatchingDirection -): NonNullable { - function opEnter(element: NoParent, state: NonNullable, direction: MatchingDirection): NonNullable { - state = operations.enter?.(element, state, direction) ?? state; - const enterState = state; - - const continueInto = operations.continueInto?.(element, state, direction) ?? true; - if (continueInto) { - switch (element.type) { - case "Alternation": { - state = operations.join( - element.alternatives.map(a => - enterConcatenation(a, operations.fork(state, direction), direction) - ), - direction - ); - break; - } - case "Assertion": { - const assertionDirection = toMatchingDirection(element.kind); - const assertion = operations.join( - element.alternatives.map(a => - enterConcatenation(a, operations.fork(state, direction), assertionDirection) - ), - assertionDirection - ); - state = operations.endPath?.(state, assertionDirection, "assertion") ?? state; - state = operations.assert?.(state, direction, assertion, assertionDirection) ?? state; - break; - } - case "Quantifier": { - if (element.max === 0) { - // do nothing - } else { - const paths = element.alternatives.map(a => - enterConcatenation(a, operations.fork(state, direction), direction) - ); - if (element.min === 0) { - paths.push(state); - } - state = operations.join(paths, direction); - } - break; - } - } - } - - state = operations.leave?.(element, state, enterState, direction) ?? state; - return state; - } - function enterConcatenation( - concat: NoParent, - state: NonNullable, - direction: MatchingDirection - ): NonNullable { - let i = direction === "ltr" ? 0 : concat.elements.length - 1; - const increment = direction === "ltr" ? +1 : -1; - for (; 0 <= i && i < concat.elements.length; i += increment) { - const element = concat.elements[i]; - state = opEnter(element, state, direction); - - const continueAfter = operations.continueAfter?.(element, state, direction) ?? true; - if (!continueAfter) { - break; - } - } - - return state; - } - - function opNext(elementPath: Path, state: NonNullable, direction: MatchingDirection): NonNullable { - type NextElement = false | Path | "expression" | "assertion" | [NoParent, NextElement]; - function getNextElement(elementPath: Path): NextElement { - const element = elementPath.node; - const continuePath = operations.continueAfter?.(element, state, direction) ?? true; - if (!continuePath) { - return false; - } - - const parentPath: Path = elementPath.toParentPath(); - const parent = parentPath.node; - - const nextIndex = parent.elements.indexOf(element) + (direction === "ltr" ? +1 : -1); - const nextElement = parent.elements[nextIndex] as NoParent | undefined; - - if (nextElement) { - return parentPath.toChildPath(nextElement); - } else { - const parentParentPath: Path = parentPath.toParentPath(); - const parentParent: NoParent = parentParentPath.node; - if (parentParent.type === "Expression") { - return "expression"; - } else if (parentParent.type === "Assertion") { - return "assertion"; - } else if (parentParent.type === "Alternation") { - return getNextElement(parentParentPath as Path); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - } else if (parentParent.type === "Quantifier") { - // This is difficult. - // The main problem is that paths coming out of the quantifier might loop back into itself. This means that - // we have to consider the path that leaves the quantifier and the path that goes back into the quantifier. - if (parentParent.max <= 1) { - // Can't loop, so we only have to consider the path going out of the quantifier. - return getNextElement(parentParentPath as Path); - } else { - return [parentParent, getNextElement(parentParentPath as Path)]; - } - } - throw assertNever(parentParent); - } - } - - for (;;) { - let after = getNextElement(elementPath); - while (Array.isArray(after)) { - const [quant, other] = after; - state = operations.join( - [state, opEnter(quant, operations.fork(state, direction), direction)], - direction - ); - after = other; - } - - if (after === false) { - return state; - } else if (after === "assertion" || after === "expression") { - state = operations.endPath?.(state, direction, after) ?? state; - return state; - } else { - state = opEnter(after.node, state, direction); - elementPath = after; - } - } - } - - if (startMode === "enter") { - initialState = opEnter(startPath.node, initialState, direction); - } - return opNext(startPath, initialState, direction); -} - -export function getFirstConsumedCharAfter( - afterThis: Path, - direction: MatchingDirection, - maxCharacter: number -): FirstConsumedChar { - type State = Readonly; - const result = followPaths( - afterThis, - "next", - firstConsumedCharEmptyWord(maxCharacter), - { - fork(state): State { - return state; - }, - join(states): State { - return firstConsumedCharUnion(states, maxCharacter); - }, - - enter(element, state, direction): State { - const first = getFirstCharConsumedBy(element, direction, maxCharacter); - return firstConsumedCharConcat([state, first], maxCharacter); - }, - - continueInto(): boolean { - return false; - }, - continueAfter(_, state): boolean { - return state.empty; - }, - }, - direction - ); - - return result; -} - -/** - * Returns the first character after the given element. - * - * What "after" means depends the on the given direction which will be interpreted as the current matching - * direction. You can use this to get the previous character of an element as well. - * - * @param afterThis - * @param direction - * @param maxCharacter - */ -export function getFirstCharAfter( - afterThis: Path, - direction: MatchingDirection, - maxCharacter: number -): FirstLookChar { - const result = getFirstConsumedCharAfter(afterThis, direction, maxCharacter); - return firstConsumedToLook(result); -} - -export function structurallyEqual( - a: NoParent | NoParent[], - b: NoParent | NoParent[] -): boolean { - if (Array.isArray(a)) { - if (Array.isArray(b)) { - return structurallyEqualAlternatives(a, b); - } else { - return false; - } - } else if (Array.isArray(b)) { - return false; - } else if (a.type !== b.type) { - return false; - } - - switch (a.type) { - case "Alternation": - case "Expression": { - const other = b as NoParent; - return structurallyEqualAlternatives(a.alternatives, other.alternatives); - } - case "Assertion": { - const other = b as NoParent; - if (a.kind !== other.kind || a.negate !== other.negate) { - return false; - } - return structurallyEqualAlternatives(a.alternatives, other.alternatives); - } - case "CharacterClass": { - const other = b as NoParent; - return a.characters.equals(other.characters); - } - case "Concatenation": { - const other = b as NoParent; - const l = a.elements.length; - if (l !== other.elements.length) { - return false; - } - for (let i = 0; i < l; i++) { - if (!structurallyEqual(a.elements[i], other.elements[i])) { - return false; - } - } - return true; - } - case "Quantifier": { - const other = b as NoParent; - if (a.min !== other.min || a.max !== other.max || a.lazy !== other.lazy) { - return false; - } - return structurallyEqualAlternatives(a.alternatives, other.alternatives); - } - case "Unknown": { - const other = b as NoParent; - return a.id === other.id; - } - default: - throw assertNever(a); - } -} -function structurallyEqualAlternatives(a: NoParent[], b: NoParent[]): boolean { - const l = a.length; - if (l !== b.length) { - return false; - } - for (let i = 0; i < l; i++) { - if (!structurallyEqual(a[i], b[i])) { - return false; - } - } - return true; -} - -export function structurallyEqualToQuantifiedElement( - quant: NoParent, - element: NoParent | NoParent[] -): boolean { - if (Array.isArray(element)) { - return structurallyEqualAlternatives(quant.alternatives, element); - } else if (element.type === "Alternation") { - return structurallyEqualAlternatives(quant.alternatives, element.alternatives); - } else if (element.type === "Concatenation") { - if (element.elements.length === 1) { - return structurallyEqualToQuantifiedElement(quant, element.elements[0]); - } else { - return quant.alternatives.length === 1 && structurallyEqual(quant.alternatives[0], element); - } - } else { - if (quant.alternatives.length === 1) { - const alt = quant.alternatives[0]; - if (alt.elements.length === 1) { - return structurallyEqual(alt.elements[0], element); - } else { - return false; - } - } else { - return false; - } - } -} - -/** - * Converts the given value into an alternatives array. - * - * @param value - */ -export function toAlternatives( - value: NoParent | readonly NoParent[] -): readonly NoParent[] { - if (isReadonlyArray(value)) { - return value; - } else { - switch (value.type) { - case "Expression": - return value.alternatives; - case "Concatenation": - return [value]; - default: - return [ - { - type: "Concatenation", - elements: [value], - source: value.source, - }, - ]; - } - } -} diff --git a/src/ast/index.ts b/src/ast/index.ts deleted file mode 100644 index 7452f19e..00000000 --- a/src/ast/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./nodes"; -export * from "./set-parent"; -export * from "./set-source"; -export * from "./visit"; -export * from "./transform"; diff --git a/src/ast/nodes.ts b/src/ast/nodes.ts deleted file mode 100644 index 85cc5886..00000000 --- a/src/ast/nodes.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { CharSet } from "../char-set"; - -export interface SourceLocation { - start: number; - end: number; -} - -interface NodeBase { - type: Node["type"]; - parent: Node["parent"]; - source?: SourceLocation; -} - -export type Element = CharacterClass | Alternation | Quantifier | Assertion | Unknown; -export type Parent = Expression | Alternation | Quantifier | Assertion; -export type Node = Expression | CharacterClass | Alternation | Quantifier | Assertion | Concatenation | Unknown; - -export interface Alternation extends NodeBase { - type: "Alternation"; - parent: Concatenation; - alternatives: Concatenation[]; -} - -export interface Assertion extends NodeBase { - type: "Assertion"; - parent: Concatenation; - alternatives: Concatenation[]; - kind: "ahead" | "behind"; - negate: boolean; -} - -export interface Quantifier extends NodeBase { - type: "Quantifier"; - parent: Concatenation; - alternatives: Concatenation[]; - lazy: boolean; - min: number; - max: number; -} - -export interface CharacterClass extends NodeBase { - type: "CharacterClass"; - parent: Concatenation; - characters: CharSet; -} - -export interface Unknown extends NodeBase { - type: "Unknown"; - parent: Concatenation; - id: string; -} - -export interface Expression extends NodeBase { - type: "Expression"; - parent: null; - alternatives: Concatenation[]; -} - -export interface Concatenation extends NodeBase { - type: "Concatenation"; - parent: Parent; - elements: Element[]; -} - -type NodeIdent = { type: Node["type"] }; - -type NoParentArray = { [K in keyof T]: NoParent }; -type NoParentNode = { [K in keyof NoParentNodePick]: NoParent[K]> }; -type NoParentNodePick = Pick>; -/** - * A view of an AST node that hides the `parent` property. - */ -export type NoParent = T extends NodeIdent ? NoParentNode : T extends unknown[] ? NoParentArray : T; diff --git a/src/ast/set-parent.ts b/src/ast/set-parent.ts deleted file mode 100644 index 3621a127..00000000 --- a/src/ast/set-parent.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { NoParent, Node } from "./nodes"; -import { assertNever } from "../util"; - -/** - * Sets the `parent` properties of the given node and all of its child nodes. - * - * @param node - * @param parent The parent of `node`. - */ -export function setParent(node: T | NoParent, parent: T["parent"]): asserts node is T { - setParentImpl(node as Node, parent as Node["parent"]); -} -function setParentImpl(node: Node, parent: Node["parent"]): void { - switch (node.type) { - case "Concatenation": - if (parent === null) { - throw new Error("The parent of a concatenation cannot be null."); - } - - switch (parent.type) { - case "Alternation": - case "Assertion": - case "Expression": - case "Quantifier": - node.parent = parent; - break; - - case "Concatenation": - throw new Error("A concatenation cannot be parent of a concatenation."); - - default: - throw assertNever(parent); - } - - node.elements.forEach(e => setParentImpl(e, node)); - break; - - case "Alternation": - case "Assertion": - case "CharacterClass": - case "Quantifier": - case "Unknown": - if (parent === null) { - throw new Error(`The parent of a(n) ${node.type} cannot be null.`); - } - - if (parent.type === "Concatenation") { - node.parent = parent; - } else { - throw new Error(`A(n) ${parent.type} cannot be parent of a(n) ${node.type}.`); - } - - if (node.type !== "CharacterClass" && node.type !== "Unknown") { - node.alternatives.forEach(c => setParentImpl(c, node)); - } - break; - - case "Expression": - if (parent !== null) { - throw new Error(`The parent of an expression has to be null and cannot be a(n) ${parent.type}.`); - } - - node.parent = null; - - node.alternatives.forEach(c => setParentImpl(c, node)); - break; - - default: - throw assertNever(node); - } -} diff --git a/src/ast/set-source.ts b/src/ast/set-source.ts deleted file mode 100644 index cd05d68c..00000000 --- a/src/ast/set-source.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { NoParent, Node, SourceLocation } from "./nodes"; -import { assertNever } from "../util"; - -/** - * Sets the `source` property of the given node and all of its child nodes. - * - * If `source` is not a function, then the source object will be copied for all `source` properties to be set. The - * object will be copied using the `start` and `end` properties alone, other properties will not be copied. - * - * @param node - * @param source - * @param overwrite - */ -export function setSource( - node: NoParent, - source: SourceLocation | (() => SourceLocation), - overwrite?: boolean -): void { - if (typeof source !== "function") { - const { start, end } = source; - source = () => ({ start, end }); - } - - setSourceImpl(node, source, overwrite); -} -function setSourceImpl(node: NoParent, getSource: () => SourceLocation, overwrite?: boolean): void { - if (overwrite || !node.source) { - node.source = getSource(); - } else { - const { start, end } = node.source; - getSource = () => ({ start, end }); - } - - switch (node.type) { - case "Concatenation": - node.elements.forEach(e => setSourceImpl(e, getSource, overwrite)); - break; - - case "Alternation": - case "Assertion": - case "Expression": - case "Quantifier": - node.alternatives.forEach(c => setSourceImpl(c, getSource, overwrite)); - break; - - case "CharacterClass": - case "Unknown": - // no children - break; - - default: - throw assertNever(node); - } -} diff --git a/src/ast/transform.ts b/src/ast/transform.ts deleted file mode 100644 index 0e2a6727..00000000 --- a/src/ast/transform.ts +++ /dev/null @@ -1,318 +0,0 @@ -import { Char } from "../char-types"; -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Expression, - NoParent, - Node, - Quantifier, - Unknown, -} from "./nodes"; -import { visitAst } from "./visit"; - -/** - * A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. - * They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure - * functions. - * - * Transformers are always applied bottom-up. - * - * The most simple transformer is an empty object (`{}`). This is equivalent to a no-op transformer that does not change - * the given AST. - */ -export interface Transformer { - /** - * An optional name useful for diagnostics. - */ - readonly name?: string; - onAlternation?(node: NoParent, context: TransformContext): void; - onAssertion?(node: NoParent, context: TransformContext): void; - onCharacterClass?(node: NoParent, context: TransformContext): void; - onConcatenation?(node: NoParent, context: TransformContext): void; - onExpression?(node: NoParent, context: TransformContext): void; - onQuantifier?(node: NoParent, context: TransformContext): void; - onUnknown?(node: NoParent, context: TransformContext): void; -} - -export interface TransformContext { - /** - * The maximum character of all character sets in the AST. - * - * If the expression to transform does not contain any characters at the start of the transformation, then this - * value will be `0`. - */ - readonly maxCharacter: Char; - - /** - * Signals that the transformer changed the AST. - */ - readonly signalMutation: () => void; -} - -/** - * A transformer that runs all given transformers in sequentially order. - * - * The combined transformer is a special transformer in that the {@link transform} function knows about it. - */ -export class CombinedTransformer implements Transformer { - readonly name = "CombinedTransformer"; - /** - * The transformers that will be applied in order. - * - * Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a - * `CombinedTransformer`, then its transformers will be used instead (think of it as flattening combined - * transformers). - */ - readonly transformers: readonly Transformer[]; - - constructor(transformers: Iterable) { - const list: Transformer[] = []; - for (const t of transformers) { - if (t instanceof CombinedTransformer) { - list.push(...t.transformers); - } else { - list.push(t); - } - } - this.transformers = list; - } - - onAlternation(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onAlternation) { - t.onAlternation(node, context); - } - } - } - - onAssertion(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onAssertion) { - t.onAssertion(node, context); - } - } - } - - onCharacterClass(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onCharacterClass) { - t.onCharacterClass(node, context); - } - } - } - - onConcatenation(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onConcatenation) { - t.onConcatenation(node, context); - } - } - } - - onExpression(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onExpression) { - t.onExpression(node, context); - } - } - } - - onQuantifier(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onQuantifier) { - t.onQuantifier(node, context); - } - } - } - - onUnknown(node: NoParent, context: TransformContext): void { - for (const t of this.transformers) { - if (t.onUnknown) { - t.onUnknown(node, context); - } - } - } -} -/** - * Creates a new transformer that performs all given transformers in sequentially order. - * - * If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are - * given, the returned transformer will be equivalent to a noop transformer. - * - * The given iterable can be changed and reused after this function returns. - * - * @param transformers - * @deprecated Use `new CombinedTransformer(transformers)` instead. - */ -export function combineTransformers(transformers: Iterable): CombinedTransformer { - return new CombinedTransformer(transformers); -} - -export interface TransformEvents { - /** - * An optional callback that will be called at the start of every pass. - * - * @param ast The AST that will be transformed. - * @param pass The number of the pass that will be performed. Starts at `1`. - */ - onPassStart?: (ast: NoParent, pass: number) => void; - /** - * An optional callback that will be called every time a transformer mutates the AST. - * - * @param ast The AST that was transformed. - * @param node The node that was mutated by the transformer. Descendants of this node may have been mutated as well. - * @param transformer The transformer that mutated the AST. - */ - onChange?: (ast: NoParent, node: NoParent, transformer: Transformer) => void; -} -export interface TransformOptions { - /** - * The maximum number of times the transformer will be applied to the AST. - * - * This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified - * anymore. - * - * @default 10 - */ - maxPasses?: number; - - /** - * Optional events to observe the transformation process. - */ - events?: TransformEvents; -} - -/** - * Transforms the given expression according to the given transformer. - * - * __Do not__ use the given `ast` object again after calling this function, the object will be in an undefined state. - * - * Note: This function knows about {@link CombinedTransformer} and will give it special treatment. Instead of applying - * the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the - * transformer, it does change which transformers the {@link TransformEvents} will see. Instead of seeing the combined - * transformer, they will see the individual transformers. - * - * @param transformer - * @param ast - * @param options - */ -export function transform( - transformer: Transformer, - ast: NoParent, - options?: Readonly -): NoParent { - const { maxPasses = 10, events } = options ?? {}; - - const context: Context = { - transformer, - ast, - maxCharacter: determineMaxCharacter(ast), - events: events, - }; - - for (let i = 1; i <= maxPasses; i++) { - events?.onPassStart?.(ast, i); - - if (!transformPass(context)) { - break; - } - } - - return ast; -} - -/** - * The will return the maximum of the first charset is finds or 1 if no charset were found. - * - * @param ast - */ -function determineMaxCharacter(ast: NoParent): Char { - try { - visitAst(ast, { - onCharacterClassEnter(node) { - throw node.characters.maximum; - }, - }); - return 0; - } catch (e) { - if (typeof e === "number") { - return e; - } - throw e; - } -} - -interface Context { - transformer: Transformer; - ast: NoParent; - maxCharacter: Char; - events: TransformEvents | undefined; -} - -function transformPass({ transformer, ast, maxCharacter, events }: Context): boolean { - let changed = false; - let leaveNode: (node: NoParent) => void; - - const transformers = transformer instanceof CombinedTransformer ? transformer.transformers : [transformer]; - const byKey: Record<`on${Node["type"]}`, Transformer[]> = { - onAlternation: transformers.filter(t => t.onAlternation), - onAssertion: transformers.filter(t => t.onAssertion), - onCharacterClass: transformers.filter(t => t.onCharacterClass), - onConcatenation: transformers.filter(t => t.onConcatenation), - onExpression: transformers.filter(t => t.onExpression), - onQuantifier: transformers.filter(t => t.onQuantifier), - onUnknown: transformers.filter(t => t.onUnknown), - }; - - if (events?.onChange) { - let changedPrivate = false; - const transformerContext: TransformContext = { - maxCharacter, - signalMutation() { - changed = changedPrivate = true; - }, - }; - - leaveNode = node => { - const fnName = `on${node.type}` as const; - - for (const t of byKey[fnName]) { - changedPrivate = false; - t[fnName]!(node as never, transformerContext); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (changedPrivate) { - events.onChange!(ast, node, t); - } - } - }; - } else { - const transformerContext: TransformContext = { - maxCharacter, - signalMutation() { - changed = true; - }, - }; - - leaveNode = node => { - const fnName = `on${node.type}` as const; - - for (const t of byKey[fnName]) { - t[fnName]!(node as never, transformerContext); - } - }; - } - - visitAst(ast, { - onAlternationLeave: leaveNode, - onAssertionLeave: leaveNode, - onCharacterClassLeave: leaveNode, - onConcatenationLeave: leaveNode, - onExpressionLeave: leaveNode, - onQuantifierLeave: leaveNode, - onUnknownLeave: leaveNode, - }); - - return changed; -} diff --git a/src/ast/visit.ts b/src/ast/visit.ts deleted file mode 100644 index afeb7700..00000000 --- a/src/ast/visit.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Expression, - NoParent, - Node, - Quantifier, - Unknown, -} from "./nodes"; - -export interface VisitAstHandler { - onAlternationEnter?(node: Alternation): void; - onAlternationLeave?(node: Alternation): void; - onAssertionEnter?(node: Assertion): void; - onAssertionLeave?(node: Assertion): void; - onCharacterClassEnter?(node: CharacterClass): void; - onCharacterClassLeave?(node: CharacterClass): void; - onConcatenationEnter?(node: Concatenation): void; - onConcatenationLeave?(node: Concatenation): void; - onExpressionEnter?(node: Expression): void; - onExpressionLeave?(node: Expression): void; - onQuantifierEnter?(node: Quantifier): void; - onQuantifierLeave?(node: Quantifier): void; - onUnknownEnter?(node: Unknown): void; - onUnknownLeave?(node: Unknown): void; -} -export interface VisitNoParentAstHandler { - onAlternationEnter?(node: NoParent): void; - onAlternationLeave?(node: NoParent): void; - onAssertionEnter?(node: NoParent): void; - onAssertionLeave?(node: NoParent): void; - onCharacterClassEnter?(node: NoParent): void; - onCharacterClassLeave?(node: NoParent): void; - onConcatenationEnter?(node: NoParent): void; - onConcatenationLeave?(node: NoParent): void; - onExpressionEnter?(node: NoParent): void; - onExpressionLeave?(node: NoParent): void; - onQuantifierEnter?(node: NoParent): void; - onQuantifierLeave?(node: NoParent): void; - onUnknownEnter?(node: NoParent): void; - onUnknownLeave?(node: NoParent): void; -} -/** - * Calls the given visitor on the given node and all of its children. - * - * If the given visitor throws an error, the traversal will stop and the error will be re-thrown. - * - * @param node - * @param visitor - */ -export function visitAst(node: Node, visitor: VisitAstHandler): void; -export function visitAst(node: NoParent, visitor: VisitNoParentAstHandler): void; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function visitAst(node: NoParent, visitor: VisitNoParentAstHandler): void { - const enter = visitor[`on${node.type}Enter`]; - if (enter) { - enter(node as never); - } - - switch (node.type) { - case "Alternation": - case "Assertion": - case "Expression": - case "Quantifier": - for (const concat of node.alternatives) { - visitAst(concat, visitor); - } - break; - - case "Concatenation": - for (const element of node.elements) { - visitAst(element, visitor); - } - break; - - default: - break; - } - - const leave = visitor[`on${node.type}Leave`]; - if (leave) { - leave(node as never); - } -} diff --git a/src/char-base.ts b/src/char-base.ts deleted file mode 100644 index 9c40c161..00000000 --- a/src/char-base.ts +++ /dev/null @@ -1,157 +0,0 @@ -import { CharRange, CharSet } from "./char-set"; -import { iterToSet } from "./util"; - -/** - * A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty - * character sets - the base sets - that can be used to construct every character set in the collection it was - * constructed from. - * - * ## Guarantees - * - * - The base sets are guaranteed to be mutually disjoint and non-empty. - * - * - Every character set in the collection can be constructed by combining (union) a unique set of base sets. - * - * - The list of base sets is guaranteed to be as small as possible. There are at most `min(n^2, o)` base sets where `n` - * is the number of unique, non-empty character sets in the collection, and `o` is the number of characters in the - * union of all character sets in the collection. - * - * ## Use case - * - * The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the - * alphabet of the FA (e.g. DFA minimization). - * - * Base sets can be used to determine which characters in an FA's alphabet *Σ* cannot be distinguished by the FA *A*. - * Two characters *a,b* in *Σ* are indistinguishable if for all inputs *w* the following hold true: - * - * 1. *w* is accepted by *A* iff *w* with all occurrences of *a* replaced with *b* is accepted by *A*. - * 2. *w* is accepted by *A* iff *w* with all occurrences of *b* replaced with *a* is accepted by *A*. - * - * Two indistinguishable characters are guaranteed to be in the same base set. - * - * By treating each base set as a character, it is possible to create a new (smaller) alphabet *Γ* (*|Γ| <= |Σ|*) such - * that the FA *A* still behaves the same. - * - * Since *Γ* is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet - * can be done more quickly. - */ -export class CharBase { - /** - * A list of disjoint, non-empty character sets. - * - * See {@link CharBase} to learn more. - */ - readonly sets: readonly CharSet[]; - - /** - * Create the base sets of the given collection of character sets. - * - * See {@link CharBase} to learn more. - * - * @param charSets - * @throws `RangeError` if the collection contains two character sets with different maximums. - */ - constructor(charSets: Iterable) { - this.sets = getBaseSets(charSets); - } - - /** - * Splits the given character set into its base sets. - * - * The returned array will be a list of indexes of base sets necessary to construct the given character sets. The - * indexes will be sorted and occur at most once. - * - * **Note**: This assumes that `charSet` is either empty or can be constructed from the base sets. If the - * assumption is not met, the output of this function will be undefined. - * - * @param charSet - */ - split(charSet: CharSet): number[] { - const indexes: number[] = []; - for (let i = 0, l = this.sets.length; i < l; i++) { - if (charSet.has(this.sets[i].ranges[0].min)) { - indexes.push(i); - } - } - return indexes; - } -} - -/** - * Returns an array of disjoint non-empty sets that can used to construct all given sets. - * - * If the union of all given character sets is empty, the empty array will be returned. - * - * This algorithm run in O(n*log(n)) where n is the number of ranges in the given character sets. - * - * @param charSets - */ -function getBaseSets(charSets: Iterable): readonly CharSet[] { - // remove duplicates and empty sets - const sets = [...iterToSet(charSets)] - .filter(set => !set.isEmpty) - .sort((a, b) => a.compare(b)) - .filter((set, i, array) => i === 0 || !set.equals(array[i - 1])); - - if (sets.length === 0) { - // trivially - return sets; - } - if (sets.length === 1) { - // if there's only one set, then it's the only base set - return sets; - } - - // extract all ranges - const maximum = sets[0].maximum; - const ranges: CharRange[] = []; - for (const set of sets) { - if (set.maximum !== maximum) { - throw new RangeError("The maximum of all given sets has to be the same."); - } - ranges.push(...set.ranges); - } - - // union of all char sets - const union = CharSet.empty(maximum).union(ranges); - - // set of all cuts - const cuts = new Set(); - for (let i = 0, l = ranges.length; i < l; i++) { - const { min, max } = ranges[i]; - cuts.add(min); - cuts.add(max + 1); - } - - // determine the ranges of the base sets - const sortedCuts = [...cuts].sort((a, b) => a - b); - const baseRanges = new Map(); - for (let i = 1, l = sortedCuts.length; i < l; i++) { - const min = sortedCuts[i - 1]; - if (union.has(min)) { - let key = ""; - for (let setIndex = 0; setIndex < sets.length; setIndex++) { - const set = sets[setIndex]; - if (set.has(min)) { - key += setIndex + " "; - } - } - - const value = baseRanges.get(key); - const range = { min, max: sortedCuts[i] - 1 }; - if (value) { - value.push(range); - } else { - baseRanges.set(key, [range]); - } - } - } - - // create the base sets - const baseSets: CharSet[] = []; - for (const ranges of baseRanges.values()) { - baseSets.push(CharSet.empty(maximum).union(ranges)); - } - - return baseSets; -} diff --git a/src/char-map.ts b/src/char-map.ts deleted file mode 100644 index c1217a78..00000000 --- a/src/char-map.ts +++ /dev/null @@ -1,607 +0,0 @@ -import { Char } from "./char-types"; -import { CharRange, CharSet } from "./char-set"; -import { filterMut } from "./util"; - -export interface ReadonlyCharMap extends Iterable<[CharRange, T]> { - /** - * Returns whether this map is empty. - * - * This is equivalent to `this.size === 0` and `this.entryCount === 0`. - */ - readonly isEmpty: boolean; - /** - * The number of characters in this map. This is different from {@link entryCount}. - * - * This is equivalent to `[...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0)`. - */ - readonly size: number; - /** - * The number of entires in this map. - * - * This is different from {@link size}. In general, you should use {@link size}, because it has the same semantics - * as `Set#size` and `Map#size`. - * - * This is equivalent to `[...this.entries()].length`. - */ - readonly entryCount: number; - - /** - * Returns whether the given character is a key in the map. - * - * @param char - */ - has(char: Char): boolean; - /** - * Returns whether every character in the given range is a key in the map. - * - * This is equivalent to: `[...chars].every(char => this.has(char))`. - * - * @param chars - */ - hasEvery(chars: CharRange): boolean; - /** - * Returns whether some character in the given range is a key in the map. - * - * This is equivalent to: `[...chars].some(char => this.has(char))`. - * - * @param chars - */ - hasSome(chars: CharRange): boolean; - - /** - * Returns the value associated with the given character of `undefined` if the character is not key in the map. - * - * @param char - */ - get(char: Char): T | undefined; - - /** - * Invokes the given callback for every item of the character map. - * - * This method is implemented more efficiently than other iterator based methods, so chose `forEach` where every - * possible. - * - * @param callback - */ - forEach(callback: (value: T, chars: CharRange, map: ReadonlyCharMap) => void): void; - /** - * Returns all ranges of characters that are keys in the map. - * - * Keys will be returned in the same order as `this.entries()`. - */ - keys(): Iterable; - /** - * Returns all values in the map. Values might not be unique if more than one range maps to the same value. - * - * Values will be returned in the same order as `this.entries()`. - */ - values(): Iterable; - /** - * Returns all key-value pairs in the map. - * - * Entries will be returned in the order of ascending ranges. - */ - entries(): Iterable<[CharRange, T]>; - - /** - * Returns a mapping from the values of this map to its keys. - */ - invert(maxCharacter: Char): Map; - - /** - * Returns a new map with all values mapped by the given function. - * - * If no function is given, the identity function is used. - */ - copy(): CharMap; - copy(mapFn: (value: T) => U): CharMap; -} - -interface Item { - range: CharRange; - value: T; -} - -interface InclusiveRange { - start: number; - stop: number; -} - -/** - * A map from characters to generic values. - * - * The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated - * as one character range. The equality of values is given by JavaScript's strict equality operator (`===`). - */ -export class CharMap implements ReadonlyCharMap { - private _array: Item[] = []; - - get isEmpty(): boolean { - return this._array.length === 0; - } - get size(): number { - let count = 0; - for (const { range } of this._array) { - count += range.max - range.min + 1; - } - return count; - } - get entryCount(): number { - return this._array.length; - } - - private _indexOf(char: Char): number | undefined { - let l = 0; - let h = this._array.length; - - while (l < h) { - const m = l + ((h - l) >> 2); - const r = this._array[m].range; - - if (char < r.min) { - h = m; - } else if (char > r.max) { - l = m + 1; - } else { - return m; - } - } - - return undefined; - } - - /** - * Returns the index of the item that contains the given char. If no such item exists, then it will return the - * index of the nearest item to the left of it. If no item is left of the given char, then `undefined` will be - * returned. - * - * @param char - */ - private _indexOfOrLeft(char: Char): number | undefined { - let l = 0; - let h = this._array.length; - - while (l < h) { - const m = l + ((h - l) >> 2); - const r = this._array[m].range; - - if (char < r.min) { - h = m; - } else if (char > r.max) { - if (m + 1 === this._array.length || char < this._array[m + 1].range.min) { - return m; - } - l = m + 1; - } else { - return m; - } - } - - return undefined; - } - /** - * Returns the index of the item that contains the given char. If no such item exists, then it will return the - * index of the nearest item to the right of it. If no item is right of the given char, then `undefined` will be - * returned. - * - * @param char - */ - private _indexOfOrRight(char: Char): number | undefined { - if (this._array.length === 0) { - return undefined; - } - - const left = this._indexOfOrLeft(char); - - if (left === undefined) { - if (this._array.length === 0) { - return undefined; - } else { - return 0; - } - } - - if (char > this._array[left].range.max) { - if (left + 1 < this._array.length) { - return left + 1; - } else { - return undefined; - } - } else { - return left; - } - } - - /** - * Returns an inclusive range of all indexes of all items that intersect with the given range. - * - * This will return `undefined` if no such items exist. - * - * @param range - */ - private _indexInRange(range: CharRange): InclusiveRange | undefined { - const start = this._indexOfOrRight(range.min); - if (start === undefined) { - return undefined; - } - - const stop = this._indexOfOrLeft(range.max); - if (stop === undefined) { - return undefined; - } - - if (stop < start) { - return undefined; - } - - return { start, stop }; - } - - private _insert(range: CharRange, value: T): void { - if (this._array.length === 0 || this._array[this._array.length - 1].range.max + 1 < range.min) { - this._array.push({ range, value }); - return; - } - - const left = this._indexOfOrLeft(range.min); - - if (left === undefined) { - // there is no item to the left of the given range - const first = this._array[0]; - - if (first.range.min === range.max + 1 && first.value === value) { - // join - first.range = { min: range.min, max: first.range.max }; - } else { - // insert at start - this._array.unshift({ range, value }); - } - return; - } - - const right = left + 1; - if (right === this._array.length) { - // there is no item to the right of the given range - const last = this._array[left]; - - if (last.range.max === range.min - 1 && last.value === value) { - // join - last.range = { min: last.range.min, max: range.max }; - } else { - // insert at end - this._array.push({ range, value }); - } - - return; - } - - const leftItem = this._array[left]; - const rightItem = this._array[right]; - - if (rightItem.range.min === range.max + 1 && rightItem.value === value) { - if (leftItem.range.max === range.min - 1 && leftItem.value === value) { - // join both - leftItem.range = { min: leftItem.range.min, max: rightItem.range.max }; - this._array.splice(right, 1); - } else { - // join right - rightItem.range = { min: range.min, max: rightItem.range.max }; - } - } else { - if (leftItem.range.max === range.min - 1 && leftItem.value === value) { - // join left - leftItem.range = { min: leftItem.range.min, max: range.max }; - } else { - // insert - this._array.splice(right, 0, { range, value }); - } - } - } - - has(char: Char): boolean { - return this._indexOf(char) !== undefined; - } - hasEvery(chars: CharRange): boolean { - const range = this._indexInRange(chars); - if (!range) { - return false; - } - - // try to find gaps - for (let i = range.start; i < range.stop; i++) { - if (this._array[i].range.max + 1 !== this._array[i + 1].range.min) { - return false; - } - } - - return true; - } - hasSome(chars: CharRange): boolean { - return this._indexInRange(chars) !== undefined; - } - - get(char: Char): T | undefined { - const index = this._indexOf(char); - return index !== undefined ? this._array[index].value : undefined; - } - - set(char: Char, value: T): void { - this.delete(char); - this._insert({ min: char, max: char }, value); - } - - /** - * Sets the value for all characters in the given range. - * - * This is equivalent to `[...chars].forEach(char => this.set(char, value))`. - * - * @param chars - * @param value - */ - setRange(chars: CharRange, value: T): void { - this.deleteRange(chars); - this._insert(chars, value); - } - - /** - * Sets the value for all characters in the given character set. - * - * This is equivalent to `[...charSet.characters()].forEach(char => this.set(char, value))`. - * - * @param charSet - * @param value - */ - setCharSet(charSet: CharSet, value: T): void { - if (this._array.length > 0) { - for (const range of charSet.ranges) { - this.deleteRange(range); - } - } - - if (this._array.length === 0) { - for (const range of charSet.ranges) { - this._array.push({ range, value }); - } - } else { - for (const range of charSet.ranges) { - this._insert(range, value); - } - } - } - - delete(char: Char): boolean { - const index = this._indexOf(char); - if (index === undefined) { - return false; - } else { - const item = this._array[index]; - - if (item.range.min === item.range.max) { - this._array.splice(index, 1); - } else if (item.range.min === char) { - item.range = { min: item.range.min + 1, max: item.range.max }; - } else if (item.range.max === char) { - item.range = { min: item.range.min, max: item.range.max - 1 }; - } else { - this._array.splice( - index, - 1, - { range: { min: item.range.min, max: char - 1 }, value: item.value }, - { range: { min: char + 1, max: item.range.max }, value: item.value } - ); - } - - return true; - } - } - - /** - * Deletes all characters in the given range. - * - * This is equivalent to `[...range].forEach(char => this.delete(char))`. - * - * @param range - */ - deleteRange(range: CharRange): void { - const indexes = this._indexInRange(range); - if (!indexes) { - return; - } - - if (indexes.start === indexes.stop) { - // this is special because we might have to split an item - const item = this._array[indexes.start]; - - if (range.min <= item.range.min && item.range.max <= range.max) { - // delete item - this._array.splice(indexes.start, 1); - } else if (item.range.min < range.min && range.max < item.range.max) { - // split item into two - this._array.splice(indexes.start + 1, 0, { - range: { min: range.max + 1, max: item.range.max }, - value: item.value, - }); - item.range = { min: item.range.min, max: range.min + 1 }; - } else { - // both overlap - if (range.max < item.range.max) { - item.range = { min: range.max + 1, max: item.range.max }; - } else { - item.range = { min: item.range.min, max: range.min - 1 }; - } - } - } else { - // handle edges - const start = this._array[indexes.start]; - if (start.range.min < range.min) { - start.range = { min: start.range.min, max: range.min - 1 }; - indexes.start++; - } - const stop = this._array[indexes.stop]; - if (stop.range.max > range.max) { - stop.range = { min: range.max + 1, max: stop.range.max }; - indexes.stop--; - } - - // remove items - this._array.splice(indexes.start, indexes.stop - indexes.start + 1); - } - } - - /** - * Deletes all entries in the map. - */ - clear(): void { - this._array = []; - } - - copy(): CharMap; - copy(mapFn: (value: T) => U): CharMap; - copy(mapFn?: (value: T) => U): CharMap { - if (!mapFn) { - const map = new CharMap(); - map._array = this._array.map(item => { - return { range: item.range, value: item.value }; - }); - return map as unknown as CharMap; - } - - const map = new CharMap(); - map._array = this._array.map(item => { - return { range: item.range, value: mapFn(item.value) }; - }); - - // merge adjacent - filterMut(map._array, (item, prev) => { - if (prev && prev.range.max + 1 === item.range.min && prev.value === item.value) { - prev.range = { min: prev.range.min, max: item.range.max }; - return false; - } - return true; - }); - - return map; - } - - map(mapFn: (value: T, chars: CharRange, map: ReadonlyCharMap) => T): void { - for (const item of this._array) { - item.value = mapFn(item.value, item.range, this); - } - - // merge adjacent - filterMut(this._array, (item, prev) => { - if (prev && prev.range.max + 1 === item.range.min && prev.value === item.value) { - prev.range = { min: prev.range.min, max: item.range.max }; - return false; - } - return true; - }); - } - mapRange( - range: CharRange, - mapFn: (value: T | undefined, chars: CharRange, map: ReadonlyCharMap) => T | undefined - ): void { - const output: Item[] = []; - - function add(range: CharRange, value: T | undefined): void { - if (value === undefined) { - return; - } - - const last = output[output.length - 1] as Item | undefined; - if (last && last.range.max + 1 === range.min && last.value === value) { - last.range = { min: last.range.min, max: range.max }; - } else { - output.push({ range, value }); - } - } - - const count = this._array.length; - if (count === 0) { - add(range, mapFn(undefined, range, this)); - } else { - const first = this._array[0]; - - const min = first.range.min; - const max = this._array[count - 1].range.max; - - if (!(range.min <= min && max <= range.max)) { - throw new Error("Partial range maps aren't supported yet"); - } - - if (range.min < min) { - const r: CharRange = { min: range.min, max: min - 1 }; - add(r, mapFn(undefined, r, this)); - } - - add(first.range, mapFn(first.value, first.range, this)); - - for (let i = 1; i < count; i++) { - const prev = this._array[i - 1]; - const curr = this._array[i]; - - const r: CharRange = { min: prev.range.max + 1, max: curr.range.min - 1 }; - if (r.min <= r.max) { - add(r, mapFn(undefined, r, this)); - } - - add(curr.range, mapFn(curr.value, curr.range, this)); - } - - if (max < range.max) { - const r: CharRange = { min: max + 1, max: range.max }; - add(r, mapFn(undefined, r, this)); - } - } - - this._array = output; - } - - filter(conditionFn: (value: T, chars: CharRange, map: ReadonlyCharMap) => boolean): void { - filterMut(this._array, item => { - return conditionFn(item.value, item.range, this); - }); - } - - invert(maxCharacter: Char): Map { - const rangeMap = new Map(); - - for (const { range, value } of this._array) { - let array = rangeMap.get(value); - if (array === undefined) { - rangeMap.set(value, (array = [])); - } - array.push(range); - } - - const map = new Map(); - for (const [value, ranges] of rangeMap) { - map.set(value, CharSet.empty(maxCharacter).union(ranges)); - } - return map; - } - - forEach(callback: (value: T, chars: CharRange, map: ReadonlyCharMap) => void): void { - for (const item of this._array) { - callback(item.value, item.range, this); - } - } - *keys(): IterableIterator { - for (const { range } of this._array) { - yield range; - } - } - *values(): IterableIterator { - for (const { value } of this._array) { - yield value; - } - } - *entries(): IterableIterator<[CharRange, T]> { - for (const { range, value } of this._array) { - yield [range, value]; - } - } - [Symbol.iterator](): IterableIterator<[CharRange, T]> { - return this.entries(); - } -} diff --git a/src/char-set.ts b/src/char-set.ts deleted file mode 100644 index b18e7056..00000000 --- a/src/char-set.ts +++ /dev/null @@ -1,1063 +0,0 @@ -import type { Char } from "./char-types"; - -/** - * An immutable interval of {@link Char}s with inclusive ends. - * - * Each interval contains all characters `x` with `min <= x <= max`. - */ -export interface CharRange { - /** - * The inclusive minimum of the interval. - * - * This value has to be less or equal to {@link max}. - */ - readonly min: Char; - /** - * The inclusive maximum of the interval. - * - * This value has to be greater or equal to {@link min}. - */ - readonly max: Char; -} - -// caches for empty/full char sets of different sizes. -const emptyCache = new Map(); -const allCache = new Map(); - -/** - * An immutable set of {@link Char}s represented as a sorted set of disjoint non-adjacent intervals ({@link CharRange}). - * - * All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive). - */ -export class CharSet { - /** - * The greatest character which can be element of the set. - */ - readonly maximum: Char; - - /** - * An array of ranges representing this character set. - * - * The array must be guaranteed to have the following properties at all times: - * - * 1. Any two ranges are disjoint. - * 2. Any two ranges are non-adjacent. - * 3. 0 <= `min` <= `max` <= `this.maximum` for all ranges. - * 4. All ranges are sorted by ascending `min`. - */ - readonly ranges: readonly CharRange[]; - - /** - * Returns `true` if this set doesn't contain any characters. - */ - get isEmpty(): boolean { - return this.ranges.length === 0; - } - /** - * Returns `true` if all characters in the range from 0 to `this.maximum`, including 0 and `this.maximum`, are in - * the set. - */ - get isAll(): boolean { - return this.ranges.length === 1 && this.ranges[0].min === 0 && this.ranges[0].max === this.maximum; - } - - /** - * Returns the number of unique characters in the set. - * - * The returned number will be at least `0` and at most `this.maximum + 1`. - */ - get size(): number { - let size = 0; - for (let i = 0, l = this.ranges.length; i < l; i++) { - const { min, max } = this.ranges[i]; - size += max - min + 1; - } - return size; - } - - private constructor(maximum: Char, ranges: readonly CharRange[]) { - this.maximum = maximum; - this.ranges = ranges; - } - - /** - * Returns an iterable of all characters in this set. - * - * Characters are sorted by ascending order and each character is yielded exactly once. - * - * Note: The iterable is stable. It can be iterated multiple times. - */ - characters(): Iterable { - return toCharacters(this.ranges); - } - - /** - * Returns a string representation of the character set. - */ - toString(): string { - return `CharSet (${this.maximum}) [${this.toRangesString()}]`; - } - /** - * Returns a string representation of the ranges of this character set. - * - * The string representation has the following rules: - * - * 1. Each character is represented as a hexadecimal number. - * 2. Each range where `min == max` will be represented by the `min` character. - * 3. Each range where `min != max` will be represented by `min` followed by `".."` followed by `max`. - * 4. The sequence of ranges will be joined together using `", "`. - * - * The returned string representation will have the following format: - * - * ``` - * string = [ ranges ] - * ranges = range *( ", " range ) - * range = +hex [ ".." +hex ] - * hex = "a" | "b" | "c" | "d" | "e" | "f" | digit - * digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" - * ``` - */ - toRangesString(): string { - let s = ""; - for (const { min, max } of this.ranges) { - if (s !== "") { - s += ", "; - } - if (min === max) { - s += min.toString(16); - } else { - s += min.toString(16) + ".." + max.toString(16); - } - } - return s; - } - /** - * Returns a string representation of the Unicode ranges of this character set. - * - * The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or - * Unicode-like character set. The format is optimized for ease of reading for humans. - * - * The format follows these rules: - * - If the character set is empty, `empty` will be returned. - * - If the character set contains all characters, `all` will be returned. - * - Ranges may be negated, which is indicated with `not`. E.g. `not a b` is the character set that contains all - * characters except for a and b. - * - A contiguous range of characters is represented using `min-max` where `min` and `max` are formatted characters. - * - Single characters are formatted as either: - * - a Unicode character (e.g. `a`), - * - a quoted Unicode character (e.g. `'-'`), or - * - a Unicode escape (e.g. `U+FF`). - * - * The returned string representation will have the following format: - * - * ``` - * string = "all" | "empty" | ranges | "not " ranges - * ranges = range *( " " range ) - * range = char [ "-" char ] - * char = literal | quoted | escape - * literal = ?Printable Unicode characters? - * literal = "'" ?any character? "'" - * escape = "U+" +hex - * hex = "A" | "B" | "C" | "D" | "E" | "F" | digit - * digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" - * ``` - */ - toUnicodeString(): string { - if (this.isEmpty) { - return "empty"; - } - if (this.isAll) { - return "all"; - } - - const s = toUnicodeRangesString(this.ranges); - - if (s.includes("U+")) { - const comp = toUnicodeRangesString(this.negate().ranges); - const compEscapes = countOccurrences(comp, "U+"); - if (compEscapes === 0 || compEscapes <= countOccurrences(s, "U+") / 2) { - return "not " + comp; - } - } - - return s; - } - - /** - * Returns an empty character set with the given maximum. - * - * @param maximum The greatest character which can be element of the set. - */ - static empty(maximum: Char): CharSet { - let emptySet = emptyCache.get(maximum); - if (emptySet === undefined) { - emptySet = new CharSet(maximum, []); - emptyCache.set(maximum, emptySet); - } - return emptySet; - } - /** - * Returns a complete character set with the given maximum. - * - * @param maximum The greatest character which will be element of the set. - */ - static all(maximum: Char): CharSet { - let allSet = allCache.get(maximum); - if (allSet === undefined) { - allSet = new CharSet(maximum, [{ min: 0, max: maximum }]); - allCache.set(maximum, allSet); - } - return allSet; - } - /** - * Returns a character set which contains the given characters. - * - * @param maximum The greatest character which will be element of the set. - * @param characters A sorted collection of characters. - * @throws `RangeError` if the given collection is not sorted or contains characters greater than `maximum`. - */ - static fromCharacters(maximum: Char, characters: Iterable): CharSet { - const ranges = runEncodeCharacters(characters); - - if (ranges.length === 0) { - return CharSet.empty(maximum); - } - - const last = ranges[ranges.length - 1]; - if (last.max > maximum) { - throw new RangeError( - `The character iterable contained the char ${last.max} but all chars have to be <= maximum=${maximum}.` - ); - } - - if (ranges.length === 1 && last.min === 0 && last.max === maximum) { - return CharSet.all(maximum); - } - - return new CharSet(maximum, ranges); - } - /** - * Returns a character set which contains the given range. - * - * @param maximum The greatest character which will be element of the set. - * @param range - * @throws `RangeError` if the maximum of the given range is greater than `maximum`. - */ - static fromRange(maximum: Char, range: CharRange): CharSet { - if (range.max > maximum) { - throw new RangeError( - `The range [min=${range.min}, max=${range.max}] contains characters greater than the maximum=${maximum}.` - ); - } - - return new CharSet(maximum, [range]); - } - /** - * Returns a character set which contains the given character. - * - * @param maximum The greatest character which will be element of the set. - * @param char - * @throws `RangeError` if the maximum of the given range is greater than `maximum`. - */ - static fromCharacter(maximum: Char, char: Char): CharSet { - if (char > maximum) { - throw new RangeError(`The character ${char} is greater than the maximum=${maximum}.`); - } - - return new CharSet(maximum, [{ min: char, max: char }]); - } - - /** - * Returns whether this and the given character set are equivalent. - * - * Two `CharSet`s are equal if and only if: - * - * 1. They have the same maximum. - * 2. They contain the same characters. - * - * Since each set of characters has a unique range representation, 2 equal `CharSet`s are guaranteed to have equal - * ranges. - * - * A `CharSet` and a `CharRange` are equal if and only if they contain the same characters. - * - * @param other - */ - equals(other: CharSet | CharRange): boolean { - if (!(other instanceof CharSet)) { - return this.ranges.length === 1 && this.ranges[0].min === other.min && this.ranges[0].max === other.max; - } - - if (other === this) { - return true; - } - if (this.maximum !== other.maximum) { - return false; - } - if (this.ranges.length !== other.ranges.length) { - return false; - } - - for (let i = 0, l = this.ranges.length; i < l; i++) { - const thisR = this.ranges[i]; - const otherR = other.ranges[i]; - if (thisR.min !== otherR.min || thisR.max !== otherR.max) { - return false; - } - } - return true; - } - /** - * Compares this set with given set and returns an integer value describing their relation. Two equivalent set are - * always guaranteed to return 0. - * - * The order defined by this function is guaranteed to be a - * [total order](https://en.wikipedia.org/wiki/Total_order). Apart from this, no other guarantees are given. - * - * @param other - */ - compare(other: CharSet): number { - if (other === this) { - return 0; - } - if (this.maximum !== other.maximum) { - return this.maximum - other.maximum; - } - - // we want to guarantee that disjoint character sets are sorted by their smallest character. - if (this.isEmpty) { - return other.isEmpty ? 0 : -1; - } - if (other.isEmpty) { - return 1; - } - if (this.ranges[0].min !== other.ranges[0].min) { - return this.ranges[0].min - other.ranges[0].min; - } - - if (this.ranges.length !== other.ranges.length) { - return this.ranges.length - other.ranges.length; - } - - for (let i = 0, l = this.ranges.length; i < l; i++) { - const thisR = this.ranges[i]; - const otherR = other.ranges[i]; - if (thisR.min !== otherR.min) { - return thisR.min - otherR.min; - } - if (thisR.max !== otherR.max) { - return thisR.max - otherR.max; - } - } - return 0; - } - - /** - * Returns a character set with the given maximum. - * - * The ranges of the returned character set are equivalent to the ranges of - * `this.intersect({ min: 0, max: newMaximum })`. - * - * @param newMaximum - * @returns - */ - resize(newMaximum: Char): CharSet { - if (this.ranges.length === 0) { - // empty - return CharSet.empty(newMaximum); - } else if (newMaximum === this.maximum) { - // lucky us - return this; - } else if (newMaximum > this.maximum) { - // we can just reuse the ranges - return new CharSet(newMaximum, this.ranges); - } else { - // the non-trivial case - const max = this.ranges[this.ranges.length - 1].max; - if (max <= newMaximum) { - // we can just reuse the ranges - return new CharSet(newMaximum, this.ranges); - } else { - // we actually have to do the intersection - const newRanges = intersectRanges(this.ranges, [{ min: 0, max: newMaximum }]); - if (newRanges.length === 0) { - return CharSet.empty(newMaximum); - } else { - return new CharSet(newMaximum, newRanges); - } - } - } - } - - /** - * Returns [the complement](https://en.wikipedia.org/wiki/Complement_(set_theory)) of this set. - * - * The returned set will have the same maximum as this set. - */ - negate(): CharSet { - return new CharSet(this.maximum, negateRanges(this.ranges, this.maximum)); - } - - /** - * Returns [the union](https://en.wikipedia.org/wiki/Union_(set_theory)) of this set and all given sets and - * character ranges. - * - * The returned set will have the same maximum as this set. - * - * @param data - * @throws `RangeError` If the maximum of one of the given sets differs from the maximum of this set or if the - * maximum of one of the given ranges is greater than the maximum of this set. - */ - union(...data: (Iterable | CharSet)[]): CharSet { - const first = data[0]; - if (data.length === 1 && first instanceof CharSet) { - checkCompatibility(this, first); - if (first.ranges.length === 0) { - return this; - } else { - return new CharSet(this.maximum, unionRanges(this.ranges, first.ranges)); - } - } - - const newRanges: CharRange[] = this.ranges.slice(); - for (const rangesOrSet of data) { - if (rangesOrSet instanceof CharSet) { - checkCompatibility(this, rangesOrSet); - newRanges.push(...rangesOrSet.ranges); - } else { - for (const range of rangesOrSet) { - if (range.max > this.maximum) { - throw new RangeError(`max=${range.max} has to be <= maximum=${this.maximum}.`); - } - newRanges.push(range); - } - } - } - - optimizeRanges(newRanges); - return new CharSet(this.maximum, newRanges); - } - - /** - * Returns [the intersection](https://en.wikipedia.org/wiki/Intersection_(set_theory)) of this set and the given - * set/ranges of characters. - * - * The returned set will have the same maximum as this set. - * - * @param other - * @throws `RangeError` If the maximum of the given set differs from the maximum of this set. - */ - intersect(other: CharSet | CharRange): CharSet { - let newRanges; - if (other instanceof CharSet) { - checkCompatibility(this, other); - newRanges = intersectRanges(this.ranges, other.ranges); - } else { - newRanges = intersectRanges(this.ranges, [other]); - } - - if (newRanges.length === 0) { - return CharSet.empty(this.maximum); - } else { - return new CharSet(this.maximum, newRanges); - } - } - - /** - * Returns a set that contains all characters of this set that are not in the given set/range. - * - * The returned set will have the same maximum as this set. - * - * @param other - * @throws `RangeError` If the maximum of the given set differs from the maximum of this set. - */ - without(other: CharSet | CharRange): CharSet { - let newRanges; - if (other instanceof CharSet) { - checkCompatibility(this, other); - newRanges = withoutRanges(this.ranges, other.ranges); - } else { - newRanges = withoutRanges(this.ranges, [other]); - } - - if (newRanges.length === 0) { - return CharSet.empty(this.maximum); - } else { - return new CharSet(this.maximum, newRanges); - } - } - - /** - * Returns whether this set contains the given character. - * - * @param character - */ - has(character: Char): boolean { - return hasEveryOfRange(this.ranges, character, character); - } - - /** - * Returns whether `this ⊇ other`. - * - * @param other - */ - isSupersetOf(other: CharSet | CharRange): boolean { - if (!(other instanceof CharSet)) { - return hasEveryOfRange(this.ranges, other.min, other.max); - } - - // runs in O(this.ranges.length + other.ranges.length) - - const thisRanges = this.ranges; - const otherRanges = other.ranges; - - let i = 0; - let j = 0; - let thisItem = thisRanges[i] as CharRange | undefined; - let otherItem = otherRanges[j] as CharRange | undefined; - - // try to disprove that other this the smaller set - // we search for any character in other which is not in this - - while (thisItem && otherItem) { - if (thisItem.min <= otherItem.min && thisItem.max >= otherItem.max) { - // if thisItem fully contains otherItem - otherItem = otherRanges[++j]; - } else if (thisItem.max < otherItem.min) { - // [thisItem] ... [otherItem] - thisItem = thisRanges[++i]; - } else { - // thisItem and otherItem partially overlap - // or thisItem is after otherItem - return false; - } - } - - // otherItem is still defined that there are some chars in other which are not in this - return !otherItem; - } - /** - * Returns whether `this ⊆ other`. - * - * @param other - */ - isSubsetOf(other: CharSet | CharRange): boolean { - if (other instanceof CharSet) { - return other.isSupersetOf(this); - } else { - if (this.isEmpty) { - return true; - } else { - return other.min <= this.ranges[0].min && this.ranges[this.ranges.length - 1].max <= other.max; - } - } - } - /** - * Returns whether `this ⊃ other`. - * - * @param other - */ - isProperSupersetOf(other: CharSet | CharRange): boolean { - return this.isSupersetOf(other) && !this.equals(other); - } - /** - * Returns whether `this ⊂ other`. - * - * @param other - */ - isProperSubsetOf(other: CharSet | CharRange): boolean { - return this.isSubsetOf(other) && !this.equals(other); - } - - /** - * Returns whether this set and the given set (or range) are disjoint. - * - * @param other - */ - isDisjointWith(other: CharSet | CharRange): boolean { - return this.commonCharacter(other) === undefined; - } - - /** - * Returns any one of the common characters of this set and the given set or range. - * - * If this character set is disjoint with the given character set/range, then `undefined` will be returned. - * - * @param other - */ - commonCharacter(other: CharSet | CharRange): Char | undefined { - if (!(other instanceof CharSet)) { - return commonCharacterOfRange(this.ranges, other.min, other.max); - } - - // runs in O(this.ranges.length + other.ranges.length) - - const thisRanges = this.ranges; - const otherRanges = other.ranges; - - let i = 0; - let j = 0; - let thisItem = thisRanges[i] as CharRange | undefined; - let otherItem = otherRanges[j] as CharRange | undefined; - - while (thisItem && otherItem) { - if (otherItem.max < thisItem.min) { - // [otherItem] ... [thisItem] - otherItem = otherRanges[++j]; - } else if (thisItem.max < otherItem.min) { - // [thisItem] ... [otherItem] - thisItem = thisRanges[++i]; - } else { - // thisItem and otherItem have at least one character in common - return Math.max(thisItem.min, otherItem.min); - } - } - - return undefined; - } -} - -function checkCompatibility(a: CharSet, b: CharSet): void { - if (b.maximum !== a.maximum) { - throw new RangeError( - `The maximum of the other set (${b.maximum}) has to be equal the maximum of this set (${a.maximum}).` - ); - } -} - -function hasEveryOfRange(ranges: readonly CharRange[], min: Char, max: Char): boolean { - // runs in O(log(ranges.length)) - - const l = ranges.length; - - // this is empty - if (l == 0) { - return false; - } - - // out of range - if (min < ranges[0].min || max > ranges[l - 1].max) { - return false; - } - - // the out of range check is enough in this case - if (l == 1) { - return true; - } - - let low = 0; // inclusive - let high = l; // exclusive - while (low < high) { - const m = low + ((high - low) >> 1); - const mRange = ranges[m]; - const mMin = mRange.min; - - if (mMin == min) { - return max <= mRange.max; - } else if (mMin < min) { - if (max <= mRange.max) { - return true; - } - low = m + 1; - } /* if (mMin > min) */ else { - high = m; - } - } - - return false; -} - -function commonCharacterOfRange(ranges: readonly CharRange[], min: Char, max: Char): Char | undefined { - // runs in O(log(ranges.length)) - - const l = ranges.length; - - // this is empty - if (l == 0) { - return undefined; - } - - // out of range - if (max < ranges[0].min || min > ranges[l - 1].max) { - return undefined; - } - - let low = 0; // inclusive - let high = l; // exclusive - while (low < high) { - const m = low + ((high - low) >> 1); - const mRange = ranges[m]; - const mMin = mRange.min; - - if (mMin == min) { - return min; // range.min is in this set - } else if (mMin < min) { - if (min <= mRange.max) { - return min; - } - low = m + 1; - } /* if (mMin > min) */ else { - if (mMin <= max) { - return mMin; - } - high = m; - } - } - - return undefined; -} - -function intersectRanges(a: readonly CharRange[], b: readonly CharRange[]): CharRange[] { - // intersection done in O(n+m) - const newRanges: CharRange[] = []; - - let aIndex = 0; - let bIndex = 0; - let aRange = a[aIndex] as CharRange | undefined; - let bRange = b[bIndex] as CharRange | undefined; - while (aRange && bRange) { - // skip if thisR and otherR are disjoint - if (aRange.max < bRange.min) { - aRange = a[++aIndex]; - continue; - } - if (bRange.max < aRange.min) { - bRange = b[++bIndex]; - continue; - } - - // thisR and otherR overlap in at least one character - - // add intersection - newRanges.push({ min: Math.max(aRange.min, bRange.min), max: Math.min(aRange.max, bRange.max) }); - - // advance one the one with the lower max or both if their max is the same - if (aRange.max < bRange.max) { - aRange = a[++aIndex]; - } else if (bRange.max < aRange.max) { - bRange = b[++bIndex]; - } else { - aRange = a[++aIndex]; - bRange = b[++bIndex]; - } - } - - return newRanges; -} - -function unionRanges(a: readonly CharRange[], b: readonly CharRange[]): CharRange[] { - // merge the sorted ranges in O(n+m) - const newRanges: CharRange[] = []; - - let aIndex = 0; - let bIndex = 0; - let aRange = a[aIndex] as CharRange | undefined; - let bRange = b[bIndex] as CharRange | undefined; - while (aRange && bRange) { - if (aRange.min <= bRange.min) { - newRanges.push(aRange); - aRange = a[++aIndex]; - } /* if (otherR.min < thisR.min) */ else { - newRanges.push(bRange); - bRange = b[++bIndex]; - } - } - - // append rest - for (; aRange; aRange = a[++aIndex]) { - newRanges.push(aRange); - } - for (; bRange; bRange = b[++bIndex]) { - newRanges.push(bRange); - } - - // optimize - optimizeSortedRanges(newRanges); - - return newRanges; -} - -function withoutRanges(a: readonly CharRange[], b: readonly CharRange[]): CharRange[] { - // a without b in O(n+m) - const newRanges: CharRange[] = []; - - let aIndex = 0; - let bIndex = 0; - let aRange = a[aIndex] as CharRange | undefined; - let bRange = b[bIndex] as CharRange | undefined; - while (aRange && bRange) { - if (aRange.max < bRange.min) { - // disjoint and aRange is before bRange - newRanges.push(aRange); - aRange = a[++aIndex]; - } else if (bRange.max < aRange.min) { - // disjoint and bRange is before aRange - bRange = b[++bIndex]; - } else { - // they overlap - if (aRange.min < bRange.min) { - newRanges.push({ min: aRange.min, max: bRange.min - 1 }); - if (bRange.max < aRange.max) { - // [aRange.min ...[bRange]... aRange.max] - aRange = { min: bRange.max + 1, max: aRange.max }; - bRange = b[++bIndex]; - } else { - // [aRange.min ...{bRange.min ... aRange.max] bRange.max} - aRange = a[++aIndex]; - } - } else { - if (aRange.max > bRange.max) { - // [bRange.min ...{aRange.min ... bRange.max] aRange.max} - aRange = { min: bRange.max + 1, max: aRange.max }; - bRange = b[++bIndex]; - } else { - // [bRange.min ...[aRange]... bRange.max] - aRange = a[++aIndex]; - } - } - } - } - - // append rest - for (; aRange; aRange = a[++aIndex]) { - newRanges.push(aRange); - } - - return newRanges; -} - -/** - * This optimizes the given ranges in O(n) time. - * - * @param ranges - */ -function optimizeSortedRanges(ranges: CharRange[]): void { - let deleteCount = 0; - for (let i = 0, max = ranges.length - 1; i < max; i++) { - const current = ranges[i - deleteCount]; - const next = ranges[i + 1]; - - if (current.max >= next.max) { - // current completely contains next. - deleteCount++; - } else if (next.min <= current.max + 1) { - // overlapping or adjacent. - ranges[i - deleteCount] = { min: current.min, max: next.max }; - deleteCount++; - } else { - ranges[i - deleteCount + 1] = next; - } - } - - if (deleteCount) { - ranges.length = ranges.length - deleteCount; - } -} - -/** - * Given an array of character ranges, it will remove any duplicates and join overlapping and adjacent ranges. - * - * While the array itself will be modified, the range objects in the array will not. - * - * @param ranges - */ -function optimizeRanges(ranges: CharRange[]): void { - // runs in O(n * log(n)), n = ranges.length - - ranges.sort((a, b) => a.min - b.min); - optimizeSortedRanges(ranges); -} - -/** - * Given an array of optimized character ranges, it will return an iterable of character ranges that matches the - * complete of the given ranges. - * - * @param ranges - * @param maximum - */ -function negateRanges(ranges: readonly CharRange[], maximum: Char): CharRange[] { - // runs in O(ranges.length) - - if (ranges.length === 0) { - return [{ min: 0, max: maximum }]; - } else { - const result: CharRange[] = []; - - const first = ranges[0]; - const last = ranges[ranges.length - 1]; - if (first.min > 0) { - result.push({ min: 0, max: first.min - 1 }); - } - for (let i = 1; i < ranges.length; i++) { - result.push({ min: ranges[i - 1].max + 1, max: ranges[i].min - 1 }); - } - if (last.max < maximum) { - result.push({ min: last.max + 1, max: maximum }); - } - - return result; - } -} - -/** - * Returns an iterable of characters from the given ranges. - * - * @param ranges - */ -function toCharacters(ranges: readonly CharRange[]): Iterable { - // For small char sets (only a few characters), it's more efficient to return an array. - const charsArray = smallRangesToArray(ranges, 8); - if (charsArray) { - return charsArray; - } - - return { - [Symbol.iterator](): Iterator { - let currentRangeIndex = 0; - let currentChar = ranges[0].min - 1; - - function advance(): void { - if (currentRangeIndex >= ranges.length) { - // do nothing - } else { - currentChar++; - if (currentChar > ranges[currentRangeIndex].max) { - currentRangeIndex++; - if (currentRangeIndex < ranges.length) { - currentChar = ranges[currentRangeIndex].min; - } - } - } - } - - return { - next(): IteratorResult { - advance(); - - if (currentRangeIndex >= ranges.length) { - return { done: true, value: undefined }; - } else { - return { done: false, value: currentChar }; - } - }, - }; - }, - }; -} -function smallRangesToArray(ranges: readonly CharRange[], maxSize: number): Char[] | undefined { - if (ranges.length > maxSize) { - return undefined; - } - - const chars: Char[] = []; - for (const { min, max } of ranges) { - if (chars.length + max - min >= maxSize) { - return undefined; - } - - for (let c = min; c <= max; c++) { - chars.push(c); - } - } - - return chars; -} - -function runEncodeCharacters(characters: Iterable): CharRange[] { - // runs in O(characters.length) - - const ranges: CharRange[] = []; - - let start: Char | undefined = undefined; - let length = 0; - - for (const i of characters) { - if (start === undefined) { - start = i; - length = 1; - } else { - const end: Char = start + length; - - if (i === end) { - length++; - } else if (i > end) { - ranges.push({ min: start, max: end - 1 }); - start = i; - length = 1; - } else if (i === end - 1) { - // we ignore duplicates - } else { - throw new RangeError("The character iterable has to be sorted."); - } - } - } - - if (start !== undefined) { - ranges.push({ min: start, max: start + length - 1 }); - } - - return ranges; -} - -function unicodeEscape(char: Char): string { - return "U+" + char.toString(16).toUpperCase(); -} -const PRINTABLE_RANGES: readonly CharRange[] = [ - { min: 0x30, max: 0x39 }, // 0-9 - { min: 0x41, max: 0x5a }, // A-Z - { min: 0x61, max: 0x7a }, // a-z -]; -function isPrintableRange(min: Char, max: Char): boolean { - for (const range of PRINTABLE_RANGES) { - if (range.min <= min && max <= range.max) { - return true; - } - } - return false; -} - -const PRINTABLE = /^[\p{L}\p{Number}]$/u; -const PRINTABLE_QUOTED = /^[\p{P}\p{Math}]$/u; -function printUnicodeChar(char: Char): string { - const c = String.fromCodePoint(char); - if (PRINTABLE.test(c)) { - return c; - } else if (PRINTABLE_QUOTED.test(c)) { - return "'" + c + "'"; - } else { - return unicodeEscape(char); - } -} - -function toUnicodeRangesString(ranges: readonly CharRange[]): string { - let s = ""; - for (const { min, max } of ranges) { - if (s !== "") { - s += " "; - } - if (min === max) { - s += printUnicodeChar(min); - } else if (min + 1 === max) { - s += printUnicodeChar(min) + " " + printUnicodeChar(max); - } else { - if (isPrintableRange(min, max)) { - s += String.fromCodePoint(min) + "-" + String.fromCodePoint(max); - } else { - s += unicodeEscape(min) + "-" + unicodeEscape(max); - } - } - } - return s; -} - -function countOccurrences(s: string, needle: string): number { - let count = 0; - for (let i = 0; ; ) { - const j = s.indexOf(needle, i); - if (j === -1) { - break; - } - count++; - i = j + needle.length; - } - return count; -} diff --git a/src/char-types.ts b/src/char-types.ts deleted file mode 100644 index 773f9dce..00000000 --- a/src/char-types.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * A character is a non-negative integer. - * - * This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or - * Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even - * text in general since the integers used as character may represent arbitrary concepts. - * - * There are only 2 restrictions on the numbers that can be characters: - * - * 1. They have to be non-negative integers. - * 2. They can be at most `Number.MAX_SAFE_INTEGER`. - * - * --- - * - * This type serves as a way to document characters. It is a clear way to signal that a value is not just any number. - */ -export type Char = number & { __char?: never }; - -/** - * A word is finite sequence of {@link Char}s. - * - * This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on - * {@link Char}s and char arrays (= words). This means that refa is agnostic to text encodings, the string - * representation of JavaScript, and even text itself. - * - * This type serves as a way to document words. It should _not_ be used interchangeably with `Char[]` or `number[]`. - */ -export type Word = Char[]; - -/** - * An immutable finite sequence of {@link Char}s. - * - * This is an immutable view on a {@link Word}. - */ -export type ReadonlyWord = readonly Char[]; diff --git a/src/dfa.ts b/src/dfa.ts deleted file mode 100644 index d2af8c31..00000000 --- a/src/dfa.ts +++ /dev/null @@ -1,950 +0,0 @@ -import { Char, ReadonlyWord, Word } from "./char-types"; -import { ReadonlyWordSet, WordSet } from "./word-set"; -import { cachedFunc, debugAssert, traverse, traverseMultiRoot, withoutSet } from "./util"; -import { - FABuilder, - FAIterator, - FiniteAutomaton, - NodeFactory, - ToRegexOptions, - TransitionIterable, - TransitionIterator, -} from "./fa-types"; -import { CharMap, ReadonlyCharMap } from "./char-map"; -import { CharRange, CharSet } from "./char-set"; -import { CharBase } from "./char-base"; -import { Expression, NoParent } from "./ast"; -import * as Iter from "./iter"; -import { MaxCharacterError, TooManyNodesError } from "./errors"; -import { wordSetsToWords } from "./words"; - -/** - * A readonly {@link DFA}. - */ -export interface ReadonlyDFA extends FiniteAutomaton, TransitionIterable { - /** - * The initial state of the DFA. - */ - readonly initial: DFA.ReadonlyNode; - /** - * The set of final states of the DFA. - * - * This set may be empty or contain nodes not reachable from the initial state. - */ - readonly finals: ReadonlySet; - - stateIterator(): FAIterator; - /** - * Yields all nodes reachable from the initial state including the initial state. - * - * This may include trap states, but it will not include unreachable final states. - * - * The order in which nodes will be returned is implementation defined and may change after any operation that - * modifies the DFA. - * - * Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the - * iteration or yield an nodes. - * - * This operation runs in _O(E + V)_ where _E_ is the number of nodes reachable from the initial state and _V_ is - * the number of transitions. - */ - nodes(): Iterable; - - /** - * Returns the number of nodes reachable from the initial state including the initial state. - * - * This returns the number of nodes returned by {@link nodes}. - */ - countNodes(): number; - - /** - * Creates a new DFA equivalent to this one. - */ - copy(factory?: NodeFactory): DFA; - - /** - * Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are - * equal. - * - * @param other - */ - structurallyEqual(other: ReadonlyDFA): boolean; -} - -/** - * A [deterministic finite automaton](https://en.wikipedia.org/wiki/Deterministic_finite_automaton). - * - * This class implements DFAs with the following properties: - * - * - There is exactly one initial state. - * - * - There may be any number of final states. - * - * This is implemented using a `Set` of states. - * - * - No epsilon transitions. - * - * - A transitions always consumes a character. - * - * (All character sets are guaranteed to be non-empty.) - * - * - Transitions are unordered. - * - * As a consequence, `/aa|bb/` and `/bb|aa/` have the same state machine. - * - * - Between any two states, there can at most be one transition. - */ -export class DFA implements ReadonlyDFA { - readonly initial: DFA.Node; - readonly finals = new Set(); - readonly maxCharacter: Char; - - private constructor(initial: DFA.Node, finals: Set, maxCharacter: Char) { - this.initial = initial; - this.finals = finals; - this.maxCharacter = maxCharacter; - } - - get isEmpty(): boolean { - return this.finals.size === 0; - } - get isFinite(): boolean { - return Iter.languageIsFinite(this.stateIterator()); - } - - stateIterator(): FAIterator { - const finals: ReadonlySet = this.finals; - - return { - initial: this.initial, - getOut: n => { - const out = new Set(); - n.out.forEach(n => out.add(n)); - return out; - }, - isFinal: n => finals.has(n), - }; - } - transitionIterator(): TransitionIterator { - const finals: ReadonlySet = this.finals; - const maximum = this.maxCharacter; - - return { - initial: this.initial, - getOut: n => n.out.invert(maximum), - isFinal: n => finals.has(n), - }; - } - *nodes(): Iterable { - const visited = new Set(); - let toVisit = [this.initial]; - while (toVisit.length > 0) { - const newVisit: DFA.Node[] = []; - for (const node of toVisit) { - if (!visited.has(node)) { - visited.add(node); - yield node; - node.out.forEach(outNode => newVisit.push(outNode)); - } - } - toVisit = newVisit; - } - } - - countNodes(): number { - let c = 0; - traverse(this.initial, (n, queue) => { - c++; - queue.push(...n.out.values()); - }); - return c; - } - - test(word: ReadonlyWord): boolean { - let current = this.initial; - - for (const char of word) { - const next = current.out.get(char); - if (next === undefined) { - return false; - } else { - current = next; - } - } - - return this.finals.has(current); - } - - wordSets(): Iterable { - if (this.isEmpty) { - return []; - } - - return Iter.iterateWordSets(this.transitionIterator()); - } - - words(): Iterable { - return wordSetsToWords(this.wordSets()); - } - - toString(): string { - return Iter.toString(this.transitionIterator(), cs => cs.toUnicodeString()); - } - - toRegex(options?: Readonly): NoParent { - return Iter.toRegex(this.transitionIterator(), options); - } - - toDot(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toDot(this.transitionIterator(), { - transitionToString: charSetToString || (cs => cs.toUnicodeString()), - }); - } - toMermaid(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toMermaid(this.transitionIterator(), { - transitionToString: charSetToString || (cs => cs.toUnicodeString()), - }); - } - - copy(factory: NodeFactory = new DFA.LimitedNodeFactory()): DFA { - const { initial, finals } = factoryCopy(this, factory); - return new DFA(initial, finals, this.maxCharacter); - } - - structurallyEqual(other: ReadonlyDFA): boolean { - if (this === other) { - return true; - } - if (this.finals.size !== other.finals.size) { - return false; - } - - const visitedThisNodes = new Set(); - - const thisFinals: ReadonlySet = this.finals; - const otherFinals: ReadonlySet = other.finals; - const isEqual = (thisNode: DFA.ReadonlyNode, otherNode: DFA.ReadonlyNode): boolean => { - if (visitedThisNodes.has(thisNode)) { - return true; - } - visitedThisNodes.add(thisNode); - - if (thisFinals.has(thisNode) !== otherFinals.has(otherNode)) { - return false; - } - - const thisTransitions = [...thisNode.out]; - const otherTransitions = [...otherNode.out]; - - if (thisTransitions.length !== otherTransitions.length) { - return false; - } - - for (let i = 0; i < thisTransitions.length; i++) { - const [thisRange, thisTo] = thisTransitions[i]; - const [otherRange, otherTo] = otherTransitions[i]; - - if (!rangeEqual(thisRange, otherRange) || !isEqual(thisTo, otherTo)) { - return false; - } - } - return true; - }; - return isEqual(this.initial, other.initial); - } - - removeUnreachable(): void { - /** - * Remove all non-initial states which are - * - * 1) Not reachable from the initial state. - * 2) Cannot reach a final state. - * - * (For condition 1, we just have to check the final states.) - */ - - if (this.finals.size === 0) { - // clear all nodes - this.initial.out.clear(); - return; - } - - const getInSet = cachedFunc>(() => new Set()); - const reachableFromInitial: DFA.Node[] = []; - - traverse(this.initial, (node, queue) => { - reachableFromInitial.push(node); - getInSet(node); - - node.out.forEach(n => { - queue.push(n); - getInSet(n).add(node); - }); - }); - - debugAssert(getInSet.cache.has(this.initial)); - - // Check condition 1) for all final states - const toDelete: DFA.Node[] = []; - for (const f of this.finals) { - if (!getInSet.cache.has(f)) { - toDelete.push(f); - } - } - toDelete.forEach(f => this.finals.delete(f)); - - if (this.finals.size === 0) { - // clear all nodes - this.initial.out.clear(); - return; - } - - // Mark all states reachable from final states - const reachableFromFinal = new Set(); - traverseMultiRoot(this.finals, (node, queue) => { - reachableFromFinal.add(node); - queue.push(...getInSet(node)); - }); - - // Check condition 2) - if (reachableFromFinal.size < reachableFromInitial.length) { - for (const node of reachableFromInitial) { - node.out.filter(n => reachableFromFinal.has(n)); - } - } - } - - /** - * [Minimizes](https://en.wikipedia.org/wiki/DFA_minimization) this DFA. - */ - minimize(): void { - this.removeUnreachable(); - if (this.initial.out.isEmpty) { - return; - } - - const P = findEquivalenceClasses(this, this.maxCharacter); - - const mapping = new Map(); - const toAdjust: DFA.Node[] = []; - for (const eqClass of P) { - const first: DFA.Node = eqClass[0]; - toAdjust.push(first); - - for (let i = 1; i < eqClass.length; i++) { - const node = eqClass[i]; - if (mapping.has(node)) { - throw new Error("Duplicate mapping"); - } - mapping.set(node, first); - } - } - - if (mapping.size === 0) { - // the DFA is already minimized - return; - } - - const translate = (node: DFA.Node): DFA.Node => { - return mapping.get(node) ?? node; - }; - - // adjust nodes - for (const node of toAdjust) { - node.out.map(translate); - } - - // adjust finals - const mappedFinals = [...this.finals].map(translate); - this.finals.clear(); - mappedFinals.forEach(n => this.finals.add(n)); - } - - /** - * Complements this DFA. - * - * This DFA after calling this function will accept all words that are not accepted by this DFA before calling this - * function. - * - * This operation will create at most 1 node with the given factory. - * - * @param factory - */ - complement(factory: NodeFactory = DFA.nodeFactory): void { - const all: CharRange = { min: 0, max: this.maxCharacter }; - - // create a trap state - const trap = factory.createNode(); - trap.link(trap, CharSet.all(this.maxCharacter)); - - // Link all gaps to the trap state - traverse(this.initial, (node, queue) => { - queue.push(...node.out.values()); - node.out.mapRange(all, nodeOrUndef => nodeOrUndef ?? trap); - }); - - // Complement the set of final states. - const nonFinal = withoutSet(this.nodes(), this.finals); - this.finals.clear(); - nonFinal.forEach(n => this.finals.add(n)); - - // one or more final states might have become trap states, so let's remove them - this.removeUnreachable(); - } - - /** - * Modifies this DFA such that all prefixes of all accepted words are also accepted. - * - * If the language of this DFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - */ - prefixes(): void { - this.removeUnreachable(); - - if (this.isEmpty) { - return; - } - - for (const node of this.nodes()) { - this.finals.add(node); - } - } - - /** - * Creates a new DFA which matches no words. The language of the returned DFA is empty. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static empty(options: Readonly, factory: NodeFactory = DFA.nodeFactory): DFA { - return new DFA(factory.createNode(), new Set(), options.maxCharacter); - } - - /** - * Creates a new DFA which matches only the empty word. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static emptyWord(options: Readonly, factory: NodeFactory = DFA.nodeFactory): DFA { - const initial = factory.createNode(); - return new DFA(initial, new Set([initial]), options.maxCharacter); - } - - /** - * Creates a new DFA which matches all words. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static all(options: Readonly, factory: NodeFactory = DFA.nodeFactory): DFA { - const initial = factory.createNode(); - initial.link(initial, CharSet.all(options.maxCharacter)); - return new DFA(initial, new Set([initial]), options.maxCharacter); - } - - /** - * Creates a new DFA which matches the given characters. - * - * This operation will create at most 2 nodes with the given factory. - * - * @param charSet - * @param factory - */ - static fromCharSet(charSet: CharSet, factory: NodeFactory = DFA.nodeFactory): DFA { - const initial = factory.createNode(); - - if (charSet.isEmpty) { - return new DFA(initial, new Set(), charSet.maximum); - } - - const final = factory.createNode(); - initial.link(final, charSet); - - return new DFA(initial, new Set([final]), charSet.maximum); - } - - /** - * Returns a new DFA which is equivalent to the intersection of the two given FA. - * - * @param left - * @param right - * @param factory - */ - static fromIntersection( - left: TransitionIterable, - right: TransitionIterable, - factory: NodeFactory = new DFA.LimitedNodeFactory() - ): DFA { - MaxCharacterError.assert(left, right, "TransitionIterable"); - - if (left instanceof DFA && right instanceof DFA) { - // the intersection of two DFA is also a DFA, so we can directly construct it - - const builder = new DFA.Builder(factory); - - const iter = Iter.intersection(builder, left.transitionIterator(), right.transitionIterator()); - Iter.forEach(Iter.mapOut(iter, n => n.out.values())); - - return DFA.fromBuilder(builder, left); - } else { - // the intersection of two non-DFA is likely a NFA, so we have to make it deterministic. - - const iter = Iter.intersection( - new Iter.MapFABuilder(), - left.transitionIterator(), - right.transitionIterator() - ); - - return DFA.fromTransitionIterator(iter, { maxCharacter: left.maxCharacter }, factory); - } - } - - /** - * Creates a new DFA which matches all and only all of the given words. - * - * @param words - * @param options - * @param factory - */ - static fromWords( - words: Iterable, - options: Readonly, - factory: NodeFactory = new DFA.LimitedNodeFactory() - ): DFA { - const { maxCharacter } = options; - - const builder = new DFA.Builder(factory); - Iter.fromWords(builder, (node, char) => node.out.get(char), words, maxCharacter); - - return DFA.fromBuilder(builder, options); - } - - /** - * Creates a new DFA which matches all and only all of the given word sets. - * - * @param wordSets - * @param options - * @param factory - */ - static fromWordSets( - wordSets: Iterable, - options: Readonly, - factory: NodeFactory = new DFA.LimitedNodeFactory() - ): DFA { - const { maxCharacter } = options; - - const builder = new DFA.Builder(factory); - Iter.fromWordSets(builder, wordSets, maxCharacter); - - return DFA.fromBuilder(builder, options); - } - - static fromFA( - fa: TransitionIterable, - factory: NodeFactory = new DFA.LimitedNodeFactory() - ): DFA { - if (fa instanceof DFA) { - const { initial, finals } = factoryCopy(fa, factory); - return new DFA(initial, finals, fa.maxCharacter); - } else { - return DFA.fromTransitionIterator(fa.transitionIterator(), fa, factory); - } - } - - static fromTransitionIterator( - iter: TransitionIterator, - options: Readonly, - factory: NodeFactory = new DFA.LimitedNodeFactory() - ): DFA { - const builder = new DFA.Builder(factory); - const deterministicIter = Iter.makeDeterministic(builder, iter); - Iter.forEach(Iter.mapOut(deterministicIter, s => s.out.values())); - - return DFA.fromBuilder(builder, options); - } - - static fromBuilder(builder: DFA.Builder, options: Readonly): DFA { - return new DFA(builder.initial, builder.finals, options.maxCharacter); - } -} - -/** - * A namespace for DFA-specific classes and interfaces. - * - * @see {@link DFA} (class) - */ -// eslint-disable-next-line @typescript-eslint/no-namespace -export namespace DFA { - export interface ReadonlyNode { - readonly out: ReadonlyCharMap; - } - export class Node implements ReadonlyNode { - readonly out = new CharMap(); - - link(to: Node, via: CharSet): void { - this.out.setCharSet(via, to); - } - - unlink(to: Node): void { - this.out.filter(node => node !== to); - } - - /** - * Unlinks all outgoing and incoming transitions of this node. - */ - unlinkAll(): void { - this.out.clear(); - } - } - - /** - * An unlimited node factory that will simply call the {@link Node} constructor. - */ - export const nodeFactory: NodeFactory = { - createNode() { - return new Node(); - }, - }; - - export class LimitedNodeFactory implements NodeFactory { - private _counter = 0; - readonly limit: number; - - constructor(limit: number = 10_000) { - this.limit = limit; - } - - createNode(): Node { - TooManyNodesError.assert(++this._counter, this.limit, "DFA"); - return new Node(); - } - } - - export class Builder implements FABuilder { - readonly initial: Node; - readonly finals = new Set(); - readonly factory: NodeFactory; - - constructor(factory: NodeFactory) { - this.factory = factory; - this.initial = factory.createNode(); - } - - makeFinal(state: Node): void { - this.finals.add(state); - } - isFinal(state: Node): boolean { - return this.finals.has(state); - } - linkNodes(from: Node, to: Node, transition: CharSet): void { - from.link(to, transition); - } - createNode(): Node { - return this.factory.createNode(); - } - } - - export interface Options { - /** - * The maximum numerical value any character can have. - * - * This will be the maximum of all underlying {@link CharSet}s. - */ - maxCharacter: Char; - } -} - -interface SubGraph { - readonly initial: DFA.Node; - readonly finals: Set; -} -interface ReadonlySubGraph { - readonly initial: DFA.ReadonlyNode; - readonly finals: ReadonlySet; -} - -function rangeEqual(r1: CharRange, r2: CharRange): boolean { - return r1.min === r2.min && r1.max === r2.max; -} - -function factoryCopy(source: ReadonlySubGraph, factory: NodeFactory): SubGraph { - const initial = factory.createNode(); - const finals = new Set(); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(source.initial, initial); - - traverse(source.initial, (node, queue) => { - const toNode = translate(node); - - node.out.forEach((n, range) => { - queue.push(n); - toNode.out.setRange(range, translate(n)); - }); - }); - - source.finals.forEach(f => finals.add(translate(f))); - - return { initial, finals }; -} - -function findEquivalenceClasses(nodes: SubGraph, maxCharacter: Char): DFA.Node[][]; -function findEquivalenceClasses(nodes: ReadonlySubGraph, maxCharacter: Char): DFA.ReadonlyNode[][]; -function findEquivalenceClasses(nodes: ReadonlySubGraph, maxCharacter: Char): DFA.ReadonlyNode[][] { - if (nodes.finals.size === 0) { - throw new Error("Cannot find equivalence classes for a DFA without final states."); - } - - // This is an implementation of the paper: - // Valmari, A. (2012). Fast brief practical DFA minimization. Inf. Process. Lett., 112, 213-217. - // https://www.cs.cmu.edu/~sutner/CDM/papers/Valmari12.pdf - - // This methods only converts the given DFA into the right format for the algorithm in the paper. - // The paper itself is implemented in the `DFAMinimizer` class. - - const allNodes: DFA.ReadonlyNode[] = []; - const allCharacterSets = new Set(); - const numberMap = new Map(); - const outMaps: Map[] = []; - - // Go through all nodes to: - // 1. Determine all nodes - // 2. Determine all used character sets - // 3. Create the out map of all nodes - traverse(nodes.initial, (node, queue) => { - numberMap.set(node, numberMap.size); - allNodes.push(node); - - const out = node.out.invert(maxCharacter); - outMaps.push(out); - out.forEach(cs => allCharacterSets.add(cs)); - queue.push(...out.keys()); - }); - - const base = new CharBase(allCharacterSets); - - const T: MinState[] = []; - const L: Char[] = []; - const H: MinState[] = []; - for (let i = 0; i < allNodes.length; i++) { - const out = outMaps[i]; - - out.forEach((cs, to) => { - const head = numberMap.get(to)!; - - for (const index of base.split(cs)) { - T.push(i); - L.push(index); - H.push(head); - } - }); - } - - const finals: MinState[] = []; - for (const f of nodes.finals) { - finals.push(numberMap.get(f)!); - } - - // minimize - const min = new DFAMinimizer(allNodes.length, finals, T, L, H); - const blockPartition = min.getBlockPartition(); - - // get equivalence classes - const eqClasses: DFA.ReadonlyNode[][] = []; - for (let i = 0; i < blockPartition.setCount; i++) { - eqClasses.push([]); - } - for (let i = 0; i < allNodes.length; i++) { - eqClasses[blockPartition.setIndex[i]].push(allNodes[i]); - } - - return eqClasses; -} - -type MinState = number & { __state?: never }; - -class WorkSet { - readonly marked: number[] = []; - readonly touched: number[] = []; -} - -class Partition { - readonly elements: number[] = []; - readonly location: number[] = []; - readonly setIndex: number[]; - readonly first: number[] = []; - readonly past: number[] = []; - readonly workSet: WorkSet; - setCount: number = 1; - - constructor(elementCount: number, workSet: WorkSet) { - this.setIndex = new Array(elementCount).fill(0); - this.workSet = workSet; - - for (let i = 0; i < elementCount; i++) { - this.elements.push(i); - this.location.push(i); - } - - this.first.push(0); - this.past.push(elementCount); - } - - mark(element: number): void { - const set = this.setIndex[element]; - const i = this.location[element]; - const j = this.first[set] + this.workSet.marked[set]; - - this.elements[i] = this.elements[j]; - this.location[this.elements[i]] = i; - this.elements[j] = element; - this.location[element] = j; - - if (!this.workSet.marked[set]++) { - this.workSet.touched.push(set); - } - } - - split(): void { - let set; - while ((set = this.workSet.touched.pop()) !== undefined) { - const p = this.first[set] + this.workSet.marked[set]; - if (p === this.past[set]) { - this.workSet.marked[set] = 0; - continue; - } - - if (this.workSet.marked[set] <= this.past[set] - p) { - this.first[this.setCount] = this.first[set]; - this.past[this.setCount] = p; - this.first[set] = p; - } else { - this.past[this.setCount] = this.past[set]; - this.first[this.setCount] = p; - this.past[set] = p; - } - - for (let i = this.first[this.setCount]; i < this.past[this.setCount]; i++) { - this.setIndex[this.elements[i]] = this.setCount; - } - - this.workSet.marked[set] = 0; - this.workSet.marked[this.setCount++] = 0; - } - } -} - -class DFAMinimizer { - readonly stateCount: number; - readonly transitionCount: number; - readonly finals: readonly MinState[]; - readonly tails: readonly MinState[]; - readonly chars: readonly Char[]; - readonly heads: readonly MinState[]; - - private readonly _adjacent: number[]; - private readonly _offset: number[]; - - constructor( - statesCount: number, - finals: readonly MinState[], - tails: readonly MinState[], - chars: readonly Char[], - heads: readonly MinState[] - ) { - debugAssert(statesCount > 0); - debugAssert(finals.length > 0); - debugAssert(tails.length === chars.length && chars.length === heads.length); - debugAssert(tails.length > 0); - - this.stateCount = statesCount; - this.transitionCount = tails.length; - this.finals = finals; - this.tails = tails; - this.chars = chars; - this.heads = heads; - - this._adjacent = new Array(this.transitionCount); - this._offset = new Array(statesCount + 1).fill(0); - } - - private _makeAdjacent(keys: readonly MinState[]): void { - for (let trans = 0; trans < this.transitionCount; trans++) { - this._offset[keys[trans]]++; - } - for (let state = 0; state < this.stateCount; state++) { - this._offset[state + 1] += this._offset[state]; - } - for (let trans = this.transitionCount; trans--; ) { - this._adjacent[--this._offset[keys[trans]]] = trans; - } - } - - getBlockPartition(): Partition { - const workSet = new WorkSet(); - const blocks = new Partition(this.stateCount, workSet); - const cords = new Partition(this.transitionCount, workSet); - - // Move the final states - let reachedStates = 0; - for (const f of this.finals) { - const i = blocks.location[f]; - if (i >= reachedStates) { - blocks.elements[i] = blocks.elements[reachedStates]; - blocks.location[blocks.elements[i]] = i; - blocks.elements[reachedStates] = f; - blocks.location[f] = reachedStates++; - } - } - - // Make initial partition - workSet.marked[0] = this.finals.length; - workSet.touched.push(0); - blocks.split(); - - // Make transition partition - cords.elements.sort((a, b) => this.chars[a] - this.chars[b]); - cords.setCount = workSet.marked[0] = 0; - let char = this.chars[cords.elements[0]]; - for (let i = 0; i < this.transitionCount; i++) { - const trans = cords.elements[i]; - if (this.chars[trans] !== char) { - char = this.chars[trans]; - cords.past[cords.setCount++] = i; - cords.first[cords.setCount] = i; - workSet.marked[cords.setCount] = 0; - } - cords.setIndex[trans] = cords.setCount; - cords.location[trans] = i; - } - cords.past[cords.setCount++] = this.transitionCount; - - // Split blocks and cords - this._makeAdjacent(this.heads); - for (let b = 1, c = 0; c < cords.setCount; c++) { - for (let i = cords.first[c]; i < cords.past[c]; i++) { - blocks.mark(this.tails[cords.elements[i]]); - } - blocks.split(); - for (; b < blocks.setCount; b++) { - for (let i = blocks.first[b]; i < blocks.past[b]; i++) { - const state = blocks.elements[i]; - for (let j = this._offset[state]; j < this._offset[state + 1]; j++) { - cords.mark(this._adjacent[j]); - } - } - cords.split(); - } - } - - return blocks; - } -} diff --git a/src/enfa.ts b/src/enfa.ts deleted file mode 100644 index 10492e06..00000000 --- a/src/enfa.ts +++ /dev/null @@ -1,1761 +0,0 @@ -/* eslint-disable no-inner-declarations */ -import { CharSet } from "./char-set"; -import { Char, ReadonlyWord, Word } from "./char-types"; -import { ReadonlyWordSet, WordSet } from "./word-set"; -import { - FABuilder, - FAIterator, - FiniteAutomaton, - NodeFactory, - ToRegexOptions, - TransitionIterable, - TransitionIterator, -} from "./fa-types"; -import { assertNever, cachedFunc, debugAssert, traverse, traverseMultiRoot } from "./util"; -import * as Iter from "./iter"; -import { Concatenation, Element, Expression, NoParent, Node, Quantifier } from "./ast"; -import { MaxCharacterError, TooManyNodesError } from "./errors"; -import { wordSetsToWords } from "./words"; -import { toAlternatives } from "./ast-analysis"; - -/** - * A readonly {@link ENFA}. - */ -export interface ReadonlyENFA extends FiniteAutomaton, TransitionIterable { - /** - * The initial state of the ENFA. - */ - readonly initial: ENFA.ReadonlyNode; - /** - * The final state of the ENFA. - * - * This state may not be reachable from the initial state. - */ - readonly final: ENFA.ReadonlyNode; - - /** - * Whether this ENFA is in its normal form. - * - * @see {@link ENFA} - */ - readonly isNormalized: boolean; - - stateIterator(resolveEpsilon: boolean): FAIterator; - /** - * Yields all nodes reachable from the initial state including the initial state. - * - * This may include trap states, but it will not include the final states if it is unreachable from the initial - * state. - * - * The order in which nodes will be returned is implementation defined and may change after any operation that - * modifies the ENFA. - * - * Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop - * the iteration or yield an nodes. - * - * This operation runs in _O(E + V)_ where _E_ is the number of nodes reachable from the initial state and _V_ is - * the number of transitions. - */ - nodes(): Iterable; - - /** - * Returns the number of nodes reachable from the initial state including the initial state. - * - * This returns the number of nodes returned by {@link nodes}. - */ - countNodes(): number; - - /** - * Create a mutable copy of this ENFA. - */ - copy(factory?: NodeFactory): ENFA; -} - -/** - * A [nondeterministic finite automaton](https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton) with epsilon - * transitions. - * - * This class implements NFAs with the following properties: - * - * - There is exactly one initial state. - * - * - There is exactly one final state. - * - * - There are epsilon transitions. - * - * - A transitions either an epsilon transition or consumes a character. - * - * Epsilon transition are represented using `null` and characters are represented using non-empty `CharSet`s. - * - * - Transitions are ordered. - * - * As a consequence, `/aa|bb/` and `/bb|aa/` have different state machines in this NFA implementation. - * - * Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript - * `Map` class. - * - * - Between any two states, there can at most be one transition. - * - * Unlike the {@link NFA} class, transition cannot be merged. As a consequence, `/a|a/` and `/a/` have different - * state machines in this NFA implementation. - * - * ## Normal form - * - * The normal form of this ENFA implementation has the following restriction: - * - * - The initial state must not have incoming transitions. - * - The final state must not have outgoing transitions. - * - The initial state and final state are different states. - * - * Non-normalized ENFAs will either be tolerated or normalized by operations. - */ -export class ENFA implements ReadonlyENFA { - initial: ENFA.Node; - final: ENFA.Node; - readonly maxCharacter: Char; - - private constructor(initial: ENFA.Node, final: ENFA.Node, maxCharacter: Char) { - this.initial = initial; - this.final = final; - this.maxCharacter = maxCharacter; - } - - get isEmpty(): boolean { - return this.initial !== this.final && this.initial.out.size === 0; - } - get isFinite(): boolean { - return this.isEmpty || Iter.languageIsFinite(this.stateIterator(true)); - } - get isNormalized(): boolean { - return this.initial.in.size === 0 && this.final.out.size === 0 && this.initial !== this.final; - } - - /** - * Brings this ENFA is in its normal form. - * - * This operation will create at most 2 nodes with the given factory. - * - * @param factory - * @see {@link ENFA} - */ - normalize(factory: NodeFactory = ENFA.nodeFactory): void { - baseNormalize(factory, this); - } - - stateIterator(resolveEpsilon: boolean): FAIterator { - if (resolveEpsilon) { - const initial: ENFA.ReadonlyNode = this.initial; - const effectivelyFinal: Set = this.final.reachableViaEpsilon("in"); - return { - initial, - getOut: n => { - const out = new Set(); - n.resolveEpsilon("out", (_, to) => out.add(to)); - return out; - }, - isFinal: n => effectivelyFinal.has(n), - }; - } else { - const initial: ENFA.ReadonlyNode = this.initial; - const final: ENFA.ReadonlyNode = this.final; - return { - initial, - getOut: n => n.out.keys(), - stableOut: true, - isFinal: n => n === final, - }; - } - } - transitionIterator(): TransitionIterator { - const initial: ENFA.ReadonlyNode = this.initial; - const effectivelyFinal: Set = this.final.reachableViaEpsilon("in"); - - return { - initial, - getOut: n => { - const out = new Map(); - n.resolveEpsilon("out", (via, to) => { - let transition = out.get(to); - if (transition === undefined) { - transition = via; - } else { - transition = transition.union(via); - } - out.set(to, transition); - }); - return out; - }, - isFinal: n => effectivelyFinal.has(n), - }; - } - nodes(): Iterable { - return Iter.iterateStates({ - initial: this.initial, - getOut: state => state.out.keys(), - isFinal: state => this.final === state, - }); - } - - countNodes(): number { - let c = 0; - traverse(this.initial, (n, queue) => { - c++; - queue.push(...n.out.keys()); - }); - return c; - } - - copy(factory: NodeFactory = ENFA.nodeFactory): ENFA { - const { initial, final } = factoryCopyOfSubGraph(factory, this); - return new ENFA(initial, final, this.maxCharacter); - } - - test(word: ReadonlyWord): boolean { - // An implementation of Thompson's algorithm as described by Russ Cox - // https://swtch.com/~rsc/regexp/regexp1.html - let currentStates: ENFA.ReadonlyNode[] = [this.initial]; - const newStatesSet = new Set(); - - for (const char of word) { - const newStates: ENFA.ReadonlyNode[] = []; - newStatesSet.clear(); - - // this is a multi-root version of ENFA.NodeList.unorderedResolveEpsilon - traverseMultiRoot(currentStates, (state, queue) => { - state.out.forEach((charSet, to) => { - if (charSet === null) { - queue.push(to); - } else if (charSet.has(char) && !newStatesSet.has(to)) { - newStates.push(to); - newStatesSet.add(to); - } - }); - }); - - currentStates = newStates; - } - - if (newStatesSet.has(this.final)) { - // this a short cut that uses the set we construct to detect duplicates - return true; - } - - const effectivelyFinal: Set = this.final.reachableViaEpsilon("in"); - return currentStates.some(state => effectivelyFinal.has(state)); - } - - wordSets(): Iterable { - return Iter.iterateWordSets(this.transitionIterator()); - } - words(): Iterable { - return wordSetsToWords(this.wordSets()); - } - - toString(): string { - const iter: FAIterator> = { - initial: this.initial, - getOut: n => n.out, - stableOut: true, - isFinal: n => n === this.final, - }; - - return Iter.toString( - iter, - cs => { - if (cs === null) { - return "ε"; - } else { - return cs.toUnicodeString(); - } - }, - true - ); - } - - toRegex(options?: Readonly): NoParent { - const iter: FAIterator> = { - initial: this.initial, - getOut: n => n.out, - stableOut: true, - isFinal: n => n === this.final, - }; - return Iter.toRegex(iter, options); - } - - private _getSimpleOptions( - charSetToString?: (charSet: CharSet) => string - ): [ - FAIterator>, - Iter.SimplePrintOptions - ] { - const iter: FAIterator> = { - initial: this.initial, - getOut: n => n.out, - stableOut: true, - isFinal: n => n === this.final, - }; - - const toString: (charSet: null | CharSet) => string = charSetToString - ? cs => (cs === null ? "" : charSetToString!(cs)) - : cs => (cs === null ? "" : cs.toUnicodeString()); - - return [iter, { transitionToString: toString, ordered: true }]; - } - toDot(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toDot(...this._getSimpleOptions(charSetToString)); - } - toMermaid(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toMermaid(...this._getSimpleOptions(charSetToString)); - } - - /** - * Modifies this ENFA to accept the concatenation of this ENFA and the given FA. - * - * @param other - * @param factory - */ - append(other: TransitionIterable, factory: NodeFactory = new ENFA.LimitedNodeFactory()): void { - MaxCharacterError.assert(this, other); - - this.normalize(factory); - baseAppend(this, smartFactoryCopy(factory, other)); - } - - /** - * Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA. - * - * This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other - * ENFA will be in an **invalid state** after this operation completes. The initial and final states of the other - * ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again. - * - * This operation will create at most 4 nodes with the given factory. - * - * @param other - * @param factory - */ - appendInto(other: ENFA, factory: NodeFactory = ENFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot append an ENFA into itself."); - } - - if (baseIsEmptyWord(other)) { - // The other ENFA is equivalent to the empty word, so we can stop here. - return; - } - - this.normalize(factory); - other.normalize(factory); - baseAppend(this, other); - } - - /** - * Modifies this ENFA to accept the concatenation of the given FA and this ENFA. - * - * @param other - * @param factory - */ - prepend(other: TransitionIterable, factory: NodeFactory = new ENFA.LimitedNodeFactory()): void { - MaxCharacterError.assert(this, other); - - this.normalize(factory); - basePrepend(this, smartFactoryCopy(factory, other)); - } - - /** - * Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA. - * - * This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other - * ENFA will be in an **invalid state** after this operation completes. The initial and final states of the other - * ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again. - * - * This operation will create at most 4 nodes with the given factory. - * - * @param other - * @param factory - */ - prependInto(other: ENFA, factory: NodeFactory = ENFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot prepend an ENFA into itself."); - } - - if (baseIsEmptyWord(other)) { - // The other ENFA is equivalent to the empty word, so we can stop here. - return; - } - - this.normalize(factory); - other.normalize(factory); - basePrepend(this, other); - } - - /** - * Modifies this ENFA to accept the language of this ENFA and the language of the given FA. - * - * If the union kind is `left`, then this ENFA will be modified to accept `|`. Otherwise, it will be - * modified to accept `|`. - * - * @param other - * @param kind - * @param factory - */ - union( - other: TransitionIterable, - kind: "left" | "right" = "right", - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): void { - MaxCharacterError.assert(this, other); - - this.normalize(factory); - if (kind === "left") { - baseUnionLeft(factory, this, smartFactoryCopy(factory, other)); - } else { - baseUnionRight(this, smartFactoryCopy(factory, other)); - } - } - - /** - * Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA. - * - * If the union kind is `left`, then this ENFA will be modified to accept `|`. Otherwise, it will be - * modified to accept `|`. - * - * This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other - * ENFA will be in an **invalid state** after this operation completes. The initial and final states of the other - * ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again. - * - * This operation will create at most 6 nodes with the given factory. - * - * @param other - * @param kind - * @param factory - */ - unionInto(other: ENFA, kind: "left" | "right" = "right", factory: NodeFactory = ENFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot union an ENFA into itself."); - } - - if (other.isEmpty) { - return; - } - - this.normalize(factory); - other.normalize(factory); - if (kind === "left") { - baseUnionLeft(factory, this, other); - } else { - baseUnionRight(this, other); - } - } - - /** - * Modifies this ENFA to accept at least `min` and at most `max` concatenations of itself. - * - * Both `min` and `max` both have to be non-negative integers with `min <= max`. - * `max` is also allowed to be `Infinity`. - * - * @param min - * @param max - * @param lazy - * @param factory - */ - quantify( - min: number, - max: number, - lazy: boolean = false, - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): void { - if (!Number.isInteger(min) || !(Number.isInteger(max) || max === Infinity) || min < 0 || min > max) { - throw new RangeError("min and max both have to be non-negative integers with min <= max."); - } - - this.normalize(factory); - baseQuantify(factory, this, min, max, lazy); - } - - /** - * Removes the empty word from the accepted languages of this ENFA. - * - * Unreachable states will be removed by this operation. - * - * @param factory - */ - withoutEmptyWord(factory: NodeFactory = new ENFA.LimitedNodeFactory()): void { - this.normalize(factory); - - const effectivelyInitial = this.initial.reachableViaEpsilon("out"); - if (!effectivelyInitial.has(this.final)) { - // The ENFA does not accept the empty word, so there is nothing to remove. - return; - } - if (effectivelyInitial.size === 2) { - // These two states have to be the initial state and the final state linked directly via an - // epsilon transition. To remove the empty word, we simply have to unlink the two - this.initial.unlink(this.final); - return; - } - - // Resolve all epsilon transitions of the outgoing transitions of the initial state and write down the result. - // It's important to preserve the order. - const out: [CharSet, ENFA.Node][] = []; - this.initial.resolveEpsilon("out", (transition, to) => out.push([transition, to])); - - // Clear the initial state. - // This might create unreachable nodes that we have to clean up later. - this.initial.unlinkAllOut(); - - // Re-link the initial state with the rest of the graph. - for (const [transition, to] of out) { - if (this.initial.out.has(to)) { - // preserve ambiguity - const q = factory.createNode(); - this.initial.link(q, transition); - q.link(to, null); - } else { - // no need to create a new state - this.initial.link(to, transition); - } - } - - // clean up - this.removeUnreachable(); - } - - /** - * All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be - * removed. - */ - removeUnreachable(): void { - baseRemoveUnreachable(this); - } - - /** - * Modifies this ENFA such that all prefixes of all accepted words are also accepted. - * - * If the language of this ENFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - * - * @param factory - */ - prefixes(factory: NodeFactory = new ENFA.LimitedNodeFactory()): void { - this.removeUnreachable(); - - if (this.isEmpty) { - return; - } - - this.normalize(); - for (const node of this.nodes()) { - baseMakeEffectivelyFinal(factory, this, node); - } - } - - /** - * Modifies this ENFA such that all suffixes of all accepted words are also accepted. - * - * If the language of this ENFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - * - * @param factory - */ - suffixes(factory: NodeFactory = new ENFA.LimitedNodeFactory()): void { - this.removeUnreachable(); - - if (this.isEmpty) { - return; - } - - this.normalize(); - for (const node of this.nodes()) { - baseMakeEffectivelyInitial(factory, this, node); - } - } - - /** - * Creates a new ENFA which matches no words. The language of the returned ENFA is empty. - * - * This operation will create exactly 2 nodes with the given factory. - * - * @param options - * @param factory - */ - static empty(options: Readonly, factory: NodeFactory = ENFA.nodeFactory): ENFA { - return new ENFA(factory.createNode(), factory.createNode(), options.maxCharacter); - } - - /** - * Creates a new ENFA which matches only the empty word. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static emptyWord(options: Readonly, factory: NodeFactory = ENFA.nodeFactory): ENFA { - const initial = factory.createNode(); - return new ENFA(initial, initial, options.maxCharacter); - } - - /** - * Creates a new ENFA which matches all words. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static all(options: Readonly, factory: NodeFactory = ENFA.nodeFactory): ENFA { - const initial = factory.createNode(); - initial.link(initial, CharSet.all(options.maxCharacter)); - return new ENFA(initial, initial, options.maxCharacter); - } - - /** - * Creates a new ENFA which matches the given characters. - * - * This operation will create exactly 2 nodes with the given factory. - * - * @param charSet - * @param factory - */ - static fromCharSet(charSet: CharSet, factory: NodeFactory = ENFA.nodeFactory): ENFA { - const initial = factory.createNode(); - const final = factory.createNode(); - - if (!charSet.isEmpty) { - initial.link(final, charSet); - } - - return new ENFA(initial, final, charSet.maximum); - } - - static fromRegex( - concat: NoParent, - options: Readonly, - creationOptions?: Readonly, - factory?: NodeFactory - ): ENFA; - static fromRegex( - alternatives: readonly NoParent[], - options: Readonly, - creationOptions?: Readonly, - factory?: NodeFactory - ): ENFA; - static fromRegex( - value: NoParent | readonly NoParent[], - options: Readonly, - creationOptions: Readonly = {}, - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): ENFA { - const { initial, final } = createGraphFromRegex(toAlternatives(value), options, creationOptions, factory); - return new ENFA(initial, final, options.maxCharacter); - } - - /** - * Creates a new ENFA which matches all and only all of the given words. - * - * @param words - * @param options - * @param factory - */ - static fromWords( - words: Iterable, - options: Readonly, - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): ENFA { - const { maxCharacter } = options; - const builder = new ENFA.Builder(factory); - - Iter.fromWords( - builder, - (node, char) => { - for (const [to, chars] of node.out) { - if (chars !== null && chars.has(char)) { - return to; - } - } - return undefined; - }, - words, - maxCharacter - ); - - return ENFA.fromBuilder(builder, options); - } - - /** - * Creates a new ENFA which matches all and only all of the given word sets. - * - * @param wordSets - * @param options - * @param factory - */ - static fromWordSets( - wordSets: Iterable, - options: Readonly, - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): ENFA { - const { maxCharacter } = options; - const builder = new ENFA.Builder(factory); - Iter.fromWordSets(builder, wordSets, maxCharacter); - return ENFA.fromBuilder(builder, options); - } - - static fromFA(fa: TransitionIterable, factory?: NodeFactory): ENFA { - return ENFA.fromTransitionIterator(fa.transitionIterator(), fa, factory); - } - - static fromTransitionIterator( - iter: TransitionIterator, - options: Readonly, - factory: NodeFactory = new ENFA.LimitedNodeFactory() - ): ENFA { - const { maxCharacter } = options; - const builder = new ENFA.Builder(factory); - - const fakeInitial = factory.createNode(); - builder.initial.link(fakeInitial, null); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(iter.initial, fakeInitial); - - traverse(iter.initial, (node, queue) => { - const transNode = translate(node); - - if (iter.isFinal(node)) { - builder.makeFinal(transNode); - } - - const out = iter.getOut(node); - out.forEach((charSet, outNode) => { - if (charSet.maximum !== maxCharacter) { - throw new Error("Some character sets do not conform to the given maximum."); - } - queue.push(outNode); - transNode.link(translate(outNode), charSet); - }); - }); - - return ENFA.fromBuilder(builder, options); - } - - static fromBuilder(builder: ENFA.Builder, options: Readonly): ENFA { - return new ENFA(builder.initial, builder.final, options.maxCharacter); - } -} - -/** - * A namespace for ENFA-specific classes and interfaces. - * - * @see {@link ENFA} (class) - */ -// eslint-disable-next-line @typescript-eslint/no-namespace -export namespace ENFA { - export interface ReadonlyNode { - readonly out: ReadonlyMap; - readonly in: ReadonlyMap; - - /** - * Calls the given consumer function on every non-epsilon transition directly reachable from the given node. - * - * Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph: - * - * ```text - * (0) -> (1) : "a" - * -> (2) : epsilon - * -> (3) : "b" - * - * (1) -> (3) : "c" - * - * (2) -> (4) : "d" - * -> (1) : "e" - * -> (2) : epsilon - * - * (3) -> (1) : epsilon - * - * (4) -> empty - * ``` - * - * The node `(0)` will return the resolved list: - * - * ```text - * [(1), "a"] - * [(4), "d"] - * [(1), "e"] - * [(3), "b"] - * ``` - */ - resolveEpsilon(direction: "in" | "out", consumerFn: (charSet: CharSet, node: ReadonlyNode) => void): void; - - /** - * Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in - * the given direction. The returned set is guaranteed to always contain the given node. - * - * The order of the nodes in the returned set in implementation-defined and cannot be relied upon. - * - * --- - * - * This method can be used to determine the set of all effectively final states. - * - * ``` - * const effectivelyFinal = final.reachableViaEpsilon("in"); - * ``` - */ - reachableViaEpsilon(direction: "in" | "out"): Set; - } - export class Node implements ReadonlyNode { - readonly out = new Map(); - readonly in = new Map(); - - /** - * Adds a transition from `this` to `to` using the given non-empty set of characters. - * - * If two nodes are already linked, an error will be thrown. - * - * @param to - * @param via - */ - link(to: Node, via: CharSet | null): void { - if (this.out.has(to)) { - throw new Error("Cannot link nodes that are already linked."); - } - if (via && via.isEmpty) { - throw new Error("You can't link nodes with the empty character set."); - } - - this.out.set(to, via); - to.in.set(this, via); - } - - /** - * Removes the transition from `this` to `to`. - * - * This will do nothing if `this` isn't linked to `to`. - * - * @param to - */ - unlink(to: Node): void { - this.out.delete(to); - to.in.delete(this); - } - - /** - * Unlinks all outgoing and incoming transitions of this node. - */ - unlinkAll(): void { - this.unlinkAllIn(); - this.unlinkAllOut(); - } - /** - * Unlinks all outgoing transitions of this node. - */ - unlinkAllOut(): void { - this.out.forEach((_, to) => { - to.in.delete(this); - }); - this.out.clear(); - } - /** - * Unlinks all incoming transitions of this node. - */ - unlinkAllIn(): void { - this.in.forEach((_, from) => { - from.out.delete(this); - }); - this.in.clear(); - } - - resolveEpsilon(direction: "in" | "out", consumerFn: (charSet: CharSet, node: Node) => void): void { - // The little magic trick of this non-recursive implementation is a reversed stack. - // By popping from the stack and pushing elements in reversed order, we get exactly the iteration order - // that we need to resolve epsilon while keeping order and ambiguity. - - const stack: [Node, CharSet | null][] = [...this[direction]].reverse(); - - const visited = new Set([this]); - for (let item; (item = stack.pop()); ) { - const [to, via] = item; - - if (via === null) { - // recurse - - // check already visited nodes - if (visited.has(to)) { - continue; - } - visited.add(to); - - stack.push(...[...to[direction]].reverse()); - } else { - consumerFn(via, to); - } - } - } - - reachableViaEpsilon(direction: "in" | "out"): Set { - const result = new Set(); - - traverse(this, (n, queue) => { - result.add(n); - - n[direction].forEach((via, to) => { - if (via === null) { - queue.push(to); - } - }); - }); - - return result; - } - } - - /** - * An unlimited node factory that will simply call the {@link Node} constructor. - */ - export const nodeFactory: NodeFactory = { - createNode() { - return new Node(); - }, - }; - - export class LimitedNodeFactory implements NodeFactory { - private _counter = 0; - readonly limit: number; - - constructor(limit: number = 10_000) { - this.limit = limit; - } - - createNode(): Node { - TooManyNodesError.assert(++this._counter, this.limit, "ENFA"); - return new Node(); - } - } - - export class Builder implements FABuilder { - readonly initial: Node; - readonly final: Node; - readonly factory: NodeFactory; - - constructor(factory: NodeFactory) { - this.factory = factory; - this.initial = factory.createNode(); - this.final = factory.createNode(); - } - - makeFinal(state: Node): void { - baseMakeEffectivelyFinal(this.factory, this, state); - } - isFinal(state: Node): boolean { - return state === this.final; - } - linkNodes(from: Node, to: Node, transition: CharSet | null): void { - from.link(to, transition); - } - createNode(): Node { - return this.factory.createNode(); - } - } - - export interface Options { - /** - * The maximum numerical value any character can have. - * - * This will be the maximum of all underlying {@link CharSet}s. - */ - maxCharacter: Char; - } - export interface FromRegexOptions { - /** - * How to handle assertions when construction the ENFA. - * - * - `"throw"` - * - * This method will throw an error when encountering an assertion. - * - * - `"disable"` - * - * This method will replace any assertion with an empty character class, effectively removing it. - * - * - `"ignore"` - * - * This method will replace any assertion with an empty group. - * - * @default "throw" - */ - assertions?: "disable" | "ignore" | "throw"; - /** - * How to handle unknowns when construction the ENFA. - * - * - `"throw"` - * - * This method will throw an error when encountering an unknown. - * - * - `"disable"` - * - * This method will replace any unknown with an empty character class, effectively removing it. - * - * @default "throw" - */ - unknowns?: "disable" | "throw"; - /** - * The number at which the maximum of a quantifier will be assumed to be infinity. - * - * Quantifiers with a large finite maximum (e.g. `a{1,10000}`) can create huge NFAs with thousands of states. - * Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite. - * - * @default Infinity - */ - infinityThreshold?: number; - } -} - -function createGraphFromRegex( - expression: readonly NoParent[], - options: Readonly, - creationOptions: Readonly, - factory: NodeFactory -): SubGraph { - return ThompsonOptimized.create(factory, expression, { - maxCharacter: options.maxCharacter, - assertions: creationOptions.assertions ?? "throw", - unknowns: creationOptions.unknowns ?? "throw", - infinityThreshold: creationOptions.infinityThreshold ?? Infinity, - }); -} - -interface NonNormalSubGraph { - initial: ENFA.Node; - final: ENFA.Node; -} -interface SubGraph { - initial: ENFA.Node; - final: ENFA.Node; -} -interface ReadonlySubGraph { - readonly initial: ENFA.ReadonlyNode; - readonly final: ENFA.ReadonlyNode; -} - -// eslint-disable-next-line @typescript-eslint/no-namespace -namespace ThompsonOptimized { - interface Options { - readonly maxCharacter: Char; - readonly assertions: "disable" | "ignore" | "throw"; - readonly unknowns: "disable" | "throw"; - readonly infinityThreshold: number; - } - - export function create( - factory: NodeFactory, - expression: readonly NoParent[], - options: Options - ): SubGraph { - const initial = factory.createNode(); - - return { initial, final: handleAlternatives(factory, expression, initial, options) }; - } - - // All of the below functions guarantee that - // 1. no incoming transitions are added to the initial state. - // 2. the returned final state will not be the given initial state. - // 3. the returned final state will have no outgoing transitions. - - function handleElement( - factory: NodeFactory, - element: NoParent, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - switch (element.type) { - case "Alternation": - return handleAlternatives(factory, element.alternatives, initial, options); - case "Assertion": - return handleAssertion(factory, initial, options); - case "CharacterClass": - return handleChar(factory, element.characters, initial, options); - case "Quantifier": - return handleQuantifier(factory, element, initial, options); - case "Unknown": - return handleUnknown(factory, options); - default: - assertNever(element); - } - } - function handleAlternatives( - factory: NodeFactory, - alternatives: readonly NoParent[], - initial: ENFA.Node, - options: Options - ): ENFA.Node { - if (alternatives.length === 1) { - return handleConcat(factory, alternatives[0].elements, initial, options); - } else { - const final = factory.createNode(); - - for (const { elements } of alternatives) { - const alternativeFinal = handleConcat(factory, elements, initial, options); - alternativeFinal.link(final, null); - } - - return final; - } - } - function handleChar( - factory: NodeFactory, - characters: CharSet, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - if (characters.maximum !== options.maxCharacter) { - throw new Error(`Expected a max character of ${options.maxCharacter} but found ${characters.maximum}.`); - } - - const final = factory.createNode(); - if (!characters.isEmpty) { - initial.link(final, characters); - } - return final; - } - function handleConcat( - factory: NodeFactory, - elements: readonly NoParent[], - initial: ENFA.Node, - options: Options - ): ENFA.Node { - let final = initial; - for (const e of elements) { - const newFinal = handleElement(factory, e, final, options); - debugAssert(final !== newFinal, "The returned final state cannot be the given initial state."); - debugAssert(newFinal.out.size === 0, "The returned final cannot have outgoing transitions."); - final = newFinal; - } - - return safeFinal(factory, initial, final); - } - function handleQuantifier( - factory: NodeFactory, - quant: NoParent, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - const originalInitial = initial; - - let { min, max } = quant; - if (!(min <= max) || !(min >= 0)) { - throw new Error(`Expected 0 <= min <= max but found min=${min} max=${max}.`); - } - - if (max > options.infinityThreshold) { - max = Infinity; - } - - if (min > 1) { - initial = quantConstant(factory, quant.alternatives, min - 1, initial, options); - max -= min - 1; - min = 1; - } - - // min is now either 1 or 0 - debugAssert(min === 0 || min === 1); - - if (min === 1) { - if (max === Infinity) { - return quantPlus(factory, quant.alternatives, quant.lazy, initial, options); - } else { - max--; - min--; - initial = handleAlternatives(factory, quant.alternatives, initial, options); - } - } - - // min is now 0 - debugAssert(min === 0); - - if (max === 0) { - return safeFinal(factory, originalInitial, initial); - } else if (max === Infinity) { - return quantStar(factory, quant.alternatives, quant.lazy, initial, options); - } else { - // 1 <= max < Infinity - // What is done here for `A{0,3}` is equivalent to `(A(A(A|)|)|)` if not lazy and `(|A(|A(|A)))` if lazy. - - const final = factory.createNode(); - - for (let i = 0; i < max; i++) { - if (quant.lazy) { - initial.link(final, null); - } - - const nextInitial = handleAlternatives(factory, quant.alternatives, initial, options); - - if (!quant.lazy) { - initial.link(final, null); - } - - initial = nextInitial; - } - - initial.link(final, null); - - return final; - } - } - function handleAssertion(factory: NodeFactory, initial: ENFA.Node, options: Options): ENFA.Node { - switch (options.assertions) { - case "disable": - return factory.createNode(); - case "ignore": - return safeFinal(factory, initial, initial); - case "throw": - throw new Error("Assertions are not supported yet."); - default: - throw assertNever(options.assertions); - } - } - function handleUnknown(factory: NodeFactory, options: Options): ENFA.Node { - switch (options.unknowns) { - case "disable": - return factory.createNode(); - case "throw": - throw new Error("Assertions are not supported yet."); - default: - throw assertNever(options.unknowns); - } - } - - function safeFinal(factory: NodeFactory, initial: ENFA.Node, final: ENFA.Node): ENFA.Node { - if (final === initial) { - final = factory.createNode(); - initial.link(final, null); - } - - return final; - } - - function quantConstant( - factory: NodeFactory, - alternatives: readonly NoParent[], - count: number, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - let final = initial; - for (let i = 0; i < count; i++) { - final = handleAlternatives(factory, alternatives, final, options); - } - - return safeFinal(factory, initial, final); - } - function quantPlus( - factory: NodeFactory, - alternatives: readonly NoParent[], - lazy: boolean, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - const final = factory.createNode(); - - const altInitial = factory.createNode(); - initial.link(altInitial, null); - - const altFinal = handleAlternatives(factory, alternatives, altInitial, options); - if (lazy) { - altFinal.link(final, null); - altFinal.link(altInitial, null); - } else { - altFinal.link(altInitial, null); - altFinal.link(final, null); - } - - return final; - } - function quantStar( - factory: NodeFactory, - alternatives: readonly NoParent[], - lazy: boolean, - initial: ENFA.Node, - options: Options - ): ENFA.Node { - const final = factory.createNode(); - if (lazy) { - initial.link(final, null); - } - - const altInitial = factory.createNode(); - initial.link(altInitial, null); - - const altFinal = handleAlternatives(factory, alternatives, altInitial, options); - if (lazy) { - altFinal.link(final, null); - altFinal.link(altInitial, null); - } else { - altFinal.link(altInitial, null); - altFinal.link(final, null); - } - - if (!lazy) { - initial.link(final, null); - } - - return final; - } -} - -function baseMakeEffectivelyFinal(factory: NodeFactory, base: SubGraph, node: ENFA.Node): void { - if (node === base.final) { - return; - } - - const current = node.out.get(base.final); - if (current === undefined) { - node.link(base.final, null); - } else if (current === null) { - return; - } else { - // the trick is to add a new node that connects the given node with the final state via epsilon transitions - // however, we might already have added such a node, so we need to check for that. - - for (const [to, via] of node.out) { - if (via === null) { - if (to.out.get(base.final) === null) { - // we already added such a state - return; - } - } - } - - const newNode = factory.createNode(); - node.link(newNode, null); - newNode.link(base.final, null); - } -} -function baseMakeEffectivelyInitial(factory: NodeFactory, base: SubGraph, node: ENFA.Node): void { - if (node === base.initial) { - return; - } - - const current = base.initial.out.get(node); - if (current === undefined) { - base.initial.link(node, null); - } else if (current === null) { - return; - } else { - const newNode = factory.createNode(); - base.initial.link(newNode, null); - newNode.link(node, null); - } -} - -function smartFactoryCopy(factory: NodeFactory, toCopy: TransitionIterable): SubGraph { - if (toCopy instanceof ENFA) { - return factoryCopyOfSubGraph(factory, toCopy); - } else { - return factoryCopy(factory, toCopy.transitionIterator()); - } -} -function factoryCopyOfSubGraph(factory: NodeFactory, toCopy: ReadonlySubGraph): SubGraph { - const initial = factory.createNode(); - const final = factory.createNode(); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(toCopy.initial, initial); - translate.cache.set(toCopy.final, final); - - traverse(toCopy.initial, (node, queue) => { - const transNode = translate(node); - - node.out.forEach((charSet, to) => { - queue.push(to); - transNode.link(translate(to), charSet); - }); - }); - - const result = { initial, final }; - - baseNormalize(factory, result); - - return result; -} -function factoryCopy(factory: NodeFactory, iter: TransitionIterator): SubGraph { - const initial = factory.createNode(); - const final = factory.createNode(); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(iter.initial, initial); - - traverse(iter.initial, (node, queue) => { - const transNode = translate(node); - - if (iter.isFinal(node)) { - transNode.link(final, null); - } - - const out = iter.getOut(node); - out.forEach((charSet, to) => { - queue.push(to); - transNode.link(translate(to), charSet); - }); - }); - - const result = { initial, final }; - - baseNormalize(factory, result); - - return result; -} - -/** - * Alters `base` to accept no words. - * - * @param base - */ -function baseMakeEmpty(base: SubGraph): void { - base.initial.in.clear(); - base.initial.out.clear(); - base.final.in.clear(); - base.final.out.clear(); -} -/** - * Alters `base` to accept only the empty word. - * - * @param base - */ -function baseMakeEmptyWord(base: SubGraph): void { - baseMakeEmpty(base); - - base.initial.link(base.final, null); -} - -function baseNormalize(factory: NodeFactory, base: NonNormalSubGraph): asserts base is SubGraph { - if (base.initial.in.size > 0) { - const newInitial = factory.createNode(); - newInitial.link(base.initial, null); - base.initial = newInitial; - } - - if (base.final.out.size > 0) { - const newFinal = factory.createNode(); - base.final.link(newFinal, null); - base.final = newFinal; - } - - if (base.initial === base.final) { - const newFinal = factory.createNode(); - base.final.link(newFinal, null); - base.final = newFinal; - } -} - -/** - * Alters `base` to end with the `after` expression. - * - * `after` will be altered as well and cannot be used again after this operation. - * - * @param base - * @param after - */ -function baseAppend(base: SubGraph, after: SubGraph): void { - if (base.initial.out.size === 0 || base.final.in.size === 0) { - // concat(EMPTY_LANGUAGE, after) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - if (after.initial.out.size === 0 || after.final.in.size === 0) { - // concat(base, EMPTY_LANGUAGE) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - - base.final.link(after.initial, null); - base.final = after.final; -} - -/** - * Alters `base` to start with the `before` expression. - * - * `before` will be altered as well and cannot be used again after this operation. - * - * @param base - * @param before - */ -function basePrepend(base: SubGraph, before: SubGraph): void { - if (base.initial.out.size === 0 || base.final.in.size === 0) { - // concat(before, EMPTY_LANGUAGE) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - if (before.initial.out.size === 0 || before.final.in.size === 0) { - // concat(EMPTY_LANGUAGE, base) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - - before.final.link(base.initial, null); - base.initial = before.initial; -} - -/** - * Alters `base` to be repeated a certain number of times. - * - * @param factory - * @param base - * @param times - */ -function baseRepeat(factory: NodeFactory, base: SubGraph, times: number): void { - if (times === 0) { - // trivial - baseMakeEmptyWord(base); - return; - } - if (times === 1) { - // trivial - return; - } - if (base.initial.out.size === 0 || base.final.in.size === 0) { - // base can't match any word - return; - } - - const copy = factoryCopyOfSubGraph(factory, base); - - let final = base.final; - for (let i = 2; i < times; i++) { - const iterationCopy = factoryCopyOfSubGraph(factory, copy); - final.link(iterationCopy.initial, null); - final = iterationCopy.final; - } - - final.link(copy.initial, null); - base.final = copy.final; -} - -/** - * Alters `base` to be equal to `/()+/`. - * - * @param factory - * @param base - * @param lazy - */ -function basePlus(factory: NodeFactory, base: SubGraph, lazy: boolean): void { - const newFinal = factory.createNode(); - - if (lazy) { - base.final.link(newFinal, null); - base.final.link(base.initial, null); - } else { - base.final.link(base.initial, null); - base.final.link(newFinal, null); - } - - base.final = newFinal; -} -/** - * Alters `base` to be equal to `()*`. - * - * @param factory - * @param base - * @param lazy - */ -function baseStar(factory: NodeFactory, base: SubGraph, lazy: boolean): void { - const newInitial = factory.createNode(); - const newFinal = factory.createNode(); - - if (lazy) { - newInitial.link(newFinal, null); - newInitial.link(base.initial, null); - - base.final.link(newFinal, null); - base.final.link(base.initial, null); - } else { - newInitial.link(base.initial, null); - newInitial.link(newFinal, null); - - base.final.link(base.initial, null); - base.final.link(newFinal, null); - } - - base.initial = newInitial; - base.final = newFinal; -} - -/** - * Alters `base` to be equal to `(){0,}`. - * - * @param factory - * @param base - * @param max - * @param lazy - */ -function baseMaximum(factory: NodeFactory, base: SubGraph, max: number, lazy: boolean): void { - if (max === Infinity) { - // `(){0,}` - baseStar(factory, base, lazy); - } else if (max === 0) { - // `(){0,0}` - baseMakeEmptyWord(base); - } else if (max === 1) { - // `(){0,1}` - const newInitial = factory.createNode(); - if (lazy) { - newInitial.link(base.final, null); - newInitial.link(base.initial, null); - } else { - newInitial.link(base.initial, null); - newInitial.link(base.final, null); - } - base.initial = newInitial; - } else { - // `(){0,n}` - debugAssert(max >= 2); - - const copies = [base]; - for (let i = 1; i < max; i++) { - copies.push(factoryCopyOfSubGraph(factory, base)); - } - - const initial = factory.createNode(); - const final = copies[copies.length - 1].final; - if (lazy) { - initial.link(final, null); - initial.link(copies[0].initial, null); - } else { - initial.link(copies[0].initial, null); - initial.link(final, null); - } - - for (let i = 1; i < max; i++) { - const curr = copies[i - 1]; - const next = copies[i]; - - if (lazy) { - curr.final.link(final, null); - curr.final.link(next.initial, null); - } else { - curr.final.link(next.initial, null); - curr.final.link(final, null); - } - } - - base.initial = initial; - base.final = final; - } -} - -function baseQuantify(factory: NodeFactory, base: SubGraph, min: number, max: number, lazy: boolean): void { - if (max === Infinity) { - if (min > 1) { - const prefix = factoryCopyOfSubGraph(factory, base); - baseRepeat(factory, prefix, min - 1); - basePlus(factory, base, lazy); - basePrepend(base, prefix); - } else if (min === 1) { - basePlus(factory, base, lazy); - } else { - debugAssert(min === 0); - baseStar(factory, base, lazy); - } - } else { - if (min === max) { - baseRepeat(factory, base, min); - } else if (min === 0) { - baseMaximum(factory, base, max, lazy); - } else { - const prefix = factoryCopyOfSubGraph(factory, base); - baseRepeat(factory, prefix, min); - baseMaximum(factory, base, max - min, lazy); - basePrepend(base, prefix); - } - } -} - -/** - * Alters `base` to be equal to `|`. - * - * @param factory - * @param base - * @param left - */ -function baseUnionLeft(factory: NodeFactory, base: SubGraph, left: SubGraph): void { - const initial = factory.createNode(); - const final = factory.createNode(); - - initial.link(left.initial, null); - initial.link(base.initial, null); - left.final.link(final, null); - base.final.link(final, null); - - base.initial = initial; - base.final = final; -} -/** - * Alters `base` to be equal to `|`. - * - * @param base - * @param right - */ -function baseUnionRight(base: SubGraph, right: SubGraph): void { - base.initial.link(right.initial, null); - right.final.link(base.final, null); -} - -/** - * All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be - * removed. - * - * @param base - */ -function baseRemoveUnreachable(base: NonNormalSubGraph): void { - if (base.final.in.size === 0 || base.initial.out.size === 0) { - baseMakeEmpty(base); - return; - } - - // 1) Get all nodes reachable from the initial state - const reachableFromInitial = new Set(); - traverse(base.initial, (node, queue) => { - reachableFromInitial.add(node); - queue.push(...node.out.keys()); - }); - - // 2) Get all nodes reachable state - const reachable = new Set(); - traverse(base.final, (node, queue) => { - if (!reachableFromInitial.has(node)) { - return; - } - - reachable.add(node); - queue.push(...node.in.keys()); - }); - - if (reachable.size === 0 || !reachable.has(base.initial)) { - baseMakeEmpty(base); - return; - } - - // 3) Remove all unreachable states - for (const node of reachable) { - node.out.forEach((_, to) => { - if (!reachable.has(to)) { - to.unlinkAll(); - } - }); - node.in.forEach((_, from) => { - if (!reachable.has(from)) { - from.unlinkAll(); - } - }); - } -} - -function baseIsEmptyWord(base: Readonly): boolean { - return base.initial === base.final && base.initial.out.size === 0; -} diff --git a/src/errors.ts b/src/errors.ts deleted file mode 100644 index 1fa47171..00000000 --- a/src/errors.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Char } from "./char-types"; - -/** - * An error that is thrown when the max characters of two or more FA or transition iterables is not the same. - * - * Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be - * the same and will throw this error if they are not. - */ -export class MaxCharacterError extends Error { - /** - * Asserts the two given max characters are the same. - * - * @param a - * @param b - * @param kind - */ - static assert(a: Char | { maxCharacter: Char }, b: Char | { maxCharacter: Char }, kind?: string): void { - let left: number | { maxCharacter: number } = a; - let right: number | { maxCharacter: number } = b; - - if (typeof left !== "number") { - left = left.maxCharacter; - } - if (typeof right !== "number") { - right = right.maxCharacter; - } - - if (left !== right) { - if (kind !== undefined) { - throw new MaxCharacterError(`The two ${kind} do not have the same max character. ${left} != ${right}`); - } else { - throw new MaxCharacterError(`Different max character. ${left} != ${right}`); - } - } - } -} - -/** - * An error that is thrown when an operation causes too many nodes to be created. - * - * Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in - * the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely - * abort an otherwise resource-intensive operation. - */ -export class TooManyNodesError extends Error { - /** - * Asserts that the current number of created nodes does not exceed the limit. - * - * @param current - * @param limit - * @param kind - */ - static assert(current: number, limit: number, kind: string): void { - if (current > limit) { - throw new TooManyNodesError(`The ${kind} is not allowed to create more than ${limit} nodes.`); - } - } -} diff --git a/src/fa-types.ts b/src/fa-types.ts deleted file mode 100644 index bb171a5d..00000000 --- a/src/fa-types.ts +++ /dev/null @@ -1,215 +0,0 @@ -import type { Char, ReadonlyWord, Word } from "./char-types"; -import type { Expression, NoParent } from "./ast"; -import type { CharSet } from "./char-set"; -import type { WordSet } from "./word-set"; - -export interface FiniteAutomaton { - /** - * Returns whether this FA accepts the empty language meaning that it doesn't accept any words. - */ - readonly isEmpty: boolean; - - /** - * Returns whether the formal language accepted by this FA contains finitely many words. - * - * __Note__: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with - * 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states. - */ - readonly isFinite: boolean; - - /** - * The maximum character that is part of the alphabet of the words that this FA can accept. - */ - readonly maxCharacter: Char; - - /** - * Returns whether this FA accepts the given word. - * - * @param word The characters of the word to test. - */ - test(word: ReadonlyWord): boolean; - - /** - * Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length. - * - * If this FA accepts infinitely many words, the iterable will never end. - */ - words(): Iterable; - /** - * Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length. - * - * If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will - * end after at most `2^O(n)` word sets (`n` = number of states). - * - * If you analyse the words of an FA, consider using this method instead of `words`. If this method yields `k` word - * sets, then `words` will yield up to `O(k * m ^ l)` words (`m` = number of possible characters, `l` = the maximum - * length of any of the `k` word sets). - */ - wordSets(): Iterable; - - /** - * Returns a string representation of this FA. - */ - toString(): string; - /** - * Returns the AST of a regular expression that accepts the same language as this FA. - * - * @param options - */ - toRegex(options?: Readonly): NoParent; - /** - * Returns the string representation of this FA in the - * [DOT format](https://en.wikipedia.org/wiki/DOT_(graph_description_language)). - * - * The output of this function can passed to any graph visualization program. This can be a - * [local installation](https://graphviz.org/download/) or an [online editor](https://edotor.net/). - * - * By default, {@link CharSet#toUnicodeString} is used to represent {@link CharSet}s. It's possible to provide a - * custom stringify function using the `charSetToString` parameter. - * - * @param charSetToString - */ - toDot(charSetToString?: (charSet: CharSet) => string): string; - /** - * Returns the string representation of this FA in the [Mermaid format](https://mermaid.js.org/). - * - * By default, {@link CharSet#toUnicodeString} is used to represent {@link CharSet}s. It's possible to provide a - * custom stringify function using the `charSetToString` parameter. - * - * @param charSetToString - */ - toMermaid(charSetToString?: (charSet: CharSet) => string): string; -} - -/** - * A graph iterator for all states of an FA with final states. - * - * @template S The type of a state in the FA to iterate. - * @template O The type of the value each state maps to. - */ -export interface FAIterator> { - /** - * The initial state of the FA. - */ - readonly initial: S; - /** - * Returns the value a state maps to. - * - * Callers of this function are allowed to call the function **without** a `this` argument. - * - * @see {@link stableOut} - */ - readonly getOut: (state: S) => O; - /** - * Whether the {@link getOut} function is stableOut during the lifetime of the iterator. - * - * Stable means that if `getOut` gets called for the same state more than once, it will always return the same - * value. - * - * The sameness of states is defined by - * [the key equality of the Map class](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#key_equality). - * - * The sameness of returned values is not defined by this interface and depends of the iterator. - * - * I.e. a stable `getOut` function may return new collections/iterators on subsequent invocations as long as the - * collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of - * the iterator. - * - * @default false - */ - readonly stableOut?: boolean; - /** - * Returns whether the given state is a final state. - * - * This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be - * sufficiently fast, usually `O(1)` can be assumed. - * - * Callers of this function are allowed to call the function **without** a `this` argument. - */ - readonly isFinal: (state: S) => boolean; -} - -/** - * A factory for the nodes of finite automata. - */ -export interface NodeFactory { - /** - * Creates a new state. - * - * @throws {@link TooManyNodesError} - * May be thrown if the number of created nodes exceeds some limit. - */ - readonly createNode: () => S; -} - -/** - * An FA builder has the responsibility of constructing a finite automaton. - * - * The constructed FA is always owned by the builder. - * - * @template S The type of a state. - * @template T The transition type of the values linking states. - */ -export interface FABuilder extends NodeFactory { - /** - * The initial state of the FA. - */ - readonly initial: S; - /** - * Makes the given state behave like a final state of this FA. - * - * This does not necessarily mean that the given state will be a final state. I.e. calling `makeFinal(s)` does not - * necessitate that `isFinal(s)` is true. - * - * The implementation has to guarantee that calling this method for the same state more than once is allowed. - */ - readonly makeFinal: (state: S) => void; - /** - * Returns whether the given state is a final state. - * - * This operation is assumed to be semantically equivalent to {@link FAIterator.isFinal}. - */ - readonly isFinal: (state: S) => boolean; - /** - * Links to the two given states using the given transition. - * - * Calling this operations more than once for the given `from` and `to` states is not guaranteed to succeed. - */ - readonly linkNodes: (from: S, to: S, transition: T) => void; -} - -/** - * An {@link FAIterator} where transitions are map of states to character sets. - * - * This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support. - */ -export type TransitionIterator = FAIterator>; - -/** - * A graph or FA that can create a {@link TransitionIterator}. - */ -export interface TransitionIterable { - readonly maxCharacter: Char; - readonly transitionIterator: () => TransitionIterator; -} - -export interface ToRegexOptions { - /** - * The maximum number of RE AST nodes the implementation is allowed to create. - * - * If the implementation has to create more nodes to create the RE, a `TooManyNodesError` will be thrown. This - * maximum will be check before any optimization passes. - * - * @default 10000 - */ - maxNodes?: number; - /** - * The maximum number of optimization passes that will be done after the initial RE AST was created. - * - * The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize - * the AST until this limit is reached or the AST can be optimized no further. - * - * The default number of passes is implementation defined. - */ - maxOptimizationPasses?: number; -} diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index 0df18122..00000000 --- a/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from "./ast"; -export * from "./char-base"; -export * from "./char-map"; -export * from "./char-set"; -export * from "./char-types"; -export * from "./fa-types"; -export * from "./dfa"; -export * from "./enfa"; -export * from "./errors"; -export * from "./intersection"; -export * from "./nfa"; -export * from "./word-set"; - -export * as Transformers from "./transformers"; -export * as FAIterators from "./iter"; -export * as JS from "./js/index"; -export * as Words from "./words"; diff --git a/src/intersection.ts b/src/intersection.ts deleted file mode 100644 index 1fa9b03f..00000000 --- a/src/intersection.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { Word } from "./char-types"; -import { WordSet } from "./word-set"; -import * as Iter from "./iter"; -import { MapFABuilderNode } from "./iter"; -import { MaxCharacterError } from "./errors"; -import { TransitionIterable, TransitionIterator } from "./fa-types"; -import { wordSetsToWords } from "./words"; - -/** - * Returns a lazily-created {@link TransitionIterator} for the intersection of the two given FA. - * - * The iterator will create states as it is traversed. - * - * @param left - * @param right - * @param maxNodes - */ -export function getIntersectionIterator( - left: TransitionIterable, - right: TransitionIterable, - maxNodes: number = 10_000 -): TransitionIterator { - MaxCharacterError.assert(left, right, "TransitionIterable"); - - return Iter.intersection(new Iter.MapFABuilder(maxNodes), left.transitionIterator(), right.transitionIterator()); -} - -/** - * Returns whether the languages of this and the other FA are disjoint. - * - * The runtime of this algorithm is `O(n * m)` (n = number of states of this NFA, m = number of states of the other - * FA) but it's a lot faster in practice with the worst case being very rare. - * - * Since this uses the intersection operation, you can supply intersection options. - * - * This is equivalent to `NFA.fromIntersection(left, right).isEmpty` but implemented more efficiently. - * - * @param left - * @param right - * @param maxNodes - */ -export function isDisjointWith( - left: TransitionIterable, - right: TransitionIterable, - maxNodes: number = 10_000 -): boolean { - const iter = getIntersectionIterator(left, right, maxNodes); - - return !Iter.canReachFinal(Iter.mapOut(iter, n => n.keys())); -} -/** - * Returns a potentially infinite iterable of word sets accepted by both given transition iterables. - * - * This function provides the following guarantees: - * - * 1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be - * yielded in any order.) - * 2. No character set of the yielded word sets is empty. - * - * This is roughly equivalent to `NFA.fromIntersection(left, right).wordSets()` but implemented more efficiently. - * - * @param left - * @param right - * @param maxNodes - */ -export function getIntersectionWordSets( - left: TransitionIterable, - right: TransitionIterable, - maxNodes: number = 10_000 -): Iterable { - const iter = getIntersectionIterator(left, right, maxNodes); - - return Iter.iterateWordSets(iter); -} -/** - * Returns a potentially infinite iterable of words accepted by both given transition iterables. - * - * This function provides the following guarantees: - * - * 1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in - * any order.) - * - * This is roughly equivalent to `NFA.fromIntersection(left, right).words()` but implemented more efficiently. - * - * @param left - * @param right - * @param maxNodes - */ -export function getIntersectionWords( - left: TransitionIterable, - right: TransitionIterable, - maxNodes: number = 10_000 -): Iterable { - return wordSetsToWords(getIntersectionWordSets(left, right, maxNodes)); -} diff --git a/src/iter/from-words.ts b/src/iter/from-words.ts deleted file mode 100644 index d5a17286..00000000 --- a/src/iter/from-words.ts +++ /dev/null @@ -1,187 +0,0 @@ -import { CharSet } from "../char-set"; -import { Char, ReadonlyWord } from "../char-types"; -import { FABuilder, FAIterator } from "../fa-types"; -import { cachedFunc, traverse } from "../util"; -import { ReadonlyWordSet } from "../word-set"; - -/** - * This eagerly creates an FA that accepts exactly all the given words. - * - * The construction is already finished when this method returns, so the returned FA iterator does not have to be used. - * - * The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to - * preserve the determinism. In order for the determinism to be preserved, `builder` and `getOutState` have to fulfill - * the following conditions: - * - * - Let `x`, `y` be any 2 states of `builder` and `c` be any valid character `<= maxCharacter`. Iff this function - * called `builder.linkNodes(x, y, c)`, then `getOutState(builder, x, c) == y`. - * - `builder` has to be an empty FA when given to this method. - * - `builder.makeFinal(x)` must have no effect on `getOutState`. - * - * @param builder - * @param getOutState - * @param words - * @param maxCharacter - * @returns - */ -export function fromWords( - builder: FABuilder, - getOutState: (state: S, char: Char) => S | undefined, - words: Iterable, - maxCharacter: Char -): FAIterator { - const getCharSet = cachedFunc(c => CharSet.fromCharacters(maxCharacter, [c])); - - // build a prefix trie - for (const word of words) { - let node = builder.initial; - for (const char of word) { - if (char > maxCharacter) { - throw new Error(`The character (${char}) has to be <= maxCharacter (${maxCharacter}).`); - } - - let next = getOutState(node, char); - if (next === undefined) { - next = builder.createNode(); - builder.linkNodes(node, next, getCharSet(char)); - } - node = next; - } - builder.makeFinal(node); - } - - return { - initial: builder.initial, - stableOut: true, - getOut: s => s, - isFinal: s => builder.isFinal(s), - }; -} - -/** - * This eagerly creates an FA that accepts exactly all the given word sets. - * - * The construction is already finished when this method returns, so the returned FA iterator does not have to be used. - * - * The construction will create a DFA by default. - * - * @param builder - * @param wordSets - * @param maxCharacter - * @returns - */ -export function fromWordSets( - builder: FABuilder, - wordSets: Iterable, - maxCharacter: Char -): FAIterator { - // create trie - const root = new TrieNode(builder.initial); - - for (const wordSet of wordSets) { - let current = new Set([root]); - - for (const set of wordSet) { - if (set.maximum !== maxCharacter) { - throw new Error( - `The maximum (${set.maximum}) of the char set has to be == maxCharacter (${maxCharacter}).` - ); - } - - const next = new Set>(); - for (const node of current) { - for (const n of node.getNext(set, builder)) { - next.add(n); - } - } - current = next; - } - - for (const node of current) { - node.isFinal = true; - } - } - - // translate trie - traverse(root, (n, queue) => { - if (n.isFinal) { - builder.makeFinal(n.builderNode); - } - - for (const { to, via } of n.out) { - queue.push(to); - builder.linkNodes(n.builderNode, to.builderNode, via); - } - }); - - return { - initial: builder.initial, - stableOut: true, - getOut: s => s, - isFinal: s => builder.isFinal(s), - }; -} - -class OutItem { - to: TrieNode; - via: CharSet; - - constructor(to: TrieNode, via: CharSet) { - this.to = to; - this.via = via; - } -} - -class TrieNode { - readonly builderNode: S; - readonly out: OutItem[] = []; - isFinal: boolean = false; - - constructor(builderNode: S) { - this.builderNode = builderNode; - } - - copy(builder: FABuilder): TrieNode { - const copy = new TrieNode(builder.createNode()); - copy.isFinal = this.isFinal; - - for (const { to, via } of this.out) { - copy.out.push(new OutItem(to.copy(builder), via)); - } - - return copy; - } - - getNext(charSet: CharSet, build: FABuilder): Iterable> { - const next: TrieNode[] = []; - const taken: CharSet[] = []; - - for (let i = 0, l = this.out.length; i < l; i++) { - const item = this.out[i]; - if (item.via.isDisjointWith(charSet)) { - // this item has nothing to do with us - } else if (item.via.isSubsetOf(charSet)) { - // this is a path we want to take - taken.push(item.via); - next.push(item.to); - } else { - // the item contains parts of what we want, so we will split it - const newItem = new OutItem(item.to.copy(build), item.via.intersect(charSet)); - this.out.push(newItem); - item.via = item.via.without(charSet); - - taken.push(newItem.via); - next.push(newItem.to); - } - } - - const rest = taken.length === 0 ? charSet : charSet.without(CharSet.empty(charSet.maximum).union(...taken)); - if (!rest.isEmpty) { - const newItem = new OutItem(new TrieNode(build.createNode()), rest); - this.out.push(newItem); - next.push(newItem.to); - } - - return next; - } -} diff --git a/src/iter/index.ts b/src/iter/index.ts deleted file mode 100644 index ae74ef46..00000000 --- a/src/iter/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Contains algorithms consuming and producing {@link FAIterator}s. - * - * @module - */ - -export * from "./from-words"; -export * from "./intersection"; -export * from "./iterator"; -export * from "./make-deterministic"; -export * from "./map-fa-builder"; -export * from "./remove-dead-states"; -export * from "./to-dot"; -export * from "./to-mermaid"; -export * from "./print-common"; -export * from "./to-regex"; -export * from "./to-string"; -export * from "./word-sets"; diff --git a/src/iter/intersection.ts b/src/iter/intersection.ts deleted file mode 100644 index faf3eb2d..00000000 --- a/src/iter/intersection.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { CharSet } from "../char-set"; -import { ensureStableOut } from "./iterator"; -import { FABuilder, FAIterator, TransitionIterator } from "../fa-types"; - -/** - * A lazy intersection algorithm that will use the given FA builder to construct the intersection FA as the returned - * iterator is used to traverse the FA. - * - * To construct the whole intersection FA, simply traverse the entire iterator. - * - * @param builder - * @param left - * @param right - */ -export function intersection( - builder: FABuilder, - left: TransitionIterator, - right: TransitionIterator -): FAIterator { - left = ensureStableOut(left); - right = ensureStableOut(right); - - const leftToIndex = createIndexer(); - const rightToIndex = createIndexer(); - - if (left.isFinal(left.initial) && right.isFinal(right.initial)) { - builder.makeFinal(builder.initial); - } - - // node pair translation - type Tuple = readonly [L, R]; - const indexBackTranslatorMap = new Map>(); - indexBackTranslatorMap.set(builder.initial, [left.initial, right.initial]); - const indexTranslatorCache: Record = { - [`${leftToIndex(left.initial)};${rightToIndex(right.initial)}`]: builder.initial, - }; - - function translate(leftNode: L, rightNode: R): S { - const leftKey = leftToIndex(leftNode); - const rightKey = rightToIndex(rightNode); - const key = "" + leftKey + ";" + rightKey; - - let node = indexTranslatorCache[key]; - if (node === undefined) { - node = builder.createNode(); - indexTranslatorCache[key] = node; - indexBackTranslatorMap.set(node, [leftNode, rightNode]); - - if (left.isFinal(leftNode) && right.isFinal(rightNode)) { - builder.makeFinal(node); - } - } - return node; - } - - function translateBack(node: S): Tuple { - const tuple = indexBackTranslatorMap.get(node); - if (tuple === undefined) { - throw new Error("All created nodes have to be indexed."); - } - return tuple; - } - - const intersect = createCharSetIntersectFn(); - - // add edges - - function addOutgoing(from: S): void { - const tuple = translateBack(from); - const leftOut = left.getOut(tuple[0]); - const rightOut = right.getOut(tuple[1]); - - for (const [leftTo, leftTransition] of leftOut) { - for (const [rightTo, rightTransition] of rightOut) { - const transition = intersect(leftTransition, rightTransition); - if (transition) { - builder.linkNodes(from, translate(leftTo, rightTo), transition); - } - } - } - } - - return { - initial: builder.initial, - getOut(node: S): S { - addOutgoing(node); - return node; - }, - isFinal(node: S): boolean { - return builder.isFinal(node); - }, - }; -} - -const HASH_MASK = 0xffff; -function computeHash(a: CharSet): number { - let hash = a.maximum & HASH_MASK; - a.ranges.forEach(({ min, max }) => { - hash = ((hash * 31 + min) ^ (max * 31)) & HASH_MASK; - }); - return hash; -} -/** - * Creates a function which can intersect any two char sets of the given set of character sets. - * - * The function return `null` if the intersection of two char sets is empty. - */ -function createCharSetIntersectFn(): (a: CharSet, b: CharSet) => CharSet | null { - const hashTable: Record = {}; - const charSetIdMap = new Map(); - - function getId(set: CharSet): number { - let id = charSetIdMap.get(set); - if (id === undefined) { - let hash = computeHash(set); - for (;;) { - const entry = hashTable[hash]; - if (entry === undefined) { - // make new entry - hashTable[hash] = set; - id = charSetIdMap.size; - break; - } else if (entry.equals(set)) { - // same as previous set - id = charSetIdMap.get(entry)!; - break; - } else { - // handle hash collision - hash = (hash + 1) & HASH_MASK; - } - } - charSetIdMap.set(set, id); - } - return id; - } - - // use the id of char sets to store pairs - // null be represent empty char sets - const intersectionCache: Record = {}; - - return (a: CharSet, b: CharSet): CharSet | null => { - const aId = getId(a); - const bId = getId(b); - - // trivial - if (aId == bId) { - return a; - } - - // since intersection is symmetric we don't care about the order - let key; - if (aId < bId) { - key = "" + aId + ";" + bId; - } else { - key = "" + bId + ";" + aId; - } - - let result: CharSet | null | undefined = intersectionCache[key]; - if (result === undefined) { - result = a.intersect(b); - if (result.isEmpty) { - result = null; - } - intersectionCache[key] = result; - } - - return result; - }; -} - -function createIndexer(): (value: T) => number { - const map = new Map(); - return (value: T): number => { - let index = map.get(value); - if (index === undefined) { - index = map.size; - map.set(value, index); - } - return index; - }; -} diff --git a/src/iter/iterator.ts b/src/iter/iterator.ts deleted file mode 100644 index cb98051d..00000000 --- a/src/iter/iterator.ts +++ /dev/null @@ -1,422 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { debugAssert, iterToArray, iterateBFS, traverse } from "../util"; - -/** - * Creates a new iterator that is equivalent to the given iterator with the given initial state. - * - * @param iter - * @param initial - * @returns - */ -export function withInitial(iter: FAIterator, initial: S): FAIterator { - return { - initial, - getOut: iter.getOut, - stableOut: iter.stableOut, - isFinal: iter.isFinal, - }; -} -/** - * Creates a new iterator that is equivalent to the given iterator with the given `getOut` function. - * - * @param iter - * @param getOut - * @param stableOut - * @returns - */ -export function withGetOut( - iter: FAIterator, - getOut: (state: S) => T, - stableOut = false -): FAIterator { - return { - initial: iter.initial, - getOut, - stableOut, - isFinal: iter.isFinal, - }; -} -/** - * Creates a new iterator that is equivalent to the given iterator with the given `isFinal` function. - * - * @param iter - * @param isFinal - * @returns - */ -export function withIsFinal(iter: FAIterator, isFinal: (state: S) => boolean): FAIterator { - return { - initial: iter.initial, - getOut: iter.getOut, - stableOut: iter.stableOut, - isFinal, - }; -} - -/** - * Maps the out type of the given iterator and returns a new iterator. - * - * @param iter - * @param mapFn - */ -export function mapOut(iter: FAIterator, mapFn: (out: O) => T): FAIterator { - const oldGetOut = iter.getOut; - - return withGetOut(iter, state => mapFn(oldGetOut(state))); -} -/** - * Maps the out type of the given iterator and returns a new iterator. - * - * @param iter - * @param mapFn - */ -export function mapOutIter( - iter: FAIterator>, - mapFn: (out: O) => T -): FAIterator> { - const oldGetOut = iter.getOut; - - return withGetOut(iter, function* getOut(state: S): IterableIterator { - for (const item of oldGetOut(state)) { - yield mapFn(item); - } - }); -} -/** - * Maps the out type of the given iterator and returns a new iterator. - * - * @param iter - * @param conditionFn - */ -export function filterOutIter( - iter: FAIterator>, - conditionFn: (out: O) => boolean -): FAIterator> { - const oldGetOut = iter.getOut; - - return withGetOut(iter, function* getOut(state: S): IterableIterator { - for (const item of oldGetOut(state)) { - if (conditionFn(item)) { - yield item; - } - } - }); -} - -/** - * This will traverse the whole iterator can call the given consumer function (optional) on each reachable state - * exactly once. - * - * The order in which states are traversed is implementation-defined. - * - * @param iter - * @param consumerFn - */ -export function forEach(iter: FAIterator, consumerFn?: (state: S) => void): void { - if (consumerFn) { - traverse(iter.initial, (s, queue) => { - consumerFn(s); - queue.push(...iter.getOut(s)); - }); - } else { - traverse(iter.initial, (s, queue) => { - queue.push(...iter.getOut(s)); - }); - } -} - -/** - * Returns the number of nodes reachable from the initial state (including the initial state itself). - * - * @param iter - */ -export function count(iter: FAIterator): number { - let count = 0; - forEach(iter, () => count++); - return count; -} - -/** - * The returned iterator is guaranteed to be stable. - * - * @param iter - */ -export function ensureStableOut(iter: FAIterator): FAIterator { - if (iter.stableOut) { - return iter; - } else { - return cacheOut(iter); - } -} - -/** - * Creates a new iterator with a cached `getOut` function. - * - * @param iter - */ -function cacheOut(iter: FAIterator): FAIterator { - const outCache = new Map(); - const oldGetUncached = iter.getOut; - - return withGetOut( - iter, - (state: S): O => { - let cached = outCache.get(state); - if (cached === undefined) { - cached = oldGetUncached(state); - outCache.set(state, cached); - } - return cached; - }, - true - ); -} - -/** - * Iterates all states reachable from the initial state of the given iterator in BFS order. - * - * The returned iterable cannot be empty and will always contain the initial state. - * - * @param iter - */ -export function iterateStates(iter: FAIterator): Iterable { - const { initial, getOut } = iter; - - return iterateBFS([initial], getOut); -} - -/** - * Returns whether the initial state can reach (or is) a final state. - * - * @param iter - */ -export function canReachFinal(iter: FAIterator): boolean { - const { isFinal } = iter; - - for (const state of iterateStates(iter)) { - if (isFinal(state)) { - return true; - } - } - return false; -} - -/** - * Returns whether the given graph contains a cycle reachable from the initial state. - * - * @param iter - */ -export function hasCycle(iter: FAIterator): boolean { - const { initial, getOut } = iter; - - // It's important that this is implemented iteratively. - // A recursive implementation might cause a stack overflow. - - const visited = new Set(); - - interface StackFrame { - element: S; - nextElements?: readonly S[]; - nextIndex: number; - } - - const stackElements = new Set([initial]); - const stack: StackFrame[] = [ - { - element: initial, - nextIndex: -1, - }, - ]; - - while (stack.length > 0) { - const top = stack[stack.length - 1]; - - if (top.nextIndex === -1) { - // first time seeing this stack frame - stackElements.add(top.element); - visited.add(top.element); - - top.nextElements = iterToArray(getOut(top.element)); - } - - const nextElements = top.nextElements!; - - // start with the first element - top.nextIndex++; - - if (top.nextIndex >= nextElements.length) { - // remove stack frame - stackElements.delete(top.element); - stack.pop(); - continue; - } - - // add a new stack frame for the next element - const nextElement = nextElements[top.nextIndex]; - - if (stackElements.has(nextElement)) { - // found a cycle - return true; - } - - if (visited.has(nextElement)) { - // already processed the element - continue; - } - - stack.push({ - element: nextElement, - nextIndex: -1, - }); - } - - // nothing found - return false; -} - -/** - * Returns whether the given FA only has finitely many paths that lead to a final state. - * - * @param iter - */ -export function languageIsFinite(iter: FAIterator): boolean { - /** - * The goal is to find a cycle from which we can reach any final state. If we can find such a cycle, we can pump as - * many words as we like making the language infinite. - */ - - iter = ensureStableOut(mapOut(iter, iterToArray)); - - const states = [...iterateStates(iter)]; - const finals = states.filter(iter.isFinal); - const inMap = createInTransitionMap(states, iter.getOut); - - // get all states that can reach a final state - const statesToFinal = new Set(iterateBFS(finals, s => inMap.get(s)!)); - - // an iter where each state can reach a final state - const iterToFinal = filterOutIter(iter, s => statesToFinal.has(s)); - - // If this iter has a cycle, then this cycle will be reachable from the initial state and any node in that cycle can - // reach a final state. - return !hasCycle(iterToFinal); -} -function createInTransitionMap( - states: ReadonlySet | readonly T[], - getOut: (state: T) => Iterable -): Map> { - const inTransitions = new Map>(); - - for (const s of states) { - inTransitions.set(s, new Set()); - } - - for (const s of states) { - for (const out of getOut(s)) { - inTransitions.get(out)!.add(s); - } - } - - return inTransitions; -} - -/** - * Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be - * final. - * - * @param iter - */ -export function makeInitialFinal(iter: FAIterator): FAIterator { - const { initial, isFinal } = iter; - - return withIsFinal(iter, s => s === initial || isFinal(s)); -} -/** - * Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be - * non-final. - * - * @param iter - */ -export function makeInitialNonFinal(iter: FAIterator): FAIterator { - const { initial, isFinal } = iter; - - return withIsFinal(iter, s => s !== initial && isFinal(s)); -} - -/** - * Returns any one of the shortest paths accepted by the given iterator. - * - * E.g. for the regex `a|b|cd`, the returned path may be `a` or `b` but not `cd`, - * - * If the iterator does not accept any path, `undefined` will be returned. - * - * @param iter - * @param selectState - */ -export function shortestAcceptingPath( - iter: FAIterator>, - selectState: (item: T) => S -): T[] | undefined { - const { initial, getOut, isFinal } = iter; - - if (isFinal(initial)) { - // trivial - return []; - } - - // The idea here is to do a BFS and write down from which state we could first reach any previously unseen state. - // Once we see a final state, we just have to trace back the path to the initial state. - // - // The nice thing here is that we do not have to cache the `getOut` method. BFS guarantees that we call it at most - // once for every state. - - const shortestPathTo = new Map(); - shortestPathTo.set(iter.initial, null); // null to mark the initial state - - function getShortestPath(to: S): T[] { - const revPath: T[] = []; - - for (;;) { - const from = shortestPathTo.get(to); - - // this _should_ never happen - debugAssert(from !== undefined); - - if (from === null) { - // reached initial state - return revPath.reverse(); - } - - revPath.push(from.item); - - to = from.from; - } - } - - let current: readonly S[] = [iter.initial]; - while (current.length > 0) { - const next: S[] = []; - - for (const state of current) { - for (const item of getOut(state)) { - const to = selectState(item); - - if (shortestPathTo.has(to)) { - continue; - } - - shortestPathTo.set(to, { item, from: state }); - - if (isFinal(to)) { - // we found the shortest accepting path - return getShortestPath(to); - } - - next.push(to); - } - } - - current = next; - } - - return undefined; -} diff --git a/src/iter/make-deterministic.ts b/src/iter/make-deterministic.ts deleted file mode 100644 index fa0795f0..00000000 --- a/src/iter/make-deterministic.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { CharSet } from "../char-set"; -import { CharBase } from "../char-base"; -import { FABuilder, FAIterator } from "../fa-types"; -import { Char } from "../char-types"; -import { debugAssert, filterMut, traverse } from "../util"; -import { ensureStableOut } from "./iterator"; - -/** - * This will return an iterator that iteratively create a DFA using the given {@link FABuilder}. - * - * This operation may produce up to _2^O(n)_ many states. The builder should limit the number of states created. - * - * @param builder - * @param iter - */ -export function makeDeterministic( - builder: FABuilder, - iter: FAIterator> -): FAIterator { - iter = ensureStableOut(iter); - - const { charSets, ids } = getInfo(iter); - const alphabet = new CharBase(charSets); - - // This will use the subset method to construct the DFA. - - const inputNodesToDfaNodeMap = new Map(); - const dfaNodeToInputNodesMap = new Map(); - function getKey(nodes: readonly I[]): string { - let key = ""; - for (let i = 0, l = nodes.length; i < l; i++) { - key += "," + ids.get(nodes[i])!; - } - return key; - } - function getDfaNode(nodes: I[]): B { - // sort - nodes.sort((a, b) => ids.get(a)! - ids.get(b)!); - // remove duplicates - filterMut(nodes, (n, prev) => n !== prev); - - const key = getKey(nodes); - let dfaNode = inputNodesToDfaNodeMap.get(key); - if (dfaNode === undefined) { - // this will create a new node AND set it as final if it contains a final NFA state - dfaNode = builder.createNode(); - if (nodes.some(n => iter.isFinal(n))) { - builder.makeFinal(dfaNode); - } - - inputNodesToDfaNodeMap.set(key, dfaNode); - dfaNodeToInputNodesMap.set(dfaNode, nodes); - } - return dfaNode; - } - function getInputNodes(node: B): readonly I[] { - const nodes = dfaNodeToInputNodesMap.get(node); - debugAssert(nodes !== undefined, "Unregistered DFA node."); - return nodes; - } - // set initial states - inputNodesToDfaNodeMap.set(getKey([iter.initial]), builder.initial); - dfaNodeToInputNodesMap.set(builder.initial, [iter.initial]); - if (iter.isFinal(iter.initial)) { - builder.makeFinal(builder.initial); - } - - function getOutNode(inputNodes: readonly I[], char: Char): B | undefined { - const outNodes: I[] = []; - - for (const inputNode of inputNodes) { - for (const [to, via] of iter.getOut(inputNode)) { - if (via.has(char)) { - outNodes.push(to); - } - } - } - - if (outNodes.length === 0) { - // this is the most likely event - // we save all transitions going to a trap state - return undefined; - } else { - return getDfaNode(outNodes); - } - } - - return { - initial: builder.initial, - getOut: state => { - const inputNodes = getInputNodes(state); - for (const set of alphabet.sets) { - const out = getOutNode(inputNodes, set.ranges[0].min); - if (out !== undefined) { - builder.linkNodes(state, out, set); - } - } - - return state; - }, - isFinal: s => builder.isFinal(s), - }; -} - -interface Info { - charSets: Set; - ids: ReadonlyMap; -} - -function getInfo(iter: FAIterator>): Info { - const charSets = new Set(); - const ids = new Map(); - let id = 0; - - traverse(iter.initial, (n, queue) => { - ids.set(n, id); - id++; - - for (const [to, via] of iter.getOut(n)) { - charSets.add(via); - queue.push(to); - } - }); - - return { charSets, ids }; -} diff --git a/src/iter/map-fa-builder.ts b/src/iter/map-fa-builder.ts deleted file mode 100644 index ade1862c..00000000 --- a/src/iter/map-fa-builder.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { CharSet } from "../char-set"; -import { FABuilder } from "../fa-types"; -import { TooManyNodesError } from "../errors"; - -/** - * An FA builder that uses `Map` objects as nodes. Each node is the map of its outgoing transitions. - */ -export class MapFABuilder implements FABuilder { - private readonly _limit: number; - private _counter = 0; - readonly initial: MapFABuilderNode = new Map(); - readonly finals = new Set(); - - constructor(maxNodes: number = Infinity) { - this._limit = maxNodes; - } - - makeFinal(state: MapFABuilderNode): void { - this.finals.add(state); - } - isFinal(state: MapFABuilderNode): boolean { - return this.finals.has(state); - } - createNode(): MapFABuilderNode { - TooManyNodesError.assert(++this._counter, this._limit, "MapFABuilder"); - - return new Map(); - } - linkNodes(from: MapFABuilderNode, to: MapFABuilderNode, transition: CharSet): void { - const current = from.get(to); - if (current === undefined) { - from.set(to, transition); - } else { - from.set(to, current.union(transition)); - } - } -} - -export type MapFABuilderNode = Map; diff --git a/src/iter/print-common.ts b/src/iter/print-common.ts deleted file mode 100644 index dc63a579..00000000 --- a/src/iter/print-common.ts +++ /dev/null @@ -1,22 +0,0 @@ -export interface NodeInfo { - isInitial(node: S): boolean; - isFinal(node: S): boolean; - getId(node: S): number; - getNumberOfOutgoingEdges(node: S): number; -} - -export interface SimplePrintOptions { - /** - * Returns the string representation of the given transition. - * - * @param transition - * @returns - */ - transitionToString: (transition: T) => string; - /** - * Whether transitions are ordered. - * - * @default false - */ - ordered?: boolean; -} diff --git a/src/iter/print-util.ts b/src/iter/print-util.ts deleted file mode 100644 index 703a434d..00000000 --- a/src/iter/print-util.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { iterToArray } from "../util"; -import { ensureStableOut, iterateStates, mapOut, mapOutIter } from "./iterator"; -import { NodeInfo } from "./print-common"; - -export interface IndexNodes { - stableIter: FAIterator; - states: readonly S[]; - info: NodeInfo; -} - -export function indexNodes(iter: FAIterator>): IndexNodes { - const stableIter = ensureStableOut(mapOut(iter, iterToArray)); - const states: readonly S[] = [...iterateStates(mapOutIter(stableIter, ([s]) => s))]; - const indexMap = new Map(states.map((s, i) => [s, i])); - - return { - stableIter, - states, - info: { - isInitial: s => s === stableIter.initial, - isFinal: stableIter.isFinal, - getId: (state: S): number => indexMap.get(state)!, - getNumberOfOutgoingEdges: s => stableIter.getOut(s).length, - }, - }; -} diff --git a/src/iter/remove-dead-states.ts b/src/iter/remove-dead-states.ts deleted file mode 100644 index b60866c0..00000000 --- a/src/iter/remove-dead-states.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { ensureStableOut } from "./iterator"; - -/** - * Removes all dead states (and trap states) from the given iterator. - * - * Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation. - * - * @param iter - * @param select - */ -export function removeDeadStates(iter: FAIterator>, select: (item: O) => S): FAIterator { - const { initial, getOut: oldGetOut, isFinal } = ensureStableOut(iter); - - const cache = new Map(); - function canReachFinal(state: S): boolean { - const cached = cache.get(state); - if (cached !== undefined) { - return cached; - } - - if (isFinal(state)) { - cache.set(state, true); - return true; - } - - const inMap = new Map(); - const seen = new Set([state]); - let current: S[] = [state]; - - while (current.length > 0) { - const next: S[] = []; - - for (let i = 0, l = current.length; i < l; i++) { - const from = current[i]; - for (const item of oldGetOut(from)) { - const to = select(item); - - // update inMap - let list = inMap.get(to); - if (list === undefined) { - list = []; - inMap.set(to, list); - } - list.push(from); - - if (seen.has(to)) { - // already seen - continue; - } - seen.add(to); - - const toCached = cache.get(to); - if (toCached === true || isFinal(to)) { - // can reach final - setAllToReachable(cache, to, inMap); - return true; - } else if (toCached === false) { - // ignore dead state - continue; - } - - next.push(to); - } - } - - current = next; - } - - // non of the seen states can reach a final state - seen.forEach(s => cache.set(s, false)); - - return false; - } - - function getOut(state: S): O[] { - const result: O[] = []; - - for (const item of oldGetOut(state)) { - if (canReachFinal(select(item))) { - result.push(item); - } - } - - return result; - } - - return { - initial, - getOut, - isFinal, - }; -} - -function setAllToReachable(cache: Map, root: S, inMap: ReadonlyMap): void { - cache.set(root, true); - - let current: S[] = [root]; - while (current.length > 0) { - const next: S[] = []; - - for (let i = 0, l = current.length; i < l; i++) { - const state = current[i]; - - inMap.get(state)?.forEach(s => { - if (!cache.has(s)) { - cache.set(s, true); - next.push(s); - } - }); - } - - current = next; - } -} diff --git a/src/iter/to-dot.ts b/src/iter/to-dot.ts deleted file mode 100644 index 3404cdab..00000000 --- a/src/iter/to-dot.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { NodeInfo, SimplePrintOptions } from "./print-common"; -import { indexNodes } from "./print-util"; - -export function toDot( - iter: FAIterator>, - options: ToDotOptions | SimplePrintOptions -): string { - const { - getEdgeAttributes, - getGraphAttributes = DEFAULT_GRAPH_ATTRIBUTES, - getNodeAttributes = DEFAULT_GET_NODE_ATTRIBUTES, - } = "transitionToString" in options ? fromSimpleOptions(options) : options; - - const { stableIter, states, info } = indexNodes(iter); - - let s = ""; - - function writeID(value: string): void { - if (/^[a-zA-Z_]\w*$/.test(value)) { - s += value; - } else { - let escaped = value.replace(/[\\"]/g, m => "\\" + m); - if (escaped[escaped.length - 1] === "\\") { - escaped += " "; - } - s += '"' + escaped + '"'; - } - } - function writeValue(value: string | number): void { - if (typeof value === "number") { - const strValue = String(value); - if (/^-?(?:\.\d+|\d+(?:\.\d*)?)$/.test(strValue)) { - s += strValue; - } else { - writeID(strValue); - } - } else { - writeID(value); - } - } - function writeAttrs(attrs: Readonly): void { - s += "["; - let first = true; - for (const key in attrs) { - if (Object.prototype.hasOwnProperty.call(attrs, key)) { - const value = attrs[key]; - if (value === undefined) { - continue; - } - - if (first) { - first = false; - } else { - s += ", "; - } - - writeID(key); - s += "="; - writeValue(value); - } - } - s += "]"; - } - function writeNodeLabel(node: S): void { - s += "n" + info.getId(node); - } - function writeNodeLabelFromIndex(index: number): void { - s += "n" + index; - } - - s += "digraph "; - s += "{\n"; - - // graph attributes - s += "\t// graph attributes\n"; - const graphAttrs = getGraphAttributes(); - for (const key in graphAttrs) { - if (Object.prototype.hasOwnProperty.call(graphAttrs, key)) { - const value = graphAttrs[key]; - if (value === undefined) { - continue; - } - - s += "\t"; - writeID(key); - s += "="; - writeValue(value); - s += ";\n"; - } - } - - // nodes - s += "\n\t// nodes\n"; - s += "\tnull [shape=point];\n"; - states.forEach((node, i) => { - s += "\t"; - writeNodeLabelFromIndex(i); - s += " "; - writeAttrs(getNodeAttributes(node, info)); - s += ";\n"; - }); - - // edges - s += "\n\t// edges\n"; - s += "\tnull -> n0;\n"; - states.forEach((node, i) => { - stableIter.getOut(node).forEach(([to, trans], nth) => { - s += "\t"; - writeNodeLabelFromIndex(i); - s += " -> "; - writeNodeLabel(to); - s += " "; - writeAttrs(getEdgeAttributes(trans, nth, node, to, info)); - s += ";\n"; - }); - }); - - s += "}"; - - return s; -} - -export type ToDotAttrs = Record; -export interface ToDotOptions { - getEdgeAttributes: (transition: T, nth: number, from: S, to: S, info: NodeInfo) => Readonly; - getGraphAttributes?: () => Readonly; - getNodeAttributes?: (node: S, info: NodeInfo) => Readonly; -} - -function fromSimpleOptions({ transitionToString, ordered = false }: SimplePrintOptions): ToDotOptions { - return { - getEdgeAttributes(trans, nth, from, _, info) { - const attrs: ToDotAttrs = { - label: transitionToString(trans), - }; - - if (ordered && info.getNumberOfOutgoingEdges(from) > 1) { - attrs["tail" + "label"] = String(nth + 1); - } - - return attrs; - }, - }; -} - -const DEFAULT_GET_NODE_ATTRIBUTES: NonNullable["getNodeAttributes"]> = (node, info) => { - return { - label: String(info.getId(node)), - shape: info.isFinal(node) ? "doublecircle" : "circle", - }; -}; - -const DEFAULT_GRAPH_ATTRIBUTES: NonNullable["getGraphAttributes"]> = () => { - return { rankdir: "LR" }; -}; diff --git a/src/iter/to-mermaid.ts b/src/iter/to-mermaid.ts deleted file mode 100644 index f04a242c..00000000 --- a/src/iter/to-mermaid.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { NodeInfo, SimplePrintOptions } from "./print-common"; -import { indexNodes } from "./print-util"; - -export function toMermaid( - iter: FAIterator>, - options: ToMermaidOptions | SimplePrintOptions -): string { - const { getEdgeAttributes, getNodeAttributes = DEFAULT_GET_NODE_ATTRIBUTES } = - "transitionToString" in options ? fromSimpleOptions(options) : options; - - const { stableIter, states, info } = indexNodes(iter); - - let s = ""; - - function writeText(text: string): void { - if (text.length === 0) { - s += " "; - } else if (/^\w+$/.test(text)) { - s += text; - } else { - s += '"' + text.replace(/"/g, """) + '"'; - } - } - function writeNode(node: MermaidNode): void { - s += node.shape[0]; - writeText(node.label); - s += node.shape[1]; - } - function writeEdge(edge: MermaidEdge): void { - s += "-".repeat((edge.length ?? 1) + 1) + ">"; - if (edge.label !== undefined) { - s += "|"; - writeText(edge.label); - s += "|"; - } - } - function writeNodeLabel(node: S): void { - s += "n" + info.getId(node); - } - function writeNodeLabelFromIndex(index: number): void { - s += "n" + index; - } - - s += "flowchart LR\n"; - - // nodes - s += "%% nodes\n"; - s += "\tnull(( ))\n"; - states.forEach((node, i) => { - s += "\t"; - writeNodeLabelFromIndex(i); - writeNode(getNodeAttributes(node, info)); - s += "\n"; - }); - - // edges - s += "\n%% edges\n"; - s += "\tnull -.-> n0\n"; - states.forEach((node, i) => { - stableIter.getOut(node).forEach(([to, trans], nth) => { - s += "\t"; - writeNodeLabelFromIndex(i); - s += " "; - writeEdge(getEdgeAttributes(trans, nth, node, to, info)); - s += " "; - writeNodeLabel(to); - s += "\n"; - }); - }); - - return s.trim(); -} - -export interface ToMermaidOptions { - getNodeAttributes?: (node: S, info: NodeInfo) => Readonly; - getEdgeAttributes: (transition: T, nth: number, from: S, to: S, info: NodeInfo) => MermaidEdge; -} - -export interface MermaidNode { - label: string; - shape: [string, string]; -} -export interface MermaidEdge { - label?: string; - length?: number; -} - -function fromSimpleOptions({ - transitionToString, - ordered = false, -}: SimplePrintOptions): ToMermaidOptions { - return { - getEdgeAttributes(trans, nth, from, _, info) { - let label = transitionToString(trans); - let length = 1; - - if (ordered && info.getNumberOfOutgoingEdges(from) > 1) { - label = `(${nth + 1}) ${label}`; - length = nth + 1; - } - - return { label, length }; - }, - }; -} - -const DEFAULT_GET_NODE_ATTRIBUTES: NonNullable["getNodeAttributes"]> = ( - node, - info -) => { - return { - label: String(info.getId(node)), - shape: info.isFinal(node) ? ["(((", ")))"] : ["((", "))"], - }; -}; diff --git a/src/iter/to-regex.ts b/src/iter/to-regex.ts deleted file mode 100644 index 45219afc..00000000 --- a/src/iter/to-regex.ts +++ /dev/null @@ -1,734 +0,0 @@ -import { - Alternation, - CharacterClass, - CombinedTransformer, - Concatenation, - Element, - Expression, - NoParent, - Quantifier, - TransformContext, - transform, -} from "../ast"; -import { CharSet } from "../char-set"; -import { DFS, assertNever, cachedFunc, firstOf, minOf } from "../util"; -import { FAIterator, ToRegexOptions } from "../fa-types"; -import { structurallyEqual } from "../ast-analysis"; -import { - CreationOptions, - factorOut, - inline, - mergeWithQuantifier, - moveUpEmpty, - nestedQuantifiers, - unionCharacters, -} from "../transformers"; -import { TooManyNodesError } from "../errors"; - -const TRANSFORMER_CREATION_OPTIONS: CreationOptions = { ignoreAmbiguity: true, ignoreOrder: true }; -const CONCAT_TRANSFORMER = new CombinedTransformer([mergeWithQuantifier(TRANSFORMER_CREATION_OPTIONS)]); -const UNION_TRANSFORMER = new CombinedTransformer([ - unionCharacters(TRANSFORMER_CREATION_OPTIONS), - factorOut(TRANSFORMER_CREATION_OPTIONS), - moveUpEmpty(TRANSFORMER_CREATION_OPTIONS), - inline(TRANSFORMER_CREATION_OPTIONS), -]); -const QUANTIFIER_TRANSFORMER = new CombinedTransformer([nestedQuantifiers(TRANSFORMER_CREATION_OPTIONS)]); -const FULL_OPTIMIZE_TRANSFORMER = new CombinedTransformer([ - inline(TRANSFORMER_CREATION_OPTIONS), - unionCharacters(TRANSFORMER_CREATION_OPTIONS), - factorOut(TRANSFORMER_CREATION_OPTIONS), - moveUpEmpty(TRANSFORMER_CREATION_OPTIONS), - nestedQuantifiers(TRANSFORMER_CREATION_OPTIONS), - mergeWithQuantifier(TRANSFORMER_CREATION_OPTIONS), -]); - -type RegexFANodeTransition = NoParent; -interface RegexFANode { - out: Map; - in: Map; -} -class NodeList { - readonly initial: RegexFANode; - readonly finals: Set; - - constructor() { - this.initial = this.createNode(); - this.finals = new Set(); - } - - createNode(): RegexFANode { - return { - in: new Map(), - out: new Map(), - }; - } - - linkNodes(from: RegexFANode, to: RegexFANode, transition: RegexFANodeTransition): void { - if (from.out.has(to)) { - throw new Error("The two nodes are already linked"); - } - from.out.set(to, transition); - to.in.set(from, transition); - } - - unlinkNodes(from: RegexFANode, to: RegexFANode): RegexFANodeTransition | undefined { - const t = from.out.get(to); - if (t !== undefined) { - from.out.delete(to); - to.in.delete(from); - } - return t; - } - - relinkNodes(from: RegexFANode, to: RegexFANode, newTransition: RegexFANodeTransition): void { - if (!from.out.has(to)) { - throw new Error("The two nodes are not linked"); - } - from.out.set(to, newTransition); - to.in.set(from, newTransition); - } -} - -class TransitionCreator { - private _counter: number = 0; - constructor(public readonly max: number) {} - - private _incrementCounter(): void { - TooManyNodesError.assert(++this._counter, this.max, "toRegex operation"); - } - - concat(elements: NoParent["elements"]): NoParent { - this._incrementCounter(); - - return { - type: "Concatenation", - elements, - }; - } - emptyConcat(): NoParent { - this._incrementCounter(); - - return { - type: "Concatenation", - elements: [], - }; - } - - alter(alternatives: NoParent["alternatives"]): NoParent { - this._incrementCounter(); - - return { - type: "Alternation", - alternatives, - }; - } - emptyAlter(): NoParent { - this._incrementCounter(); - - return { - type: "Alternation", - alternatives: [], - }; - } - - expression(alternatives: NoParent["alternatives"]): NoParent { - this._incrementCounter(); - - return { - type: "Expression", - alternatives, - }; - } - emptyExpression(): NoParent { - this._incrementCounter(); - - return { - type: "Expression", - alternatives: [], - }; - } - - char(characters: CharSet): NoParent { - this._incrementCounter(); - - return { - type: "CharacterClass", - characters, - }; - } - - quant(alternatives: NoParent["alternatives"], min: number, max: number): NoParent { - this._incrementCounter(); - - return { - type: "Quantifier", - alternatives, - lazy: false, - min, - max, - }; - } - quantStar(alternatives: NoParent["alternatives"]): NoParent { - this._incrementCounter(); - - return { - type: "Quantifier", - alternatives, - lazy: false, - min: 0, - max: Infinity, - }; - } - quantPlus(alternatives: NoParent["alternatives"]): NoParent { - this._incrementCounter(); - - return { - type: "Quantifier", - alternatives, - lazy: false, - min: 1, - max: Infinity, - }; - } - - copy(t: NoParent): NoParent; - copy(t: RegexFANodeTransition): RegexFANodeTransition; - copy(t: RegexFANodeTransition): RegexFANodeTransition { - switch (t.type) { - case "Alternation": - return this.alter(t.alternatives.map(a => this.copy(a))); - case "Concatenation": - return this.concat(t.elements.map(e => this.copy(e as RegexFANodeTransition) as NoParent)); - case "CharacterClass": - return this.char(t.characters); - case "Quantifier": - return this.quant( - t.alternatives.map(a => this.copy(a)), - t.min, - t.max - ); - case "Assertion": - throw new Error("Assertions should not have been part of the created regex."); - case "Unknown": - throw new Error("Unknowns should not have been part of the created regex."); - - default: - throw assertNever(t); - } - } -} - -function createNodeList( - iter: FAIterator>, - tc: TransitionCreator -): { nodeList: NodeList; maxCharacter: number } | null { - const nodeList = new NodeList(); - - // the state elimination method requires that the initial state isn't final, so we add a temp state - // the transition [initial] -> [tempInitial] is an epsilon transition - const tempInitial = nodeList.createNode(); - nodeList.linkNodes(nodeList.initial, tempInitial, tc.emptyConcat()); - - const translate = cachedFunc(() => nodeList.createNode()); - translate.cache.set(iter.initial, tempInitial); - - let maxCharacter: number | undefined = undefined; - - DFS(iter.initial, n => { - // set final - if (iter.isFinal(n)) { - nodeList.finals.add(translate(n)); - } - - // out transitions sorted by char set - const out = [...iter.getOut(n)].sort(([, a], [, b]) => { - if (a === null) { - return b === null ? 0 : -1; - } - if (b === null) { - return 1; - } - - const diff = Number(a.isEmpty) - Number(b.isEmpty); - if (diff !== 0) { - return diff; - } - - for (let i = 0, l = Math.min(a.ranges.length, b.ranges.length); i < l; i++) { - const aR = a.ranges[i]; - const bR = b.ranges[i]; - if (aR.min !== bR.min) { - return aR.min - bR.min; - } - if (aR.max !== bR.max) { - return aR.max - bR.max; - } - } - return a.ranges.length - b.ranges.length; - }); - - out.forEach(([outNode, charSet]) => { - if (charSet === null) { - nodeList.linkNodes(translate(n), translate(outNode), tc.emptyConcat()); - } else { - if (maxCharacter === undefined) { - maxCharacter = charSet.maximum; - } else if (charSet.maximum !== maxCharacter) { - throw new Error("All character sets have to have to same maximum."); - } - nodeList.linkNodes(translate(n), translate(outNode), tc.char(charSet)); - } - }); - - return out.map(x => x[0]); - }); - - if (nodeList.finals.size === 0) { - // empty language - return null; - } - - // make a new final state with no outgoing edges - const tempFinal = nodeList.createNode(); - nodeList.finals.forEach(n => { - // add epsilon transition - nodeList.linkNodes(n, tempFinal, tc.emptyConcat()); - }); - nodeList.finals.clear(); - nodeList.finals.add(tempFinal); - - // we now have an FA with one initial (source) and one final (drain) state - - // remove all states which cannot reach the final state - const alive = new Set(); - DFS(tempFinal, n => { - alive.add(n); - return n.in.keys(); - }); - const dead = new Set(); - DFS(nodeList.initial, n => { - if (!alive.has(n)) { - dead.add(n); - } - return n.out.keys(); - }); - dead.forEach(n => { - n.out.forEach((_, outNode) => { - nodeList.unlinkNodes(n, outNode); - }); - n.in.forEach((_, inNode) => { - nodeList.unlinkNodes(inNode, n); - }); - }); - - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - return { nodeList, maxCharacter: maxCharacter ?? 0 }; -} -function eliminateStates(nodeList: NodeList, tc: TransitionCreator, maxCharacter: number): void { - const initial = nodeList.initial; - const final = firstOf(nodeList.finals)!; - - const remainingStates = new Set(); - DFS(initial, n => { - if (n !== initial && n !== final) { - remainingStates.add(n); - } - return n.out.keys(); - }); - - const transformContext: TransformContext = { - maxCharacter, - signalMutation: () => { - /* noop */ - }, - }; - - function linkWithUnion(from: RegexFANode, to: RegexFANode, trans: RegexFANodeTransition): void { - const currentTrans = nodeList.unlinkNodes(from, to); - if (currentTrans) { - trans = union(currentTrans, trans); - } - nodeList.linkNodes(from, to, trans); - } - - function unwrap(a: RegexFANodeTransition): RegexFANodeTransition { - if (a.type === "Concatenation") { - if (a.elements.length === 1) { - return unwrap(a.elements[0]); - } else { - return a; - } - } else if (a.type === "Alternation") { - if (a.alternatives.length === 1) { - return unwrap(a.alternatives[0]); - } else { - return a; - } - } else { - return a; - } - } - function concat(a: RegexFANodeTransition, b: RegexFANodeTransition): RegexFANodeTransition { - let result: NoParent; - - if (a.type === "Concatenation") { - if (a.elements.length === 0) { - return b; - } - if (b.type === "Concatenation") { - a.elements.push(...b.elements); - } else { - a.elements.push(b); - } - result = a; - } else if (b.type === "Concatenation") { - if (b.elements.length === 0) { - return a; - } - b.elements.unshift(a); - result = b; - } else { - result = tc.concat([a, b]); - } - - // optimize quantifiers - CONCAT_TRANSFORMER.onConcatenation!(result, transformContext); - - return unwrap(result); - } - function toConcatenation(a: NoParent): NoParent { - if (a.type === "Concatenation") { - return a; - } else if (a.type === "Alternation" && a.alternatives.length === 1) { - return a.alternatives[0]; - } else { - return tc.concat([a]); - } - } - function union(a: RegexFANodeTransition, b: RegexFANodeTransition): RegexFANodeTransition { - if (a.type === "CharacterClass" && b.type === "CharacterClass") { - a.characters = a.characters.union(b.characters); - return a; - } - - let result: NoParent; - if (a.type === "Alternation") { - if (a.alternatives.length === 0) { - return b; - } - - if (b.type === "Alternation") { - if (b.alternatives.length === 0) { - return a; - } - a.alternatives.push(...b.alternatives); - } else { - a.alternatives.push(toConcatenation(b)); - } - result = a; - } else if (b.type === "Alternation") { - if (b.alternatives.length === 0) { - return a; - } - - b.alternatives.push(toConcatenation(a)); - result = b; - } else { - result = tc.alter([toConcatenation(a), toConcatenation(b)]); - } - - // optimize - UNION_TRANSFORMER.onAlternation!(result, transformContext); - - return unwrap(result); - } - function star(a: RegexFANodeTransition): RegexFANodeTransition { - let result: NoParent; - - switch (a.type) { - case "Quantifier": { - if (a.max === 0) { - return tc.emptyConcat(); - } - if (a.min === 0 || a.min === 1) { - a.min = 0; - a.max = Infinity; - return a; - } - result = tc.quantStar([toConcatenation(a)]); - break; - } - case "Alternation": { - result = tc.quantStar(a.alternatives); - break; - } - case "Concatenation": { - if (a.elements.length === 0) { - return a; - } - result = tc.quantStar([a]); - break; - } - default: { - result = tc.quantStar([toConcatenation(a)]); - break; - } - } - - // optimize - QUANTIFIER_TRANSFORMER.onQuantifier!(result, transformContext); - - return unwrap(result); - } - function plus(a: RegexFANodeTransition): RegexFANodeTransition { - let result: NoParent; - - switch (a.type) { - case "Quantifier": { - if (a.max === 0) { - return tc.emptyConcat(); - } - if (a.min === 0 || a.min === 1) { - a.max = Infinity; - return a; - } - result = tc.quantPlus([toConcatenation(a)]); - break; - } - case "Alternation": { - result = tc.quantPlus(a.alternatives); - break; - } - case "Concatenation": { - if (a.elements.length === 0) { - return a; - } - result = tc.quantPlus([a]); - break; - } - default: { - result = tc.quantPlus([toConcatenation(a)]); - break; - } - } - - // optimize - QUANTIFIER_TRANSFORMER.onQuantifier!(result, transformContext); - - return unwrap(result); - } - - function removeTrivialReflexiveTransition(state: RegexFANode): void { - if (state.out.has(state)) { - if (state.in.size === 2 && state.out.size === 2) { - // (A) -[a]-> (B) -[b]-> (C) == (A) -[a]-> (B) -[c*b]-> (C) == (A) -[ac*]-> (B) -[b]-> (C) - // Δ \ - // \[c] - - // Since we choose the between two equivalent outcomes here, we will try to make a good choice. - - const refTrans = nodeList.unlinkNodes(state, state)!; - const [outState, outTrans] = firstOf(state.out)!; - const [inState, inTrans] = firstOf(state.in)!; - - if (structurallyEqual(inTrans, refTrans)) { - // a == c => (A) -[a+]-> (B) -[b]-> (C) - nodeList.relinkNodes(inState, state, plus(refTrans)); - } else { - if (structurallyEqual(refTrans, outTrans)) { - // c == b => (A) -[a]-> (B) -[b+]-> (C) - nodeList.relinkNodes(state, outState, plus(refTrans)); - } else { - // (A) -[a]-> (B) -[c*b]-> (C) - nodeList.relinkNodes(state, outState, concat(star(refTrans), outTrans)); - } - } - } else if (state.out.size === 2) { - // (A1) -[a1]-v (A1) -[a1]-v - // (A2) -[a2]-> (B) -[b]-> (C) == (A2) -[a2]-> (B) -[c*b]-> (C) - // (An) -[an]-^ Δ \ (An) -[an]-^ - // \[c] - - const refTrans = nodeList.unlinkNodes(state, state)!; - const [outState, outTrans] = firstOf(state.out)!; - if (structurallyEqual(refTrans, outTrans)) { - nodeList.relinkNodes(state, outState, plus(refTrans)); - } else { - nodeList.relinkNodes(state, outState, concat(star(refTrans), outTrans)); - } - } else if (state.in.size === 2) { - // /[b1]-> (C1) /[b1]-> (C1) - // (A) -[a]-> (B) -[b2]-> (C2) == (A) -[ac*]-> (B) -[b2]-> (C2) - // / Δ \[bn]-> (Cn) \[bn]-> (Cn) - // [c]/ - - const refTrans = nodeList.unlinkNodes(state, state)!; - const [inState, inTrans] = firstOf(state.in)!; - if (structurallyEqual(inTrans, refTrans)) { - nodeList.relinkNodes(inState, state, plus(refTrans)); - } else { - nodeList.relinkNodes(inState, state, concat(inTrans, star(refTrans))); - } - } - } - } - function removeTrivialConcat(state: RegexFANode): null | RegexFANode[] { - if (state.in.size === 1 && state.out.size === 1) { - // (A) -[a]-> (B) -[b]-> (C) == (A) -[ab]-> (C) - const [inState, inTrans] = firstOf(state.in)!; - const [outState, outTrans] = firstOf(state.out)!; - nodeList.unlinkNodes(inState, state); - nodeList.unlinkNodes(state, outState); - - linkWithUnion(inState, outState, concat(inTrans, outTrans)); - - remainingStates.delete(state); - return [inState, outState]; - } - return null; - } - - function trivialOperations(toProcess: ReadonlySet): void { - while (toProcess.size > 0) { - const newToProcess = new Set(); - toProcess.forEach(state => { - if (!remainingStates.has(state)) { - return; - } - - removeTrivialReflexiveTransition(state); - - const affected = removeTrivialConcat(state); - if (affected) { - affected.forEach(s => newToProcess.add(s)); - } - }); - toProcess = newToProcess; - } - } - - function removeState(state: RegexFANode): Set { - const affected = new Set([...state.in.keys(), ...state.out.keys()]); - affected.delete(state); - - const refTrans = nodeList.unlinkNodes(state, state); - if (refTrans) { - const refStar = star(refTrans); - state.in.forEach((inTrans, inState) => { - state.out.forEach((outTrans, outState) => { - linkWithUnion( - inState, - outState, - concat(tc.copy(inTrans), concat(tc.copy(refStar), tc.copy(outTrans))) - ); - }); - }); - } else { - state.in.forEach((inTrans, inState) => { - state.out.forEach((outTrans, outState) => { - linkWithUnion(inState, outState, concat(tc.copy(inTrans), tc.copy(outTrans))); - }); - }); - } - - state.in.forEach((_, inState) => { - nodeList.unlinkNodes(inState, state); - }); - state.out.forEach((_, outState) => { - nodeList.unlinkNodes(state, outState); - }); - - remainingStates.delete(state); - return affected; - } - - // start by applying all trivial operations - trivialOperations(remainingStates); - - while (remainingStates.size > 0) { - // 1) Pick a state - // 2) Eliminate it - // 3) Do trivial operations - - const pickedState = minOf(remainingStates, state => { - /** - * This cost function tries to minimize the length of the resulting regular expression. - * - * The cost of every starting transition of the state will be 1. The total cost to remove a state will - * be the number of transitions created by the removal of the state times the average cost of the operations - * used to get the value of a transition. - * - * The cost function for different operation will behave like this: - * 1. `cost(star(t)) == cost(t)` - * 2. `cost(concat(t1, t2)) == cost(t1) * cost(t2)` - * 3. `cost(union(t1, t2)) == cost(t1) + cost(t2)` - */ - - // this will ignore the cost of a union with existing transition to estimate the cost faster - if (state.out.has(state)) { - // n * 3, because `cost(concat(t_in, concat(star(t_ref), t_out))) == 3` - return (state.in.size - 1) * (state.out.size - 1) * 3; - } else { - // n * 2, because `cost(concat(t_in, t_out)) == 2` - return state.in.size * state.out.size * 2; - } - }); - const affected = removeState(pickedState!); - trivialOperations(affected); - } -} - -function stateElimination( - iter: FAIterator>, - maxAstNodes: number -): NoParent { - const tc = new TransitionCreator(maxAstNodes); - - const result = createNodeList(iter, tc); - if (result == null) { - return tc.emptyExpression(); - } - - const { nodeList, maxCharacter } = result; - eliminateStates(nodeList, tc, maxCharacter); - - const [finalState] = [...nodeList.finals]; - if (finalState.in.size !== 1 || !finalState.in.has(nodeList.initial)) { - throw new Error("State elimination failed."); - } - - const transition = finalState.in.get(nodeList.initial)!; - - switch (transition.type) { - case "Alternation": - return tc.expression(transition.alternatives); - case "Concatenation": - return tc.expression([transition]); - default: - return tc.expression([tc.concat([transition])]); - } -} - -/** - * Returns a regular expression for the given iterator. - * - * `null` transitions are assumed to be epsilon transitions. - * - * @param iter - * @param options - */ -export function toRegex( - iter: FAIterator>, - options?: Readonly -): NoParent { - const maxAstNodes = options?.maxNodes ?? 10000; - const expression = stateElimination(iter, maxAstNodes); - - // optimize - const optimized = transform(FULL_OPTIMIZE_TRANSFORMER, expression, { - maxPasses: options?.maxOptimizationPasses, - }); - - return optimized; -} diff --git a/src/iter/to-string.ts b/src/iter/to-string.ts deleted file mode 100644 index 08430fde..00000000 --- a/src/iter/to-string.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { FAIterator } from "../fa-types"; -import { iterToArray } from "../util"; -import { ensureStableOut, iterateStates, mapOut, mapOutIter } from "./iterator"; - -/** - * Returns a human readable string representation of the given FA. The FA has to have exactly one initial state. - * - * All states will be labeled with numbers. The initial state will **always** has the number 0. Each state will be - * mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their - * transition string. The number of states will be surrounded by brackets - square brackets for final states and round - * brackets for non-final states. - * - * A conversion function for the transitions may optionally be given. If no transition function is given, the native - * `String` function will be used. - * - * --- - * - * Example output for an NFA of `a*d|bb*` - * - * ```text - * (0) -> (1) : 'a' - * -> [2] : 'b' - * -> [3] : 'd' - * - * (1) -> [3] : 'd' - * - * [2] -> [2] : 'b' - * - * [3] -> none - * ``` - * - * @param iter - * @param toString - * @param ordered - */ -export function toString( - iter: FAIterator>, - toString: (value: T) => string = String, - ordered: boolean = false -): string { - const stableIter = ensureStableOut( - mapOut(iter, out => { - const mapped = iterToArray(out).map<[S, string]>(([k, v]) => [k, toString(v)]); - if (!ordered) { - mapped.sort(([, a], [, b]) => a.localeCompare(b)); - } - return mapped; - }) - ); - - // get all states - const states: S[] = [...iterateStates(mapOutIter(stableIter, ([s]) => s))]; - - const index = new Map(states.map((s, i) => [s, i])); - const indexOf = (state: S): number => { - return index.get(state)!; - }; - const labelOf = (state: S): string => { - const index = indexOf(state); - return stableIter.isFinal(state) ? `[${index}]` : `(${index})`; - }; - - return states - .map(state => { - const label = labelOf(state); - const out = stableIter.getOut(state); - if (!ordered) { - out.sort(([s1], [s2]) => indexOf(s1) - indexOf(s2)); - } - - if (out.length === 0) { - return `${label} -> none`; - } else { - const spaces = " ".repeat(label.length); - return out - .map(([s, t], i) => { - return `${i ? spaces : label} -> ${labelOf(s)} : ${t}`; - }) - .join("\n"); - } - }) - .join("\n\n"); -} diff --git a/src/iter/word-sets.ts b/src/iter/word-sets.ts deleted file mode 100644 index d246888d..00000000 --- a/src/iter/word-sets.ts +++ /dev/null @@ -1,211 +0,0 @@ -import { CharSet } from "../char-set"; -import { WordSet } from "../word-set"; -import { FAIterator } from "../fa-types"; -import { ensureStableOut, shortestAcceptingPath } from "./iterator"; -import { removeDeadStates } from "./remove-dead-states"; - -type BFSNode = BFSRootNode | BFSChildNode; -interface BFSRootNode { - state: S; - parent: null; - value: null; -} -interface BFSChildNode { - state: S; - parent: BFSNode; - value: CharSet; -} - -function getPath(node: BFSNode): WordSet { - const path: WordSet = []; - while (node.value) { - path.push(node.value); - node = node.parent; - } - return path.reverse(); -} - -/** - * Iterates all word sets of the given FA. - * - * Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap. - * - * This function assumes that all character sets in the given iterator are non-empty. - * - * @param iter - */ -export function* iterateWordSets(iter: FAIterator>): Iterable { - const { initial, getOut, isFinal } = ensureStableOut(removeDeadStates(iter, i => i[0])); - - const root: BFSRootNode = { - state: initial, - parent: null, - value: null, - }; - - let currentWave: BFSNode[] = [root]; - - while (currentWave.length > 0) { - const nextWave: BFSChildNode[] = []; - - for (const current of currentWave) { - if (isFinal(current.state)) { - yield getPath(current); - } - - for (const [to, chars] of getOut(current.state)) { - nextWave.push({ - state: to, - parent: current, - value: chars, - }); - } - } - - currentWave = nextWave; - } -} - -/** - * Returns any one of the shortest word sets accepted by the given iterator. - * - * If the iterator does not accept any words, `undefined` will be returned. - * - * This function assumes that all character sets in the given iterator are non-empty. - * - * --- - * - * This operation is roughly equivalent to `firstOf(iterateWordSets(iter))` but implemented **much more** efficiently. - * - * @param iter - */ -export function shortestWordSet(iter: FAIterator>): WordSet | undefined { - const result = shortestAcceptingPath(iter, item => item[0]); - - if (result === undefined) { - return undefined; - } else { - return result.map(item => item[1]); - } -} - -/** - * Returns a set of inputs rejected by the given iterator using the given input character set. - * - * If the iterator accepts all words, `undefined` is guaranteed to be returned. - * - * This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential - * worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns - * `undefined` instead. - * - * @param iter - * @param inputCharacters The set of input characters. - * - * All character sets in the returned word set will be subsets of the set of input characters. - * - * If all characters are allowed, use `CharSet.all(maxCharacter)`. - */ -export function approximateRejectingWordSet( - iter: FAIterator>, - inputCharacters: CharSet -): WordSet | undefined { - if (inputCharacters.isEmpty) { - return undefined; - } - - const { initial, getOut, isFinal } = ensureStableOut(removeDeadStates(iter, i => i[0])); - - // The idea here is to use Thompson's algorithm as described by Russ Cox - // (https://swtch.com/~rsc/regexp/regexp1.html) with a slight twist. - // - // In Thompson's algorithm, we have a set of states and determine the next set of states based on the current - // character. Thompson's algorithm will reject an input string if (1) the next set of states is empty or (2) if the - // string ended and the current set of states does not contain a final state. - // - // These two properties are enough to make Thompson's algorithm but they aren't enough for us. For the regex - // `/[^]*/`, we simply cannot find a rejecting string because there is none. Condition (1) and (2) will never apply. - // Instead of using a max-iterations approach, we will do something smarter. If conditions (1) and (2) do not apply - // to the current set of states, we will memorize this set of states. If we ever find any memorized set of states - // again, we know that there are no rejecting words. - // - // Note: The above memorization approach assumes that all states can eventually reach a final state. - - const wordSet: WordSet = []; - - let current: readonly S[] = [initial]; - - const idCache = new Map(); - function getMemoryKey(states: readonly S[]): string { - return states - .map(s => { - let id = idCache.get(s); - if (id === undefined) { - id = idCache.size; - idCache.set(s, id); - } - return id; - }) - .sort((a, b) => a - b) - .join(" "); - } - const memory = new Set(); - - for (let i = 0; i <= idCache.size; i++) { - if (!current.some(s => isFinal(s))) { - // condition (1) - return wordSet; - } - - const nextSet = new Set(); - const transitions: CharSet[] = []; - - for (const state of current) { - for (const [to, via] of getOut(state)) { - nextSet.add(to); - transitions.push(via); - } - } - - const rejecting = getRejectingCharSet(transitions, inputCharacters); - if (rejecting === undefined) { - wordSet.push(inputCharacters); - } else { - wordSet.push(rejecting); - // condition (2) - return wordSet; - } - - const next = [...nextSet]; - - // check if the next set of states has been memorized already and if not, memorize it. - const memoryKey = getMemoryKey(next); - if (memory.has(memoryKey)) { - // found loop - return undefined; - } - memory.add(memoryKey); - - current = next; - } - - return undefined; -} -function getRejectingCharSet(acceptingSets: readonly CharSet[], inputCharacters: CharSet): CharSet | undefined { - if (acceptingSets.length === 0) { - return inputCharacters; - } else { - const accepting = getTotal(acceptingSets); - if (accepting.isAll) { - return undefined; - } else { - return inputCharacters.without(accepting); - } - } -} -function getTotal(sets: readonly CharSet[]): CharSet { - if (sets.length === 1) { - return sets[0]; - } else { - return sets[0].union(...sets.slice(1)); - } -} diff --git a/src/js/char-case-folding.ts b/src/js/char-case-folding.ts deleted file mode 100644 index 0b1255a1..00000000 --- a/src/js/char-case-folding.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { CharSet } from "../char-set"; -import { Char } from "../char-types"; -import { Flags } from "./flags"; -import { Maximum } from "./maximum"; -import { UnicodeCaseFolding } from "./unicode"; -import { UTF16CaseFolding } from "./utf16-case-folding"; - -/** - * A set of functions that can be used to perform case-insensitive matching. - * - * It must fulfill the following conditions: - * - * 1. `canonicalize` must be idempotent, i.e. `canonicalize(canonicalize(char)) === canonicalize(char)`. - * 2. `toCharSet(canonicalize(a))` is the set of all characters `c` such that `canonicalize(a) === canonicalize(c)`. - */ -export interface CharCaseFolding { - /** - * The canonicalization function. This typically maps characters to their lowercase form. - * - * If no function is given, then the identity function is used. This also implies that `toCharSet` must return a - * set containing only the given character. - * - * @default char => char - */ - readonly canonicalize?: (char: Char) => Char; - readonly toCharSet: (char: Char) => CharSet; -} - -const CHAR_CASE_FOLDING_UTF16: CharCaseFolding = { - toCharSet: boundedCache(char => { - return CharSet.fromCharacter(Maximum.UTF16, char); - }), -}; -const CHAR_CASE_FOLDING_UTF16_I: CharCaseFolding = { - canonicalize: char => UTF16CaseFolding[char]?.[0] ?? char, - toCharSet: boundedCache(char => { - const folding = UTF16CaseFolding[char]; - if (folding === undefined) { - return CharSet.fromCharacter(Maximum.UTF16, char); - } else { - return CharSet.fromCharacters(Maximum.UTF16, folding); - } - }), -}; -const CHAR_CASE_FOLDING_UNICODE: CharCaseFolding = { - toCharSet: boundedCache(char => { - return CharSet.fromCharacter(Maximum.UNICODE, char); - }), -}; -const CHAR_CASE_FOLDING_UNICODE_I: CharCaseFolding = { - canonicalize: char => UnicodeCaseFolding[char]?.[0] ?? char, - toCharSet: boundedCache(char => { - const folding = UnicodeCaseFolding[char]; - if (folding === undefined) { - return CharSet.fromCharacter(Maximum.UNICODE, char); - } else { - return CharSet.fromCharacters(Maximum.UNICODE, folding); - } - }), -}; - -export function getCharCaseFolding(unicode: boolean, ignoreCase: boolean): CharCaseFolding; -export function getCharCaseFolding(flags: Readonly): CharCaseFolding; -export function getCharCaseFolding(flagsOrUnicode: Readonly | boolean, ignoreCase?: boolean): CharCaseFolding { - let unicode: boolean; - if (typeof flagsOrUnicode === "boolean") { - unicode = flagsOrUnicode; - } else { - unicode = flagsOrUnicode.unicode || !!flagsOrUnicode.unicodeSets; - ignoreCase = flagsOrUnicode.ignoreCase; - } - - if (unicode) { - return ignoreCase ? CHAR_CASE_FOLDING_UNICODE_I : CHAR_CASE_FOLDING_UNICODE; - } else { - return ignoreCase ? CHAR_CASE_FOLDING_UTF16_I : CHAR_CASE_FOLDING_UTF16; - } -} - -function boundedCache(compute: (value: A) => B, maxSize: number = 100): (value: A) => B { - const cache = new Map(); - return value => { - let cached = cache.get(value); - if (cached === undefined) { - cached = compute(value); - if (cache.size >= maxSize) { - cache.clear(); - } - cache.set(value, cached); - } - return cached; - }; -} diff --git a/src/js/char-env.ts b/src/js/char-env.ts deleted file mode 100644 index e09d9e6b..00000000 --- a/src/js/char-env.ts +++ /dev/null @@ -1,247 +0,0 @@ -import { CharRange, CharSet } from "../char-set"; -import { Char } from "../char-types"; -import { CharCaseFolding, getCharCaseFolding } from "./char-case-folding"; -import { Flags, UnicodeSetsFlags } from "./flags"; -import { Maximum } from "./maximum"; -import { UnicodeCaseFolding, UnicodeCaseVarying } from "./unicode"; -import { UTF16CaseFolding, UTF16CaseVarying } from "./utf16-case-folding"; - -interface CharEnvBase { - readonly maxCharacter: Char; - - readonly all: CharSet; - readonly empty: CharSet; - - readonly lineTerminator: CharSet; - readonly nonLineTerminator: CharSet; - - readonly space: CharSet; - readonly nonSpace: CharSet; - - readonly digit: CharSet; - readonly nonDigit: CharSet; - - readonly word: CharSet; - readonly nonWord: CharSet; -} -export interface CharEnvIgnoreCase { - readonly ignoreCase: true; - readonly caseFolding: Readonly>; - readonly caseVarying: CharSet; - readonly withCaseVaryingCharacters: (cs: CharSet) => CharSet; -} -export interface CharEnvNonIgnoreCase { - readonly ignoreCase: false; -} -export interface CharEnvUnicode { - readonly unicode: true; - readonly charCaseFolding: CharCaseFolding; -} -export interface CharEnvNonUnicode { - readonly unicode: false; -} -export type CharEnv = CharEnvBase & (CharEnvUnicode | CharEnvNonUnicode) & (CharEnvIgnoreCase | CharEnvNonIgnoreCase); - -const DIGIT: readonly CharRange[] = [ - { min: 0x30, max: 0x39 }, // 0-9 -]; -const SPACE: readonly CharRange[] = [ - { min: 0x09, max: 0x0d }, // \t \n \v \f \r - { min: 0x20, max: 0x20 }, // space - { min: 0xa0, max: 0xa0 }, // non-breaking space - { min: 0x1680, max: 0x1680 }, - { min: 0x2000, max: 0x200a }, - { min: 0x2028, max: 0x2029 }, - { min: 0x202f, max: 0x202f }, - { min: 0x205f, max: 0x205f }, - { min: 0x3000, max: 0x3000 }, - { min: 0xfeff, max: 0xfeff }, -]; -const WORD: readonly CharRange[] = [ - { min: 0x30, max: 0x39 }, // 0-9 - { min: 0x41, max: 0x5a }, // A-Z - { min: 0x5f, max: 0x5f }, // _ - { min: 0x61, max: 0x7a }, // a-z -]; -const LINE_TERMINATOR: readonly CharRange[] = [ - { min: 0x0a, max: 0x0a }, // \n - { min: 0x0d, max: 0x0d }, // \r - { min: 0x2028, max: 0x2029 }, -]; - -const lineTerminatorUTF16 = CharSet.empty(Maximum.UTF16).union(LINE_TERMINATOR); -const nonLineTerminatorUTF16 = lineTerminatorUTF16.negate(); -const lineTerminatorUnicode = CharSet.empty(Maximum.UNICODE).union(LINE_TERMINATOR); -const nonLineTerminatorUnicode = lineTerminatorUnicode.negate(); - -const spaceUTF16 = CharSet.empty(Maximum.UTF16).union(SPACE); -const nonSpaceUTF16 = spaceUTF16.negate(); -const spaceUnicode = CharSet.empty(Maximum.UNICODE).union(SPACE); -const nonSpaceUnicode = spaceUnicode.negate(); - -const digitUTF16 = CharSet.empty(Maximum.UTF16).union(DIGIT); -const nonDigitUTF16 = digitUTF16.negate(); -const digitUnicode = CharSet.empty(Maximum.UNICODE).union(DIGIT); -const nonDigitUnicode = digitUnicode.negate(); - -const wordUTF16 = CharSet.empty(Maximum.UTF16).union(WORD); -const nonWordUTF16 = wordUTF16.negate(); -const wordUnicode = CharSet.empty(Maximum.UNICODE).union(WORD); -const nonWordUnicode = wordUnicode.negate(); -const wordIgnoreCaseUnicode = withCaseVaryingCharacters( - CharSet.empty(Maximum.UNICODE).union(WORD), - UnicodeCaseFolding, - UnicodeCaseVarying -); -const nonWordIgnoreCaseUnicode = wordIgnoreCaseUnicode.negate(); - -const CHAR_ENV: CharEnv = { - // base - maxCharacter: Maximum.UTF16, - - all: CharSet.all(Maximum.UTF16), - empty: CharSet.empty(Maximum.UTF16), - - lineTerminator: lineTerminatorUTF16, - nonLineTerminator: nonLineTerminatorUTF16, - - space: spaceUTF16, - nonSpace: nonSpaceUTF16, - - digit: digitUTF16, - nonDigit: nonDigitUTF16, - - word: wordUTF16, - nonWord: nonWordUTF16, - - // ignore case - ignoreCase: false, - - // unicode - unicode: false, -}; -const CHAR_ENV_I: CharEnv = { - // base - maxCharacter: Maximum.UTF16, - - all: CharSet.all(Maximum.UTF16), - empty: CharSet.empty(Maximum.UTF16), - - lineTerminator: lineTerminatorUTF16, - nonLineTerminator: nonLineTerminatorUTF16, - - space: spaceUTF16, - nonSpace: nonSpaceUTF16, - - digit: digitUTF16, - nonDigit: nonDigitUTF16, - - word: wordUTF16, - nonWord: nonWordUTF16, - - // ignore case - ignoreCase: true, - caseFolding: UTF16CaseFolding, - caseVarying: UTF16CaseVarying, - withCaseVaryingCharacters: cs => withCaseVaryingCharacters(cs, UTF16CaseFolding, UTF16CaseVarying), - - // unicode - unicode: false, -}; -const CHAR_ENV_U: CharEnv = { - // base - maxCharacter: Maximum.UNICODE, - - all: CharSet.all(Maximum.UNICODE), - empty: CharSet.empty(Maximum.UNICODE), - - lineTerminator: lineTerminatorUnicode, - nonLineTerminator: nonLineTerminatorUnicode, - - space: spaceUnicode, - nonSpace: nonSpaceUnicode, - - digit: digitUnicode, - nonDigit: nonDigitUnicode, - - word: wordUnicode, - nonWord: nonWordUnicode, - - charCaseFolding: getCharCaseFolding(true, false), - - // ignore case - ignoreCase: false, - - // unicode - unicode: true, -}; -const CHAR_ENV_IU: CharEnv = { - // base - maxCharacter: Maximum.UNICODE, - - all: CharSet.all(Maximum.UNICODE), - empty: CharSet.empty(Maximum.UNICODE), - - lineTerminator: lineTerminatorUnicode, - nonLineTerminator: nonLineTerminatorUnicode, - - space: spaceUnicode, - nonSpace: nonSpaceUnicode, - - digit: digitUnicode, - nonDigit: nonDigitUnicode, - - word: wordIgnoreCaseUnicode, - nonWord: nonWordIgnoreCaseUnicode, - - charCaseFolding: getCharCaseFolding(true, true), - - // ignore case - ignoreCase: true, - caseFolding: UnicodeCaseFolding, - caseVarying: UnicodeCaseVarying, - withCaseVaryingCharacters: cs => withCaseVaryingCharacters(cs, UnicodeCaseFolding, UnicodeCaseVarying), - - // unicode - unicode: true, -}; - -function withCaseVaryingCharacters( - cs: CharSet, - caseFolding: Readonly>, - caseVarying: CharSet -): CharSet { - if (cs.isSupersetOf(caseVarying)) { - // this set already includes all case varying characters - return cs; - } - - const actualCaseVarying = cs.intersect(caseVarying); - if (actualCaseVarying.isEmpty) { - return cs; - } - - const caseVariationSet = new Set(); - for (const { min, max } of actualCaseVarying.ranges) { - for (let i = min; i <= max; i++) { - const fold = caseFolding[i]!; - for (let j = 0, l = fold.length; j < l; j++) { - caseVariationSet.add(fold[j]); - } - } - } - const caseVariationArray = [...caseVariationSet]; - caseVariationArray.sort((a, b) => a - b); - - return cs.union(CharSet.fromCharacters(cs.maximum, caseVariationArray)); -} - -export function getCharEnv(flags: Readonly): CharEnv & CharEnvUnicode; -export function getCharEnv(flags: Readonly): CharEnv; -export function getCharEnv(flags: Readonly): CharEnv { - if (flags.unicode || flags.unicodeSets) { - return flags.ignoreCase ? CHAR_ENV_IU : CHAR_ENV_U; - } else { - return flags.ignoreCase ? CHAR_ENV_I : CHAR_ENV; - } -} diff --git a/src/js/create-assertion.ts b/src/js/create-assertion.ts deleted file mode 100644 index c1b02f9d..00000000 --- a/src/js/create-assertion.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Assertion, Element, NoParent } from "../ast"; -import { CharSet } from "../char-set"; -import { assertNever } from "../util"; -import { Flags } from "./flags"; -import { getCharEnv } from "./char-env"; - -export type BoundaryAssertion = WordBoundaryAssertion | TextBoundaryAssertion; -export interface WordBoundaryAssertion { - kind: "word"; - negate: boolean; -} -export interface TextBoundaryAssertion { - kind: "end" | "start"; -} - -export function createAssertion(assertion: Readonly, flags: Readonly): NoParent { - const env = getCharEnv(flags); - - switch (assertion.kind) { - case "end": - case "start": { - // /$/m == /(?!.)/ - // /$/ == /(?![^])/ - // /^/m == /(? { - return { - type: "Assertion", - negate, - kind, - alternatives: [ - { - type: "Concatenation", - elements: [ - { - type: "CharacterClass", - characters, - }, - ], - }, - ], - }; -} diff --git a/src/js/create-char-set.ts b/src/js/create-char-set.ts deleted file mode 100644 index 3949020a..00000000 --- a/src/js/create-char-set.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { Char } from "../char-types"; -import { CharRange, CharSet } from "../char-set"; -import { assertNever } from "../util"; -import { Flags } from "./flags"; -import { CharEnv, getCharEnv } from "./char-env"; -import { getCharacterProperty } from "./property"; - -export type PredefinedCharacterSet = - | AnyCharacterSet - | DigitCharacterSet - | PropertyCharacterSet - | SpaceCharacterSet - | WordCharacterSet; -export interface AnyCharacterSet { - kind: "any"; -} -export interface DigitCharacterSet { - kind: "digit"; - negate: boolean; -} -export type PropertyCharacterSet = CharacterPropertyCharacterSet | StringPropertyCharacterSet; -export interface CharacterPropertyCharacterSet { - kind: "property"; - key: string; - value: string | null; - strings: false; - negate: boolean; -} -export interface StringPropertyCharacterSet { - kind: "property"; - key: string; - value: null; - strings: true; - negate: false; -} -export interface SpaceCharacterSet { - kind: "space"; - negate: boolean; -} -export interface WordCharacterSet { - kind: "word"; - negate: boolean; -} - -/** - * Creates a new character set with the characters equivalent to a JavaScript regular expression character set. - * - * @param chars The characters in the set. - * @param flags The flags of the pattern. - */ -export function createCharSet( - chars: Iterable>>, - flags: Readonly -): CharSet { - // https://tc39.es/ecma262/#sec-runtime-semantics-charactersetmatcher-abstract-operation - - // This works by first adding all characters and ranges to a single ranges array while keeping track of whether - // added characters/ranges might vary in case (if ignoreCase). - // If ignoreCase and the ranges might vary in case, the case variations of all characters will be added. - - const env = getCharEnv(flags); - - const ranges: CharRange[] = []; - let fullCaseCheck = false; - - function addChar(char: Char): void { - /** - * We will only add all case variation for the given character if: - * 1) the regexp has the i flag set. - * 2) we don't already do a full case check. Since the full case check will add all case variations of this - * character anyway, there's no reason to do it here. - * 3) the given character actually varies in case. - */ - if (env.ignoreCase && !fullCaseCheck) { - const fold = env.caseFolding[char]; - if (fold) { - // add all case variations - for (let i = 0, l = fold.length; i < l; i++) { - const variation = fold[i]; - ranges.push({ min: variation, max: variation }); - } - // all case variations also include the given character, so we are done - return; - } - } - ranges.push({ min: char, max: char }); - } - function addRange(range: CharRange): void { - if (range.min === range.max) { - addChar(range.min); - return; - } - - if (env.ignoreCase && !fullCaseCheck && !env.caseVarying.isDisjointWith(range)) { - fullCaseCheck = true; - } - - ranges.push(range); - } - - for (const char of chars) { - if (isChar(char)) { - addChar(char); - } else if ("kind" in char) { - const set = getPredefinedSet(char, flags, env); - if (set.isAll) { - // since all character sets and ranges are combined using union, we can stop here - return set; - } - ranges.push(...set.ranges); - } else { - addRange(char); - } - } - - const cs = env.empty.union(ranges); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (!env.ignoreCase || !fullCaseCheck) { - // no full case check, so we're done here. - return cs; - } - - return env.withCaseVaryingCharacters(cs); -} - -function isChar(value: unknown): value is Char { - return typeof value === "number"; -} - -function getPredefinedSet( - set: Readonly>, - flags: Readonly, - env: CharEnv -): CharSet { - switch (set.kind) { - case "any": - return flags.dotAll ? env.all : env.nonLineTerminator; - - case "digit": - return set.negate ? env.nonDigit : env.digit; - - case "space": - return set.negate ? env.nonSpace : env.space; - - case "word": - return set.negate ? env.nonWord : env.word; - - case "property": { - if (!env.unicode) { - throw new Error("Unicode property escapes cannot be used without the u flag."); - } - - const { key, value, negate } = set; - return getCharacterProperty(key, value, negate, env, flags.unicodeSets ?? false); - } - - default: - throw assertNever(set, "Invalid predefined character set type"); - } -} diff --git a/src/js/flags.ts b/src/js/flags.ts deleted file mode 100644 index 146dab98..00000000 --- a/src/js/flags.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * An unchecked partial set of RegExp flags. - * - * Flags are not validated by TypeScript. You must ensure that the flags are valid. - * Whenever possible, use the {@link Flags} type instead. - */ -export interface UncheckedFlags { - /** @default false */ - dotAll?: boolean; - /** @default false */ - global?: boolean; - /** @default false */ - hasIndices?: boolean; - /** @default false */ - ignoreCase?: boolean; - /** @default false */ - multiline?: boolean; - /** @default false */ - sticky?: boolean; - /** @default false */ - unicode?: boolean; - /** @default false */ - unicodeSets?: boolean; -} - -/** - * Returns whether the given flags are valid. - * - * @param flags - */ -export function isFlags(flags: UncheckedFlags): flags is Flags { - const { unicode = false, unicodeSets = false } = flags; - return (!unicode && !unicodeSets) || (unicode && !unicodeSets) || (!unicode && unicodeSets); -} - -/** - * A partial set of non-Unicode-sets RegExp flags. The `v` flag is guaranteed to be unset. - */ -export interface NonUnicodeSetsFlags extends UncheckedFlags { - /** @default false */ - unicode?: boolean; - /** @default false */ - unicodeSets?: false; -} -/** - * A partial set of Unicode-sets RegExp flags. The `v` flag is guaranteed to be set. - */ -export interface UnicodeSetsFlags extends UncheckedFlags { - /** @default false */ - unicode?: false; - /** @default false */ - unicodeSets: true; -} - -/** - * A partial set of RegExp flags. - */ -export type Flags = NonUnicodeSetsFlags | UnicodeSetsFlags; diff --git a/src/js/index.ts b/src/js/index.ts deleted file mode 100644 index 9be71d7a..00000000 --- a/src/js/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Classes and functions to convert JavaScript RegExp to refa AST and vise versa. - * - * All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the - * ECMAScript standard. - * - * @see {@link Parser}: A class to convert from JS RegExp to refa AST. - * @see {@link toLiteral}: A function to convert from refa AST to JS RegExp. - * - * @module - */ - -export * from "./create-assertion"; -export * from "./create-char-set"; -export * from "./to-literal"; -export * from "./flags"; -export * from "./literal"; -export * from "./parser"; -export * from "./parse-unicode-set"; -export * from "./string-set"; -export * from "./unicode-set"; -export * from "./char-case-folding"; diff --git a/src/js/literal.ts b/src/js/literal.ts deleted file mode 100644 index 01ee881f..00000000 --- a/src/js/literal.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * A light-weight representation of a - * [JavaScript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) object. - * - * This interface only requires the `source` and `flags` properties of a RegExp object. - */ -export interface Literal { - readonly source: string; - readonly flags: string; -} diff --git a/src/js/maximum.ts b/src/js/maximum.ts deleted file mode 100644 index aa809483..00000000 --- a/src/js/maximum.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const enum Maximum { - UTF16 = 0xffff, - UNICODE = 0x10ffff, -} diff --git a/src/js/parse-unicode-set.ts b/src/js/parse-unicode-set.ts deleted file mode 100644 index 89e7c7c2..00000000 --- a/src/js/parse-unicode-set.ts +++ /dev/null @@ -1,255 +0,0 @@ -import { Char, Word } from "../char-types"; -import { CharRange, CharSet } from "../char-set"; -import { assertNever } from "../util"; -import { Flags, UnicodeSetsFlags } from "./flags"; -import { getCharEnv } from "./char-env"; -import { getStringProperty } from "./property"; -import { UnicodeSet } from "./unicode-set"; -import { AST } from "@eslint-community/regexpp"; -import { PredefinedCharacterSet, StringPropertyCharacterSet, createCharSet } from "./create-char-set"; -import { StringSet } from "./string-set"; -import { Maximum } from "./maximum"; - -export type CharacterElement = - | AST.CharacterClass - | AST.Character - | AST.CharacterClassRange - | AST.CharacterSet - | AST.ClassSetOperand - | AST.StringAlternative - | AST.ExpressionCharacterClass["expression"]; - -export function parseUnicodeSet(element: CharacterElement, flags: Readonly): UnicodeSet { - if (!flags.unicodeSets) { - if ( - element.type === "ExpressionCharacterClass" || - element.type === "ClassIntersection" || - element.type === "ClassSubtraction" || - element.type === "ClassStringDisjunction" || - element.type === "StringAlternative" || - (element.type === "CharacterClass" && element.unicodeSets) || - (element.type === "CharacterSet" && element.kind === "property" && element.strings) - ) { - throw new Error( - "Invalid flags. The AST contains elements exclusive to Unicode-sets mode even though the `v` flag is not set." - ); - } - - return UnicodeSet.fromChars(parseCharSet(element, flags)); - } else { - if (element.type === "CharacterClass" && !element.unicodeSets) { - throw new Error( - "Invalid flags. The AST contains elements exclusive to non-Unicode-sets mode even though the `v` flag is set." - ); - } - - return compileElement(element, flags); - } -} - -function compileElement( - element: Exclude, - flags: Readonly -): UnicodeSet { - switch (element.type) { - case "Character": { - return UnicodeSet.fromChars(createCharSetFromChar(element.value, flags)); - } - case "CharacterClassRange": { - return UnicodeSet.fromChars(createCharSet([{ min: element.min.value, max: element.max.value }], flags)); - } - case "CharacterSet": { - if (element.kind === "property" && element.strings) { - const env = getCharEnv(flags); - return getStringProperty(element.key, env); - } else { - return UnicodeSet.fromChars(createCharSet([element], flags)); - } - } - case "CharacterClass": { - const chars = compileClassElement(element.elements, flags); - - if (!element.negate) { - return chars; - } - - // negate - if (!chars.accept.isEmpty) { - throw new Error( - "The character class " + element.raw + " cannot be negated because it contains strings." - ); - } - return UnicodeSet.fromChars(chars.chars.negate()); - } - - case "ClassIntersection": { - const left = compileElement(element.left, flags); - const right = compileElement(element.right, flags); - return left.intersect(right); - } - case "ClassSubtraction": { - const left = compileElement(element.left, flags); - const right = compileElement(element.right, flags); - return left.without(right); - } - case "ExpressionCharacterClass": { - const expr = compileElement(element.expression, flags); - - if (!element.negate) { - return expr; - } - - // negate - if (!expr.accept.isEmpty) { - throw new Error( - "The character class " + element.raw + " cannot be negated because it contains strings." - ); - } - return UnicodeSet.fromChars(expr.chars.negate()); - } - - case "ClassStringDisjunction": { - const env = getCharEnv(flags); - - const words: Word[] = []; - const chars: Char[] = []; - - for (const alternative of element.alternatives) { - if (alternative.elements.length === 1) { - chars.push(alternative.elements[0].value); - } else { - words.push(alternative.elements.map(e => e.value)); - } - } - - let charSet = chars.length === 0 ? env.empty : createCharSet(chars, flags); - if (env.ignoreCase) { - charSet = env.withCaseVaryingCharacters(charSet); - } - return UnicodeSet.from(charSet, StringSet.from(words, env.charCaseFolding)); - } - case "StringAlternative": { - const env = getCharEnv(flags); - const caseFolding = env.charCaseFolding; - - if (element.elements.length === 1) { - return UnicodeSet.fromChars(caseFolding.toCharSet(element.elements[0].value)); - } else { - const strings = StringSet.fromWord( - element.elements.map(e => e.value), - caseFolding - ); - return UnicodeSet.from(env.empty, strings); - } - } - - default: - return assertNever(element, "Unsupported element"); - } -} -function compileClassElement( - elements: readonly AST.UnicodeSetsCharacterClassElement[], - flags: Readonly -): UnicodeSet { - const empty = UnicodeSet.empty(Maximum.UNICODE); - - if (elements.length === 0) { - return empty; - } else if (elements.length === 1) { - return compileElement(elements[0], flags); - } - - const singleChars: (Char | CharRange | Exclude)[] = []; - const withStrings: UnicodeSet[] = []; - - for (const e of elements) { - switch (e.type) { - case "Character": { - singleChars.push(e.value); - break; - } - case "CharacterClassRange": { - singleChars.push({ min: e.min.value, max: e.max.value }); - break; - } - case "CharacterSet": - if (e.kind === "property" && e.strings) { - withStrings.push(compileElement(e, flags)); - } else { - singleChars.push(e); - } - break; - default: - withStrings.push(compileElement(e, flags)); - break; - } - } - - const chars = UnicodeSet.fromChars(createCharSet(singleChars, flags)); - if (withStrings.length === 0) { - return chars; - } - - withStrings.push(chars); - return empty.union(...withStrings); -} - -export function parseCharSet( - element: - | AST.ClassRangesCharacterClass - | AST.Character - | AST.CharacterClassRange - | Exclude, - flags: Readonly -): CharSet { - switch (element.type) { - case "Character": { - // e.g. a - return createCharSetFromChar(element.value, flags); - } - case "CharacterClassRange": { - // e.g. a - return createCharSet([{ min: element.min.value, max: element.max.value }], flags); - } - case "CharacterSet": { - // e.g. \w - return createCharSet([element], flags); - } - case "CharacterClass": { - // e.g. [^a-f\s] - const characters = createCharSet( - element.elements.map(e => { - switch (e.type) { - case "Character": - return e.value; - case "CharacterClassRange": - return { min: e.min.value, max: e.max.value }; - case "CharacterSet": - return e; - default: - throw assertNever(e, "Unsupported element"); - } - }), - flags - ); - - return element.negate ? characters.negate() : characters; - } - default: { - return assertNever(element); - } - } -} - -function createCharSetFromChar(char: Char, flags: Readonly): CharSet { - const env = getCharEnv(flags); - - if (env.ignoreCase) { - const eqClass = env.caseFolding[char]; - if (eqClass) { - return CharSet.fromCharacters(env.maxCharacter, eqClass); - } - } - - return CharSet.fromCharacter(env.maxCharacter, char); -} diff --git a/src/js/parser.ts b/src/js/parser.ts deleted file mode 100644 index 068d0fe9..00000000 --- a/src/js/parser.ts +++ /dev/null @@ -1,1244 +0,0 @@ -import { Char } from "../char-types"; -import { ReadonlyWordSet, WordSet } from "../word-set"; -import { CharSet } from "../char-set"; -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Element, - Expression, - NoParent, - Node, - Parent, - Quantifier, - SourceLocation, - Unknown, - setParent, - setSource, -} from "../ast"; -import { AST, RegExpParser, visitRegExpAST } from "@eslint-community/regexpp"; -import { - UnionIterable, - assertNever, - concatSequences, - flatConcatSequences, - repeatSequences, - unionSequences, -} from "../util"; -import { createAssertion } from "./create-assertion"; -import { Literal } from "./literal"; -import { TooManyNodesError } from "../errors"; -import { MatchingDirection, isPotentiallyEmpty } from "../ast-analysis"; -import { - backreferenceAlwaysAfterGroup, - hasSomeAncestor, - inheritedMatchingDirection, - somePathToBackreference, -} from "./regexpp-util"; -import { getCharEnv } from "./char-env"; -import { Flags, isFlags } from "./flags"; -import { parseUnicodeSet } from "./parse-unicode-set"; -import { UnicodeSet } from "./unicode-set"; -import { Maximum } from "./maximum"; - -const DEFAULT_MAX_NODES = 10_000; -const DEFAULT_BACK_REF_MAX_WORDS = 100; - -export interface ParseOptions { - /** - * The maximum number of words a backreference can be replaced by. - * - * Set this to 0 to disable resolving backreferences. - * - * @default 100 - */ - maxBackreferenceWords?: number; - /** - * How to the parser will handle unresolved backreferences. - * - * - `"disable"` - * - * The parser will replace all backreferences with an empty character class. This will cause all paths containing - * a backreference to be (effectively) removed. - * - * E.g. `(a*)(\1|b)` will be parsed as `(a*)(([])|b)` which is equivalent to `a*b`. - * - * - `"throw"` - * - * The parser will throw an error when encountering a backreference that cannot be removed. - * - * E.g. `(a*)b\1` will throw but `(a*)[^\s\S]\1` will not because the backreference will be removed anyway because - * of the empty character class. - * - * - `"unknown"` - * - * The parser will create a `Unknown` node for each backreference that cannot be removed. The id of the node will - * be raw string of the backreference. - * - * Backreferences that have been resolved are not affected by this option. - * - * @default "throw" - */ - backreferences?: "disable" | "throw" | "unknown"; - - /** - * How the parser will handle assertions. - * - * - `"parse"` - * - * The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions - * (e.g. `\b`, `$`) will be transformed into equivalent assertions. - * - * - `"disable"` - * - * The parser will disable all assertion by replacing them with an empty character class. This will cause all - * paths containing an assertion to be (effectively) removed. - * - * - `"ignore"` - * - * The parser will ignore all assertion by replacing them with an empty group. - * - * - `"throw"` - * - * The parser will throw an error when encountering a assertion that cannot be removed. - * - * E.g. `a\B` will throw but `a([]\b)(\b){0}` will not because none of the `\b`s can be reached. - * - * - `"unknown"` - * - * The parser will create a `Unknown` node for each assertion. The id of the node will be raw string of the - * assertion. - * - * @default "parse" - */ - assertions?: "parse" | "disable" | "ignore" | "throw" | "unknown"; - - /** - * By default, the parser will try to simplify the generated RE as much as possible. - * - * If set to `false`, all trivial simplifications will be disabled. This includes: - * - * - Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, - * or a disabled backreference/assertion. - * - Removing constant 0 and constant 1 quantifiers. - * - Inlining single-alternative groups. - * - * These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually - * good to have them enabled since parsing is usually faster and the produced RE AST is smaller. - * - * If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled. - * - * @default true - */ - simplify?: boolean; - - /** - * The maximum number of nodes the parser is allowed to create. - * - * If the regexes requires more nodes, a {@link TooManyNodesError} will be thrown. - * - * @default 10000 - */ - maxNodes?: number; - - /** - * `Unknown` nodes have an `id` property that can be used to identify the element that created the unknown. This - * function can be used to control the `id` value. - * - * By default, the raw of the element will be used as its id. - */ - getUnknownId?: (element: AST.Backreference | AST.Assertion) => string; -} - -export interface RegexppAst { - readonly pattern: AST.Pattern; - readonly flags: AST.Flags; -} - -export type ParsableElement = AST.Element | AST.Pattern | AST.Alternative; - -export interface ParseResult { - expression: Expression; - maxCharacter: Char; -} - -type LogicalChar = Char | CharSet; -type LogicalWord = LogicalChar[]; -type ReadonlyLogicalWord = readonly LogicalChar[]; - -interface ParserContext { - readonly maxBackreferenceWords: number; - readonly backreferences: NonNullable; - readonly assertions: NonNullable; - readonly disableSimplification: boolean; - readonly getUnknownId: NonNullable; - - readonly nc: NodeCreator; - readonly matchingDir: MatchingDirection; - readonly variableResolved: ReadonlyMap; -} - -// Some helper constants and types to make the parser implementation more readable -const EMPTY_SET = 1; -const EMPTY_CONCAT = 2; -type EmptySet = typeof EMPTY_SET; -type EmptyConcat = typeof EMPTY_CONCAT; -type Empty = EmptyConcat | EmptySet; - -/** - * Converts JS RegExp to refa's RE AST format. - */ -export class Parser { - /** - * The literal of the parser instance. - */ - readonly literal: Literal; - /** - * The parsed AST of the literal this parser works on. - * - * While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations - * based on that assumption. It is not safe to change the AST in any way. - */ - readonly ast: RegexppAst; - /** - * This contains the same flags as `ast.flags` but with a better type. - */ - readonly flags: Required; - /** - * The maximum character of all character sets in the parsed AST. - * - * This value will also be returned as part of the {@link ParseResult}. - */ - readonly maxCharacter: Char; - - private readonly _charCache = new Map(); - private readonly _simpleCharCache = new Map(); - - private readonly _backRefCanReachGroupCache = new Map(); - private readonly _backRefAlwaysAfterGroupCache = new Map(); - private readonly _constantResolveCache = new Map(); - private readonly _groupReferencesCache = new Map(); - private readonly _charSetToCharFn: CharSetToCharsFn; - - private constructor(ast: RegexppAst) { - this.literal = { source: ast.pattern.raw, flags: ast.flags.raw }; - this.ast = ast; - this.maxCharacter = this.ast.flags.unicode ? Maximum.UNICODE : Maximum.UTF16; - - if (!isFlags(ast.flags)) { - throw new Error("The flags in the given AST are not a valid set of flags."); - } - this.flags = ast.flags; - this._charSetToCharFn = createCharSetToCharsFn(this.flags); - } - - /** - * Creates a new parser from the given literal. - * - * This function will throw a `SyntaxError` if the given literal is not a valid RegExp literal according to the - * given RegExp parser options. - * - * If a string is given as the literal, it must be of the form `/pattern/flags`. If possible, use the - * object form with {@link Literal} instead. - * - * @param literal - * @param parserOptions - */ - static fromLiteral(literal: Literal | string, parserOptions?: RegExpParser.Options): Parser { - const parser = new RegExpParser(parserOptions); - let ast; - if (typeof literal === "string") { - ast = parser.parseLiteral(literal); - } else { - const flags = parser.parseFlags(literal.flags); - const pattern = parser.parsePattern(literal.source, undefined, undefined, flags); - ast = { pattern, flags }; - } - return new Parser(ast); - } - /** - * Creates a new parser from the given [regexpp](https://github.com/mysticatea/regexpp) AST. - * - * When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex - * again. - * - * The given AST is not allowed to be changed during the lifetime of the returned parser. - * - * @param ast - */ - static fromAst(ast: RegexppAst): Parser { - return new Parser(ast); - } - - /** - * Parsed the entire literal. - * - * For more information on parsing, see {@link parseElement}. - * - * @param options - */ - parse(options?: Readonly): ParseResult { - return this.parseElement(this.ast.pattern, options); - } - /** - * Parses a specific element of the literal. - * - * Use {@link ParseOptions} to control how the element is parsed. - * - * @param element - * @param options - */ - parseElement(element: ParsableElement, options?: Readonly): ParseResult { - const context: ParserContext = { - maxBackreferenceWords: Math.round(options?.maxBackreferenceWords ?? DEFAULT_BACK_REF_MAX_WORDS), - backreferences: options?.backreferences ?? "throw", - assertions: options?.assertions ?? "parse", - disableSimplification: !(options?.simplify ?? true), - getUnknownId: options?.getUnknownId ?? (e => e.raw), - - nc: new NodeCreator(options?.maxNodes ?? DEFAULT_MAX_NODES), - matchingDir: inheritedMatchingDirection(element), - variableResolved: new Map(), - }; - - const expression = this._parseElement(element, context); - setParent(expression, null); - - return { expression, maxCharacter: this.maxCharacter }; - } - private _parseElement(element: ParsableElement, context: ParserContext): NoParent { - const expression: NoParent = { - type: "Expression", - alternatives: [], - source: copySource(element), - }; - - switch (element.type) { - case "Alternative": { - this._addAlternatives([element], expression, context); - break; - } - - case "Pattern": { - this._addAlternatives(element.alternatives, expression, context); - break; - } - - default: { - const e = this._createElement(element, context); - if (e === EMPTY_SET) { - // do nothing - } else if (e === EMPTY_CONCAT) { - expression.alternatives.push(context.nc.newConcat(element)); - } else { - if (!context.disableSimplification && e.type === "Alternation") { - // just inline the alternatives - expression.alternatives = e.alternatives; - } else { - const concat = context.nc.newConcat(element); - expression.alternatives.push(concat); - concat.elements.push(e); - } - } - break; - } - } - - return expression; - } - - private _addAlternatives( - alternatives: readonly AST.Alternative[], - parent: NoParent, - context: ParserContext - ): void { - for (const alternative of alternatives) { - const concat = this._createConcatenation(alternative, context); - if (concat !== EMPTY_SET) { - if (context.disableSimplification) { - parent.alternatives.push(concat); - } else { - if (concat.elements.length === 1 && concat.elements[0].type === "Alternation") { - // add all alternatives - parent.alternatives.push(...concat.elements[0].alternatives); - } else { - parent.alternatives.push(concat); - } - } - } - } - } - private _createConcatenation( - alternative: AST.Alternative, - context: ParserContext - ): NoParent | EmptySet { - const elements = context.matchingDir === "ltr" ? alternative.elements : [...alternative.elements].reverse(); - const result = this._createElements(elements, context); - if (result === EMPTY_SET) { - return EMPTY_SET; - } - - if (context.matchingDir === "rtl") { - result.reverse(); - } - - const concat = context.nc.newConcat(alternative); - this._setConcatenationElements(concat, result, context); - return concat; - } - private _setConcatenationElements( - concat: NoParent, - elements: NoParent[], - context: ParserContext - ): void { - if (context.disableSimplification) { - concat.elements = elements; - } else { - if (concat.elements.length > 0) { - concat.elements = []; - } - for (const e of elements) { - if (e.type === "Alternation" && e.alternatives.length === 1) { - concat.elements.push(...e.alternatives[0].elements); - } else { - concat.elements.push(e); - } - } - } - } - - /** - * The order of elements depends on the current matching direction. If the current matching direction is "ltr", then - * the elements will be in order as they appear in AST. If the current matching direction is "rtl", then the order - * will be reversed. - * - * The function expects the given elements to be in that order and will returns the parsed elements in that order. - * - * @param inputElements - * @param context - */ - private _createElements( - inputElements: readonly AST.Element[], - context: ParserContext - ): NoParent[] | EmptySet { - const outputElements: NoParent[] = []; - let error: { error: unknown } | undefined = undefined; - - for (let i = 0; i < inputElements.length; i++) { - const currentElement = inputElements[i]; - - let result; - try { - result = this._createElement(currentElement, context); - } catch (e: unknown) { - if (context.disableSimplification) { - throw e; - } else { - // we catch the error and only rethrow it if the alternative did not get removed - // the only errors which can be thrown are not-supported errors, so if the alternative gets - // removed anyway, we shouldn't throw the error - // Note: For multiple errors, only the first one will be re-thrown - error ??= { error: e }; - continue; - } - } - - if (result === EMPTY_SET) { - return EMPTY_SET; - } else if (result === EMPTY_CONCAT) { - // do nothing - } else { - // an actual element - - let resolved = false; - - if (currentElement.type === "CapturingGroup" && context.maxBackreferenceWords > 0) { - try { - // try to resolve the backreferences of this capturing group - const resolveResult = this._variableResolveGroup( - currentElement, - result, - inputElements.slice(i + 1), - context - ); - resolved = true; - - outputElements.push(resolveResult.resolved); - i += resolveResult.skip; - } catch (e) { - // could not resolve - } - } - - if (!resolved) { - outputElements.push(result); - } - } - } - - if (error !== undefined) { - // rethrow the error - throw error.error; - } - - return outputElements; - } - private _variableResolveGroup( - group: AST.CapturingGroup, - groupElement: NoParent, - afterGroup: readonly AST.Element[], - context: ParserContext - ): { resolved: NoParent; skip: number } { - // try to resolve all backreferences of this capturing group - - if (this._getResolvableGroupReferencesUnder(group, group.parent).length === 0) { - throw new Error("No backreferences that resolve this capturing group"); - } - - const words = atMostK(iterateLogicalWords(groupElement, this._charSetToCharFn), context.maxBackreferenceWords); - if (words.length === 0) { - throw new Error("Cannot resolve dead capturing group"); - } - - // variable resolved - - const affectedSlice = [...afterGroup]; - /** - * Resolving the capturing group might not affect all elements after the group. - * - * E.g. `(a|b)c\1d`: Only the elements between `(a|b)` and `\1` are affected, so we don't have to copy `c`. - * - * This is a minor optimization that can drastically reduce the number of created RE AST nodes in some cases. - * E.g. `/(a)\1(b)\2(c)\3/i` can be converted to `/(?:AA|aa)(?:BB|bb)(?:CC|cc)/` instead of - * `/AA(?:BB(?:CC|cc)|bb(?:CC|cc))|aa(?:BB(?:CC|cc)|bb(?:CC|cc))/`. - * - * However, there is one thing that makes it somewhat difficult to determine which elements are affected: - * other capturing groups. If another capturing group is affected by the current one, then the elements affected - * the other capturing group also have to be accounted for. - * - * Examples: - * - `/(a)(b)\1\2/i`: `\2` is affected because its capturing group is affected by `(a)`. - * - `/(a)(b\1)\1\2/i`: `(b\1)` is obviously affected by `(a)`. - */ - this._trimAffectedSlice(group, affectedSlice); - - const alternatives: NoParent[] = []; - for (const word of words) { - const result = this._createElements(affectedSlice, withResolved(context, group, word)); - - if (result === EMPTY_SET) { - // skip this alternative - continue; - } - - const concatElements: NoParent[] = []; - const wordElement = this._wordToElement(group, word, context); - if (wordElement !== EMPTY_CONCAT) { - concatElements.push(wordElement); - } - - concatElements.push(...result); - - if (context.matchingDir === "rtl") { - // we have to reverse the order because `afterGroup` is reversed. - concatElements.reverse(); - } - - const wordConcat = context.nc.newConcat(group); - this._setConcatenationElements(wordConcat, concatElements, context); - alternatives.push(wordConcat); - } - - const alternation = context.nc.newAlt(group); - alternation.alternatives = alternatives; - - return { resolved: alternation, skip: affectedSlice.length }; - } - private _trimAffectedSlice(group: AST.CapturingGroup, slice: AST.Element[]): void { - const length = this._affectedSliceLength(group, slice); - if (slice.length > length) { - slice.splice(length, slice.length - length); - } - } - private _affectedSliceLength(group: AST.CapturingGroup, slice: readonly AST.Element[]): number { - function withParent(element: AST.Element): AST.Element { - let p = element as AST.Element | AST.BranchNode | null; - while (p) { - if (p.parent === group.parent) { - return p; - } - p = p.parent; - } - throw new Error(); - } - function rightMostIndex(elements: ReadonlySet): number { - for (let i = slice.length - 1; i >= 0; i--) { - if (elements.has(slice[i])) { - return i; - } - } - throw -1; - } - - const end = rightMostIndex( - new Set(this._getResolvableGroupReferencesUnder(group, group.parent).map(withParent)) - ); - - const rights = [end]; - for (let i = 0; i <= end; i++) { - const e = slice[i]; - if (e.type === "CapturingGroup") { - rights.push(i + 1 + this._affectedSliceLength(e, slice.slice(i + 1))); - } - } - - return Math.max(...rights) + 1; - } - - private _createElement(element: AST.Element, context: ParserContext): NoParent | Empty { - switch (element.type) { - case "Assertion": - return this._createAssertion(element, context); - - case "CapturingGroup": - case "Group": - return this._createGroup(element, context); - - case "Character": - case "CharacterClass": - case "CharacterSet": - case "ExpressionCharacterClass": - return this._createCharacterClass(element, context); - - case "Quantifier": - return this._createQuantifier(element, context); - - case "Backreference": - return this._createBackreference(element, context); - - default: - throw assertNever(element, "Unsupported element"); - } - } - - private _createAssertion(element: AST.Assertion, context: ParserContext): NoParent | Empty { - switch (context.assertions) { - case "throw": - throw new Error("Assertions are not supported."); - - case "disable": - return this._createDisabledElement(element, context); - - case "ignore": - if (context.disableSimplification) { - const alternation = context.nc.newAlt(element); - alternation.alternatives.push(context.nc.newConcat(element)); - return alternation; - } else { - return EMPTY_CONCAT; - } - - case "unknown": - return this._createUnknownElement(element, context); - - case "parse": - return this._parseAssertion(element, context); - - default: - assertNever(context.assertions); - } - } - private _parseAssertion(element: AST.Assertion, context: ParserContext): NoParent | Empty { - switch (element.kind) { - case "lookahead": - case "lookbehind": { - const assertion = context.nc.newAssertion( - element, - element.kind === "lookahead" ? "ahead" : "behind", - element.negate - ); - - const matchingDir: MatchingDirection = element.kind === "lookahead" ? "ltr" : "rtl"; - this._addAlternatives( - element.alternatives, - assertion, - matchingDir === context.matchingDir ? context : { ...context, matchingDir } - ); - - if (!context.disableSimplification) { - // check for trivially accepting/rejecting assertions - const enum TrivialResult { - REJECT, - ACCEPT, - UNKNOWN, - } - let result = TrivialResult.UNKNOWN; - if (assertion.alternatives.length === 0) { - result = assertion.negate ? TrivialResult.ACCEPT : TrivialResult.REJECT; - } else if (isPotentiallyEmpty(assertion.alternatives)) { - result = assertion.negate ? TrivialResult.REJECT : TrivialResult.ACCEPT; - } - - if (result === TrivialResult.ACCEPT) { - return EMPTY_CONCAT; - } else if (result === TrivialResult.REJECT) { - return EMPTY_SET; - } - } - - return assertion; - } - - case "end": - case "start": - case "word": { - const assertion = createAssertion(element, this.flags); - setSource(assertion, copySource(element)); - - return assertion; - } - - default: - throw assertNever(element, "Unsupported element"); - } - } - - private _createCharacterClass( - element: AST.Character | AST.CharacterClass | AST.CharacterSet | AST.ExpressionCharacterClass, - context: ParserContext - ): NoParent | EmptySet { - let cacheKey: string; - if (element.type === "Character") { - cacheKey = element.value.toString(16); - } else { - cacheKey = element.raw; - } - - let chars = this._charCache.get(cacheKey); - if (chars === undefined) { - // cache miss - chars = parseUnicodeSet(element, this.flags); - this._charCache.set(cacheKey, chars); - } - - if (chars.accept.isEmpty) { - // simple case where we only have a single char - if (chars.chars.isEmpty && !context.disableSimplification) { - return EMPTY_SET; - } - return context.nc.newCharClass(element, chars.chars); - } - - const alternation = context.nc.newAlt(element); - for (const word of chars.wordSets) { - const alternative = context.nc.newConcat(element); - alternation.alternatives.push(alternative); - - for (const char of word) { - alternative.elements.push(context.nc.newCharClass(element, char)); - } - } - return alternation; - } - - private _createGroup(element: AST.Group | AST.CapturingGroup, context: ParserContext): NoParent | Empty { - const alternation = context.nc.newAlt(element); - this._addAlternatives(element.alternatives, alternation, context); - - if (!context.disableSimplification) { - if (alternation.alternatives.length === 0) { - return EMPTY_SET; - } else if (alternation.alternatives.length === 1 && alternation.alternatives[0].elements.length === 0) { - return EMPTY_CONCAT; - } - } - return alternation; - } - - private _createQuantifier(element: AST.Quantifier, context: ParserContext): NoParent | Empty { - const min: number = element.min; - const max: number = element.max; - - if (!context.disableSimplification) { - if (max === 0) { - return EMPTY_CONCAT; - } - if (min === 1 && max === 1) { - return this._createElement(element.element, context); - } - } - - const quant = context.nc.newQuant(element, min, max, !element.greedy); - - const qElement = element.element; - if (qElement.type === "CapturingGroup" || qElement.type === "Group") { - this._addAlternatives(qElement.alternatives, quant, context); - } else { - const newElement = this._createElement(qElement, context); - if (newElement !== EMPTY_SET) { - const concat = context.nc.newConcat(qElement); - quant.alternatives.push(concat); - if (newElement !== EMPTY_CONCAT) { - concat.elements.push(newElement); - } - } - } - - if (!context.disableSimplification) { - if (quant.alternatives.length === 0) { - return min === 0 ? EMPTY_CONCAT : EMPTY_SET; - } else if (quant.alternatives.length === 1 && quant.alternatives[0].elements.length === 0) { - return EMPTY_CONCAT; - } - } - - return quant; - } - - private _createUnknownElement( - element: AST.Assertion | AST.Backreference, - context: ParserContext - ): NoParent | EmptySet { - return context.nc.newUnknown(element, context.getUnknownId(element)); - } - - private _createDisabledElement(node: SourceLocation, context: ParserContext): NoParent | EmptySet { - if (context.disableSimplification) { - return context.nc.newAlt(node); - } else { - return EMPTY_SET; - } - } - - private _createBackreference(element: AST.Backreference, context: ParserContext): NoParent | Empty { - if (context.maxBackreferenceWords > 0) { - // try resolve - if (!this._backRefCanReachGroup(element)) { - return EMPTY_CONCAT; - } - - const group = element.resolved; - const resolved = context.variableResolved.get(group) ?? this._constantResolveGroup(group, context); - - if (resolved !== null) { - if (resolved.length === 0) { - return EMPTY_CONCAT; - } - - // since there might be some path with which we could reach the backreference without matching the - // group, we have to make sure that we always match the group before the backreference. - if (this._backRefAlwaysAfterGroup(element)) { - return this._wordToElement(element, resolved, context); - } - } - } - - switch (context.backreferences) { - case "throw": - throw new Error("Backreferences are not supported."); - - case "unknown": - return this._createUnknownElement(element, context); - - case "disable": - return this._createDisabledElement(element, context); - - default: - assertNever(context.backreferences); - } - } - private _constantResolveGroup(element: AST.CapturingGroup, context: ParserContext): ReadonlyLogicalWord | null { - const cached = this._constantResolveCache.get(element); - if (cached !== undefined) { - return cached; - } - - const expression = this._parseElement(element, { - ...context, - backreferences: "unknown", - disableSimplification: false, - }); - - // TODO: Use transformers to do that - removeLeadingLookbehinds(expression); - removeTrailingLookaheads(expression); - - // if the group is constant, then all that's left will be a single alternative of only single-character - // character classes - - let words = undefined; - try { - words = atMostK(iterateLogicalWords(expression, this._charSetToCharFn), 1); - } catch (e) { - // noop - } - - let result: LogicalWord | null = null; - if (words) { - if (words.length === 0) { - // since the capturing can never be matched, all backreferences to it will always be replaced with the - // empty string - result = []; - } else if (words.length === 1) { - result = words[0]; - } else { - throw new Error("More than one words were returned."); - } - } - - this._constantResolveCache.set(element, result); - return result; - } - - private _backRefCanReachGroup(element: AST.Backreference): boolean { - let cached = this._backRefCanReachGroupCache.get(element); - if (cached === undefined) { - cached = somePathToBackreference(element); - this._backRefCanReachGroupCache.set(element, cached); - } - return cached; - } - private _backRefAlwaysAfterGroup(element: AST.Backreference): boolean { - let cached = this._backRefAlwaysAfterGroupCache.get(element); - if (cached === undefined) { - cached = backreferenceAlwaysAfterGroup(element); - this._backRefAlwaysAfterGroupCache.set(element, cached); - } - return cached; - } - private _wordToElement( - source: Readonly, - word: ReadonlyLogicalWord, - context: ParserContext - ): NoParent | EmptyConcat { - if (word.length === 0) { - return EMPTY_CONCAT; - } else if (word.length === 1) { - const char = word[0]; - const characters = char instanceof CharSet ? char : this._charToCharSet(char); - return context.nc.newCharClass(source, characters); - } else { - const concat = context.nc.newConcat(source); - for (const char of word) { - const characters = char instanceof CharSet ? char : this._charToCharSet(char); - concat.elements.push(context.nc.newCharClass(source, characters)); - } - - const alt = context.nc.newAlt(source); - alt.alternatives.push(concat); - return alt; - } - } - private _charToCharSet(char: Char): CharSet { - let cached = this._simpleCharCache.get(char); - if (cached === undefined) { - cached = CharSet.fromCharacter(this.maxCharacter, char); - this._simpleCharCache.set(char, cached); - } - return cached; - } - - private _getGroupReferences(group: AST.CapturingGroup): readonly AST.Backreference[] { - if (this._groupReferencesCache.size === 0) { - const getList = (capGroup: AST.CapturingGroup): AST.Backreference[] => { - let list = this._groupReferencesCache.get(capGroup); - if (list === undefined) { - list = []; - this._groupReferencesCache.set(capGroup, list); - } - return list; - }; - - visitRegExpAST(this.ast.pattern, { - onBackreferenceEnter(backRef) { - getList(backRef.resolved).push(backRef); - }, - onCapturingGroupEnter(capGroup) { - getList(capGroup); - }, - }); - } - - const references = this._groupReferencesCache.get(group); - if (!references) { - throw new Error("Unknown capturing group. The capturing group is not part of the AST of this parser."); - } - return references; - } - private _getResolvableGroupReferences(group: AST.CapturingGroup): readonly AST.Backreference[] { - return this._getGroupReferences(group).filter( - ref => this._backRefCanReachGroup(ref) && this._backRefAlwaysAfterGroup(ref) - ); - } - private _getResolvableGroupReferencesUnder( - group: AST.CapturingGroup, - under: AST.BranchNode - ): readonly AST.Backreference[] { - return this._getResolvableGroupReferences(group).filter(ref => hasSomeAncestor(ref, a => a === under)); - } -} - -class NodeCreator { - private _nodeCounter = 0; - private readonly _nodeLimit: number; - - constructor(nodeLimit: number) { - this._nodeLimit = nodeLimit; - } - - private _checkLimit(): void { - TooManyNodesError.assert(++this._nodeCounter, this._nodeLimit, "JS.Parser"); - } - - newAlt(source: Readonly): NoParent { - this._checkLimit(); - - return { - type: "Alternation", - alternatives: [], - source: copySource(source), - }; - } - newAssertion(source: Readonly, kind: Assertion["kind"], negate: boolean): NoParent { - this._checkLimit(); - - return { - type: "Assertion", - alternatives: [], - kind, - negate, - source: copySource(source), - }; - } - newCharClass(source: Readonly, characters: CharSet): NoParent { - this._checkLimit(); - - return { - type: "CharacterClass", - characters, - source: copySource(source), - }; - } - newConcat(source: Readonly): NoParent { - this._checkLimit(); - - return { - type: "Concatenation", - elements: [], - source: copySource(source), - }; - } - newQuant(source: Readonly, min: number, max: number, lazy: boolean): NoParent { - this._checkLimit(); - - return { - type: "Quantifier", - alternatives: [], - lazy, - min, - max, - source: copySource(source), - }; - } - newUnknown(source: Readonly, id: string): NoParent { - this._checkLimit(); - - return { - type: "Unknown", - id, - source: copySource(source), - }; - } -} - -function withResolved(context: ParserContext, group: AST.CapturingGroup, word: ReadonlyLogicalWord): ParserContext { - const variableResolved = new Map(context.variableResolved); - variableResolved.set(group, word); - return { ...context, variableResolved }; -} - -function copySource(node: Readonly): SourceLocation { - return { - start: node.start, - end: node.end, - }; -} - -function removeLeadingLookbehinds(element: NoParent): void { - for (const alt of element.alternatives) { - while (alt.elements.length > 0) { - const element = alt.elements[0]; - - if (element.type === "Assertion" && element.kind === "behind") { - alt.elements.splice(0, 1); - continue; - } - - if (element.type === "Alternation" || element.type === "Quantifier") { - removeLeadingLookbehinds(element); - if (element.alternatives.length === 1 && element.alternatives[0].elements.length === 0) { - // empty quantifier or alternative that can only match the empty word - alt.elements.splice(0, 1); - continue; - } - } - - break; - } - } - - removeDuplicateEmptyAlternative(element); -} -function removeTrailingLookaheads(element: NoParent): void { - for (const alt of element.alternatives) { - while (alt.elements.length > 0) { - const element = alt.elements[alt.elements.length - 1]; - - if (element.type === "Assertion" && element.kind === "ahead") { - alt.elements.pop(); - continue; - } - - if (element.type === "Alternation" || element.type === "Quantifier") { - removeTrailingLookaheads(element); - if (element.alternatives.length === 1 && element.alternatives[0].elements.length === 0) { - // empty quantifier or alternative that can only match the empty word - alt.elements.pop(); - continue; - } - } - - break; - } - } - - removeDuplicateEmptyAlternative(element); -} -function removeDuplicateEmptyAlternative(element: NoParent): void { - let hasEmpty = false; - element.alternatives = element.alternatives.filter(alt => { - if (alt.elements.length === 0) { - if (hasEmpty) { - return false; - } else { - hasEmpty = true; - return true; - } - } - // keep all non-empty - return true; - }); -} - -type CharSetToCharsFn = (charSet: CharSet) => Iterable; -function createCharSetToCharsFn(flags: Flags): CharSetToCharsFn { - if (!flags.ignoreCase) { - return cs => cs.characters(); - } else { - const env = getCharEnv(flags); - if (!env.ignoreCase) { - throw new Error(); - } - - const charSetCache = new Map(); - - return function* charSetToLogicalChars(charSet: CharSet): Iterable { - const seen = new Set(); - - for (const c of charSet.characters()) { - if (seen.has(c)) { - continue; - } - - const equivalenceClass = env.caseFolding[c]; - if (equivalenceClass) { - for (const char of equivalenceClass) { - seen.add(char); - } - - let cached = charSetCache.get(equivalenceClass); - if (cached === undefined) { - cached = CharSet.fromCharacters(env.maxCharacter, equivalenceClass); - charSetCache.set(equivalenceClass, cached); - } - yield cached; - } else { - yield c; - } - } - }; - } -} - -function* wordSetsToLogicalWords( - wordSets: Iterable, - charSetToChars: CharSetToCharsFn -): Iterable { - for (const wordSet of wordSets) { - yield* concatSequences(wordSet.map(charSetToChars)); - } -} - -function iterateLogicalWords(node: NoParent, charSetToChars: CharSetToCharsFn): UnionIterable { - return wordSetsToLogicalWords(iterateWordSets(node), charSetToChars); -} -function iterateWordSets(node: NoParent): UnionIterable { - switch (node.type) { - case "Alternation": - case "Expression": - return unionSequences(node.alternatives.map(iterateWordSets)); - - case "Assertion": - case "Unknown": - throw new Error(); - - case "CharacterClass": - if (node.characters.isEmpty) { - // empty set - return []; - } else { - return [[node.characters]]; - } - - case "Concatenation": - return flatConcatSequences(node.elements.map(iterateWordSets)); - - case "Quantifier": { - if (node.max === Infinity) { - throw new Error(); - } - - let counts: Iterable; - if (node.lazy) { - counts = (function* () { - for (let i = node.min; i <= node.max; i++) { - yield i; - } - })(); - } else { - counts = (function* () { - for (let i = node.max; i >= node.min; i--) { - yield i; - } - })(); - } - - return repeatSequences(counts, unionSequences(node.alternatives.map(iterateWordSets)), flatConcatSequences); - } - - default: - assertNever(node); - } -} - -function atMostK(iter: Iterable, k: number): T[] { - const result: T[] = []; - for (const item of iter) { - result.push(item); - if (result.length > k) { - throw new Error("Too many items."); - } - } - return result; -} diff --git a/src/js/property.ts b/src/js/property.ts deleted file mode 100644 index 526cd9a3..00000000 --- a/src/js/property.ts +++ /dev/null @@ -1,184 +0,0 @@ -import { CharRange, CharSet } from "../char-set"; -import { Char, ReadonlyWord } from "../char-types"; -import { assertNever } from "../util"; -import { CharEnv, CharEnvIgnoreCase, CharEnvUnicode } from "./char-env"; -import { UnicodeSet } from "./unicode-set"; -import { StringSet } from "./string-set"; -import { Alias, Binary_Property, General_Category, PropertiesOfStrings, Script, Script_Extensions } from "./unicode"; -import { Maximum } from "./maximum"; -import { getCharCaseFolding } from "./char-case-folding"; - -interface CacheEntry { - readonly value: CharSet; - readonly negated: CharSet; -} - -const ignoreCaseCache = new Map(); -const ignoreCaseUnicodeSetsCache = new Map(); -const nonIgnoreCaseCache = new Map(); - -export function getCharacterProperty( - key: string, - value: string | null, - negated: boolean, - env: CharEnv & CharEnvUnicode, - unicodeSets: boolean -): CharSet { - const cache = env.ignoreCase ? (unicodeSets ? ignoreCaseCache : ignoreCaseUnicodeSetsCache) : nonIgnoreCaseCache; - const cacheKey = key + "=" + value; - - let entry = cache.get(cacheKey); - if (entry === undefined) { - entry = getCharacterPropertyUncached(key, value, env, unicodeSets); - cache.set(cacheKey, entry); - } - - if (negated) { - return entry.negated; - } else { - return entry.value; - } -} -function getCharacterPropertyUncached( - key: string, - value: string | null, - env: CharEnv & CharEnvUnicode, - unicodeSets: boolean -): CacheEntry { - const rawData = getPropertyData(key, value); - if (!rawData.accept.isEmpty) { - throw new Error( - `The given property ${key} is a property of strings, which is invalid for 'getCharacterProperty'.` - ); - } - const set = rawData.chars; - - if (env.ignoreCase) { - if (unicodeSets) { - const value = env.withCaseVaryingCharacters(set); - return { value: value, negated: value.negate() }; - } else { - return { value: env.withCaseVaryingCharacters(set), negated: env.withCaseVaryingCharacters(set.negate()) }; - } - } else { - return { value: set, negated: set.negate() }; - } -} - -const ignoreCaseStringCache = new Map(); - -export function getStringProperty(key: string, env: CharEnv & CharEnvUnicode): UnicodeSet { - if (!env.ignoreCase) { - return getPropertyData(key, null); - } - - let entry = ignoreCaseStringCache.get(key); - if (entry === undefined) { - entry = getStringPropertyUncached(key, env); - ignoreCaseStringCache.set(key, entry); - } - return entry; -} -function getStringPropertyUncached(key: string, env: CharEnv & CharEnvUnicode & CharEnvIgnoreCase): UnicodeSet { - const data = getPropertyData(key, null); - - const chars = env.withCaseVaryingCharacters(data.chars); - const words = StringSet.from(data.accept["words"], env.charCaseFolding); - - return UnicodeSet.from(chars, words); -} - -const propertyDataCache = new Map(); -export function getPropertyData(key: string, value: string | null): UnicodeSet { - const cacheKey = key + "=" + value; - let cached = propertyDataCache.get(cacheKey); - if (cached === undefined) { - cached = getPropertyDataUncached(key, value); - propertyDataCache.set(cacheKey, cached); - } - return cached; -} -function getPropertyDataUncached(key: string, value: string | null): UnicodeSet { - if (value === null) { - const strings = getPropertyStrings(key); - if (strings) { - return stringsToUnicodeSet(strings); - } - } - - const ranges = getPropertyRanges(key, value); - const chars = CharSet.empty(Maximum.UNICODE).union(ranges); - return UnicodeSet.fromChars(chars); -} - -function stringsToUnicodeSet(strings: readonly ReadonlyWord[]): UnicodeSet { - const chars: Char[] = []; - const words: ReadonlyWord[] = []; - - for (const str of strings) { - if (str.length === 1) { - chars.push(str[0]); - } else { - words.push(str); - } - } - - // characters are sorted (see create-unicode.ts) - const charSet = CharSet.fromCharacters(Maximum.UNICODE, chars); - - return UnicodeSet.from(charSet, StringSet.from(words, getCharCaseFolding(true, false))); -} - -function getPropertyStrings(key: string): readonly ReadonlyWord[] | undefined { - if (key in Alias.Binary_Property_Of_String) { - // binary property of strings - const name = Alias.Binary_Property_Of_String[key as keyof typeof Alias.Binary_Property_Of_String]; - return PropertiesOfStrings[name as keyof typeof PropertiesOfStrings]; - } - return undefined; -} -function getPropertyRanges(key: string, value: string | null): readonly CharRange[] { - if (value == null) { - if (key in Alias.Binary_Property) { - // binary property - const name = Alias.Binary_Property[key as keyof typeof Alias.Binary_Property]; - return Binary_Property[name as keyof typeof Binary_Property]; - } else if (key in Alias.General_Category) { - // value from the general category - const name = Alias.General_Category[key as keyof typeof Alias.General_Category]; - return General_Category[name as keyof typeof General_Category]; - } else { - throw new Error(`Unknown lone Unicode property name or value ${key}.`); - } - } else { - // key=value - - if (!(key in Alias.NonBinaryProperty)) { - throw new Error(`Unknown Unicode property name ${key}.`); - } - const keyName = Alias.NonBinaryProperty[key as keyof typeof Alias.NonBinaryProperty]; - - let categoryAliases: Record; - let categoryValues: Record; - if (keyName === "General_Category") { - categoryAliases = Alias.General_Category; - categoryValues = General_Category; - } else if (keyName === "Script") { - categoryAliases = Alias.ScriptAndScript_Extensions; - categoryValues = Script; - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - } else if (keyName === "Script_Extensions") { - categoryAliases = Alias.ScriptAndScript_Extensions; - categoryValues = Script_Extensions; - } else { - throw assertNever(keyName); - } - - if (!(value in categoryAliases)) { - throw new Error(`Unknown Unicode property value ${value} for the name ${key}.`); - } - const valueName = categoryAliases[value]; - - return categoryValues[valueName]; - } -} diff --git a/src/js/regexpp-util.ts b/src/js/regexpp-util.ts deleted file mode 100644 index 91e7cce8..00000000 --- a/src/js/regexpp-util.ts +++ /dev/null @@ -1,213 +0,0 @@ -import { AST } from "@eslint-community/regexpp"; -import { MatchingDirection } from "../ast-analysis"; - -/** - * Returns whether any of the descendants of the given node fulfill the given condition. - * - * The descendants will be iterated in a DFS top-to-bottom manner from left to right with the first node being the - * given node. - * - * This function is short-circuited, so as soon as any `conditionFn` returns `true`, `true` will be returned. - * - * @param node - * @param conditionFn - */ -export function hasSomeDescendant(node: AST.Node, conditionFn: (node: AST.Node) => boolean): boolean { - if (conditionFn(node)) { - return true; - } - - switch (node.type) { - case "Alternative": - case "StringAlternative": - return node.elements.some(e => hasSomeDescendant(e, conditionFn)); - case "Assertion": - if (node.kind === "lookahead" || node.kind === "lookbehind") { - return node.alternatives.some(a => hasSomeDescendant(a, conditionFn)); - } - return false; - case "CapturingGroup": - case "Group": - case "Pattern": - case "ClassStringDisjunction": - return node.alternatives.some(a => hasSomeDescendant(a, conditionFn)); - case "CharacterClass": - return node.elements.some(e => hasSomeDescendant(e, conditionFn)); - case "ExpressionCharacterClass": - return hasSomeDescendant(node.expression, conditionFn); - case "CharacterClassRange": - return hasSomeDescendant(node.min, conditionFn) || hasSomeDescendant(node.max, conditionFn); - case "ClassIntersection": - case "ClassSubtraction": - return hasSomeDescendant(node.left, conditionFn) || hasSomeDescendant(node.right, conditionFn); - case "Quantifier": - return hasSomeDescendant(node.element, conditionFn); - case "RegExpLiteral": - return hasSomeDescendant(node.pattern, conditionFn) || hasSomeDescendant(node.flags, conditionFn); - } - return false; -} - -/** - * Returns whether any of the ancestors of the given node fulfills the given condition. - * - * The ancestors will be iterated in the order from closest to farthest. - * The condition function will not be called on the given node. - * - * @param node - * @param conditionFn - */ -export function hasSomeAncestor(node: AST.Node, conditionFn: (node: AST.BranchNode) => boolean): boolean { - let parent = node.parent; - while (parent) { - if (conditionFn(parent)) { - return true; - } - parent = parent.parent; - } - return false; -} - -/** - * Returns the direction which which the given node will be matched relative to the closest parent alternative. - * - * @param node - */ -export function inheritedMatchingDirection(node: AST.Node): MatchingDirection { - let parent: AST.Node | null = node.parent; - while (parent) { - if (parent.type === "Assertion") { - return parent.kind === "lookahead" ? "ltr" : "rtl"; - } - parent = parent.parent; - } - return "ltr"; -} - -/** - * Returns whether there is at least one path from the referenced group to the given backreference. - * - * @param backreference - */ -export function somePathToBackreference(backreference: AST.Backreference): boolean { - const group = backreference.resolved; - - if (hasSomeAncestor(backreference, a => a === group)) { - // if the backreference is element of the referenced group - return false; - } - - // Now for the hard part: - // If there exists a path through the regular expression which connect the group and the backreference, then - // the backreference can capture the group iff we only move up, down, or right relative to the group. - - function findBackreference(node: AST.Element): boolean { - const parent = node.parent; - - switch (parent.type) { - case "Alternative": { - // if any elements right to the given node contain or are the backreference, we found it. - const index = parent.elements.indexOf(node); - - // we have to take the current matching direction into account - let next; - if (inheritedMatchingDirection(node) === "ltr") { - // the next elements to match will be right to the given node - next = parent.elements.slice(index + 1); - } else { - // the next elements to match will be left to the given node - next = parent.elements.slice(0, index); - } - - if (next.some(e => hasSomeDescendant(e, d => d === backreference))) { - return true; - } - - // no luck. let's go up! - const parentParent = parent.parent; - if (parentParent.type === "Pattern") { - // can't go up. - return false; - } else { - return findBackreference(parentParent); - } - } - - case "Quantifier": - return findBackreference(parent); - - default: - throw new Error("What happened?"); - } - } - - return findBackreference(group); -} - -/** - * Returns whether the given backreference is always matched __after__ the referenced group was matched. - * - * If there exists any accepting path which goes through the backreference but not through the referenced group, - * this will return `false`. - * - * @param backreference - * @returns - */ -export function backreferenceAlwaysAfterGroup(backreference: AST.Backreference): boolean { - const group = backreference.resolved; - - if (hasSomeAncestor(backreference, a => a === group)) { - // if the backreference is element of the referenced group - return false; - } - - function findBackreference(node: AST.Element): boolean { - const parent = node.parent; - - switch (parent.type) { - case "Alternative": { - // if any elements right to the given node contain or are the backreference, we found it. - const index = parent.elements.indexOf(node); - - // we have to take the current matching direction into account - let next; - if (inheritedMatchingDirection(node) === "ltr") { - // the next elements to match will be right to the given node - next = parent.elements.slice(index + 1); - } else { - // the next elements to match will be left to the given node - next = parent.elements.slice(0, index); - } - - if (next.some(e => hasSomeDescendant(e, d => d === backreference))) { - return true; - } - - // no luck. let's go up! - const parentParent = parent.parent; - if (parentParent.type === "Pattern") { - // can't go up. - return false; - } else { - if (parentParent.alternatives.length > 1) { - // e.g.: (?:a|(a))+b\1 - return false; - } - return findBackreference(parentParent); - } - } - - case "Quantifier": - if (parent.min === 0) { - // e.g.: (a+)?b\1 - return false; - } - return findBackreference(parent); - - default: - throw new Error("What happened?"); - } - } - - return findBackreference(group); -} diff --git a/src/js/string-set.ts b/src/js/string-set.ts deleted file mode 100644 index 10da9311..00000000 --- a/src/js/string-set.ts +++ /dev/null @@ -1,672 +0,0 @@ -import { CharMap, ReadonlyCharMap } from "../char-map"; -import { CharSet } from "../char-set"; -import { Char, ReadonlyWord } from "../char-types"; -import { DFA, ReadonlyDFA } from "../dfa"; -import { debugAssert, filterMut } from "../util"; -import { ReadonlyWordSet } from "../word-set"; -import { CharCaseFolding } from "./char-case-folding"; - -const noopCaseFolding: CharCaseFolding = { - toCharSet() { - throw new Error("Cannot convert char to char set with noop case folding."); - }, -}; - -/** - * A set of words. - * - * Words are stored as a sorted list of canonicalized words. The actual value of the set is {@link wordSets}. - */ -export class StringSet { - /** - * A sorted list of canonicalized words. - * - * Words are guaranteed to be sorted by ascending length followed by ascending character value. - */ - // eslint-disable-next-line @typescript-eslint/naming-convention - private readonly words: readonly ReadonlyWord[]; - - private readonly _caseFolding: CharCaseFolding; - - /** - * `true` if this set is empty. - */ - get isEmpty(): boolean { - return this.words.length === 0; - } - - /** - * `true` if this set contains the empty word. - */ - get hasEmptyWord(): boolean { - return this.words.length > 0 && this.words[0].length === 0; - } - /** - * `true` if this set contains at least one single-character word. - * - * This is equivalent to `this.getSingleCharacter() !== undefined`. - */ - get hasSingleCharacter(): boolean { - const startIndex = this.hasEmptyWord ? 1 : 0; - return this.words.length > startIndex && this.words[startIndex].length === 1; - } - - private _cachedWordSets: readonly ReadonlyWordSet[] | undefined; - - /** - * The words of this set with {@link CharCaseFolding#toCharSet} applied to each character. - * - * Word sets are guaranteed to be sorted by ascending length. - * - * Note: This is a lazy getter. Try to avoid calling it for best performance. - */ - get wordSets(): readonly ReadonlyWordSet[] { - return (this._cachedWordSets ??= toWordSets(this.words, this._caseFolding)); - } - - private _cachedTrie: Trie | undefined; - - private get trie(): Trie { - return (this._cachedTrie ??= Trie.fromWords(this.words, this._caseFolding, () => this.wordSets)); - } - - private constructor(items: readonly ReadonlyWord[], caseFolding: CharCaseFolding) { - this.words = items; - this._caseFolding = caseFolding; - } - - static readonly empty = new StringSet([], noopCaseFolding); - - static from(words: Iterable, caseFolding: CharCaseFolding): StringSet { - const items = [...words]; - if (items.length === 0) { - return StringSet.empty; - } - - if (caseFolding.canonicalize) { - for (let i = 0; i < items.length; i++) { - items[i] = items[i].map(caseFolding.canonicalize); - } - } - - normalize(items); - return new StringSet(items, caseFolding); - } - static fromWord(word: ReadonlyWord, caseFolding: CharCaseFolding): StringSet { - if (caseFolding.canonicalize) { - word = word.map(caseFolding.canonicalize); - } - return new StringSet([word], caseFolding); - } - - /** - * Returns whether this set is compatible with the given set. Compatibility is defined as follows: - * - * 1. The empty set is compatible with all sets. - * 2. Sets with different case folding are incompatible. - * - * @param other - */ - isCompatibleWith(other: StringSet): boolean { - return this.isEmpty || other.isEmpty || this._caseFolding === other._caseFolding; - } - - /** - * Returns whether this set is equal to the given set. - * - * Equality is defined as the `wordSets` of both sets being the same formal language. - * - * @param other - */ - equals(other: StringSet): boolean { - if (this === other) { - return true; - } - - if (this.isEmpty || other.isEmpty) { - return this.isEmpty === other.isEmpty; - } - - if (this._caseFolding !== other._caseFolding) { - return this.trie.equals(other.trie); - } - - if (this.words.length !== other.words.length) { - return false; - } - - // we use the same case folding, so we don't need to use word sets - const a = this.words; - const b = other.words; - for (let i = 0; i < a.length; i++) { - if (compareWords(a[i], b[i]) !== 0) { - return false; - } - } - return true; - } - - /** - * Returns the union of all given sets. - * - * Note: This operation is only allowed if all sets are compatible. - * - * @param others - */ - union(...others: StringSet[]): StringSet { - if (others.length === 0) { - return this; - } else if (others.length === 1) { - const other = others[0]; - if (this.isEmpty) { - return other; - } - if (other.isEmpty) { - return this; - } - if (this._caseFolding !== other._caseFolding) { - throw new Error("Cannot intersect incompatible string sets."); - } - - const items: ReadonlyWord[] = [...this.words, ...other.words]; - normalize(items); - return new StringSet(items, this._caseFolding); - } else { - const items: ReadonlyWord[] = [...this.words]; - for (const set of others) { - items.push(...set.words); - } - - if (items.length === 0) { - return StringSet.empty; - } - - let caseFolding: CharCaseFolding | undefined = this.isEmpty ? undefined : this._caseFolding; - for (const set of others) { - if (!set.isEmpty) { - if (caseFolding === undefined) { - caseFolding = set._caseFolding; - } else if (caseFolding !== set._caseFolding) { - throw new Error("Cannot union incompatible string sets."); - } - } - } - debugAssert(caseFolding !== undefined); - - normalize(items); - return new StringSet(items, caseFolding); - } - } - - /** - * Returns the intersection of this set and the given set. - * - * Note: This operation is only allowed if all sets are compatible. - * - * @param other - */ - intersect(other: StringSet): StringSet { - if (this.isEmpty || other.isEmpty) { - return StringSet.empty; - } - if (this._caseFolding !== other._caseFolding) { - throw new Error("Cannot intersect incompatible string sets."); - } - - const items = intersectSorted(this.words, other.words, compareWords); - if (items.length === this.words.length) { - return this; - } else if (items.length === other.words.length) { - return other; - } else if (items.length === 0) { - return StringSet.empty; - } - return new StringSet(items, this._caseFolding); - } - - /** - * Returns this set without the strings of the given set. - * - * Note: This operation is only allowed if all sets are compatible. - * - * @param other - */ - without(other: StringSet): StringSet { - if (this.isEmpty || other.isEmpty) { - return this; - } - if (this._caseFolding !== other._caseFolding) { - throw new Error("Cannot subtract incompatible string sets."); - } - - const items = withoutSorted(this.words, other.words, compareWords); - if (items.length === this.words.length) { - return this; - } else if (items.length === 0) { - return StringSet.empty; - } - return new StringSet(items, this._caseFolding); - } - - /** - * Returns whether `this ⊇ other`. - * - * @param other - */ - isSupersetOf(other: StringSet): boolean { - if (other.isEmpty) { - return true; - } - if (this.isEmpty) { - return false; - } - if (this._caseFolding !== other._caseFolding) { - return this.trie.isSuperSetOf(other.trie); - } - return isSuperSetSorted(this.words, other.words, compareWords); - } - /** - * Returns whether `this ⊆ other`. - * - * @param other - */ - isSubsetOf(other: StringSet): boolean { - return other.isSupersetOf(this); - } - /** - * Returns whether `this ⊃ other`. - * - * @param other - */ - isProperSupersetOf(other: StringSet): boolean { - return this.isSupersetOf(other) && !this.equals(other); - } - /** - * Returns whether `this ⊂ other`. - * - * @param other - */ - isProperSubsetOf(other: StringSet): boolean { - return this.isSubsetOf(other) && !this.equals(other); - } - - isDisjointWith(other: StringSet): boolean { - if (this.isEmpty || other.isEmpty) { - return true; - } - if (this._caseFolding !== other._caseFolding) { - return this.trie.isDisjointWith(other.trie); - } - return isDisjointWithSorted(this.words, other.words, compareWords); - } - - /** - * Returns a set of all single-character words in this set or `undefined` if this set contains no single-character - * words. - */ - getSingleCharacters(): CharSet | undefined { - const chars: Char[] = []; - for (const word of this.words) { - if (word.length === 1) { - chars.push(word[0]); - } else if (word.length > 1) { - break; - } - } - - if (chars.length === 0) { - return undefined; - } - - return chars.map(char => this._caseFolding.toCharSet(char)).reduce((a, b) => a.union(b)); - } - - /** - * Removes all single-character words from this set. - */ - withoutSingleCharacters(): StringSet { - if (!this.hasSingleCharacter) { - return this; - } - - const items = this.words.filter(w => w.length !== 1); - if (items.length === 0) { - return StringSet.empty; - } - return new StringSet(items, this._caseFolding); - } - /** - * Removes the empty word from this set. - */ - withoutEmptyWord(): StringSet { - if (!this.hasEmptyWord) { - return this; - } - - const items = this.words.slice(1); - if (items.length === 0) { - return StringSet.empty; - } - return new StringSet(items, this._caseFolding); - } - - /** - * Returns the minimum and maximum length of words in this set. - * - * If this set is empty, `undefined` will be returned returned. - */ - getLengthRange(): { min: number; max: number } | undefined { - if (this.isEmpty) { - return undefined; - } - - const min = this.words[0].length; - const max = this.words[this.words.length - 1].length; - return { min, max }; - } -} - -function normalize(items: ReadonlyWord[]): void { - if (items.length <= 1) { - return; - } - - // sort - items.sort(compareWords); - - // remove duplicates - filterMut(items, (item, prev) => !prev || compareWords(item, prev) !== 0); -} - -function compareWords(a: ReadonlyWord, b: ReadonlyWord): number { - if (a.length !== b.length) { - return a.length - b.length; - } - - for (let i = 0; i < a.length; i++) { - const diff = a[i] - b[i]; - if (diff !== 0) { - return diff; - } - } - return 0; -} - -function toWordSets(items: readonly ReadonlyWord[], caseFolding: CharCaseFolding): readonly ReadonlyWordSet[] { - if (items.length === 0) { - return []; - } - - return items.map(word => { - return word.map(char => caseFolding.toCharSet(char)); - }); -} - -function intersectSorted(s1: readonly T[], s2: readonly T[], compare: (a: T, b: T) => number): T[] { - const result: T[] = []; - let i1 = 0; - let i2 = 0; - - while (i1 < s1.length && i2 < s2.length) { - const diff = compare(s1[i1], s2[i2]); - if (diff === 0) { - result.push(s1[i1]); - i1++; - i2++; - } else if (diff < 0) { - i1++; - } else { - i2++; - } - } - - return result; -} - -function withoutSorted(s1: readonly T[], s2: readonly T[], compare: (a: T, b: T) => number): T[] { - const result: T[] = []; - let i1 = 0; - let i2 = 0; - - while (i1 < s1.length && i2 < s2.length) { - const diff = compare(s1[i1], s2[i2]); - if (diff === 0) { - i1++; - i2++; - } else if (diff < 0) { - result.push(s1[i1]); - i1++; - } else { - i2++; - } - } - - if (i1 < s1.length) { - result.push(...s1.slice(i1)); - } - - return result; -} - -function isDisjointWithSorted(s1: readonly T[], s2: readonly T[], compare: (a: T, b: T) => number): boolean { - let i1 = 0; - let i2 = 0; - - while (i1 < s1.length && i2 < s2.length) { - const diff = compare(s1[i1], s2[i2]); - if (diff === 0) { - return false; - } else if (diff < 0) { - i1++; - } else { - i2++; - } - } - - return true; -} - -function isSuperSetSorted(s1: readonly T[], s2: readonly T[], compare: (a: T, b: T) => number): boolean { - let i1 = 0; - let i2 = 0; - - while (i1 < s1.length && i2 < s2.length) { - const diff = compare(s1[i1], s2[i2]); - if (diff === 0) { - i1++; - i2++; - } else if (diff < 0) { - i1++; - } else { - return false; - } - } - - return i2 === s2.length; -} - -class HashState { - hash: number = 0; - - add(value: number): void { - this.hash = (this.hash * 31 + value) | 0; - } -} - -class Trie { - readonly accept: boolean; - /** - * A mapping to the next node. - * - * The key char sets are guaranteed to be sorted and disjoint. - * - * The mapping is also guaranteed to be minimal. This means that for 2 mapping `c1 => n1` and `c2 => n2`, `n1.equals(n2)` means that `c1.equals(c2)`. - */ - readonly next: ReadonlyCharMap; - readonly hash: number; - - constructor(accept: boolean, next: ReadonlyCharMap) { - this.accept = accept; - this.next = next; - - const hashState = new HashState(); - hashState.add(accept ? 1 : 0); - for (const [range, n] of next) { - hashState.add(range.min); - hashState.add(range.max); - hashState.add(n.hash); - } - - this.hash = hashState.hash; - } - - static readonly empty = new Trie(false, new CharMap()); - static readonly emptyString = new Trie(true, new CharMap()); - - static fromWords( - words: readonly ReadonlyWord[], - caseFolding: CharCaseFolding, - getWordSets: () => readonly ReadonlyWordSet[] - ): Trie { - if (words.length === 0) { - return Trie.empty; - } - - let dfa; - if (!caseFolding.canonicalize) { - // Since we don't have a canonicalization function, we know that toCharSet is just `CharSet.fromCharacter`. - // So we can construct the DFA from words directly. - - const maxCharacter = getMaxCharacter(words, char => caseFolding.toCharSet(char).maximum); - if (maxCharacter === undefined) { - // since already handled the empty set case, this must be the empty string - return Trie.emptyString; - } - - dfa = DFA.fromWords(words, { maxCharacter }); - } else { - const wordSets = getWordSets(); - - const maxCharacter = getMaxCharacter(wordSets, set => set.maximum); - if (maxCharacter === undefined) { - // since already handled the empty set case, this must be the empty string - return Trie.emptyString; - } - - dfa = DFA.fromWordSets(wordSets, { maxCharacter }); - } - - dfa.minimize(); - return Trie._fromDFA(dfa); - } - - private static _fromDFA(dfa: ReadonlyDFA): Trie { - const cache = new Map(); - const stack: DFA.ReadonlyNode[] = []; - - const toTrie = (node: DFA.ReadonlyNode): Trie => { - { - // extra scope, so nobody can use this variable - const cached = cache.get(node); - if (cached) { - return cached; - } - } - - if (stack.includes(node)) { - throw new Error("DFA contains cycles."); - } - stack.push(node); - - let trie: Trie; - if (node.out.isEmpty && dfa.finals.has(node)) { - trie = Trie.emptyString; - } else { - const next = node.out.copy(toTrie); - trie = new Trie(dfa.finals.has(node), next); - } - - stack.pop(); - cache.set(node, trie); - return trie; - }; - - return toTrie(dfa.initial); - } - - equals(other: Trie): boolean { - if (this === other) { - return true; - } - if ( - this.hash !== other.hash || - this.accept !== other.accept || - this.next.entryCount !== other.next.entryCount || - this.next.size !== other.next.size - ) { - return false; - } - - const aEntries = [...this.next.entries()]; - const bEntries = [...other.next.entries()]; - for (let i = 0; i < aEntries.length; i++) { - const a = aEntries[i]; - const b = bEntries[i]; - if (a[0].min !== b[0].min || a[0].max !== b[0].max || !a[1].equals(b[1])) { - return false; - } - } - return true; - } - - isSuperSetOf(other: Trie): boolean { - if (this === other) { - return true; - } - if (other.accept && !this.accept) { - return false; - } - - if (other.next.size > this.next.size) { - return false; - } - - for (const [range, subSet] of other.next.entries()) { - for (let c = range.min; c <= range.max; c++) { - const superSet = this.next.get(c); - if (!superSet || !superSet.isSuperSetOf(subSet)) { - return false; - } - } - } - return true; - } - - isDisjointWith(other: Trie): boolean { - if (this === other || (this.accept && other.accept)) { - return false; - } - if (this.next.isEmpty || other.next.isEmpty) { - return true; - } - - for (const [range, a] of other.next.entries()) { - for (let c = range.min; c <= range.max; c++) { - const b = this.next.get(c); - if (b && !a.isDisjointWith(b)) { - return false; - } - } - } - return true; - } -} - -function getMaxCharacter(iter: Iterable, getMaximum: (item: T) => Char): Char | undefined { - for (const a of iter) { - for (const b of a) { - return getMaximum(b); - } - } - return undefined; -} diff --git a/src/js/to-literal.ts b/src/js/to-literal.ts deleted file mode 100644 index e53bcda0..00000000 --- a/src/js/to-literal.ts +++ /dev/null @@ -1,935 +0,0 @@ -import { Char } from "../char-types"; -import { Alternation, Assertion, Concatenation, Expression, NoParent, Node, visitAst } from "../ast"; -import { assertNever, cachedFunc, debugAssert } from "../util"; -import { CharRange, CharSet } from "../char-set"; -import { Flags, UncheckedFlags, isFlags } from "./flags"; -import { Literal } from "./literal"; -import { CharEnv, CharEnvIgnoreCase, getCharEnv } from "./char-env"; -import { UTF16Result, toUTF16 } from "./unicode-to-utf16"; -import { UTF16CaseVarying } from "./utf16-case-folding"; -import { Maximum } from "./maximum"; - -export interface ToLiteralOptions { - /** - * An optional template for the flags of the JavaScript RegExp literal to be created. - * - * All flags that are set to `false` are guaranteed to be disabled in the created literal. Likewise, all flags that - * are set to `true` are guaranteed to be enabled in the created literal. - * - * Flags that are `undefined` will be enabled/disabled depending on the implementation. While no guarantees are - * given, the implementation will generally try to choose flags such that it can create a literal that is as - * small/simple as possible. - * - * If the constraints on flags defined here make it impossible to create a literal, an error will be thrown. - */ - flags?: Flags; - - /** - * This will force the function to print characters as fast as possible. - * - * Literals created with this option will usually be created about 10x faster but the result will usually be very - * hard to read. The is option is intended to provide performance benefits when readability is not a concern. - * - * @default false - */ - fastCharacters?: boolean; -} - -/** - * Converts the given AST or AST subtree into a JS literal. - * - * The returned literal will be a literal representation of the given AST. However, assertions maybe converted to - * builtin JS RegExp assertions (e.g `\b`, `$`) instead of using the literal lookahead/lookbehind form. - * - * @param node - * @param options - */ -export function toLiteral(node: NoParent, options?: Readonly): Literal; -export function toLiteral( - alternatives: readonly NoParent[], - options?: Readonly -): Literal; -export function toLiteral( - value: NoParent | readonly NoParent[], - options?: Readonly -): Literal { - const fastCharacters = options?.fastCharacters ?? false; - - let nodes: readonly NoParent[]; - if (Array.isArray(value)) { - nodes = value as readonly NoParent[]; - } else { - nodes = [value as NoParent | NoParent]; - } - - const result = getFlags(nodes, options, fastCharacters); - const flags: Readonly = result.flags; - const { converter, inputUnicode } = result; - - const env = getCharEnv(flags); - - const printCharSet = createCharacterPrinter(fastCharacters, flags, env); - - const context: PrintContext = { - flags, - printCharSet, - env: getCharEnv(flags), - inputEnv: getCharEnv({ unicode: inputUnicode }), - converter, - }; - - return { - source: toSource(value, context), - flags: toFlagsString(flags), - }; -} - -function toFlagsString(flags: Readonly): string { - let flagsString = ""; - - if (flags.hasIndices) { - flagsString += "d"; - } - if (flags.global) { - flagsString += "g"; - } - if (flags.ignoreCase) { - flagsString += "i"; - } - if (flags.multiline) { - flagsString += "m"; - } - if (flags.dotAll) { - flagsString += "s"; - } - if (flags.unicode) { - flagsString += "u"; - } - if (flags.unicodeSets) { - flagsString += "v"; - } - if (flags.sticky) { - flagsString += "y"; - } - - return flagsString; -} - -function createCharacterPrinter( - fastCharacters: boolean, - flags: Readonly, - env: CharEnv -): (value: CharSet) => string { - if (fastCharacters) { - return cachedFunc(printCharactersFast); - } else { - return cachedFunc(cs => printCharacters(cs, flags, env)); - } -} - -interface PrintContext { - readonly printCharSet: (value: CharSet) => string; - readonly env: CharEnv; - readonly inputEnv: CharEnv; - readonly flags: Flags; - readonly converter: CharSetConverter; -} - -function toSource(value: NoParent | readonly NoParent[], context: PrintContext): string { - if (Array.isArray(value)) { - return alternativesToSource(value as readonly NoParent[], context); - } else { - return nodeToSource(value as NoParent, context); - } -} -function alternativesToSource(alternatives: readonly NoParent[], context: PrintContext): string { - if (alternatives.length === 0) { - return "[]"; - } else { - let s = ""; - let first = true; - for (const a of alternatives) { - if (first) { - first = false; - } else { - s += "|"; - } - s += nodeToSource(a, context); - } - return s; - } -} -function nodeToSource(node: NoParent, context: PrintContext): string { - switch (node.type) { - case "Alternation": { - const assertion = isBoundaryAssertion(node, context.env); - if (assertion !== false) { - return assertion; - } - - return "(?:" + alternativesToSource(node.alternatives, context) + ")"; - } - case "Assertion": { - if (isEdgeAssertion(node, context.flags, context.inputEnv)) { - return node.kind === "behind" ? "^" : "$"; - } - - if (node.negate) { - const chars = getSingleCharSetInAssertion(node); - if (chars) { - // try to give ^ $ an efficient representation even if their required flag isn't present - const dir = node.kind === "ahead" ? "" : "<"; - if (context.inputEnv.nonLineTerminator.equals(chars)) { - return `(?${dir}!${context.printCharSet(context.env.nonLineTerminator)})`; - } - if (chars.isAll) { - return `(?${dir}!${context.printCharSet(context.env.all)})`; - } - } - } - - let s = "(?"; - if (node.kind === "behind") { - s += "<"; - } - s += node.negate ? "!" : "="; - s += alternativesToSource(node.alternatives, context); - s += ")"; - return s; - } - case "CharacterClass": { - if (node.characters.maximum !== context.inputEnv.maxCharacter) { - throw new Error(`All characters were expected to have a maximum of ${context.inputEnv.maxCharacter}.`); - } - - if (node.characters.maximum === Maximum.UNICODE && !(context.flags.unicode || context.flags.unicodeSets)) { - // convert Unicode character set to UTF16 - debugAssert(context.converter instanceof UnicodeToUTF16CharSetConverter); - const utf16Result = context.converter.getUTF16Result(node.characters); - - if (utf16Result.astral.length === 0 && utf16Result.high.isEmpty && utf16Result.low.isEmpty) { - // in this case, the Unicode and UTF16 character set are equivalent - return context.printCharSet(utf16Result.bmp); - } - - let s = ""; - if (!utf16Result.bmp.isEmpty) { - s += context.printCharSet(utf16Result.bmp) + "|"; - } - for (const [high, low] of utf16Result.astral) { - s += context.printCharSet(high) + context.printCharSet(low) + "|"; - } - if (!utf16Result.high.isEmpty) { - s += context.printCharSet(utf16Result.high) + "(?![\\udc00-\\udfff])|"; - } - if (!utf16Result.low.isEmpty) { - s += "(? "\\" + m) - // eslint-disable-next-line no-control-regex - .replace(/[\0-\x1F]/g, m => "\\x" + m.charCodeAt(0).toString(16).padStart(2, "0")) + - "[]" - ); - } - default: - throw assertNever(node); - } -} -function isEdgeAssertion(assertion: NoParent, flags: Flags, env: CharEnv): boolean { - if (assertion.negate) { - const chars = getSingleCharSetInAssertion(assertion); - if (chars) { - debugAssert(chars.maximum === env.maxCharacter); - return (flags.multiline && env.nonLineTerminator.equals(chars)) || (!flags.multiline && chars.isAll); - } - } - return false; -} -function isBoundaryAssertion(alternation: NoParent, env: CharEnv): "\\b" | "\\B" | false { - // \b == (?): CharSet | undefined { - if (assertion.alternatives.length === 1) { - const alt = assertion.alternatives[0]; - if (alt.elements.length === 1) { - const e = alt.elements[0]; - if (e.type === "CharacterClass") { - return e.characters; - } - } - } - return undefined; -} - -function makeIgnoreCaseSingleChar(char: Char, env: CharEnv & CharEnvIgnoreCase): CharSet | null { - const folding = env.caseFolding[char]; - if (folding) { - return CharSet.fromCharacters(env.maxCharacter, folding); - } else { - return null; - } -} - -const UTF16_ASCII_CASE_VARYING = CharSet.empty(Maximum.UTF16).union([ - { min: 0x41, max: 0x5a }, // A-Z - { min: 0x61, max: 0x7a }, // a-z -]); -const UTF16_NON_ASCII_CASE_VARYING = UTF16CaseVarying.without(UTF16_ASCII_CASE_VARYING); -const enum GetIgnoreCaseFlagResult { - DONT_CARE, - BENEFICIAL, - FORBIDDEN, -} -function getIgnoreCaseFlag( - value: readonly NoParent[], - unicode: boolean, - converter: CharSetConverter -): GetIgnoreCaseFlagResult { - const env = getCharEnv({ unicode, ignoreCase: true }); - debugAssert(env.ignoreCase === true); - - let beneficial = false as boolean; - - try { - for (const node of value) { - visitAst(node, { - onCharacterClassEnter(node) { - const cs = converter.getCaseVaryingPart(node.characters); - - if (cs.isDisjointWith(env.caseVarying) || cs.isSupersetOf(env.caseVarying)) { - // The char set either contains none or all case-varying characters. - // This means that we don't have to worry about casing. The character printer might be able to - // print a smaller character class if the i flag was enabled but that's unlikely. - return; - } - - if (!unicode) { - // For non-Unicode regexes, we have to do a bit more work to avoid unnecessary i flags. - // The problem is that \w's won't be caught by the above condition (they were in Unicode mode), - // so we have to get creative or all regexes containing \w's will get an i flag (unless - // forbidden). - // - // The trick we use lies in the canonicalization algorithm for non-Unicode regexes. The - // algorithm explicitly distinguishes between ASCII and non-ASCII characters. The case folding - // maps for those two character types are completely disjoint. This means that we can split the - // case-varying condition to check for ASCII and non-ASCII separately. - // - // However, this will actually give a few too many false positives, so we will use a little - // hack to gear this condition specifically towards \w: We will assume that all \w characters - // are case-varying. That's false of course, but it prevents a few false positives. - if ( - ((cs.isDisjointWith(env.word) || cs.isSupersetOf(env.word)) && - cs.isDisjointWith(UTF16_NON_ASCII_CASE_VARYING)) || - cs.isSupersetOf(UTF16_NON_ASCII_CASE_VARYING) - ) { - return; - } - } - - beneficial = true; - - if (!cs.equals(env.withCaseVaryingCharacters(cs))) { - throw GetIgnoreCaseFlagResult.FORBIDDEN; - } - }, - }); - } - } catch (e) { - if (e === GetIgnoreCaseFlagResult.FORBIDDEN) { - return GetIgnoreCaseFlagResult.FORBIDDEN; - } - throw e; - } - - return beneficial ? GetIgnoreCaseFlagResult.BENEFICIAL : GetIgnoreCaseFlagResult.DONT_CARE; -} - -function getMultilineFlag(value: readonly NoParent[], env: CharEnv): boolean | undefined { - let stringStartAssertion = false; - let stringEndAssertion = false; - let lineStartAssertion = false; - let lineEndAssertion = false; - - for (const node of value) { - visitAst(node, { - onAssertionEnter(assertion) { - if (assertion.negate && assertion.alternatives.length === 1) { - const alt = assertion.alternatives[0]; - if (alt.elements.length === 1) { - const e = alt.elements[0]; - if (e.type === "CharacterClass") { - const chars = e.characters; - if (chars.isAll) { - if (assertion.kind === "ahead") { - stringEndAssertion = true; - } else { - stringStartAssertion = true; - } - } else if (env.nonLineTerminator.equals(chars)) { - if (assertion.kind === "ahead") { - lineEndAssertion = true; - } else { - lineStartAssertion = true; - } - } - } - } - } - }, - }); - } - - // try to avoid lookbehinds (browser support for them isn't great) - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (lineStartAssertion) { - return true; - } - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (stringStartAssertion) { - return false; - } - - // try to avoid (?!.), so we can enable the s flag - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (lineEndAssertion) { - return true; - } - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (stringEndAssertion) { - return false; - } - - return undefined; -} - -function isUnicodeMode(value: readonly NoParent[]): boolean | undefined { - try { - for (const node of value) { - visitAst(node, { - onCharacterClassEnter(node) { - if (node.characters.maximum === Maximum.UNICODE) { - throw true; - } else if (node.characters.maximum === Maximum.UTF16) { - throw false; - } else { - throw new Error("All character sets have to have a maximum of either 0xFFFF or 0x10FFFF."); - } - }, - }); - } - } catch (e) { - if (typeof e === "boolean") { - return e; - } - throw e; - } - - return undefined; // no characters -} -function getUnicodeFlags( - value: readonly NoParent[], - template: Flags -): { unicode: boolean; unicodeSets: boolean; converter: CharSetConverter; inputUnicode: boolean | undefined } { - const inputUnicode = isUnicodeMode(value); - if (inputUnicode === undefined) { - // input doesn't contain characters, so we can choose - return { - unicode: template.unicode ?? false, - unicodeSets: template.unicodeSets ?? false, - converter: new NoopCharConverter(), - inputUnicode, - }; - } - - if (template.unicodeSets) { - if (!inputUnicode) { - throw new Error( - `Incompatible flags: The v flag is required by the flags options but a UTF16 regex cannot be converted to a Unicode regex.` - ); - } - - return { - unicode: false, - unicodeSets: true, - converter: new NoopCharConverter(), - inputUnicode, - }; - } - - if (template.unicode) { - if (inputUnicode === false) { - throw new Error( - `Incompatible flags: The u flag is required by the flags options but a UTF16 regex cannot be converted to a Unicode regex.` - ); - } - - return { - unicode: true, - unicodeSets: false, - converter: new NoopCharConverter(), - inputUnicode, - }; - } - - const unicode: boolean = template.unicode ?? inputUnicode; - const converter: CharSetConverter = - unicode === inputUnicode ? new NoopCharConverter() : new UnicodeToUTF16CharSetConverter(); - - return { - unicode, - unicodeSets: false, - converter, - inputUnicode, - }; -} - -function getFlags( - value: readonly NoParent[], - options: Readonly | undefined, - fastCharacters: boolean -): { flags: Required; converter: CharSetConverter; inputUnicode: boolean } { - const template = options?.flags ?? {}; - - // u flag and v flag - const { unicode, unicodeSets, converter, inputUnicode } = getUnicodeFlags(value, template); - - const effectiveUnicode = unicode || unicodeSets; - - // i flag - let ignoreCase: boolean; - if (template.ignoreCase === true) { - // check that it's actually possible to enable the i flag - if (getIgnoreCaseFlag(value, effectiveUnicode, converter) === GetIgnoreCaseFlagResult.FORBIDDEN) { - throw new Error( - `Incompatible flags: The i flag is forbidden to create a literal but required by the flags options.` - ); - } - ignoreCase = true; - } else if (template.ignoreCase === false) { - // it's always possible to not use the i flag - ignoreCase = false; - } else { - // we can choose - if (fastCharacters) { - ignoreCase = false; - } else { - const result = getIgnoreCaseFlag(value, effectiveUnicode, converter); - ignoreCase = result === GetIgnoreCaseFlagResult.BENEFICIAL ? true : false; - } - } - - // m flag - let multiline = template.multiline; - if (multiline === undefined) { - multiline = getMultilineFlag(value, getCharEnv({ unicode: inputUnicode })) ?? false; - } - - const flags: Required = { - dotAll: template.dotAll ?? false, - global: template.global ?? false, - hasIndices: template.hasIndices ?? false, - ignoreCase, - multiline, - sticky: template.sticky ?? false, - unicode, - unicodeSets, - }; - debugAssert(isFlags(flags)); - - return { - flags: flags, - converter, - inputUnicode: inputUnicode ?? false, - }; -} - -interface CharSetConverter { - /** - * Returns a character set that is a subset of the given character set and a superset of a case-varying characters - * in the given character set. - */ - getCaseVaryingPart(value: CharSet): CharSet; -} -class NoopCharConverter implements CharSetConverter { - getCaseVaryingPart(value: CharSet): CharSet { - return value; - } -} -class UnicodeToUTF16CharSetConverter implements CharSetConverter { - private readonly _cache = new Map(); - getUTF16Result(value: CharSet): UTF16Result { - let result = this._cache.get(value); - if (result === undefined) { - result = toUTF16(value); - this._cache.set(value, result); - } - return result; - } - getCaseVaryingPart(value: CharSet): CharSet { - return this.getUTF16Result(value).bmp; - } -} - -const PRINTABLE_CONTROL_CHARACTERS = new Map([ - ["\n".charCodeAt(0), "\\n"], - ["\f".charCodeAt(0), "\\f"], - ["\t".charCodeAt(0), "\\t"], - ["\r".charCodeAt(0), "\\r"], -]); - -function printAsHex(char: Char): string { - if (char === 0) { - return "\\0"; - } else if (char < 16) { - return "\\x0" + char.toString(16); - } else if (char < 256) { - return "\\x" + char.toString(16); - } else if (char < 4096) { - return "\\u0" + char.toString(16); - } else if (char < 65536) { - return "\\u" + char.toString(16); - } else { - return "\\u{" + char.toString(16) + "}"; - } -} - -const SPECIAL_IN_CHAR_CLASS = new Set([..."\\]-^"].map(c => c.charCodeAt(0))); -function printInCharClass(char: Char): string { - // special characters - if (SPECIAL_IN_CHAR_CLASS.has(char)) { - return "\\" + String.fromCharCode(char); - } - - const specialPrintable = PRINTABLE_CONTROL_CHARACTERS.get(char); - if (specialPrintable !== undefined) { - return specialPrintable; - } - - if (char >= 32 && char < 127) { - // printable ASCII chars - return String.fromCharCode(char); - } - - return printAsHex(char); -} - -const PRINTABLE_RANGES: readonly CharRange[] = [ - { min: 0x30, max: 0x39 }, // 0-9 - { min: 0x41, max: 0x5a }, // A-Z - { min: 0x61, max: 0x7a }, // a-z -]; -const PRINTABLE_RANGES_MIN = Math.min(...PRINTABLE_RANGES.map(r => r.min)); -const PRINTABLE_RANGES_MAX = Math.max(...PRINTABLE_RANGES.map(r => r.max)); -function printAsRange(range: CharRange): string { - if ( - PRINTABLE_RANGES_MIN <= range.min && - range.max <= PRINTABLE_RANGES_MAX && - PRINTABLE_RANGES.some(({ min, max }) => min <= range.min && range.max <= max) - ) { - // printable ASCII char range - return String.fromCharCode(range.min) + "-" + String.fromCharCode(range.max); - } else { - return printAsHex(range.min) + "-" + printAsHex(range.max); - } -} -function printCharRange(range: CharRange): string { - if (range.min === range.max) { - return printInCharClass(range.min); - } - if (range.min === range.max - 1) { - return printInCharClass(range.min) + printInCharClass(range.max); - } - - const size = range.max - range.min + 1; - if (size <= 6) { - let s = ""; - for (let i = range.min; i <= range.max; i++) { - s += printInCharClass(i); - } - - return shortest(s, printAsRange(range)); - } else { - return printAsRange(range); - } -} - -const SPECIAL_OUTSIDE_CHAR_CLASS = new Set([..."()[]{}*+?|\\.^$/"].map(c => c.charCodeAt(0))); -function printOutsideOfCharClass(char: Char): string { - if (SPECIAL_OUTSIDE_CHAR_CLASS.has(char)) { - return "\\" + String.fromCharCode(char); - } - - const specialPrint = PRINTABLE_CONTROL_CHARACTERS.get(char); - if (specialPrint !== undefined) { - return specialPrint; - } - - if (char >= 32 && char < 127) { - // printable ASCII chars - return String.fromCharCode(char); - } - - return printAsHex(char); -} - -function rangeEqual(a: readonly CharRange[], b: readonly CharRange[]): boolean { - const l = a.length; - if (l !== b.length) { - return false; - } - for (let i = 0; i < l; i++) { - const aR = a[i]; - const bR = b[i]; - if (aR.min !== bR.min || aR.max !== bR.max) { - return false; - } - } - return true; -} - -function printCharClassContentSimple(set: CharSet): string { - let s = ""; - for (const range of set.ranges) { - s += printCharRange(range); - } - return s; -} -function printCharClassContentSimpleIgnoreCase(set: CharSet, env: CharEnv & CharEnvIgnoreCase): string { - let hasAlready = env.empty; - - let s = ""; - for (const range of set.ranges) { - if (!hasAlready.isSupersetOf(range)) { - s += printCharRange(range); - hasAlready = hasAlready.union(env.withCaseVaryingCharacters(CharSet.fromRange(env.maxCharacter, range))); - } - } - return s; -} - -function shortest(a: string, b: string): string { - return a.length <= b.length ? a : b; -} - -function printCharClassContent(set: CharSet, env: CharEnv): string { - type CandidateCreator = (set: CharSet) => string; - - const simpleCreator: CandidateCreator = set => { - let s = printCharClassContentSimple(set); - if (env.ignoreCase) { - s = shortest(s, printCharClassContentSimpleIgnoreCase(set, env)); - } - return s; - }; - const reducedCreator: CandidateCreator = set => { - // The simplest approach would be to print all ranges but the resulting character class might not be minimal or - // readable, so we try to subtract common char sets first in an attempt to make it more readable. - - let reducedSet = set; - let reducedPrefix = ""; - if (reducedSet.isSupersetOf(env.space)) { - reducedPrefix += "\\s"; - reducedSet = reducedSet.without(env.space); - } - if (reducedSet.isSupersetOf(env.word)) { - reducedPrefix += "\\w"; - reducedSet = reducedSet.without(env.word); - } - if (reducedSet.isSupersetOf(env.digit)) { - reducedPrefix += "\\d"; - reducedSet = reducedSet.without(env.digit); - } - - if (set === reducedSet || reducedSet.ranges.length > set.ranges.length * 2 + 2) { - // couldn't be reduced or the reduced set is significantly more complex than the original set. - return simpleCreator(set); - } else { - return shortest(simpleCreator(set), reducedPrefix + simpleCreator(reducedSet)); - } - }; - const moveDashCreator: CandidateCreator = set => { - // If the set contains a dash ("-"), then it might be a good idea to move the dash to the start of the set, so - // we don't have to escape it. - if (set.has(45 /* === "-".charCodeAt(0) */) && !set.has(46) /* "-" has to be at the end of a range */) { - const withoutDash = set.without({ min: 45, max: 45 }); - return shortest(reducedCreator(set), "-" + reducedCreator(withoutDash)); - } else { - return reducedCreator(set); - } - }; - const moveCaretCreator: CandidateCreator = set => { - // Similar idea to move dash but for the caret ("^") - if ( - set.ranges.length > 1 /* there have to be at least 2 ranges for this */ && - set.has(94 /* === "^".charCodeAt(0) */) && - !set.has(93) /* "^" has to be at the start of a range */ - ) { - const withoutCaret = set.without({ min: 94, max: 94 }); - return shortest(moveDashCreator(set), moveDashCreator(withoutCaret) + "^"); - } else { - return moveDashCreator(set); - } - }; - - return moveCaretCreator(set); -} - -function printCharacters(chars: CharSet, flags: Readonly, env: CharEnv): string { - // print - if (chars.isAll) { - return flags.dotAll ? "." : "[^]"; - } - if (chars.isEmpty) { - return "[]"; - } - - const min: Char = chars.ranges[0].min; - if (chars.ranges.length === 1 && min === chars.ranges[0].max) { - // a single character - return printOutsideOfCharClass(min); - } else if (env.ignoreCase) { - const minIgnoreCase = makeIgnoreCaseSingleChar(min, env); - if (minIgnoreCase && minIgnoreCase.equals(chars)) { - // single character because - return printOutsideOfCharClass(min); - } - } - - // if the first min is 0, then it's most likely negated, so don't even bother checking non-negated char sets - if (min !== 0) { - if (rangeEqual(chars.ranges, env.digit.ranges)) { - return "\\d"; - } - if (rangeEqual(chars.ranges, env.space.ranges)) { - return "\\s"; - } - if (rangeEqual(chars.ranges, env.word.ranges)) { - return "\\w"; - } - } else { - if (rangeEqual(chars.ranges, env.nonDigit.ranges)) { - return "\\D"; - } - if (rangeEqual(chars.ranges, env.nonSpace.ranges)) { - return "\\S"; - } - if (rangeEqual(chars.ranges, env.nonWord.ranges)) { - return "\\W"; - } - if (!flags.dotAll && rangeEqual(chars.ranges, env.nonLineTerminator.ranges)) { - return "."; - } - } - - const source = printCharClassContent(chars, env); - const negatedSource = printCharClassContent(chars.negate(), env); - - if (source.length <= negatedSource.length) { - return `[${source}]`; - } else { - return `[^${negatedSource}]`; - } -} -function printCharactersFast(chars: CharSet): string { - return `[${printCharClassContentSimple(chars)}]`; -} diff --git a/src/js/unicode-set.ts b/src/js/unicode-set.ts deleted file mode 100644 index 266a7e5d..00000000 --- a/src/js/unicode-set.ts +++ /dev/null @@ -1,242 +0,0 @@ -import { CharRange, CharSet } from "../char-set"; -import { Char } from "../char-types"; -import { ReadonlyWordSet } from "../word-set"; -import { StringSet } from "./string-set"; - -const emptyCache = new Map(); - -/** - * A mathematical set of characters and strings. - * - * Despite the name, the characters in this set are not necessarily Unicode characters. - * So `chars.maximum` is not necessarily `0x10FFFF`. - * - * The set is represented as a union of a {@link CharSet} and a {@link StringSet}. - */ -export class UnicodeSet { - /** - * All single characters in the set. - */ - readonly chars: CharSet; - /** - * A sorted set of words. - * - * In addition to the usual guarantees of `StringSet`, this set is also guaranteed to not contain any - * single-character words. - */ - readonly accept: StringSet; - - /** - * The maximum character in the set. - * - * This is equivalent to `this.chars.maximum`. - */ - get maximum(): Char { - return this.chars.maximum; - } - - /** - * `true` if the set is empty (=accepts no words). - */ - get isEmpty(): boolean { - return this.chars.isEmpty && this.accept.isEmpty; - } - - /** - * `true` if the set contains the empty word. - * - * This is equivalent to `this.accept.hasEmptyWord`. - */ - get hasEmptyWord(): boolean { - return this.accept.hasEmptyWord; - } - - private _cachedWordSets: readonly ReadonlyWordSet[] | undefined; - - /** - * All word sets accepted by this set. - * - * Word sets are guaranteed to be sorted by **descending** length and code points. This means that word sets are in - * the order in which the ECMAScript RegExp engine would try matching them. - * - * Note: This is a lazy getter. Try to avoid calling it for best performance. - */ - get wordSets(): readonly ReadonlyWordSet[] { - return (this._cachedWordSets ??= toWordSets(this)); - } - - private constructor(chars: CharSet, accept: StringSet) { - this.chars = chars; - this.accept = accept; - } - - static empty(maximum: Char): UnicodeSet { - let emptySet = emptyCache.get(maximum); - if (emptySet === undefined) { - emptySet = new UnicodeSet(CharSet.empty(maximum), StringSet.empty); - emptyCache.set(maximum, emptySet); - } - return emptySet; - } - - static fromChars(chars: CharSet): UnicodeSet { - return new UnicodeSet(chars, StringSet.empty); - } - static from(chars: CharSet, accept: StringSet): UnicodeSet { - const singleChars = accept.getSingleCharacters(); - if (singleChars) { - chars = chars.union(singleChars); - accept = accept.withoutSingleCharacters(); - } - - return new UnicodeSet(chars, accept); - } - - /** - * Returns whether this set and the other set contain the same formal language. - * - * @param other - */ - equals(other: UnicodeSet | CharSet | CharRange): boolean { - if (other instanceof UnicodeSet) { - return this.chars.equals(other.chars) && this.accept.equals(other.accept); - } else { - return this.accept.isEmpty && this.chars.equals(other); - } - } - - isCompatibleWith(other: UnicodeSet): boolean { - return this.chars.maximum === other.chars.maximum && this.accept.isCompatibleWith(other.accept); - } - - union(...others: (UnicodeSet | CharSet)[]): UnicodeSet { - if (others.length === 0) { - return this; - } else if (others.length === 1) { - const o = others[0]; - if (o instanceof UnicodeSet) { - return new UnicodeSet(this.chars.union(o.chars), this.accept.union(o.accept)); - } else { - return new UnicodeSet(this.chars.union(o), this.accept); - } - } else { - return new UnicodeSet( - this.chars.union(...others.map(o => (o instanceof UnicodeSet ? o.chars : o))), - this.accept.union(...others.map(o => (o instanceof UnicodeSet ? o.accept : StringSet.empty))) - ); - } - } - - intersect(other: UnicodeSet | CharSet | CharRange): UnicodeSet { - if (other instanceof UnicodeSet) { - return new UnicodeSet(this.chars.intersect(other.chars), this.accept.intersect(other.accept)); - } else { - return new UnicodeSet(this.chars.intersect(other), StringSet.empty); - } - } - - without(other: UnicodeSet | CharSet | CharRange): UnicodeSet { - if (other instanceof UnicodeSet) { - return new UnicodeSet(this.chars.without(other.chars), this.accept.without(other.accept)); - } else { - return new UnicodeSet(this.chars.without(other), this.accept); - } - } - - /** - * Returns whether `this ⊇ other`. - * - * @param other - */ - isSupersetOf(other: UnicodeSet | CharSet | CharRange): boolean { - if (other instanceof UnicodeSet) { - return this.chars.isSupersetOf(other.chars) && this.accept.isSupersetOf(other.accept); - } else { - return this.chars.isSupersetOf(other); - } - } - /** - * Returns whether `this ⊆ other`. - * - * @param other - */ - isSubsetOf(other: UnicodeSet | CharSet | CharRange): boolean { - if (other instanceof UnicodeSet) { - return this.chars.isSubsetOf(other.chars) && this.accept.isSubsetOf(other.accept); - } else { - return this.accept.isEmpty && this.chars.isSubsetOf(other); - } - } - /** - * Returns whether `this ⊃ other`. - * - * @param other - */ - isProperSupersetOf(other: UnicodeSet | CharSet | CharRange): boolean { - return this.isSupersetOf(other) && !this.equals(other); - } - /** - * Returns whether `this ⊂ other`. - * - * @param other - */ - isProperSubsetOf(other: UnicodeSet | CharSet | CharRange): boolean { - return this.isSubsetOf(other) && !this.equals(other); - } - - isDisjointWith(other: UnicodeSet | CharSet | CharRange): boolean { - if (other instanceof UnicodeSet) { - return this.chars.isDisjointWith(other.chars) && this.accept.isDisjointWith(other.accept); - } else { - return this.chars.isDisjointWith(other); - } - } - - /** - * Returns the minimum and maximum length of words in this set. - * - * If this set is empty, `undefined` will be returned returned. - */ - getLengthRange(): { min: number; max: number } | undefined { - if (this.chars.isEmpty) { - return this.accept.getLengthRange(); - } else { - const wordRange = this.accept.getLengthRange(); - if (wordRange === undefined) { - return { min: 1, max: 1 }; - } else { - return { - min: Math.min(1, wordRange.min), - max: Math.max(1, wordRange.max), - }; - } - } - } -} - -function toWordSets(set: UnicodeSet): readonly ReadonlyWordSet[] { - if (set.isEmpty) { - return []; - } - if (set.accept.isEmpty && !set.chars.isEmpty) { - return [[set.chars]]; - } - - const wordSets: ReadonlyWordSet[] = Array.from(set.accept.wordSets); - if (!set.chars.isEmpty) { - wordSets.push([set.chars]); - } - wordSets.sort((a, b) => { - if (a.length !== b.length) { - return b.length - a.length; - } - for (let i = 0; i < a.length; i++) { - const diff = a[i].compare(b[i]); - if (diff !== 0) { - return diff; - } - } - return 0; - }); - return wordSets; -} diff --git a/src/js/unicode-to-utf16.ts b/src/js/unicode-to-utf16.ts deleted file mode 100644 index eb24b343..00000000 --- a/src/js/unicode-to-utf16.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { CharRange, CharSet } from "../char-set"; -import { Char } from "../char-types"; -import { Maximum } from "./maximum"; - -const enum HighSurrogate { - MIN = 0xd800, - MAX = 0xdbff, -} -const enum LowSurrogate { - MIN = 0xdc00, - MAX = 0xdfff, -} - -const BMP: CharRange = { min: 0, max: Maximum.UTF16 }; -const SURROGATE_RANGE: CharRange = { min: 0xd800, max: 0xdfff }; -const HIGH_SURROGATE_RANGE: CharRange = { min: HighSurrogate.MIN, max: HighSurrogate.MAX }; -const LOW_SURROGATE_RANGE: CharRange = { min: LowSurrogate.MIN, max: LowSurrogate.MAX }; -const LOW_SURROGATE_SET: CharSet = CharSet.empty(Maximum.UTF16).union([LOW_SURROGATE_RANGE]); - -/** - * A representation of UTF16 character codes. - * - * The representation is equivalent to the regex: - * - * ```js - * /[bmp]|[astral_0_0][astral_0_1]|...|[astral_n_0][astral_n_1]|(? compareRanges(a.low, b.low)); - - interface CompressedPartialItem { - /** A list of high surrogate for all the low surrogates. */ - high: Char[]; - /** A sorted list of disjoint, non-adjacent ranges of low surrogates. */ - low: CharRange[]; - } - const compressedPartials: CompressedPartialItem[] = []; - - for (const { high, low } of partials) { - const last = compressedPartials[compressedPartials.length - 1] as CompressedPartialItem | undefined; - if (last !== undefined && equalRanges(last.low, low)) { - last.high.push(high); - } else { - compressedPartials.push({ high: [high], low }); - } - } - - // Step 3: - // Combine the compressed partials and the full list to create the final list - - const result: UTF16Result["astral"] = []; - - if (full.length > 0) { - result.push([CharSet.empty(Maximum.UTF16).union(full), LOW_SURROGATE_SET]); - } - - for (const { high, low } of compressedPartials) { - // This additional sort will be unnecessary if `Array#sort` is stable. - // TODO: Are we allowed to assume stable sorting? - high.sort((a, b) => a - b); - - result.push([CharSet.fromCharacters(Maximum.UTF16, high), CharSet.empty(Maximum.UTF16).union(low)]); - } - - // finally, sort the result by ascending high surrogate - result.sort((a, b) => a[0].ranges[0].min - b[0].ranges[0].min); - - return result; -} - -function getHighSurrogate(codePoint: Char): Char { - return Math.floor((codePoint - 0x10000) / 0x400) + HighSurrogate.MIN; -} -function getLowSurrogate(codePoint: Char): Char { - return ((codePoint - 0x10000) % 0x400) + LowSurrogate.MIN; -} - -function compareRanges(a: readonly CharRange[], b: readonly CharRange[]): number { - if (a.length !== b.length) { - return a.length - b.length; - } - for (let i = 0, l = a.length; i < l; i++) { - let diff = a[i].min - b[i].min; - if (diff !== 0) { - return diff; - } - diff = a[i].max - b[i].max; - if (diff !== 0) { - return diff; - } - } - return 0; -} -function equalRanges(a: readonly CharRange[], b: readonly CharRange[]): boolean { - return compareRanges(a, b) === 0; -} diff --git a/src/js/unicode/alias.ts b/src/js/unicode/alias.ts deleted file mode 100644 index 9caef2c1..00000000 --- a/src/js/unicode/alias.ts +++ /dev/null @@ -1,514 +0,0 @@ -/* eslint-disable */ - -// All of the following tables were extracted for the links associated with the variable. - -// Non-binary Unicode property aliases and their canonical property names -// https://tc39.es/ecma262/#table-nonbinary-unicode-properties -export const NonBinaryProperty: Record = { - "General_Category": "General_Category", - "gc": "General_Category", - "Script": "Script", - "sc": "Script", - "Script_Extensions": "Script_Extensions", - "scx": "Script_Extensions" -}; - -// Binary Unicode property aliases and their canonical property names -// https://tc39.es/ecma262/#table-binary-unicode-properties -export const Binary_Property = { - "ASCII": "ASCII", - "ASCII_Hex_Digit": "ASCII_Hex_Digit", - "AHex": "ASCII_Hex_Digit", - "Alphabetic": "Alphabetic", - "Alpha": "Alphabetic", - "Any": "Any", - "Assigned": "Assigned", - "Bidi_Control": "Bidi_Control", - "Bidi_C": "Bidi_Control", - "Bidi_Mirrored": "Bidi_Mirrored", - "Bidi_M": "Bidi_Mirrored", - "Case_Ignorable": "Case_Ignorable", - "CI": "Case_Ignorable", - "Cased": "Cased", - "Changes_When_Casefolded": "Changes_When_Casefolded", - "CWCF": "Changes_When_Casefolded", - "Changes_When_Casemapped": "Changes_When_Casemapped", - "CWCM": "Changes_When_Casemapped", - "Changes_When_Lowercased": "Changes_When_Lowercased", - "CWL": "Changes_When_Lowercased", - "Changes_When_NFKC_Casefolded": "Changes_When_NFKC_Casefolded", - "CWKCF": "Changes_When_NFKC_Casefolded", - "Changes_When_Titlecased": "Changes_When_Titlecased", - "CWT": "Changes_When_Titlecased", - "Changes_When_Uppercased": "Changes_When_Uppercased", - "CWU": "Changes_When_Uppercased", - "Dash": "Dash", - "Default_Ignorable_Code_Point": "Default_Ignorable_Code_Point", - "DI": "Default_Ignorable_Code_Point", - "Deprecated": "Deprecated", - "Dep": "Deprecated", - "Diacritic": "Diacritic", - "Dia": "Diacritic", - "Emoji": "Emoji", - "Emoji_Component": "Emoji_Component", - "Emoji_Modifier": "Emoji_Modifier", - "Emoji_Modifier_Base": "Emoji_Modifier_Base", - "Emoji_Presentation": "Emoji_Presentation", - "Extended_Pictographic": "Extended_Pictographic", - "Extender": "Extender", - "Ext": "Extender", - "Grapheme_Base": "Grapheme_Base", - "Gr_Base": "Grapheme_Base", - "Grapheme_Extend": "Grapheme_Extend", - "Gr_Ext": "Grapheme_Extend", - "Hex_Digit": "Hex_Digit", - "Hex": "Hex_Digit", - "IDS_Binary_Operator": "IDS_Binary_Operator", - "IDSB": "IDS_Binary_Operator", - "IDS_Trinary_Operator": "IDS_Trinary_Operator", - "IDST": "IDS_Trinary_Operator", - "ID_Continue": "ID_Continue", - "IDC": "ID_Continue", - "ID_Start": "ID_Start", - "IDS": "ID_Start", - "Ideographic": "Ideographic", - "Ideo": "Ideographic", - "Join_Control": "Join_Control", - "Join_C": "Join_Control", - "Logical_Order_Exception": "Logical_Order_Exception", - "LOE": "Logical_Order_Exception", - "Lowercase": "Lowercase", - "Lower": "Lowercase", - "Math": "Math", - "Noncharacter_Code_Point": "Noncharacter_Code_Point", - "NChar": "Noncharacter_Code_Point", - "Pattern_Syntax": "Pattern_Syntax", - "Pat_Syn": "Pattern_Syntax", - "Pattern_White_Space": "Pattern_White_Space", - "Pat_WS": "Pattern_White_Space", - "Quotation_Mark": "Quotation_Mark", - "QMark": "Quotation_Mark", - "Radical": "Radical", - "Regional_Indicator": "Regional_Indicator", - "RI": "Regional_Indicator", - "Sentence_Terminal": "Sentence_Terminal", - "STerm": "Sentence_Terminal", - "Soft_Dotted": "Soft_Dotted", - "SD": "Soft_Dotted", - "Terminal_Punctuation": "Terminal_Punctuation", - "Term": "Terminal_Punctuation", - "Unified_Ideograph": "Unified_Ideograph", - "UIdeo": "Unified_Ideograph", - "Uppercase": "Uppercase", - "Upper": "Uppercase", - "Variation_Selector": "Variation_Selector", - "VS": "Variation_Selector", - "White_Space": "White_Space", - "space": "White_Space", - "XID_Continue": "XID_Continue", - "XIDC": "XID_Continue", - "XID_Start": "XID_Start", - "XIDS": "XID_Start" -}; - -// Binary Unicode property of strings names -// https://tc39.es/ecma262/#table-binary-unicode-properties-of-strings -export const Binary_Property_Of_String = { - "Basic_Emoji": "Basic_Emoji", - "Emoji_Keycap_Sequence": "Emoji_Keycap_Sequence", - "RGI_Emoji_Modifier_Sequence": "RGI_Emoji_Modifier_Sequence", - "RGI_Emoji_Flag_Sequence": "RGI_Emoji_Flag_Sequence", - "RGI_Emoji_Tag_Sequence": "RGI_Emoji_Tag_Sequence", - "RGI_Emoji_ZWJ_Sequence": "RGI_Emoji_ZWJ_Sequence", - "RGI_Emoji": "RGI_Emoji", -}; - -// Value aliases and canonical values for the Unicode property General_Category -// https://tc39.es/ecma262/#table-unicode-general-category-values -export const General_Category = { - "Cased_Letter": "Cased_Letter", - "LC": "Cased_Letter", - "Close_Punctuation": "Close_Punctuation", - "Pe": "Close_Punctuation", - "Connector_Punctuation": "Connector_Punctuation", - "Pc": "Connector_Punctuation", - "Control": "Control", - "Cc": "Control", - "cntrl": "Control", - "Currency_Symbol": "Currency_Symbol", - "Sc": "Currency_Symbol", - "Dash_Punctuation": "Dash_Punctuation", - "Pd": "Dash_Punctuation", - "Decimal_Number": "Decimal_Number", - "Nd": "Decimal_Number", - "digit": "Decimal_Number", - "Enclosing_Mark": "Enclosing_Mark", - "Me": "Enclosing_Mark", - "Final_Punctuation": "Final_Punctuation", - "Pf": "Final_Punctuation", - "Format": "Format", - "Cf": "Format", - "Initial_Punctuation": "Initial_Punctuation", - "Pi": "Initial_Punctuation", - "Letter": "Letter", - "L": "Letter", - "Letter_Number": "Letter_Number", - "Nl": "Letter_Number", - "Line_Separator": "Line_Separator", - "Zl": "Line_Separator", - "Lowercase_Letter": "Lowercase_Letter", - "Ll": "Lowercase_Letter", - "Mark": "Mark", - "M": "Mark", - "Combining_Mark": "Mark", - "Math_Symbol": "Math_Symbol", - "Sm": "Math_Symbol", - "Modifier_Letter": "Modifier_Letter", - "Lm": "Modifier_Letter", - "Modifier_Symbol": "Modifier_Symbol", - "Sk": "Modifier_Symbol", - "Nonspacing_Mark": "Nonspacing_Mark", - "Mn": "Nonspacing_Mark", - "Number": "Number", - "N": "Number", - "Open_Punctuation": "Open_Punctuation", - "Ps": "Open_Punctuation", - "Other": "Other", - "C": "Other", - "Other_Letter": "Other_Letter", - "Lo": "Other_Letter", - "Other_Number": "Other_Number", - "No": "Other_Number", - "Other_Punctuation": "Other_Punctuation", - "Po": "Other_Punctuation", - "Other_Symbol": "Other_Symbol", - "So": "Other_Symbol", - "Paragraph_Separator": "Paragraph_Separator", - "Zp": "Paragraph_Separator", - "Private_Use": "Private_Use", - "Co": "Private_Use", - "Punctuation": "Punctuation", - "P": "Punctuation", - "punct": "Punctuation", - "Separator": "Separator", - "Z": "Separator", - "Space_Separator": "Space_Separator", - "Zs": "Space_Separator", - "Spacing_Mark": "Spacing_Mark", - "Mc": "Spacing_Mark", - "Surrogate": "Surrogate", - "Cs": "Surrogate", - "Symbol": "Symbol", - "S": "Symbol", - "Titlecase_Letter": "Titlecase_Letter", - "Lt": "Titlecase_Letter", - "Unassigned": "Unassigned", - "Cn": "Unassigned", - "Uppercase_Letter": "Uppercase_Letter", - "Lu": "Uppercase_Letter" -}; - -// Value aliases and canonical values for the Unicode properties Script and Script_Extensions -// https://tc39.es/ecma262/#table-unicode-script-values -export const ScriptAndScript_Extensions = { - "Adlam": "Adlam", - "Adlm": "Adlam", - "Ahom": "Ahom", - "Anatolian_Hieroglyphs": "Anatolian_Hieroglyphs", - "Hluw": "Anatolian_Hieroglyphs", - "Arabic": "Arabic", - "Arab": "Arabic", - "Armenian": "Armenian", - "Armn": "Armenian", - "Avestan": "Avestan", - "Avst": "Avestan", - "Balinese": "Balinese", - "Bali": "Balinese", - "Bamum": "Bamum", - "Bamu": "Bamum", - "Bassa_Vah": "Bassa_Vah", - "Bass": "Bassa_Vah", - "Batak": "Batak", - "Batk": "Batak", - "Bengali": "Bengali", - "Beng": "Bengali", - "Bhaiksuki": "Bhaiksuki", - "Bhks": "Bhaiksuki", - "Bopomofo": "Bopomofo", - "Bopo": "Bopomofo", - "Brahmi": "Brahmi", - "Brah": "Brahmi", - "Braille": "Braille", - "Brai": "Braille", - "Buginese": "Buginese", - "Bugi": "Buginese", - "Buhid": "Buhid", - "Buhd": "Buhid", - "Canadian_Aboriginal": "Canadian_Aboriginal", - "Cans": "Canadian_Aboriginal", - "Carian": "Carian", - "Cari": "Carian", - "Caucasian_Albanian": "Caucasian_Albanian", - "Aghb": "Caucasian_Albanian", - "Chakma": "Chakma", - "Cakm": "Chakma", - "Cham": "Cham", - "Cherokee": "Cherokee", - "Cher": "Cherokee", - "Common": "Common", - "Zyyy": "Common", - "Coptic": "Coptic", - "Copt": "Coptic", - "Qaac": "Coptic", - "Cuneiform": "Cuneiform", - "Xsux": "Cuneiform", - "Cypriot": "Cypriot", - "Cprt": "Cypriot", - "Cyrillic": "Cyrillic", - "Cyrl": "Cyrillic", - "Deseret": "Deseret", - "Dsrt": "Deseret", - "Devanagari": "Devanagari", - "Deva": "Devanagari", - "Dogra": "Dogra", - "Dogr": "Dogra", - "Duployan": "Duployan", - "Dupl": "Duployan", - "Egyptian_Hieroglyphs": "Egyptian_Hieroglyphs", - "Egyp": "Egyptian_Hieroglyphs", - "Elbasan": "Elbasan", - "Elba": "Elbasan", - "Elymaic": "Elymaic", - "Elym": "Elymaic", - "Ethiopic": "Ethiopic", - "Ethi": "Ethiopic", - "Georgian": "Georgian", - "Geor": "Georgian", - "Glagolitic": "Glagolitic", - "Glag": "Glagolitic", - "Gothic": "Gothic", - "Goth": "Gothic", - "Grantha": "Grantha", - "Gran": "Grantha", - "Greek": "Greek", - "Grek": "Greek", - "Gujarati": "Gujarati", - "Gujr": "Gujarati", - "Gunjala_Gondi": "Gunjala_Gondi", - "Gong": "Gunjala_Gondi", - "Gurmukhi": "Gurmukhi", - "Guru": "Gurmukhi", - "Han": "Han", - "Hani": "Han", - "Hangul": "Hangul", - "Hang": "Hangul", - "Hanifi_Rohingya": "Hanifi_Rohingya", - "Rohg": "Hanifi_Rohingya", - "Hanunoo": "Hanunoo", - "Hano": "Hanunoo", - "Hatran": "Hatran", - "Hatr": "Hatran", - "Hebrew": "Hebrew", - "Hebr": "Hebrew", - "Hiragana": "Hiragana", - "Hira": "Hiragana", - "Imperial_Aramaic": "Imperial_Aramaic", - "Armi": "Imperial_Aramaic", - "Inherited": "Inherited", - "Zinh": "Inherited", - "Qaai": "Inherited", - "Inscriptional_Pahlavi": "Inscriptional_Pahlavi", - "Phli": "Inscriptional_Pahlavi", - "Inscriptional_Parthian": "Inscriptional_Parthian", - "Prti": "Inscriptional_Parthian", - "Javanese": "Javanese", - "Java": "Javanese", - "Kaithi": "Kaithi", - "Kthi": "Kaithi", - "Kannada": "Kannada", - "Knda": "Kannada", - "Katakana": "Katakana", - "Kana": "Katakana", - "Kayah_Li": "Kayah_Li", - "Kali": "Kayah_Li", - "Kharoshthi": "Kharoshthi", - "Khar": "Kharoshthi", - "Khmer": "Khmer", - "Khmr": "Khmer", - "Khojki": "Khojki", - "Khoj": "Khojki", - "Khudawadi": "Khudawadi", - "Sind": "Khudawadi", - "Lao": "Lao", - "Laoo": "Lao", - "Latin": "Latin", - "Latn": "Latin", - "Lepcha": "Lepcha", - "Lepc": "Lepcha", - "Limbu": "Limbu", - "Limb": "Limbu", - "Linear_A": "Linear_A", - "Lina": "Linear_A", - "Linear_B": "Linear_B", - "Linb": "Linear_B", - "Lisu": "Lisu", - "Lycian": "Lycian", - "Lyci": "Lycian", - "Lydian": "Lydian", - "Lydi": "Lydian", - "Mahajani": "Mahajani", - "Mahj": "Mahajani", - "Makasar": "Makasar", - "Maka": "Makasar", - "Malayalam": "Malayalam", - "Mlym": "Malayalam", - "Mandaic": "Mandaic", - "Mand": "Mandaic", - "Manichaean": "Manichaean", - "Mani": "Manichaean", - "Marchen": "Marchen", - "Marc": "Marchen", - "Medefaidrin": "Medefaidrin", - "Medf": "Medefaidrin", - "Masaram_Gondi": "Masaram_Gondi", - "Gonm": "Masaram_Gondi", - "Meetei_Mayek": "Meetei_Mayek", - "Mtei": "Meetei_Mayek", - "Mende_Kikakui": "Mende_Kikakui", - "Mend": "Mende_Kikakui", - "Meroitic_Cursive": "Meroitic_Cursive", - "Merc": "Meroitic_Cursive", - "Meroitic_Hieroglyphs": "Meroitic_Hieroglyphs", - "Mero": "Meroitic_Hieroglyphs", - "Miao": "Miao", - "Plrd": "Miao", - "Modi": "Modi", - "Mongolian": "Mongolian", - "Mong": "Mongolian", - "Mro": "Mro", - "Mroo": "Mro", - "Multani": "Multani", - "Mult": "Multani", - "Myanmar": "Myanmar", - "Mymr": "Myanmar", - "Nabataean": "Nabataean", - "Nbat": "Nabataean", - "Nandinagari": "Nandinagari", - "Nand": "Nandinagari", - "New_Tai_Lue": "New_Tai_Lue", - "Talu": "New_Tai_Lue", - "Newa": "Newa", - "Nko": "Nko", - "Nkoo": "Nko", - "Nushu": "Nushu", - "Nshu": "Nushu", - "Nyiakeng_Puachue_Hmong": "Nyiakeng_Puachue_Hmong", - "Hmnp": "Nyiakeng_Puachue_Hmong", - "Ogham": "Ogham", - "Ogam": "Ogham", - "Ol_Chiki": "Ol_Chiki", - "Olck": "Ol_Chiki", - "Old_Hungarian": "Old_Hungarian", - "Hung": "Old_Hungarian", - "Old_Italic": "Old_Italic", - "Ital": "Old_Italic", - "Old_North_Arabian": "Old_North_Arabian", - "Narb": "Old_North_Arabian", - "Old_Permic": "Old_Permic", - "Perm": "Old_Permic", - "Old_Persian": "Old_Persian", - "Xpeo": "Old_Persian", - "Old_Sogdian": "Old_Sogdian", - "Sogo": "Old_Sogdian", - "Old_South_Arabian": "Old_South_Arabian", - "Sarb": "Old_South_Arabian", - "Old_Turkic": "Old_Turkic", - "Orkh": "Old_Turkic", - "Oriya": "Oriya", - "Orya": "Oriya", - "Osage": "Osage", - "Osge": "Osage", - "Osmanya": "Osmanya", - "Osma": "Osmanya", - "Pahawh_Hmong": "Pahawh_Hmong", - "Hmng": "Pahawh_Hmong", - "Palmyrene": "Palmyrene", - "Palm": "Palmyrene", - "Pau_Cin_Hau": "Pau_Cin_Hau", - "Pauc": "Pau_Cin_Hau", - "Phags_Pa": "Phags_Pa", - "Phag": "Phags_Pa", - "Phoenician": "Phoenician", - "Phnx": "Phoenician", - "Psalter_Pahlavi": "Psalter_Pahlavi", - "Phlp": "Psalter_Pahlavi", - "Rejang": "Rejang", - "Rjng": "Rejang", - "Runic": "Runic", - "Runr": "Runic", - "Samaritan": "Samaritan", - "Samr": "Samaritan", - "Saurashtra": "Saurashtra", - "Saur": "Saurashtra", - "Sharada": "Sharada", - "Shrd": "Sharada", - "Shavian": "Shavian", - "Shaw": "Shavian", - "Siddham": "Siddham", - "Sidd": "Siddham", - "SignWriting": "SignWriting", - "Sgnw": "SignWriting", - "Sinhala": "Sinhala", - "Sinh": "Sinhala", - "Sogdian": "Sogdian", - "Sogd": "Sogdian", - "Sora_Sompeng": "Sora_Sompeng", - "Sora": "Sora_Sompeng", - "Soyombo": "Soyombo", - "Soyo": "Soyombo", - "Sundanese": "Sundanese", - "Sund": "Sundanese", - "Syloti_Nagri": "Syloti_Nagri", - "Sylo": "Syloti_Nagri", - "Syriac": "Syriac", - "Syrc": "Syriac", - "Tagalog": "Tagalog", - "Tglg": "Tagalog", - "Tagbanwa": "Tagbanwa", - "Tagb": "Tagbanwa", - "Tai_Le": "Tai_Le", - "Tale": "Tai_Le", - "Tai_Tham": "Tai_Tham", - "Lana": "Tai_Tham", - "Tai_Viet": "Tai_Viet", - "Tavt": "Tai_Viet", - "Takri": "Takri", - "Takr": "Takri", - "Tamil": "Tamil", - "Taml": "Tamil", - "Tangut": "Tangut", - "Tang": "Tangut", - "Telugu": "Telugu", - "Telu": "Telugu", - "Thaana": "Thaana", - "Thaa": "Thaana", - "Thai": "Thai", - "Tibetan": "Tibetan", - "Tibt": "Tibetan", - "Tifinagh": "Tifinagh", - "Tfng": "Tifinagh", - "Tirhuta": "Tirhuta", - "Tirh": "Tirhuta", - "Ugaritic": "Ugaritic", - "Ugar": "Ugaritic", - "Vai": "Vai", - "Vaii": "Vai", - "Wancho": "Wancho", - "Wcho": "Wancho", - "Warang_Citi": "Warang_Citi", - "Wara": "Warang_Citi", - "Yi": "Yi", - "Yiii": "Yi", - "Zanabazar_Square": "Zanabazar_Square", - "Zanb": "Zanabazar_Square" -}; diff --git a/src/js/unicode/binary-property-data.ts b/src/js/unicode/binary-property-data.ts deleted file mode 100644 index b6569ad2..00000000 --- a/src/js/unicode/binary-property-data.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Category: Binary_Property -// Exported ranges: ASCII, ASCII_Hex_Digit, Alphabetic, Any, Assigned, Bidi_Control, Bidi_Mirrored, Case_Ignorable, Cased, Changes_When_Casefolded, Changes_When_Casemapped, Changes_When_Lowercased, Changes_When_NFKC_Casefolded, Changes_When_Titlecased, Changes_When_Uppercased, Dash, Default_Ignorable_Code_Point, Deprecated, Diacritic, Emoji, Emoji_Component, Emoji_Modifier, Emoji_Modifier_Base, Emoji_Presentation, Extended_Pictographic, Extender, Grapheme_Base, Grapheme_Extend, Hex_Digit, IDS_Binary_Operator, IDS_Trinary_Operator, ID_Continue, ID_Start, Ideographic, Join_Control, Logical_Order_Exception, Lowercase, Math, Noncharacter_Code_Point, Pattern_Syntax, Pattern_White_Space, Quotation_Mark, Radical, Regional_Indicator, Sentence_Terminal, Soft_Dotted, Terminal_Punctuation, Unified_Ideograph, Uppercase, Variation_Selector, White_Space, XID_Continue, XID_Start - -import { CharRange } from "../../char-set"; - - -export const ASCII: readonly CharRange[] = JSON.parse('[{"min":0,"max":127}]'); -export const ASCII_Hex_Digit: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":65,"max":70},{"min":97,"max":102}]'); -export const Alphabetic: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":837,"max":837},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1456,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1623},{"min":1625,"max":1631},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1761,"max":1768},{"min":1773,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1855},{"min":1869,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2071},{"min":2074,"max":2092},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2260,"max":2271},{"min":2275,"max":2281},{"min":2288,"max":2363},{"min":2365,"max":2380},{"min":2382,"max":2384},{"min":2389,"max":2403},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2510,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2636},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2672,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2764},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2809,"max":2812},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2902,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3148},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3276},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3406,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3654},{"min":3661,"max":3661},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3769},{"min":3771,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3789,"max":3789},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3971},{"min":3976,"max":3991},{"min":3993,"max":4028},{"min":4096,"max":4150},{"min":4152,"max":4152},{"min":4155,"max":4159},{"min":4176,"max":4239},{"min":4250,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5907},{"min":5919,"max":5939},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6067},{"min":6070,"max":6088},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6456},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6753,"max":6772},{"min":6823,"max":6823},{"min":6847,"max":6848},{"min":6860,"max":6862},{"min":6912,"max":6963},{"min":6965,"max":6979},{"min":6981,"max":6988},{"min":7040,"max":7081},{"min":7084,"max":7087},{"min":7098,"max":7141},{"min":7143,"max":7153},{"min":7168,"max":7222},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7655,"max":7668},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":9398,"max":9449},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":11823,"max":11823},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42612,"max":42619},{"min":42623,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43013},{"min":43015,"max":43047},{"min":43072,"max":43123},{"min":43136,"max":43203},{"min":43205,"max":43205},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43263},{"min":43274,"max":43306},{"min":43312,"max":43346},{"min":43360,"max":43388},{"min":43392,"max":43442},{"min":43444,"max":43455},{"min":43471,"max":43471},{"min":43488,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43616,"max":43638},{"min":43642,"max":43710},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43765},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69701},{"min":69745,"max":69749},{"min":69760,"max":69816},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69888,"max":69938},{"min":69956,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70016,"max":70079},{"min":70081,"max":70084},{"min":70094,"max":70095},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70196},{"min":70199,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70376},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70476},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70656,"max":70721},{"min":70723,"max":70725},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70849},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71093},{"min":71096,"max":71102},{"min":71128,"max":71133},{"min":71168,"max":71230},{"min":71232,"max":71232},{"min":71236,"max":71236},{"min":71296,"max":71349},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71453,"max":71466},{"min":71488,"max":71494},{"min":71680,"max":71736},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":71996},{"min":71999,"max":72002},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72159},{"min":72161,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72242},{"min":72245,"max":72254},{"min":72272,"max":72343},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72766},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73025},{"min":73027,"max":73027},{"min":73030,"max":73031},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73110},{"min":73112,"max":73112},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73536},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113822,"max":113822},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125255,"max":125255},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Any: readonly CharRange[] = JSON.parse('[{"min":0,"max":1114111}]'); -export const Assigned: readonly CharRange[] = JSON.parse('[{"min":0,"max":887},{"min":890,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":1536,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2042},{"min":2045,"max":2093},{"min":2096,"max":2110},{"min":2112,"max":2139},{"min":2142,"max":2142},{"min":2144,"max":2154},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":3585,"max":3642},{"min":3647,"max":3675},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4058},{"min":4096,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5120,"max":5788},{"min":5792,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5942},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6144,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6683},{"min":6686,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829},{"min":6832,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7038},{"min":7040,"max":7155},{"min":7164,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7367},{"min":7376,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8192,"max":8292},{"min":8294,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8352,"max":8384},{"min":8400,"max":8432},{"min":8448,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11507},{"min":11513,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11869},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12288,"max":12351},{"min":12353,"max":12438},{"min":12441,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12688,"max":12771},{"min":12784,"max":12830},{"min":12832,"max":42124},{"min":42128,"max":42182},{"min":42192,"max":42539},{"min":42560,"max":42743},{"min":42752,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43052},{"min":43056,"max":43065},{"min":43072,"max":43127},{"min":43136,"max":43205},{"min":43214,"max":43225},{"min":43232,"max":43347},{"min":43359,"max":43388},{"min":43392,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43714},{"min":43739,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43883},{"min":43888,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":55296,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65049},{"min":65056,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65279,"max":65279},{"min":65281,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66299},{"min":66304,"max":66339},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66463,"max":66499},{"min":66504,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66927,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67671,"max":67742},{"min":67751,"max":67759},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67867},{"min":67871,"max":67897},{"min":67903,"max":67903},{"min":67968,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184},{"min":68192,"max":68255},{"min":68288,"max":68326},{"min":68331,"max":68342},{"min":68352,"max":68405},{"min":68409,"max":68437},{"min":68440,"max":68466},{"min":68472,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68903},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69248,"max":69289},{"min":69291,"max":69293},{"min":69296,"max":69297},{"min":69373,"max":69415},{"min":69424,"max":69465},{"min":69488,"max":69513},{"min":69552,"max":69579},{"min":69600,"max":69622},{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69826},{"min":69837,"max":69837},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69959},{"min":69968,"max":70006},{"min":70016,"max":70111},{"min":70113,"max":70132},{"min":70144,"max":70161},{"min":70163,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70747},{"min":70749,"max":70753},{"min":70784,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71133},{"min":71168,"max":71236},{"min":71248,"max":71257},{"min":71264,"max":71276},{"min":71296,"max":71353},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494},{"min":71680,"max":71739},{"min":71840,"max":71922},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72006},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164},{"min":72192,"max":72263},{"min":72272,"max":72354},{"min":72368,"max":72440},{"min":72448,"max":72457},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812},{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73464},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73561},{"min":73648,"max":73648},{"min":73664,"max":73713},{"min":73727,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075},{"min":77712,"max":77810},{"min":77824,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92917},{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93850},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113827},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119274},{"min":119296,"max":119365},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":123647,"max":123647},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125127,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917505,"max":917505},{"min":917536,"max":917631},{"min":917760,"max":917999},{"min":983040,"max":1048573},{"min":1048576,"max":1114109}]'); -export const Bidi_Control: readonly CharRange[] = JSON.parse('[{"min":1564,"max":1564},{"min":8206,"max":8207},{"min":8234,"max":8238},{"min":8294,"max":8297}]'); -export const Bidi_Mirrored: readonly CharRange[] = JSON.parse('[{"min":40,"max":41},{"min":60,"max":60},{"min":62,"max":62},{"min":91,"max":91},{"min":93,"max":93},{"min":123,"max":123},{"min":125,"max":125},{"min":171,"max":171},{"min":187,"max":187},{"min":3898,"max":3901},{"min":5787,"max":5788},{"min":8249,"max":8250},{"min":8261,"max":8262},{"min":8317,"max":8318},{"min":8333,"max":8334},{"min":8512,"max":8512},{"min":8705,"max":8708},{"min":8712,"max":8717},{"min":8721,"max":8721},{"min":8725,"max":8726},{"min":8730,"max":8733},{"min":8735,"max":8738},{"min":8740,"max":8740},{"min":8742,"max":8742},{"min":8747,"max":8755},{"min":8761,"max":8761},{"min":8763,"max":8780},{"min":8786,"max":8789},{"min":8799,"max":8800},{"min":8802,"max":8802},{"min":8804,"max":8811},{"min":8814,"max":8844},{"min":8847,"max":8850},{"min":8856,"max":8856},{"min":8866,"max":8867},{"min":8870,"max":8888},{"min":8894,"max":8895},{"min":8905,"max":8909},{"min":8912,"max":8913},{"min":8918,"max":8941},{"min":8944,"max":8959},{"min":8968,"max":8971},{"min":8992,"max":8993},{"min":9001,"max":9002},{"min":10088,"max":10101},{"min":10176,"max":10176},{"min":10179,"max":10182},{"min":10184,"max":10185},{"min":10187,"max":10189},{"min":10195,"max":10198},{"min":10204,"max":10206},{"min":10210,"max":10223},{"min":10627,"max":10648},{"min":10651,"max":10656},{"min":10658,"max":10671},{"min":10680,"max":10680},{"min":10688,"max":10693},{"min":10697,"max":10697},{"min":10702,"max":10706},{"min":10708,"max":10709},{"min":10712,"max":10716},{"min":10721,"max":10721},{"min":10723,"max":10725},{"min":10728,"max":10729},{"min":10740,"max":10745},{"min":10748,"max":10749},{"min":10762,"max":10780},{"min":10782,"max":10785},{"min":10788,"max":10788},{"min":10790,"max":10790},{"min":10793,"max":10793},{"min":10795,"max":10798},{"min":10804,"max":10805},{"min":10812,"max":10814},{"min":10839,"max":10840},{"min":10852,"max":10853},{"min":10858,"max":10861},{"min":10863,"max":10864},{"min":10867,"max":10868},{"min":10873,"max":10915},{"min":10918,"max":10925},{"min":10927,"max":10966},{"min":10972,"max":10972},{"min":10974,"max":10974},{"min":10978,"max":10982},{"min":10988,"max":10990},{"min":10995,"max":10995},{"min":10999,"max":11003},{"min":11005,"max":11005},{"min":11262,"max":11262},{"min":11778,"max":11781},{"min":11785,"max":11786},{"min":11788,"max":11789},{"min":11804,"max":11805},{"min":11808,"max":11817},{"min":11861,"max":11868},{"min":12296,"max":12305},{"min":12308,"max":12315},{"min":65113,"max":65118},{"min":65124,"max":65125},{"min":65288,"max":65289},{"min":65308,"max":65308},{"min":65310,"max":65310},{"min":65339,"max":65339},{"min":65341,"max":65341},{"min":65371,"max":65371},{"min":65373,"max":65373},{"min":65375,"max":65376},{"min":65378,"max":65379},{"min":120539,"max":120539},{"min":120597,"max":120597},{"min":120655,"max":120655},{"min":120713,"max":120713},{"min":120771,"max":120771}]'); -export const Case_Ignorable: readonly CharRange[] = JSON.parse('[{"min":39,"max":39},{"min":46,"max":46},{"min":58,"max":58},{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":173,"max":173},{"min":175,"max":175},{"min":180,"max":180},{"min":183,"max":184},{"min":688,"max":879},{"min":884,"max":885},{"min":890,"max":890},{"min":900,"max":901},{"min":903,"max":903},{"min":1155,"max":1161},{"min":1369,"max":1369},{"min":1375,"max":1375},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1524,"max":1524},{"min":1536,"max":1541},{"min":1552,"max":1562},{"min":1564,"max":1564},{"min":1600,"max":1600},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1757},{"min":1759,"max":1768},{"min":1770,"max":1773},{"min":1807,"max":1807},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2070,"max":2093},{"min":2137,"max":2139},{"min":2184,"max":2184},{"min":2192,"max":2193},{"min":2200,"max":2207},{"min":2249,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2417,"max":2417},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2879,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2902},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3654,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4348,"max":4348},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6103,"max":6103},{"min":6109,"max":6109},{"min":6155,"max":6159},{"min":6211,"max":6211},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6823,"max":6823},{"min":6832,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6964},{"min":6966,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7288,"max":7293},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7468,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7679},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":8203,"max":8207},{"min":8216,"max":8217},{"min":8228,"max":8228},{"min":8231,"max":8231},{"min":8234,"max":8238},{"min":8288,"max":8292},{"min":8294,"max":8303},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8432},{"min":11388,"max":11389},{"min":11503,"max":11505},{"min":11631,"max":11631},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":11823,"max":11823},{"min":12293,"max":12293},{"min":12330,"max":12333},{"min":12337,"max":12341},{"min":12347,"max":12347},{"min":12441,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42232,"max":42237},{"min":42508,"max":42508},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42623,"max":42623},{"min":42652,"max":42655},{"min":42736,"max":42737},{"min":42752,"max":42785},{"min":42864,"max":42864},{"min":42888,"max":42890},{"min":42994,"max":42996},{"min":43000,"max":43001},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43471,"max":43471},{"min":43493,"max":43494},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43632,"max":43632},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43741,"max":43741},{"min":43756,"max":43757},{"min":43763,"max":43764},{"min":43766,"max":43766},{"min":43867,"max":43871},{"min":43881,"max":43883},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":64434,"max":64450},{"min":65024,"max":65039},{"min":65043,"max":65043},{"min":65056,"max":65071},{"min":65106,"max":65106},{"min":65109,"max":65109},{"min":65279,"max":65279},{"min":65287,"max":65287},{"min":65294,"max":65294},{"min":65306,"max":65306},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65507,"max":65507},{"min":65529,"max":65531},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69821,"max":69821},{"min":69826,"max":69826},{"min":69837,"max":69837},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70464,"max":70464},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78896,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":92992,"max":92995},{"min":94031,"max":94031},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":113821,"max":113822},{"min":113824,"max":113827},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119155,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123184,"max":123197},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124139,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125259},{"min":127995,"max":127999},{"min":917505,"max":917505},{"min":917536,"max":917631},{"min":917760,"max":917999}]'); -export const Cased: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":442},{"min":444,"max":447},{"min":452,"max":659},{"min":661,"max":696},{"min":704,"max":705},{"min":736,"max":740},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1376,"max":1416},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42653},{"min":42786,"max":42887},{"min":42891,"max":42894},{"min":42896,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":42998},{"min":43000,"max":43002},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67456,"max":67456},{"min":67459,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":125184,"max":125251},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369}]'); -export const Changes_When_Casefolded: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":223},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":329,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":383,"max":383},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":453},{"min":455,"max":456},{"min":458,"max":459},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":498},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":837,"max":837},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":962,"max":962},{"min":975,"max":977},{"min":981,"max":982},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1008,"max":1009},{"min":1012,"max":1013},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":1415,"max":1415},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7834,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8064,"max":8111},{"min":8114,"max":8116},{"min":8119,"max":8124},{"min":8130,"max":8132},{"min":8135,"max":8140},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8178,"max":8180},{"min":8183,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":125184,"max":125217}]'); -export const Changes_When_Casemapped: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":311},{"min":313,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":977},{"min":981,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1415},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":125184,"max":125251}]'); -export const Changes_When_Lowercased: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":453},{"min":455,"max":456},{"min":458,"max":459},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":498},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8072,"max":8079},{"min":8088,"max":8095},{"min":8104,"max":8111},{"min":8120,"max":8124},{"min":8136,"max":8140},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":125184,"max":125217}]'); -export const Changes_When_NFKC_Casefolded: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":160,"max":160},{"min":168,"max":168},{"min":170,"max":170},{"min":173,"max":173},{"min":175,"max":175},{"min":178,"max":181},{"min":184,"max":186},{"min":188,"max":190},{"min":192,"max":214},{"min":216,"max":223},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":329,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":383,"max":383},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":688,"max":696},{"min":728,"max":733},{"min":736,"max":740},{"min":832,"max":833},{"min":835,"max":837},{"min":847,"max":847},{"min":880,"max":880},{"min":882,"max":882},{"min":884,"max":884},{"min":886,"max":886},{"min":890,"max":890},{"min":894,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":962,"max":962},{"min":975,"max":982},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1008,"max":1010},{"min":1012,"max":1013},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":1415,"max":1415},{"min":1564,"max":1564},{"min":1653,"max":1656},{"min":2392,"max":2399},{"min":2524,"max":2525},{"min":2527,"max":2527},{"min":2611,"max":2611},{"min":2614,"max":2614},{"min":2649,"max":2651},{"min":2654,"max":2654},{"min":2908,"max":2909},{"min":3635,"max":3635},{"min":3763,"max":3763},{"min":3804,"max":3805},{"min":3852,"max":3852},{"min":3907,"max":3907},{"min":3917,"max":3917},{"min":3922,"max":3922},{"min":3927,"max":3927},{"min":3932,"max":3932},{"min":3945,"max":3945},{"min":3955,"max":3955},{"min":3957,"max":3961},{"min":3969,"max":3969},{"min":3987,"max":3987},{"min":3997,"max":3997},{"min":4002,"max":4002},{"min":4007,"max":4007},{"min":4012,"max":4012},{"min":4025,"max":4025},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4348,"max":4348},{"min":4447,"max":4448},{"min":5112,"max":5117},{"min":6068,"max":6069},{"min":6155,"max":6159},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7468,"max":7470},{"min":7472,"max":7482},{"min":7484,"max":7501},{"min":7503,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7615},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7834,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8049,"max":8049},{"min":8051,"max":8051},{"min":8053,"max":8053},{"min":8055,"max":8055},{"min":8057,"max":8057},{"min":8059,"max":8059},{"min":8061,"max":8061},{"min":8064,"max":8111},{"min":8114,"max":8116},{"min":8119,"max":8132},{"min":8135,"max":8143},{"min":8147,"max":8147},{"min":8152,"max":8155},{"min":8157,"max":8159},{"min":8163,"max":8163},{"min":8168,"max":8175},{"min":8178,"max":8180},{"min":8183,"max":8190},{"min":8192,"max":8207},{"min":8209,"max":8209},{"min":8215,"max":8215},{"min":8228,"max":8230},{"min":8234,"max":8239},{"min":8243,"max":8244},{"min":8246,"max":8247},{"min":8252,"max":8252},{"min":8254,"max":8254},{"min":8263,"max":8265},{"min":8279,"max":8279},{"min":8287,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8360,"max":8360},{"min":8448,"max":8451},{"min":8453,"max":8455},{"min":8457,"max":8467},{"min":8469,"max":8470},{"min":8473,"max":8477},{"min":8480,"max":8482},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8507,"max":8512},{"min":8517,"max":8521},{"min":8528,"max":8575},{"min":8579,"max":8579},{"min":8585,"max":8585},{"min":8748,"max":8749},{"min":8751,"max":8752},{"min":9001,"max":9002},{"min":9312,"max":9450},{"min":10764,"max":10764},{"min":10868,"max":10870},{"min":10972,"max":10972},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11388,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":11631,"max":11631},{"min":11935,"max":11935},{"min":12019,"max":12019},{"min":12032,"max":12245},{"min":12288,"max":12288},{"min":12342,"max":12342},{"min":12344,"max":12346},{"min":12443,"max":12444},{"min":12447,"max":12447},{"min":12543,"max":12543},{"min":12593,"max":12686},{"min":12690,"max":12703},{"min":12800,"max":12830},{"min":12832,"max":12871},{"min":12880,"max":12926},{"min":12928,"max":13311},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42652,"max":42653},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42864,"max":42864},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42994,"max":42997},{"min":43000,"max":43001},{"min":43868,"max":43871},{"min":43881,"max":43881},{"min":43888,"max":43967},{"min":63744,"max":64013},{"min":64016,"max":64016},{"min":64018,"max":64018},{"min":64021,"max":64030},{"min":64032,"max":64032},{"min":64034,"max":64034},{"min":64037,"max":64038},{"min":64042,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65020},{"min":65024,"max":65049},{"min":65072,"max":65092},{"min":65095,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65138},{"min":65140,"max":65140},{"min":65142,"max":65276},{"min":65279,"max":65279},{"min":65281,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65520,"max":65528},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":67457,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":113824,"max":113827},{"min":119134,"max":119140},{"min":119155,"max":119162},{"min":119227,"max":119232},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":122928,"max":122989},{"min":125184,"max":125217},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":127232,"max":127242},{"min":127248,"max":127278},{"min":127280,"max":127311},{"min":127338,"max":127340},{"min":127376,"max":127376},{"min":127488,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":130032,"max":130041},{"min":194560,"max":195101},{"min":917504,"max":921599}]'); -export const Changes_When_Titlecased: readonly CharRange[] = JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":311},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":396},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":410},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":441},{"min":445,"max":445},{"min":447,"max":447},{"min":452,"max":452},{"min":454,"max":455},{"min":457,"max":458},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":497},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":563},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1019},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1377,"max":1415},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7835},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11379,"max":11379},{"min":11382,"max":11382},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11491},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42799},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42897,"max":42897},{"min":42899,"max":42900},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":125218,"max":125251}]'); -export const Changes_When_Uppercased: readonly CharRange[] = JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":311},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":396},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":410},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":441},{"min":445,"max":445},{"min":447,"max":447},{"min":453,"max":454},{"min":456,"max":457},{"min":459,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":498,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":563},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1019},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1377,"max":1415},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7835},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8119},{"min":8124,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8140,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8188,"max":8188},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11379,"max":11379},{"min":11382,"max":11382},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11491},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42799},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42897,"max":42897},{"min":42899,"max":42900},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":125218,"max":125251}]'); -export const Dash: readonly CharRange[] = JSON.parse('[{"min":45,"max":45},{"min":1418,"max":1418},{"min":1470,"max":1470},{"min":5120,"max":5120},{"min":6150,"max":6150},{"min":8208,"max":8213},{"min":8275,"max":8275},{"min":8315,"max":8315},{"min":8331,"max":8331},{"min":8722,"max":8722},{"min":11799,"max":11799},{"min":11802,"max":11802},{"min":11834,"max":11835},{"min":11840,"max":11840},{"min":11869,"max":11869},{"min":12316,"max":12316},{"min":12336,"max":12336},{"min":12448,"max":12448},{"min":65073,"max":65074},{"min":65112,"max":65112},{"min":65123,"max":65123},{"min":65293,"max":65293},{"min":69293,"max":69293}]'); -export const Default_Ignorable_Code_Point: readonly CharRange[] = JSON.parse('[{"min":173,"max":173},{"min":847,"max":847},{"min":1564,"max":1564},{"min":4447,"max":4448},{"min":6068,"max":6069},{"min":6155,"max":6159},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8303},{"min":12644,"max":12644},{"min":65024,"max":65039},{"min":65279,"max":65279},{"min":65440,"max":65440},{"min":65520,"max":65528},{"min":113824,"max":113827},{"min":119155,"max":119162},{"min":917504,"max":921599}]'); -export const Deprecated: readonly CharRange[] = JSON.parse('[{"min":329,"max":329},{"min":1651,"max":1651},{"min":3959,"max":3959},{"min":3961,"max":3961},{"min":6051,"max":6052},{"min":8298,"max":8303},{"min":9001,"max":9002},{"min":917505,"max":917505}]'); -export const Diacritic: readonly CharRange[] = JSON.parse('[{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":175,"max":175},{"min":180,"max":180},{"min":183,"max":184},{"min":688,"max":846},{"min":848,"max":855},{"min":861,"max":866},{"min":884,"max":885},{"min":890,"max":890},{"min":900,"max":901},{"min":1155,"max":1159},{"min":1369,"max":1369},{"min":1425,"max":1441},{"min":1443,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1476},{"min":1611,"max":1618},{"min":1623,"max":1624},{"min":1759,"max":1760},{"min":1765,"max":1766},{"min":1770,"max":1772},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2037},{"min":2072,"max":2073},{"min":2200,"max":2207},{"min":2249,"max":2258},{"min":2275,"max":2302},{"min":2364,"max":2364},{"min":2381,"max":2381},{"min":2385,"max":2388},{"min":2417,"max":2417},{"min":2492,"max":2492},{"min":2509,"max":2509},{"min":2620,"max":2620},{"min":2637,"max":2637},{"min":2748,"max":2748},{"min":2765,"max":2765},{"min":2813,"max":2815},{"min":2876,"max":2876},{"min":2893,"max":2893},{"min":2901,"max":2901},{"min":3021,"max":3021},{"min":3132,"max":3132},{"min":3149,"max":3149},{"min":3260,"max":3260},{"min":3277,"max":3277},{"min":3387,"max":3388},{"min":3405,"max":3405},{"min":3530,"max":3530},{"min":3655,"max":3660},{"min":3662,"max":3662},{"min":3770,"max":3770},{"min":3784,"max":3788},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3903},{"min":3970,"max":3972},{"min":3974,"max":3975},{"min":4038,"max":4038},{"min":4151,"max":4151},{"min":4153,"max":4154},{"min":4195,"max":4196},{"min":4201,"max":4205},{"min":4231,"max":4237},{"min":4239,"max":4239},{"min":4250,"max":4251},{"min":4957,"max":4959},{"min":5908,"max":5909},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6457,"max":6459},{"min":6773,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6846},{"min":6849,"max":6859},{"min":6964,"max":6964},{"min":6980,"max":6980},{"min":7019,"max":7027},{"min":7082,"max":7083},{"min":7222,"max":7223},{"min":7288,"max":7293},{"min":7376,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7415,"max":7417},{"min":7468,"max":7530},{"min":7620,"max":7631},{"min":7669,"max":7679},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":11503,"max":11505},{"min":11823,"max":11823},{"min":12330,"max":12335},{"min":12441,"max":12444},{"min":12540,"max":12540},{"min":42607,"max":42607},{"min":42620,"max":42621},{"min":42623,"max":42623},{"min":42652,"max":42653},{"min":42736,"max":42737},{"min":42752,"max":42785},{"min":42888,"max":42890},{"min":43000,"max":43001},{"min":43204,"max":43204},{"min":43232,"max":43249},{"min":43307,"max":43310},{"min":43347,"max":43347},{"min":43443,"max":43443},{"min":43456,"max":43456},{"min":43493,"max":43493},{"min":43643,"max":43645},{"min":43711,"max":43714},{"min":43766,"max":43766},{"min":43867,"max":43871},{"min":43881,"max":43883},{"min":44012,"max":44013},{"min":64286,"max":64286},{"min":65056,"max":65071},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65507,"max":65507},{"min":66272,"max":66272},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68325,"max":68326},{"min":68898,"max":68903},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69702,"max":69702},{"min":69744,"max":69744},{"min":69817,"max":69818},{"min":69939,"max":69940},{"min":70003,"max":70003},{"min":70080,"max":70080},{"min":70090,"max":70092},{"min":70197,"max":70198},{"min":70377,"max":70378},{"min":70460,"max":70460},{"min":70477,"max":70477},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70722,"max":70722},{"min":70726,"max":70726},{"min":70850,"max":70851},{"min":71103,"max":71104},{"min":71231,"max":71231},{"min":71350,"max":71351},{"min":71467,"max":71467},{"min":71737,"max":71738},{"min":71997,"max":71998},{"min":72003,"max":72003},{"min":72160,"max":72160},{"min":72244,"max":72244},{"min":72263,"max":72263},{"min":72345,"max":72345},{"min":72767,"max":72767},{"min":73026,"max":73026},{"min":73028,"max":73029},{"min":73111,"max":73111},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94095,"max":94111},{"min":94192,"max":94193},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":122928,"max":122989},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":125136,"max":125142},{"min":125252,"max":125254},{"min":125256,"max":125258}]'); -export const Emoji: readonly CharRange[] = JSON.parse('[{"min":35,"max":35},{"min":42,"max":42},{"min":48,"max":57},{"min":169,"max":169},{"min":174,"max":174},{"min":8252,"max":8252},{"min":8265,"max":8265},{"min":8482,"max":8482},{"min":8505,"max":8505},{"min":8596,"max":8601},{"min":8617,"max":8618},{"min":8986,"max":8987},{"min":9000,"max":9000},{"min":9167,"max":9167},{"min":9193,"max":9203},{"min":9208,"max":9210},{"min":9410,"max":9410},{"min":9642,"max":9643},{"min":9654,"max":9654},{"min":9664,"max":9664},{"min":9723,"max":9726},{"min":9728,"max":9732},{"min":9742,"max":9742},{"min":9745,"max":9745},{"min":9748,"max":9749},{"min":9752,"max":9752},{"min":9757,"max":9757},{"min":9760,"max":9760},{"min":9762,"max":9763},{"min":9766,"max":9766},{"min":9770,"max":9770},{"min":9774,"max":9775},{"min":9784,"max":9786},{"min":9792,"max":9792},{"min":9794,"max":9794},{"min":9800,"max":9811},{"min":9823,"max":9824},{"min":9827,"max":9827},{"min":9829,"max":9830},{"min":9832,"max":9832},{"min":9851,"max":9851},{"min":9854,"max":9855},{"min":9874,"max":9879},{"min":9881,"max":9881},{"min":9883,"max":9884},{"min":9888,"max":9889},{"min":9895,"max":9895},{"min":9898,"max":9899},{"min":9904,"max":9905},{"min":9917,"max":9918},{"min":9924,"max":9925},{"min":9928,"max":9928},{"min":9934,"max":9935},{"min":9937,"max":9937},{"min":9939,"max":9940},{"min":9961,"max":9962},{"min":9968,"max":9973},{"min":9975,"max":9978},{"min":9981,"max":9981},{"min":9986,"max":9986},{"min":9989,"max":9989},{"min":9992,"max":9997},{"min":9999,"max":9999},{"min":10002,"max":10002},{"min":10004,"max":10004},{"min":10006,"max":10006},{"min":10013,"max":10013},{"min":10017,"max":10017},{"min":10024,"max":10024},{"min":10035,"max":10036},{"min":10052,"max":10052},{"min":10055,"max":10055},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10083,"max":10084},{"min":10133,"max":10135},{"min":10145,"max":10145},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":10548,"max":10549},{"min":11013,"max":11015},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12951,"max":12951},{"min":12953,"max":12953},{"min":126980,"max":126980},{"min":127183,"max":127183},{"min":127344,"max":127345},{"min":127358,"max":127359},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127546},{"min":127568,"max":127569},{"min":127744,"max":127777},{"min":127780,"max":127891},{"min":127894,"max":127895},{"min":127897,"max":127899},{"min":127902,"max":127984},{"min":127987,"max":127989},{"min":127991,"max":128253},{"min":128255,"max":128317},{"min":128329,"max":128334},{"min":128336,"max":128359},{"min":128367,"max":128368},{"min":128371,"max":128378},{"min":128391,"max":128391},{"min":128394,"max":128397},{"min":128400,"max":128400},{"min":128405,"max":128406},{"min":128420,"max":128421},{"min":128424,"max":128424},{"min":128433,"max":128434},{"min":128444,"max":128444},{"min":128450,"max":128452},{"min":128465,"max":128467},{"min":128476,"max":128478},{"min":128481,"max":128481},{"min":128483,"max":128483},{"min":128488,"max":128488},{"min":128495,"max":128495},{"min":128499,"max":128499},{"min":128506,"max":128591},{"min":128640,"max":128709},{"min":128715,"max":128722},{"min":128725,"max":128727},{"min":128732,"max":128741},{"min":128745,"max":128745},{"min":128747,"max":128748},{"min":128752,"max":128752},{"min":128755,"max":128764},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129535},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784}]'); -export const Emoji_Component: readonly CharRange[] = JSON.parse('[{"min":35,"max":35},{"min":42,"max":42},{"min":48,"max":57},{"min":8205,"max":8205},{"min":8419,"max":8419},{"min":65039,"max":65039},{"min":127462,"max":127487},{"min":127995,"max":127999},{"min":129456,"max":129459},{"min":917536,"max":917631}]'); -export const Emoji_Modifier: readonly CharRange[] = JSON.parse('[{"min":127995,"max":127999}]'); -export const Emoji_Modifier_Base: readonly CharRange[] = JSON.parse('[{"min":9757,"max":9757},{"min":9977,"max":9977},{"min":9994,"max":9997},{"min":127877,"max":127877},{"min":127938,"max":127940},{"min":127943,"max":127943},{"min":127946,"max":127948},{"min":128066,"max":128067},{"min":128070,"max":128080},{"min":128102,"max":128120},{"min":128124,"max":128124},{"min":128129,"max":128131},{"min":128133,"max":128135},{"min":128143,"max":128143},{"min":128145,"max":128145},{"min":128170,"max":128170},{"min":128372,"max":128373},{"min":128378,"max":128378},{"min":128400,"max":128400},{"min":128405,"max":128406},{"min":128581,"max":128583},{"min":128587,"max":128591},{"min":128675,"max":128675},{"min":128692,"max":128694},{"min":128704,"max":128704},{"min":128716,"max":128716},{"min":129292,"max":129292},{"min":129295,"max":129295},{"min":129304,"max":129311},{"min":129318,"max":129318},{"min":129328,"max":129337},{"min":129340,"max":129342},{"min":129399,"max":129399},{"min":129461,"max":129462},{"min":129464,"max":129465},{"min":129467,"max":129467},{"min":129485,"max":129487},{"min":129489,"max":129501},{"min":129731,"max":129733},{"min":129776,"max":129784}]'); -export const Emoji_Presentation: readonly CharRange[] = JSON.parse('[{"min":8986,"max":8987},{"min":9193,"max":9196},{"min":9200,"max":9200},{"min":9203,"max":9203},{"min":9725,"max":9726},{"min":9748,"max":9749},{"min":9800,"max":9811},{"min":9855,"max":9855},{"min":9875,"max":9875},{"min":9889,"max":9889},{"min":9898,"max":9899},{"min":9917,"max":9918},{"min":9924,"max":9925},{"min":9934,"max":9934},{"min":9940,"max":9940},{"min":9962,"max":9962},{"min":9970,"max":9971},{"min":9973,"max":9973},{"min":9978,"max":9978},{"min":9981,"max":9981},{"min":9989,"max":9989},{"min":9994,"max":9995},{"min":10024,"max":10024},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10133,"max":10135},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":126980,"max":126980},{"min":127183,"max":127183},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127462,"max":127487},{"min":127489,"max":127489},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127542},{"min":127544,"max":127546},{"min":127568,"max":127569},{"min":127744,"max":127776},{"min":127789,"max":127797},{"min":127799,"max":127868},{"min":127870,"max":127891},{"min":127904,"max":127946},{"min":127951,"max":127955},{"min":127968,"max":127984},{"min":127988,"max":127988},{"min":127992,"max":128062},{"min":128064,"max":128064},{"min":128066,"max":128252},{"min":128255,"max":128317},{"min":128331,"max":128334},{"min":128336,"max":128359},{"min":128378,"max":128378},{"min":128405,"max":128406},{"min":128420,"max":128420},{"min":128507,"max":128591},{"min":128640,"max":128709},{"min":128716,"max":128716},{"min":128720,"max":128722},{"min":128725,"max":128727},{"min":128732,"max":128735},{"min":128747,"max":128748},{"min":128756,"max":128764},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129535},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784}]'); -export const Extended_Pictographic: readonly CharRange[] = JSON.parse('[{"min":169,"max":169},{"min":174,"max":174},{"min":8252,"max":8252},{"min":8265,"max":8265},{"min":8482,"max":8482},{"min":8505,"max":8505},{"min":8596,"max":8601},{"min":8617,"max":8618},{"min":8986,"max":8987},{"min":9000,"max":9000},{"min":9096,"max":9096},{"min":9167,"max":9167},{"min":9193,"max":9203},{"min":9208,"max":9210},{"min":9410,"max":9410},{"min":9642,"max":9643},{"min":9654,"max":9654},{"min":9664,"max":9664},{"min":9723,"max":9726},{"min":9728,"max":9733},{"min":9735,"max":9746},{"min":9748,"max":9861},{"min":9872,"max":9989},{"min":9992,"max":10002},{"min":10004,"max":10004},{"min":10006,"max":10006},{"min":10013,"max":10013},{"min":10017,"max":10017},{"min":10024,"max":10024},{"min":10035,"max":10036},{"min":10052,"max":10052},{"min":10055,"max":10055},{"min":10060,"max":10060},{"min":10062,"max":10062},{"min":10067,"max":10069},{"min":10071,"max":10071},{"min":10083,"max":10087},{"min":10133,"max":10135},{"min":10145,"max":10145},{"min":10160,"max":10160},{"min":10175,"max":10175},{"min":10548,"max":10549},{"min":11013,"max":11015},{"min":11035,"max":11036},{"min":11088,"max":11088},{"min":11093,"max":11093},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12951,"max":12951},{"min":12953,"max":12953},{"min":126976,"max":127231},{"min":127245,"max":127247},{"min":127279,"max":127279},{"min":127340,"max":127345},{"min":127358,"max":127359},{"min":127374,"max":127374},{"min":127377,"max":127386},{"min":127405,"max":127461},{"min":127489,"max":127503},{"min":127514,"max":127514},{"min":127535,"max":127535},{"min":127538,"max":127546},{"min":127548,"max":127551},{"min":127561,"max":127994},{"min":128000,"max":128317},{"min":128326,"max":128591},{"min":128640,"max":128767},{"min":128884,"max":128895},{"min":128981,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129279},{"min":129292,"max":129338},{"min":129340,"max":129349},{"min":129351,"max":129791},{"min":130048,"max":131069}]'); -export const Extender: readonly CharRange[] = JSON.parse('[{"min":183,"max":183},{"min":720,"max":721},{"min":1600,"max":1600},{"min":2042,"max":2042},{"min":2901,"max":2901},{"min":3654,"max":3654},{"min":3782,"max":3782},{"min":6154,"max":6154},{"min":6211,"max":6211},{"min":6823,"max":6823},{"min":7222,"max":7222},{"min":7291,"max":7291},{"min":12293,"max":12293},{"min":12337,"max":12341},{"min":12445,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42508,"max":42508},{"min":43471,"max":43471},{"min":43494,"max":43494},{"min":43632,"max":43632},{"min":43741,"max":43741},{"min":43763,"max":43764},{"min":65392,"max":65392},{"min":67457,"max":67458},{"min":70493,"max":70493},{"min":71110,"max":71112},{"min":72344,"max":72344},{"min":92994,"max":92995},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":123196,"max":123197},{"min":125252,"max":125254}]'); -export const Grapheme_Base: readonly CharRange[] = JSON.parse('[{"min":32,"max":126},{"min":160,"max":172},{"min":174,"max":767},{"min":880,"max":887},{"min":890,"max":895},{"min":900,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1154},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":1470,"max":1470},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":1542,"max":1551},{"min":1563,"max":1563},{"min":1565,"max":1610},{"min":1632,"max":1647},{"min":1649,"max":1749},{"min":1758,"max":1758},{"min":1765,"max":1766},{"min":1769,"max":1769},{"min":1774,"max":1805},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1984,"max":2026},{"min":2036,"max":2042},{"min":2046,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2096,"max":2110},{"min":2112,"max":2136},{"min":2142,"max":2142},{"min":2144,"max":2154},{"min":2160,"max":2190},{"min":2208,"max":2249},{"min":2307,"max":2361},{"min":2363,"max":2363},{"min":2365,"max":2368},{"min":2377,"max":2380},{"min":2382,"max":2384},{"min":2392,"max":2401},{"min":2404,"max":2432},{"min":2434,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2495,"max":2496},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2534,"max":2557},{"min":2563,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2622,"max":2624},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2671},{"min":2674,"max":2676},{"min":2678,"max":2678},{"min":2691,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2752},{"min":2761,"max":2761},{"min":2763,"max":2764},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2790,"max":2801},{"min":2809,"max":2809},{"min":2818,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2880,"max":2880},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2918,"max":2935},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3007,"max":3007},{"min":3009,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3024,"max":3024},{"min":3046,"max":3066},{"min":3073,"max":3075},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3137,"max":3140},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3174,"max":3183},{"min":3191,"max":3200},{"min":3202,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3262},{"min":3264,"max":3265},{"min":3267,"max":3268},{"min":3271,"max":3272},{"min":3274,"max":3275},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3330,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3391,"max":3392},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3406,"max":3407},{"min":3412,"max":3414},{"min":3416,"max":3425},{"min":3430,"max":3455},{"min":3458,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3536,"max":3537},{"min":3544,"max":3550},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3647,"max":3654},{"min":3663,"max":3675},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3863},{"min":3866,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":3898,"max":3911},{"min":3913,"max":3948},{"min":3967,"max":3967},{"min":3973,"max":3973},{"min":3976,"max":3980},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4058},{"min":4096,"max":4140},{"min":4145,"max":4145},{"min":4152,"max":4152},{"min":4155,"max":4156},{"min":4159,"max":4183},{"min":4186,"max":4189},{"min":4193,"max":4208},{"min":4213,"max":4225},{"min":4227,"max":4228},{"min":4231,"max":4236},{"min":4238,"max":4252},{"min":4254,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4960,"max":4988},{"min":4992,"max":5017},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5120,"max":5788},{"min":5792,"max":5880},{"min":5888,"max":5905},{"min":5909,"max":5909},{"min":5919,"max":5937},{"min":5940,"max":5942},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6070,"max":6070},{"min":6078,"max":6085},{"min":6087,"max":6088},{"min":6100,"max":6108},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6144,"max":6154},{"min":6160,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6435,"max":6438},{"min":6441,"max":6443},{"min":6448,"max":6449},{"min":6451,"max":6456},{"min":6464,"max":6464},{"min":6468,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6678},{"min":6681,"max":6682},{"min":6686,"max":6741},{"min":6743,"max":6743},{"min":6753,"max":6753},{"min":6755,"max":6756},{"min":6765,"max":6770},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829},{"min":6916,"max":6963},{"min":6971,"max":6971},{"min":6973,"max":6977},{"min":6979,"max":6988},{"min":6992,"max":7018},{"min":7028,"max":7038},{"min":7042,"max":7073},{"min":7078,"max":7079},{"min":7082,"max":7082},{"min":7086,"max":7141},{"min":7143,"max":7143},{"min":7146,"max":7148},{"min":7150,"max":7150},{"min":7154,"max":7155},{"min":7164,"max":7211},{"min":7220,"max":7221},{"min":7227,"max":7241},{"min":7245,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7367},{"min":7379,"max":7379},{"min":7393,"max":7393},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7415},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8192,"max":8202},{"min":8208,"max":8231},{"min":8239,"max":8287},{"min":8304,"max":8305},{"min":8308,"max":8334},{"min":8336,"max":8348},{"min":8352,"max":8384},{"min":8448,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11502},{"min":11506,"max":11507},{"min":11513,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11776,"max":11869},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12288,"max":12329},{"min":12336,"max":12351},{"min":12353,"max":12438},{"min":12443,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12688,"max":12771},{"min":12784,"max":12830},{"min":12832,"max":42124},{"min":42128,"max":42182},{"min":42192,"max":42539},{"min":42560,"max":42606},{"min":42611,"max":42611},{"min":42622,"max":42653},{"min":42656,"max":42735},{"min":42738,"max":42743},{"min":42752,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43044},{"min":43047,"max":43051},{"min":43056,"max":43065},{"min":43072,"max":43127},{"min":43136,"max":43203},{"min":43214,"max":43225},{"min":43250,"max":43262},{"min":43264,"max":43301},{"min":43310,"max":43334},{"min":43346,"max":43347},{"min":43359,"max":43388},{"min":43395,"max":43442},{"min":43444,"max":43445},{"min":43450,"max":43451},{"min":43454,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43492},{"min":43494,"max":43518},{"min":43520,"max":43560},{"min":43567,"max":43568},{"min":43571,"max":43572},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43597,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43643},{"min":43645,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43755},{"min":43758,"max":43765},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43883},{"min":43888,"max":44004},{"min":44006,"max":44007},{"min":44009,"max":44012},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65281,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65532,"max":65533},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66273,"max":66299},{"min":66304,"max":66339},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66463,"max":66499},{"min":66504,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66927,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67671,"max":67742},{"min":67751,"max":67759},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67867},{"min":67871,"max":67897},{"min":67903,"max":67903},{"min":67968,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68160,"max":68168},{"min":68176,"max":68184},{"min":68192,"max":68255},{"min":68288,"max":68324},{"min":68331,"max":68342},{"min":68352,"max":68405},{"min":68409,"max":68437},{"min":68440,"max":68466},{"min":68472,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68899},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69248,"max":69289},{"min":69293,"max":69293},{"min":69296,"max":69297},{"min":69376,"max":69415},{"min":69424,"max":69445},{"min":69457,"max":69465},{"min":69488,"max":69505},{"min":69510,"max":69513},{"min":69552,"max":69579},{"min":69600,"max":69622},{"min":69632,"max":69632},{"min":69634,"max":69687},{"min":69703,"max":69709},{"min":69714,"max":69743},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69762,"max":69810},{"min":69815,"max":69816},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69891,"max":69926},{"min":69932,"max":69932},{"min":69942,"max":69959},{"min":69968,"max":70002},{"min":70004,"max":70006},{"min":70018,"max":70069},{"min":70079,"max":70088},{"min":70093,"max":70094},{"min":70096,"max":70111},{"min":70113,"max":70132},{"min":70144,"max":70161},{"min":70163,"max":70190},{"min":70194,"max":70195},{"min":70197,"max":70197},{"min":70200,"max":70205},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313},{"min":70320,"max":70366},{"min":70368,"max":70370},{"min":70384,"max":70393},{"min":70402,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70463,"max":70463},{"min":70465,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70493,"max":70499},{"min":70656,"max":70711},{"min":70720,"max":70721},{"min":70725,"max":70725},{"min":70727,"max":70747},{"min":70749,"max":70749},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70833,"max":70834},{"min":70841,"max":70841},{"min":70843,"max":70844},{"min":70846,"max":70846},{"min":70849,"max":70849},{"min":70852,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71086},{"min":71088,"max":71089},{"min":71096,"max":71099},{"min":71102,"max":71102},{"min":71105,"max":71131},{"min":71168,"max":71218},{"min":71227,"max":71228},{"min":71230,"max":71230},{"min":71233,"max":71236},{"min":71248,"max":71257},{"min":71264,"max":71276},{"min":71296,"max":71338},{"min":71340,"max":71340},{"min":71342,"max":71343},{"min":71350,"max":71350},{"min":71352,"max":71353},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71456,"max":71457},{"min":71462,"max":71462},{"min":71472,"max":71494},{"min":71680,"max":71726},{"min":71736,"max":71736},{"min":71739,"max":71739},{"min":71840,"max":71922},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71985,"max":71989},{"min":71991,"max":71992},{"min":71997,"max":71997},{"min":71999,"max":72002},{"min":72004,"max":72006},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72147},{"min":72156,"max":72159},{"min":72161,"max":72164},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72249,"max":72250},{"min":72255,"max":72262},{"min":72272,"max":72272},{"min":72279,"max":72280},{"min":72284,"max":72329},{"min":72343,"max":72343},{"min":72346,"max":72354},{"min":72368,"max":72440},{"min":72448,"max":72457},{"min":72704,"max":72712},{"min":72714,"max":72751},{"min":72766,"max":72766},{"min":72768,"max":72773},{"min":72784,"max":72812},{"min":72816,"max":72847},{"min":72873,"max":72873},{"min":72881,"max":72881},{"min":72884,"max":72884},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73107,"max":73108},{"min":73110,"max":73110},{"min":73112,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73458},{"min":73461,"max":73464},{"min":73474,"max":73488},{"min":73490,"max":73525},{"min":73534,"max":73535},{"min":73537,"max":73537},{"min":73539,"max":73561},{"min":73648,"max":73648},{"min":73664,"max":73713},{"min":73727,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075},{"min":77712,"max":77810},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92917,"max":92917},{"min":92928,"max":92975},{"min":92983,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93850},{"min":93952,"max":94026},{"min":94032,"max":94087},{"min":94099,"max":94111},{"min":94176,"max":94179},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113820},{"min":113823,"max":113823},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119142,"max":119142},{"min":119146,"max":119149},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121483},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":123632,"max":123641},{"min":123647,"max":123647},{"min":124112,"max":124139},{"min":124144,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125127,"max":125135},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Grapheme_Extend: readonly CharRange[] = JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1161},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2494,"max":2494},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2519,"max":2519},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2878,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2903},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3006,"max":3006},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3031,"max":3031},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3266,"max":3266},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3285,"max":3286},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3390,"max":3390},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3415,"max":3415},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3535,"max":3535},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3551,"max":3551},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8204,"max":8204},{"min":8400,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12335},{"min":12441,"max":12442},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43493,"max":43493},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43756,"max":43757},{"min":43766,"max":43766},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65438,"max":65439},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70462,"max":70462},{"min":70464,"max":70464},{"min":70487,"max":70487},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70832,"max":70832},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70845,"max":70845},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71087,"max":71087},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71984,"max":71984},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119141},{"min":119143,"max":119145},{"min":119150,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917536,"max":917631},{"min":917760,"max":917999}]'); -export const Hex_Digit: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":65,"max":70},{"min":97,"max":102},{"min":65296,"max":65305},{"min":65313,"max":65318},{"min":65345,"max":65350}]'); -export const IDS_Binary_Operator: readonly CharRange[] = JSON.parse('[{"min":12272,"max":12273},{"min":12276,"max":12283}]'); -export const IDS_Trinary_Operator: readonly CharRange[] = JSON.parse('[{"min":12274,"max":12275}]'); -export const ID_Continue: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":65,"max":90},{"min":95,"max":95},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":183,"max":183},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":768,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1155,"max":1159},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1641},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1759,"max":1768},{"min":1770,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2048,"max":2093},{"min":2112,"max":2139},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2200,"max":2273},{"min":2275,"max":2403},{"min":2406,"max":2415},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2545},{"min":2556,"max":2556},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2799},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2927},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3055},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3430,"max":3439},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3662},{"min":3664,"max":3673},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3864,"max":3865},{"min":3872,"max":3881},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3972},{"min":3974,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4096,"max":4169},{"min":4176,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4959},{"min":4969,"max":4977},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5940},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6099},{"min":6103,"max":6103},{"min":6108,"max":6109},{"min":6112,"max":6121},{"min":6155,"max":6157},{"min":6159,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6470,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6823,"max":6823},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7001},{"min":7019,"max":7027},{"min":7040,"max":7155},{"min":7168,"max":7223},{"min":7232,"max":7241},{"min":7245,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7376,"max":7378},{"min":7380,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":12293,"max":12295},{"min":12321,"max":12335},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12441,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42539},{"min":42560,"max":42607},{"min":42612,"max":42621},{"min":42623,"max":42737},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43047},{"min":43052,"max":43052},{"min":43072,"max":43123},{"min":43136,"max":43205},{"min":43216,"max":43225},{"min":43232,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43309},{"min":43312,"max":43347},{"min":43360,"max":43388},{"min":43392,"max":43456},{"min":43471,"max":43481},{"min":43488,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43616,"max":43638},{"min":43642,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44012,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65296,"max":65305},{"min":65313,"max":65338},{"min":65343,"max":65343},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66045,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66272},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68326},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":68912,"max":68921},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69373,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69456},{"min":69488,"max":69509},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69702},{"min":69734,"max":69749},{"min":69759,"max":69818},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69951},{"min":69956,"max":69959},{"min":69968,"max":70003},{"min":70006,"max":70006},{"min":70016,"max":70084},{"min":70089,"max":70092},{"min":70094,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70730},{"min":70736,"max":70745},{"min":70750,"max":70753},{"min":70784,"max":70853},{"min":70855,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71104},{"min":71128,"max":71133},{"min":71168,"max":71232},{"min":71236,"max":71236},{"min":71248,"max":71257},{"min":71296,"max":71352},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71481},{"min":71488,"max":71494},{"min":71680,"max":71738},{"min":71840,"max":71913},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72003},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72254},{"min":72263,"max":72263},{"min":72272,"max":72345},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72768},{"min":72784,"max":72793},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73538},{"min":73552,"max":73561},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78912,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92784,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92916},{"min":92928,"max":92982},{"min":92992,"max":92995},{"min":93008,"max":93017},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":120782,"max":120831},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123214},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125136,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917760,"max":917999}]'); -export const ID_Start: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12443,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Ideographic: readonly CharRange[] = JSON.parse('[{"min":12294,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":94180,"max":94180},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110960,"max":111355},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Join_Control: readonly CharRange[] = JSON.parse('[{"min":8204,"max":8205}]'); -export const Logical_Order_Exception: readonly CharRange[] = JSON.parse('[{"min":3648,"max":3652},{"min":3776,"max":3780},{"min":6581,"max":6583},{"min":6586,"max":6586},{"min":43701,"max":43702},{"min":43705,"max":43705},{"min":43707,"max":43708}]'); -export const Lowercase: readonly CharRange[] = JSON.parse('[{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":312},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":397},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":411},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":426,"max":427},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":442},{"min":445,"max":447},{"min":454,"max":454},{"min":457,"max":457},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":545,"max":545},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":569},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":659},{"min":661,"max":696},{"min":704,"max":705},{"min":736,"max":740},{"min":837,"max":837},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":890,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1020},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1376,"max":1416},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7424,"max":7615},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7837},{"min":7839,"max":7839},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8458,"max":8458},{"min":8462,"max":8463},{"min":8467,"max":8467},{"min":8495,"max":8495},{"min":8500,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8509},{"min":8518,"max":8521},{"min":8526,"max":8526},{"min":8560,"max":8575},{"min":8580,"max":8580},{"min":9424,"max":9449},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11377,"max":11377},{"min":11379,"max":11380},{"min":11382,"max":11389},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11492},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42653},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42801},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42872},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42894,"max":42894},{"min":42897,"max":42897},{"min":42899,"max":42901},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42927,"max":42927},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42965},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42994,"max":42996},{"min":42998,"max":42998},{"min":43000,"max":43002},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67456,"max":67456},{"min":67459,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":119834,"max":119859},{"min":119886,"max":119892},{"min":119894,"max":119911},{"min":119938,"max":119963},{"min":119990,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120015},{"min":120042,"max":120067},{"min":120094,"max":120119},{"min":120146,"max":120171},{"min":120198,"max":120223},{"min":120250,"max":120275},{"min":120302,"max":120327},{"min":120354,"max":120379},{"min":120406,"max":120431},{"min":120458,"max":120485},{"min":120514,"max":120538},{"min":120540,"max":120545},{"min":120572,"max":120596},{"min":120598,"max":120603},{"min":120630,"max":120654},{"min":120656,"max":120661},{"min":120688,"max":120712},{"min":120714,"max":120719},{"min":120746,"max":120770},{"min":120772,"max":120777},{"min":120779,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":125218,"max":125251}]'); -export const Math: readonly CharRange[] = JSON.parse('[{"min":43,"max":43},{"min":60,"max":62},{"min":94,"max":94},{"min":124,"max":124},{"min":126,"max":126},{"min":172,"max":172},{"min":177,"max":177},{"min":215,"max":215},{"min":247,"max":247},{"min":976,"max":978},{"min":981,"max":981},{"min":1008,"max":1009},{"min":1012,"max":1014},{"min":1542,"max":1544},{"min":8214,"max":8214},{"min":8242,"max":8244},{"min":8256,"max":8256},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8289,"max":8292},{"min":8314,"max":8318},{"min":8330,"max":8334},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8422},{"min":8427,"max":8431},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8488,"max":8489},{"min":8492,"max":8493},{"min":8495,"max":8497},{"min":8499,"max":8504},{"min":8508,"max":8521},{"min":8523,"max":8523},{"min":8592,"max":8615},{"min":8617,"max":8622},{"min":8624,"max":8625},{"min":8630,"max":8631},{"min":8636,"max":8667},{"min":8669,"max":8669},{"min":8676,"max":8677},{"min":8692,"max":8959},{"min":8968,"max":8971},{"min":8992,"max":8993},{"min":9084,"max":9084},{"min":9115,"max":9141},{"min":9143,"max":9143},{"min":9168,"max":9168},{"min":9180,"max":9186},{"min":9632,"max":9633},{"min":9646,"max":9655},{"min":9660,"max":9665},{"min":9670,"max":9671},{"min":9674,"max":9675},{"min":9679,"max":9683},{"min":9698,"max":9698},{"min":9700,"max":9700},{"min":9703,"max":9708},{"min":9720,"max":9727},{"min":9733,"max":9734},{"min":9792,"max":9792},{"min":9794,"max":9794},{"min":9824,"max":9827},{"min":9837,"max":9839},{"min":10176,"max":10239},{"min":10496,"max":11007},{"min":11056,"max":11076},{"min":11079,"max":11084},{"min":64297,"max":64297},{"min":65121,"max":65126},{"min":65128,"max":65128},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65340,"max":65340},{"min":65342,"max":65342},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65506,"max":65506},{"min":65513,"max":65516},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'); -export const Noncharacter_Code_Point: readonly CharRange[] = JSON.parse('[{"min":64976,"max":65007},{"min":65534,"max":65535},{"min":131070,"max":131071},{"min":196606,"max":196607},{"min":262142,"max":262143},{"min":327678,"max":327679},{"min":393214,"max":393215},{"min":458750,"max":458751},{"min":524286,"max":524287},{"min":589822,"max":589823},{"min":655358,"max":655359},{"min":720894,"max":720895},{"min":786430,"max":786431},{"min":851966,"max":851967},{"min":917502,"max":917503},{"min":983038,"max":983039},{"min":1048574,"max":1048575},{"min":1114110,"max":1114111}]'); -export const Pattern_Syntax: readonly CharRange[] = JSON.parse('[{"min":33,"max":47},{"min":58,"max":64},{"min":91,"max":94},{"min":96,"max":96},{"min":123,"max":126},{"min":161,"max":167},{"min":169,"max":169},{"min":171,"max":172},{"min":174,"max":174},{"min":176,"max":177},{"min":182,"max":182},{"min":187,"max":187},{"min":191,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":8208,"max":8231},{"min":8240,"max":8254},{"min":8257,"max":8275},{"min":8277,"max":8286},{"min":8592,"max":9311},{"min":9472,"max":10101},{"min":10132,"max":11263},{"min":11776,"max":11903},{"min":12289,"max":12291},{"min":12296,"max":12320},{"min":12336,"max":12336},{"min":64830,"max":64831},{"min":65093,"max":65094}]'); -export const Pattern_White_Space: readonly CharRange[] = JSON.parse('[{"min":9,"max":13},{"min":32,"max":32},{"min":133,"max":133},{"min":8206,"max":8207},{"min":8232,"max":8233}]'); -export const Quotation_Mark: readonly CharRange[] = JSON.parse('[{"min":34,"max":34},{"min":39,"max":39},{"min":171,"max":171},{"min":187,"max":187},{"min":8216,"max":8223},{"min":8249,"max":8250},{"min":11842,"max":11842},{"min":12300,"max":12303},{"min":12317,"max":12319},{"min":65089,"max":65092},{"min":65282,"max":65282},{"min":65287,"max":65287},{"min":65378,"max":65379}]'); -export const Radical: readonly CharRange[] = JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245}]'); -export const Regional_Indicator: readonly CharRange[] = JSON.parse('[{"min":127462,"max":127487}]'); -export const Sentence_Terminal: readonly CharRange[] = JSON.parse('[{"min":33,"max":33},{"min":46,"max":46},{"min":63,"max":63},{"min":1417,"max":1417},{"min":1565,"max":1567},{"min":1748,"max":1748},{"min":1792,"max":1794},{"min":2041,"max":2041},{"min":2103,"max":2103},{"min":2105,"max":2105},{"min":2109,"max":2110},{"min":2404,"max":2405},{"min":4170,"max":4171},{"min":4962,"max":4962},{"min":4967,"max":4968},{"min":5742,"max":5742},{"min":5941,"max":5942},{"min":6147,"max":6147},{"min":6153,"max":6153},{"min":6468,"max":6469},{"min":6824,"max":6827},{"min":7002,"max":7003},{"min":7006,"max":7007},{"min":7037,"max":7038},{"min":7227,"max":7228},{"min":7294,"max":7295},{"min":8252,"max":8253},{"min":8263,"max":8265},{"min":11822,"max":11822},{"min":11836,"max":11836},{"min":11859,"max":11860},{"min":12290,"max":12290},{"min":42239,"max":42239},{"min":42510,"max":42511},{"min":42739,"max":42739},{"min":42743,"max":42743},{"min":43126,"max":43127},{"min":43214,"max":43215},{"min":43311,"max":43311},{"min":43464,"max":43465},{"min":43613,"max":43615},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65106,"max":65106},{"min":65110,"max":65111},{"min":65281,"max":65281},{"min":65294,"max":65294},{"min":65311,"max":65311},{"min":65377,"max":65377},{"min":68182,"max":68183},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69704},{"min":69822,"max":69825},{"min":69953,"max":69955},{"min":70085,"max":70086},{"min":70093,"max":70093},{"min":70110,"max":70111},{"min":70200,"max":70201},{"min":70203,"max":70204},{"min":70313,"max":70313},{"min":70731,"max":70732},{"min":71106,"max":71107},{"min":71113,"max":71127},{"min":71233,"max":71234},{"min":71484,"max":71486},{"min":72004,"max":72004},{"min":72006,"max":72006},{"min":72258,"max":72259},{"min":72347,"max":72348},{"min":72769,"max":72770},{"min":73463,"max":73464},{"min":73539,"max":73540},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92984},{"min":92996,"max":92996},{"min":93848,"max":93848},{"min":113823,"max":113823},{"min":121480,"max":121480}]'); -export const Soft_Dotted: readonly CharRange[] = JSON.parse('[{"min":105,"max":106},{"min":303,"max":303},{"min":585,"max":585},{"min":616,"max":616},{"min":669,"max":669},{"min":690,"max":690},{"min":1011,"max":1011},{"min":1110,"max":1110},{"min":1112,"max":1112},{"min":7522,"max":7522},{"min":7574,"max":7574},{"min":7588,"max":7588},{"min":7592,"max":7592},{"min":7725,"max":7725},{"min":7883,"max":7883},{"min":8305,"max":8305},{"min":8520,"max":8521},{"min":11388,"max":11388},{"min":119842,"max":119843},{"min":119894,"max":119895},{"min":119946,"max":119947},{"min":119998,"max":119999},{"min":120050,"max":120051},{"min":120102,"max":120103},{"min":120154,"max":120155},{"min":120206,"max":120207},{"min":120258,"max":120259},{"min":120310,"max":120311},{"min":120362,"max":120363},{"min":120414,"max":120415},{"min":120466,"max":120467},{"min":122650,"max":122650},{"min":122956,"max":122957},{"min":122984,"max":122984}]'); -export const Terminal_Punctuation: readonly CharRange[] = JSON.parse('[{"min":33,"max":33},{"min":44,"max":44},{"min":46,"max":46},{"min":58,"max":59},{"min":63,"max":63},{"min":894,"max":894},{"min":903,"max":903},{"min":1417,"max":1417},{"min":1475,"max":1475},{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1748,"max":1748},{"min":1792,"max":1802},{"min":1804,"max":1804},{"min":2040,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":3674,"max":3675},{"min":3848,"max":3848},{"min":3853,"max":3858},{"min":4170,"max":4171},{"min":4961,"max":4968},{"min":5742,"max":5742},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6106,"max":6106},{"min":6146,"max":6149},{"min":6152,"max":6153},{"min":6468,"max":6469},{"min":6824,"max":6827},{"min":7002,"max":7003},{"min":7005,"max":7007},{"min":7037,"max":7038},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":8252,"max":8253},{"min":8263,"max":8265},{"min":11822,"max":11822},{"min":11836,"max":11836},{"min":11841,"max":11841},{"min":11852,"max":11852},{"min":11854,"max":11855},{"min":11859,"max":11860},{"min":12289,"max":12290},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42739,"max":42743},{"min":43126,"max":43127},{"min":43214,"max":43215},{"min":43311,"max":43311},{"min":43463,"max":43465},{"min":43613,"max":43615},{"min":43743,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65104,"max":65106},{"min":65108,"max":65111},{"min":65281,"max":65281},{"min":65292,"max":65292},{"min":65294,"max":65294},{"min":65306,"max":65307},{"min":65311,"max":65311},{"min":65377,"max":65377},{"min":65380,"max":65380},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":68182,"max":68183},{"min":68336,"max":68341},{"min":68410,"max":68415},{"min":68505,"max":68508},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69822,"max":69825},{"min":69953,"max":69955},{"min":70085,"max":70086},{"min":70093,"max":70093},{"min":70110,"max":70111},{"min":70200,"max":70204},{"min":70313,"max":70313},{"min":70731,"max":70733},{"min":70746,"max":70747},{"min":71106,"max":71109},{"min":71113,"max":71127},{"min":71233,"max":71234},{"min":71484,"max":71486},{"min":72004,"max":72004},{"min":72006,"max":72006},{"min":72258,"max":72259},{"min":72347,"max":72348},{"min":72353,"max":72354},{"min":72769,"max":72771},{"min":72817,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73540},{"min":74864,"max":74868},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92985},{"min":92996,"max":92996},{"min":93847,"max":93848},{"min":113823,"max":113823},{"min":121479,"max":121482}]'); -export const Unified_Ideograph: readonly CharRange[] = JSON.parse('[{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":64014,"max":64015},{"min":64017,"max":64017},{"min":64019,"max":64020},{"min":64031,"max":64031},{"min":64033,"max":64033},{"min":64035,"max":64036},{"min":64039,"max":64041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Uppercase: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":452},{"min":455,"max":455},{"min":458,"max":458},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":497},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":978,"max":980},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8120,"max":8123},{"min":8136,"max":8139},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8459,"max":8461},{"min":8464,"max":8466},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8496,"max":8499},{"min":8510,"max":8511},{"min":8517,"max":8517},{"min":8544,"max":8559},{"min":8579,"max":8579},{"min":9398,"max":9423},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":119808,"max":119833},{"min":119860,"max":119885},{"min":119912,"max":119937},{"min":119964,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119989},{"min":120016,"max":120041},{"min":120068,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120120,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120172,"max":120197},{"min":120224,"max":120249},{"min":120276,"max":120301},{"min":120328,"max":120353},{"min":120380,"max":120405},{"min":120432,"max":120457},{"min":120488,"max":120512},{"min":120546,"max":120570},{"min":120604,"max":120628},{"min":120662,"max":120686},{"min":120720,"max":120744},{"min":120778,"max":120778},{"min":125184,"max":125217},{"min":127280,"max":127305},{"min":127312,"max":127337},{"min":127344,"max":127369}]'); -export const Variation_Selector: readonly CharRange[] = JSON.parse('[{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":65024,"max":65039},{"min":917760,"max":917999}]'); -export const White_Space: readonly CharRange[] = JSON.parse('[{"min":9,"max":13},{"min":32,"max":32},{"min":133,"max":133},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8232,"max":8233},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'); -export const XID_Continue: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":65,"max":90},{"min":95,"max":95},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":183,"max":183},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":768,"max":884},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1155,"max":1159},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1552,"max":1562},{"min":1568,"max":1641},{"min":1646,"max":1747},{"min":1749,"max":1756},{"min":1759,"max":1768},{"min":1770,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1866},{"min":1869,"max":1969},{"min":1984,"max":2037},{"min":2042,"max":2042},{"min":2045,"max":2045},{"min":2048,"max":2093},{"min":2112,"max":2139},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2200,"max":2273},{"min":2275,"max":2403},{"min":2406,"max":2415},{"min":2417,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2545},{"min":2556,"max":2556},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2677},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2799},{"min":2809,"max":2815},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2927},{"min":2929,"max":2929},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3055},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3200,"max":3203},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3406},{"min":3412,"max":3415},{"min":3423,"max":3427},{"min":3430,"max":3439},{"min":3450,"max":3455},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3571},{"min":3585,"max":3642},{"min":3648,"max":3662},{"min":3664,"max":3673},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3864,"max":3865},{"min":3872,"max":3881},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3972},{"min":3974,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4096,"max":4169},{"min":4176,"max":4253},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4959},{"min":4969,"max":4977},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5909},{"min":5919,"max":5940},{"min":5952,"max":5971},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003},{"min":6016,"max":6099},{"min":6103,"max":6103},{"min":6108,"max":6109},{"min":6112,"max":6121},{"min":6155,"max":6157},{"min":6159,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6470,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6656,"max":6683},{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6823,"max":6823},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6988},{"min":6992,"max":7001},{"min":7019,"max":7027},{"min":7040,"max":7155},{"min":7168,"max":7223},{"min":7232,"max":7241},{"min":7245,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7376,"max":7378},{"min":7380,"max":7418},{"min":7424,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11647,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11744,"max":11775},{"min":12293,"max":12295},{"min":12321,"max":12335},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12441,"max":12442},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42539},{"min":42560,"max":42607},{"min":42612,"max":42621},{"min":42623,"max":42737},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43047},{"min":43052,"max":43052},{"min":43072,"max":43123},{"min":43136,"max":43205},{"min":43216,"max":43225},{"min":43232,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43309},{"min":43312,"max":43347},{"min":43360,"max":43388},{"min":43392,"max":43456},{"min":43471,"max":43481},{"min":43488,"max":43518},{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43616,"max":43638},{"min":43642,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43759},{"min":43762,"max":43766},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44010},{"min":44012,"max":44013},{"min":44016,"max":44025},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64605},{"min":64612,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65017},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65137,"max":65137},{"min":65139,"max":65139},{"min":65143,"max":65143},{"min":65145,"max":65145},{"min":65147,"max":65147},{"min":65149,"max":65149},{"min":65151,"max":65276},{"min":65296,"max":65305},{"min":65313,"max":65338},{"min":65343,"max":65343},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66045,"max":66045},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66272,"max":66272},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66426},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66720,"max":66729},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68326},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68903},{"min":68912,"max":68921},{"min":69248,"max":69289},{"min":69291,"max":69292},{"min":69296,"max":69297},{"min":69373,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69456},{"min":69488,"max":69509},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69632,"max":69702},{"min":69734,"max":69749},{"min":69759,"max":69818},{"min":69826,"max":69826},{"min":69840,"max":69864},{"min":69872,"max":69881},{"min":69888,"max":69940},{"min":69942,"max":69951},{"min":69956,"max":69959},{"min":69968,"max":70003},{"min":70006,"max":70006},{"min":70016,"max":70084},{"min":70089,"max":70092},{"min":70094,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70199},{"min":70206,"max":70209},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70378},{"min":70384,"max":70393},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70656,"max":70730},{"min":70736,"max":70745},{"min":70750,"max":70753},{"min":70784,"max":70853},{"min":70855,"max":70855},{"min":70864,"max":70873},{"min":71040,"max":71093},{"min":71096,"max":71104},{"min":71128,"max":71133},{"min":71168,"max":71232},{"min":71236,"max":71236},{"min":71248,"max":71257},{"min":71296,"max":71352},{"min":71360,"max":71369},{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71481},{"min":71488,"max":71494},{"min":71680,"max":71738},{"min":71840,"max":71913},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":72003},{"min":72016,"max":72025},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72161},{"min":72163,"max":72164},{"min":72192,"max":72254},{"min":72263,"max":72263},{"min":72272,"max":72345},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72768},{"min":72784,"max":72793},{"min":72818,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129},{"min":73440,"max":73462},{"min":73472,"max":73488},{"min":73490,"max":73530},{"min":73534,"max":73538},{"min":73552,"max":73561},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78912,"max":78933},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92784,"max":92862},{"min":92864,"max":92873},{"min":92880,"max":92909},{"min":92912,"max":92916},{"min":92928,"max":92982},{"min":92992,"max":92995},{"min":93008,"max":93017},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94180},{"min":94192,"max":94193},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":120782,"max":120831},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":122928,"max":122989},{"min":123023,"max":123023},{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123214},{"min":123536,"max":123566},{"min":123584,"max":123641},{"min":124112,"max":124153},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125136,"max":125142},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":130032,"max":130041},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743},{"min":917760,"max":917999}]'); -export const XID_Start: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3634},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3762},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5870,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8472,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12293,"max":12295},{"min":12321,"max":12329},{"min":12337,"max":12341},{"min":12344,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42735},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64605},{"min":64612,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65017},{"min":65137,"max":65137},{"min":65139,"max":65139},{"min":65143,"max":65143},{"min":65145,"max":65145},{"min":65147,"max":65147},{"min":65149,"max":65149},{"min":65151,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65856,"max":65908},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66378},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66513,"max":66517},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); diff --git a/src/js/unicode/case-folding.ts b/src/js/unicode/case-folding.ts deleted file mode 100644 index c3b083c3..00000000 --- a/src/js/unicode/case-folding.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-case-folding.js - -import { CharSet } from "../../char-set"; - - -/** - * A character set of all characters that have at least one case variation. - */ -export const UnicodeCaseVarying: CharSet = CharSet.empty(1114111).union(JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":303},{"min":306,"max":311},{"min":313,"max":328},{"min":330,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":495},{"min":497,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":943},{"min":945,"max":977},{"min":981,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1414},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7829},{"min":7835,"max":7835},{"min":7838,"max":7838},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8017,"max":8017},{"min":8019,"max":8019},{"min":8021,"max":8021},{"min":8023,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8113},{"min":8115,"max":8115},{"min":8120,"max":8124},{"min":8126,"max":8126},{"min":8131,"max":8131},{"min":8136,"max":8140},{"min":8144,"max":8145},{"min":8152,"max":8155},{"min":8160,"max":8161},{"min":8165,"max":8165},{"min":8168,"max":8172},{"min":8179,"max":8179},{"min":8184,"max":8188},{"min":8486,"max":8486},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":125184,"max":125251}]')); - -/** - * A map for a given character to all it case variations. The list of case variations also includes the key character - * itself. - * - * If the given character do not have case variations, it will not be part of this map. - */ -export const UnicodeCaseFolding: Readonly>> = JSON.parse('{"65":[65,97],"66":[66,98],"67":[67,99],"68":[68,100],"69":[69,101],"70":[70,102],"71":[71,103],"72":[72,104],"73":[73,105],"74":[74,106],"75":[75,107,8490],"76":[76,108],"77":[77,109],"78":[78,110],"79":[79,111],"80":[80,112],"81":[81,113],"82":[82,114],"83":[83,115,383],"84":[84,116],"85":[85,117],"86":[86,118],"87":[87,119],"88":[88,120],"89":[89,121],"90":[90,122],"97":[65,97],"98":[66,98],"99":[67,99],"100":[68,100],"101":[69,101],"102":[70,102],"103":[71,103],"104":[72,104],"105":[73,105],"106":[74,106],"107":[75,107,8490],"108":[76,108],"109":[77,109],"110":[78,110],"111":[79,111],"112":[80,112],"113":[81,113],"114":[82,114],"115":[83,115,383],"116":[84,116],"117":[85,117],"118":[86,118],"119":[87,119],"120":[88,120],"121":[89,121],"122":[90,122],"181":[181,924,956],"192":[192,224],"193":[193,225],"194":[194,226],"195":[195,227],"196":[196,228],"197":[197,229,8491],"198":[198,230],"199":[199,231],"200":[200,232],"201":[201,233],"202":[202,234],"203":[203,235],"204":[204,236],"205":[205,237],"206":[206,238],"207":[207,239],"208":[208,240],"209":[209,241],"210":[210,242],"211":[211,243],"212":[212,244],"213":[213,245],"214":[214,246],"216":[216,248],"217":[217,249],"218":[218,250],"219":[219,251],"220":[220,252],"221":[221,253],"222":[222,254],"223":[223,7838],"224":[192,224],"225":[193,225],"226":[194,226],"227":[195,227],"228":[196,228],"229":[197,229,8491],"230":[198,230],"231":[199,231],"232":[200,232],"233":[201,233],"234":[202,234],"235":[203,235],"236":[204,236],"237":[205,237],"238":[206,238],"239":[207,239],"240":[208,240],"241":[209,241],"242":[210,242],"243":[211,243],"244":[212,244],"245":[213,245],"246":[214,246],"248":[216,248],"249":[217,249],"250":[218,250],"251":[219,251],"252":[220,252],"253":[221,253],"254":[222,254],"255":[255,376],"256":[256,257],"257":[256,257],"258":[258,259],"259":[258,259],"260":[260,261],"261":[260,261],"262":[262,263],"263":[262,263],"264":[264,265],"265":[264,265],"266":[266,267],"267":[266,267],"268":[268,269],"269":[268,269],"270":[270,271],"271":[270,271],"272":[272,273],"273":[272,273],"274":[274,275],"275":[274,275],"276":[276,277],"277":[276,277],"278":[278,279],"279":[278,279],"280":[280,281],"281":[280,281],"282":[282,283],"283":[282,283],"284":[284,285],"285":[284,285],"286":[286,287],"287":[286,287],"288":[288,289],"289":[288,289],"290":[290,291],"291":[290,291],"292":[292,293],"293":[292,293],"294":[294,295],"295":[294,295],"296":[296,297],"297":[296,297],"298":[298,299],"299":[298,299],"300":[300,301],"301":[300,301],"302":[302,303],"303":[302,303],"306":[306,307],"307":[306,307],"308":[308,309],"309":[308,309],"310":[310,311],"311":[310,311],"313":[313,314],"314":[313,314],"315":[315,316],"316":[315,316],"317":[317,318],"318":[317,318],"319":[319,320],"320":[319,320],"321":[321,322],"322":[321,322],"323":[323,324],"324":[323,324],"325":[325,326],"326":[325,326],"327":[327,328],"328":[327,328],"330":[330,331],"331":[330,331],"332":[332,333],"333":[332,333],"334":[334,335],"335":[334,335],"336":[336,337],"337":[336,337],"338":[338,339],"339":[338,339],"340":[340,341],"341":[340,341],"342":[342,343],"343":[342,343],"344":[344,345],"345":[344,345],"346":[346,347],"347":[346,347],"348":[348,349],"349":[348,349],"350":[350,351],"351":[350,351],"352":[352,353],"353":[352,353],"354":[354,355],"355":[354,355],"356":[356,357],"357":[356,357],"358":[358,359],"359":[358,359],"360":[360,361],"361":[360,361],"362":[362,363],"363":[362,363],"364":[364,365],"365":[364,365],"366":[366,367],"367":[366,367],"368":[368,369],"369":[368,369],"370":[370,371],"371":[370,371],"372":[372,373],"373":[372,373],"374":[374,375],"375":[374,375],"376":[255,376],"377":[377,378],"378":[377,378],"379":[379,380],"380":[379,380],"381":[381,382],"382":[381,382],"383":[83,115,383],"384":[384,579],"385":[385,595],"386":[386,387],"387":[386,387],"388":[388,389],"389":[388,389],"390":[390,596],"391":[391,392],"392":[391,392],"393":[393,598],"394":[394,599],"395":[395,396],"396":[395,396],"398":[398,477],"399":[399,601],"400":[400,603],"401":[401,402],"402":[401,402],"403":[403,608],"404":[404,611],"405":[405,502],"406":[406,617],"407":[407,616],"408":[408,409],"409":[408,409],"410":[410,573],"412":[412,623],"413":[413,626],"414":[414,544],"415":[415,629],"416":[416,417],"417":[416,417],"418":[418,419],"419":[418,419],"420":[420,421],"421":[420,421],"422":[422,640],"423":[423,424],"424":[423,424],"425":[425,643],"428":[428,429],"429":[428,429],"430":[430,648],"431":[431,432],"432":[431,432],"433":[433,650],"434":[434,651],"435":[435,436],"436":[435,436],"437":[437,438],"438":[437,438],"439":[439,658],"440":[440,441],"441":[440,441],"444":[444,445],"445":[444,445],"447":[447,503],"452":[452,453,454],"453":[452,453,454],"454":[452,453,454],"455":[455,456,457],"456":[455,456,457],"457":[455,456,457],"458":[458,459,460],"459":[458,459,460],"460":[458,459,460],"461":[461,462],"462":[461,462],"463":[463,464],"464":[463,464],"465":[465,466],"466":[465,466],"467":[467,468],"468":[467,468],"469":[469,470],"470":[469,470],"471":[471,472],"472":[471,472],"473":[473,474],"474":[473,474],"475":[475,476],"476":[475,476],"477":[398,477],"478":[478,479],"479":[478,479],"480":[480,481],"481":[480,481],"482":[482,483],"483":[482,483],"484":[484,485],"485":[484,485],"486":[486,487],"487":[486,487],"488":[488,489],"489":[488,489],"490":[490,491],"491":[490,491],"492":[492,493],"493":[492,493],"494":[494,495],"495":[494,495],"497":[497,498,499],"498":[497,498,499],"499":[497,498,499],"500":[500,501],"501":[500,501],"502":[405,502],"503":[447,503],"504":[504,505],"505":[504,505],"506":[506,507],"507":[506,507],"508":[508,509],"509":[508,509],"510":[510,511],"511":[510,511],"512":[512,513],"513":[512,513],"514":[514,515],"515":[514,515],"516":[516,517],"517":[516,517],"518":[518,519],"519":[518,519],"520":[520,521],"521":[520,521],"522":[522,523],"523":[522,523],"524":[524,525],"525":[524,525],"526":[526,527],"527":[526,527],"528":[528,529],"529":[528,529],"530":[530,531],"531":[530,531],"532":[532,533],"533":[532,533],"534":[534,535],"535":[534,535],"536":[536,537],"537":[536,537],"538":[538,539],"539":[538,539],"540":[540,541],"541":[540,541],"542":[542,543],"543":[542,543],"544":[414,544],"546":[546,547],"547":[546,547],"548":[548,549],"549":[548,549],"550":[550,551],"551":[550,551],"552":[552,553],"553":[552,553],"554":[554,555],"555":[554,555],"556":[556,557],"557":[556,557],"558":[558,559],"559":[558,559],"560":[560,561],"561":[560,561],"562":[562,563],"563":[562,563],"570":[570,11365],"571":[571,572],"572":[571,572],"573":[410,573],"574":[574,11366],"575":[575,11390],"576":[576,11391],"577":[577,578],"578":[577,578],"579":[384,579],"580":[580,649],"581":[581,652],"582":[582,583],"583":[582,583],"584":[584,585],"585":[584,585],"586":[586,587],"587":[586,587],"588":[588,589],"589":[588,589],"590":[590,591],"591":[590,591],"592":[592,11375],"593":[593,11373],"594":[594,11376],"595":[385,595],"596":[390,596],"598":[393,598],"599":[394,599],"601":[399,601],"603":[400,603],"604":[604,42923],"608":[403,608],"609":[609,42924],"611":[404,611],"613":[613,42893],"614":[614,42922],"616":[407,616],"617":[406,617],"618":[618,42926],"619":[619,11362],"620":[620,42925],"623":[412,623],"625":[625,11374],"626":[413,626],"629":[415,629],"637":[637,11364],"640":[422,640],"642":[642,42949],"643":[425,643],"647":[647,42929],"648":[430,648],"649":[580,649],"650":[433,650],"651":[434,651],"652":[581,652],"658":[439,658],"669":[669,42930],"670":[670,42928],"837":[837,921,953,8126],"880":[880,881],"881":[880,881],"882":[882,883],"883":[882,883],"886":[886,887],"887":[886,887],"891":[891,1021],"892":[892,1022],"893":[893,1023],"895":[895,1011],"902":[902,940],"904":[904,941],"905":[905,942],"906":[906,943],"908":[908,972],"910":[910,973],"911":[911,974],"913":[913,945],"914":[914,946,976],"915":[915,947],"916":[916,948],"917":[917,949,1013],"918":[918,950],"919":[919,951],"920":[920,952,977,1012],"921":[837,921,953,8126],"922":[922,954,1008],"923":[923,955],"924":[181,924,956],"925":[925,957],"926":[926,958],"927":[927,959],"928":[928,960,982],"929":[929,961,1009],"931":[931,962,963],"932":[932,964],"933":[933,965],"934":[934,966,981],"935":[935,967],"936":[936,968],"937":[937,969,8486],"938":[938,970],"939":[939,971],"940":[902,940],"941":[904,941],"942":[905,942],"943":[906,943],"945":[913,945],"946":[914,946,976],"947":[915,947],"948":[916,948],"949":[917,949,1013],"950":[918,950],"951":[919,951],"952":[920,952,977,1012],"953":[837,921,953,8126],"954":[922,954,1008],"955":[923,955],"956":[181,924,956],"957":[925,957],"958":[926,958],"959":[927,959],"960":[928,960,982],"961":[929,961,1009],"962":[931,962,963],"963":[931,962,963],"964":[932,964],"965":[933,965],"966":[934,966,981],"967":[935,967],"968":[936,968],"969":[937,969,8486],"970":[938,970],"971":[939,971],"972":[908,972],"973":[910,973],"974":[911,974],"975":[975,983],"976":[914,946,976],"977":[920,952,977,1012],"981":[934,966,981],"982":[928,960,982],"983":[975,983],"984":[984,985],"985":[984,985],"986":[986,987],"987":[986,987],"988":[988,989],"989":[988,989],"990":[990,991],"991":[990,991],"992":[992,993],"993":[992,993],"994":[994,995],"995":[994,995],"996":[996,997],"997":[996,997],"998":[998,999],"999":[998,999],"1000":[1000,1001],"1001":[1000,1001],"1002":[1002,1003],"1003":[1002,1003],"1004":[1004,1005],"1005":[1004,1005],"1006":[1006,1007],"1007":[1006,1007],"1008":[922,954,1008],"1009":[929,961,1009],"1010":[1010,1017],"1011":[895,1011],"1012":[920,952,977,1012],"1013":[917,949,1013],"1015":[1015,1016],"1016":[1015,1016],"1017":[1010,1017],"1018":[1018,1019],"1019":[1018,1019],"1021":[891,1021],"1022":[892,1022],"1023":[893,1023],"1024":[1024,1104],"1025":[1025,1105],"1026":[1026,1106],"1027":[1027,1107],"1028":[1028,1108],"1029":[1029,1109],"1030":[1030,1110],"1031":[1031,1111],"1032":[1032,1112],"1033":[1033,1113],"1034":[1034,1114],"1035":[1035,1115],"1036":[1036,1116],"1037":[1037,1117],"1038":[1038,1118],"1039":[1039,1119],"1040":[1040,1072],"1041":[1041,1073],"1042":[1042,1074,7296],"1043":[1043,1075],"1044":[1044,1076,7297],"1045":[1045,1077],"1046":[1046,1078],"1047":[1047,1079],"1048":[1048,1080],"1049":[1049,1081],"1050":[1050,1082],"1051":[1051,1083],"1052":[1052,1084],"1053":[1053,1085],"1054":[1054,1086,7298],"1055":[1055,1087],"1056":[1056,1088],"1057":[1057,1089,7299],"1058":[1058,1090,7300,7301],"1059":[1059,1091],"1060":[1060,1092],"1061":[1061,1093],"1062":[1062,1094],"1063":[1063,1095],"1064":[1064,1096],"1065":[1065,1097],"1066":[1066,1098,7302],"1067":[1067,1099],"1068":[1068,1100],"1069":[1069,1101],"1070":[1070,1102],"1071":[1071,1103],"1072":[1040,1072],"1073":[1041,1073],"1074":[1042,1074,7296],"1075":[1043,1075],"1076":[1044,1076,7297],"1077":[1045,1077],"1078":[1046,1078],"1079":[1047,1079],"1080":[1048,1080],"1081":[1049,1081],"1082":[1050,1082],"1083":[1051,1083],"1084":[1052,1084],"1085":[1053,1085],"1086":[1054,1086,7298],"1087":[1055,1087],"1088":[1056,1088],"1089":[1057,1089,7299],"1090":[1058,1090,7300,7301],"1091":[1059,1091],"1092":[1060,1092],"1093":[1061,1093],"1094":[1062,1094],"1095":[1063,1095],"1096":[1064,1096],"1097":[1065,1097],"1098":[1066,1098,7302],"1099":[1067,1099],"1100":[1068,1100],"1101":[1069,1101],"1102":[1070,1102],"1103":[1071,1103],"1104":[1024,1104],"1105":[1025,1105],"1106":[1026,1106],"1107":[1027,1107],"1108":[1028,1108],"1109":[1029,1109],"1110":[1030,1110],"1111":[1031,1111],"1112":[1032,1112],"1113":[1033,1113],"1114":[1034,1114],"1115":[1035,1115],"1116":[1036,1116],"1117":[1037,1117],"1118":[1038,1118],"1119":[1039,1119],"1120":[1120,1121],"1121":[1120,1121],"1122":[1122,1123,7303],"1123":[1122,1123,7303],"1124":[1124,1125],"1125":[1124,1125],"1126":[1126,1127],"1127":[1126,1127],"1128":[1128,1129],"1129":[1128,1129],"1130":[1130,1131],"1131":[1130,1131],"1132":[1132,1133],"1133":[1132,1133],"1134":[1134,1135],"1135":[1134,1135],"1136":[1136,1137],"1137":[1136,1137],"1138":[1138,1139],"1139":[1138,1139],"1140":[1140,1141],"1141":[1140,1141],"1142":[1142,1143],"1143":[1142,1143],"1144":[1144,1145],"1145":[1144,1145],"1146":[1146,1147],"1147":[1146,1147],"1148":[1148,1149],"1149":[1148,1149],"1150":[1150,1151],"1151":[1150,1151],"1152":[1152,1153],"1153":[1152,1153],"1162":[1162,1163],"1163":[1162,1163],"1164":[1164,1165],"1165":[1164,1165],"1166":[1166,1167],"1167":[1166,1167],"1168":[1168,1169],"1169":[1168,1169],"1170":[1170,1171],"1171":[1170,1171],"1172":[1172,1173],"1173":[1172,1173],"1174":[1174,1175],"1175":[1174,1175],"1176":[1176,1177],"1177":[1176,1177],"1178":[1178,1179],"1179":[1178,1179],"1180":[1180,1181],"1181":[1180,1181],"1182":[1182,1183],"1183":[1182,1183],"1184":[1184,1185],"1185":[1184,1185],"1186":[1186,1187],"1187":[1186,1187],"1188":[1188,1189],"1189":[1188,1189],"1190":[1190,1191],"1191":[1190,1191],"1192":[1192,1193],"1193":[1192,1193],"1194":[1194,1195],"1195":[1194,1195],"1196":[1196,1197],"1197":[1196,1197],"1198":[1198,1199],"1199":[1198,1199],"1200":[1200,1201],"1201":[1200,1201],"1202":[1202,1203],"1203":[1202,1203],"1204":[1204,1205],"1205":[1204,1205],"1206":[1206,1207],"1207":[1206,1207],"1208":[1208,1209],"1209":[1208,1209],"1210":[1210,1211],"1211":[1210,1211],"1212":[1212,1213],"1213":[1212,1213],"1214":[1214,1215],"1215":[1214,1215],"1216":[1216,1231],"1217":[1217,1218],"1218":[1217,1218],"1219":[1219,1220],"1220":[1219,1220],"1221":[1221,1222],"1222":[1221,1222],"1223":[1223,1224],"1224":[1223,1224],"1225":[1225,1226],"1226":[1225,1226],"1227":[1227,1228],"1228":[1227,1228],"1229":[1229,1230],"1230":[1229,1230],"1231":[1216,1231],"1232":[1232,1233],"1233":[1232,1233],"1234":[1234,1235],"1235":[1234,1235],"1236":[1236,1237],"1237":[1236,1237],"1238":[1238,1239],"1239":[1238,1239],"1240":[1240,1241],"1241":[1240,1241],"1242":[1242,1243],"1243":[1242,1243],"1244":[1244,1245],"1245":[1244,1245],"1246":[1246,1247],"1247":[1246,1247],"1248":[1248,1249],"1249":[1248,1249],"1250":[1250,1251],"1251":[1250,1251],"1252":[1252,1253],"1253":[1252,1253],"1254":[1254,1255],"1255":[1254,1255],"1256":[1256,1257],"1257":[1256,1257],"1258":[1258,1259],"1259":[1258,1259],"1260":[1260,1261],"1261":[1260,1261],"1262":[1262,1263],"1263":[1262,1263],"1264":[1264,1265],"1265":[1264,1265],"1266":[1266,1267],"1267":[1266,1267],"1268":[1268,1269],"1269":[1268,1269],"1270":[1270,1271],"1271":[1270,1271],"1272":[1272,1273],"1273":[1272,1273],"1274":[1274,1275],"1275":[1274,1275],"1276":[1276,1277],"1277":[1276,1277],"1278":[1278,1279],"1279":[1278,1279],"1280":[1280,1281],"1281":[1280,1281],"1282":[1282,1283],"1283":[1282,1283],"1284":[1284,1285],"1285":[1284,1285],"1286":[1286,1287],"1287":[1286,1287],"1288":[1288,1289],"1289":[1288,1289],"1290":[1290,1291],"1291":[1290,1291],"1292":[1292,1293],"1293":[1292,1293],"1294":[1294,1295],"1295":[1294,1295],"1296":[1296,1297],"1297":[1296,1297],"1298":[1298,1299],"1299":[1298,1299],"1300":[1300,1301],"1301":[1300,1301],"1302":[1302,1303],"1303":[1302,1303],"1304":[1304,1305],"1305":[1304,1305],"1306":[1306,1307],"1307":[1306,1307],"1308":[1308,1309],"1309":[1308,1309],"1310":[1310,1311],"1311":[1310,1311],"1312":[1312,1313],"1313":[1312,1313],"1314":[1314,1315],"1315":[1314,1315],"1316":[1316,1317],"1317":[1316,1317],"1318":[1318,1319],"1319":[1318,1319],"1320":[1320,1321],"1321":[1320,1321],"1322":[1322,1323],"1323":[1322,1323],"1324":[1324,1325],"1325":[1324,1325],"1326":[1326,1327],"1327":[1326,1327],"1329":[1329,1377],"1330":[1330,1378],"1331":[1331,1379],"1332":[1332,1380],"1333":[1333,1381],"1334":[1334,1382],"1335":[1335,1383],"1336":[1336,1384],"1337":[1337,1385],"1338":[1338,1386],"1339":[1339,1387],"1340":[1340,1388],"1341":[1341,1389],"1342":[1342,1390],"1343":[1343,1391],"1344":[1344,1392],"1345":[1345,1393],"1346":[1346,1394],"1347":[1347,1395],"1348":[1348,1396],"1349":[1349,1397],"1350":[1350,1398],"1351":[1351,1399],"1352":[1352,1400],"1353":[1353,1401],"1354":[1354,1402],"1355":[1355,1403],"1356":[1356,1404],"1357":[1357,1405],"1358":[1358,1406],"1359":[1359,1407],"1360":[1360,1408],"1361":[1361,1409],"1362":[1362,1410],"1363":[1363,1411],"1364":[1364,1412],"1365":[1365,1413],"1366":[1366,1414],"1377":[1329,1377],"1378":[1330,1378],"1379":[1331,1379],"1380":[1332,1380],"1381":[1333,1381],"1382":[1334,1382],"1383":[1335,1383],"1384":[1336,1384],"1385":[1337,1385],"1386":[1338,1386],"1387":[1339,1387],"1388":[1340,1388],"1389":[1341,1389],"1390":[1342,1390],"1391":[1343,1391],"1392":[1344,1392],"1393":[1345,1393],"1394":[1346,1394],"1395":[1347,1395],"1396":[1348,1396],"1397":[1349,1397],"1398":[1350,1398],"1399":[1351,1399],"1400":[1352,1400],"1401":[1353,1401],"1402":[1354,1402],"1403":[1355,1403],"1404":[1356,1404],"1405":[1357,1405],"1406":[1358,1406],"1407":[1359,1407],"1408":[1360,1408],"1409":[1361,1409],"1410":[1362,1410],"1411":[1363,1411],"1412":[1364,1412],"1413":[1365,1413],"1414":[1366,1414],"4256":[4256,11520],"4257":[4257,11521],"4258":[4258,11522],"4259":[4259,11523],"4260":[4260,11524],"4261":[4261,11525],"4262":[4262,11526],"4263":[4263,11527],"4264":[4264,11528],"4265":[4265,11529],"4266":[4266,11530],"4267":[4267,11531],"4268":[4268,11532],"4269":[4269,11533],"4270":[4270,11534],"4271":[4271,11535],"4272":[4272,11536],"4273":[4273,11537],"4274":[4274,11538],"4275":[4275,11539],"4276":[4276,11540],"4277":[4277,11541],"4278":[4278,11542],"4279":[4279,11543],"4280":[4280,11544],"4281":[4281,11545],"4282":[4282,11546],"4283":[4283,11547],"4284":[4284,11548],"4285":[4285,11549],"4286":[4286,11550],"4287":[4287,11551],"4288":[4288,11552],"4289":[4289,11553],"4290":[4290,11554],"4291":[4291,11555],"4292":[4292,11556],"4293":[4293,11557],"4295":[4295,11559],"4301":[4301,11565],"4304":[4304,7312],"4305":[4305,7313],"4306":[4306,7314],"4307":[4307,7315],"4308":[4308,7316],"4309":[4309,7317],"4310":[4310,7318],"4311":[4311,7319],"4312":[4312,7320],"4313":[4313,7321],"4314":[4314,7322],"4315":[4315,7323],"4316":[4316,7324],"4317":[4317,7325],"4318":[4318,7326],"4319":[4319,7327],"4320":[4320,7328],"4321":[4321,7329],"4322":[4322,7330],"4323":[4323,7331],"4324":[4324,7332],"4325":[4325,7333],"4326":[4326,7334],"4327":[4327,7335],"4328":[4328,7336],"4329":[4329,7337],"4330":[4330,7338],"4331":[4331,7339],"4332":[4332,7340],"4333":[4333,7341],"4334":[4334,7342],"4335":[4335,7343],"4336":[4336,7344],"4337":[4337,7345],"4338":[4338,7346],"4339":[4339,7347],"4340":[4340,7348],"4341":[4341,7349],"4342":[4342,7350],"4343":[4343,7351],"4344":[4344,7352],"4345":[4345,7353],"4346":[4346,7354],"4349":[4349,7357],"4350":[4350,7358],"4351":[4351,7359],"5024":[5024,43888],"5025":[5025,43889],"5026":[5026,43890],"5027":[5027,43891],"5028":[5028,43892],"5029":[5029,43893],"5030":[5030,43894],"5031":[5031,43895],"5032":[5032,43896],"5033":[5033,43897],"5034":[5034,43898],"5035":[5035,43899],"5036":[5036,43900],"5037":[5037,43901],"5038":[5038,43902],"5039":[5039,43903],"5040":[5040,43904],"5041":[5041,43905],"5042":[5042,43906],"5043":[5043,43907],"5044":[5044,43908],"5045":[5045,43909],"5046":[5046,43910],"5047":[5047,43911],"5048":[5048,43912],"5049":[5049,43913],"5050":[5050,43914],"5051":[5051,43915],"5052":[5052,43916],"5053":[5053,43917],"5054":[5054,43918],"5055":[5055,43919],"5056":[5056,43920],"5057":[5057,43921],"5058":[5058,43922],"5059":[5059,43923],"5060":[5060,43924],"5061":[5061,43925],"5062":[5062,43926],"5063":[5063,43927],"5064":[5064,43928],"5065":[5065,43929],"5066":[5066,43930],"5067":[5067,43931],"5068":[5068,43932],"5069":[5069,43933],"5070":[5070,43934],"5071":[5071,43935],"5072":[5072,43936],"5073":[5073,43937],"5074":[5074,43938],"5075":[5075,43939],"5076":[5076,43940],"5077":[5077,43941],"5078":[5078,43942],"5079":[5079,43943],"5080":[5080,43944],"5081":[5081,43945],"5082":[5082,43946],"5083":[5083,43947],"5084":[5084,43948],"5085":[5085,43949],"5086":[5086,43950],"5087":[5087,43951],"5088":[5088,43952],"5089":[5089,43953],"5090":[5090,43954],"5091":[5091,43955],"5092":[5092,43956],"5093":[5093,43957],"5094":[5094,43958],"5095":[5095,43959],"5096":[5096,43960],"5097":[5097,43961],"5098":[5098,43962],"5099":[5099,43963],"5100":[5100,43964],"5101":[5101,43965],"5102":[5102,43966],"5103":[5103,43967],"5104":[5104,5112],"5105":[5105,5113],"5106":[5106,5114],"5107":[5107,5115],"5108":[5108,5116],"5109":[5109,5117],"5112":[5104,5112],"5113":[5105,5113],"5114":[5106,5114],"5115":[5107,5115],"5116":[5108,5116],"5117":[5109,5117],"7296":[1042,1074,7296],"7297":[1044,1076,7297],"7298":[1054,1086,7298],"7299":[1057,1089,7299],"7300":[1058,1090,7300,7301],"7301":[1058,1090,7300,7301],"7302":[1066,1098,7302],"7303":[1122,1123,7303],"7304":[7304,42570,42571],"7312":[4304,7312],"7313":[4305,7313],"7314":[4306,7314],"7315":[4307,7315],"7316":[4308,7316],"7317":[4309,7317],"7318":[4310,7318],"7319":[4311,7319],"7320":[4312,7320],"7321":[4313,7321],"7322":[4314,7322],"7323":[4315,7323],"7324":[4316,7324],"7325":[4317,7325],"7326":[4318,7326],"7327":[4319,7327],"7328":[4320,7328],"7329":[4321,7329],"7330":[4322,7330],"7331":[4323,7331],"7332":[4324,7332],"7333":[4325,7333],"7334":[4326,7334],"7335":[4327,7335],"7336":[4328,7336],"7337":[4329,7337],"7338":[4330,7338],"7339":[4331,7339],"7340":[4332,7340],"7341":[4333,7341],"7342":[4334,7342],"7343":[4335,7343],"7344":[4336,7344],"7345":[4337,7345],"7346":[4338,7346],"7347":[4339,7347],"7348":[4340,7348],"7349":[4341,7349],"7350":[4342,7350],"7351":[4343,7351],"7352":[4344,7352],"7353":[4345,7353],"7354":[4346,7354],"7357":[4349,7357],"7358":[4350,7358],"7359":[4351,7359],"7545":[7545,42877],"7549":[7549,11363],"7566":[7566,42950],"7680":[7680,7681],"7681":[7680,7681],"7682":[7682,7683],"7683":[7682,7683],"7684":[7684,7685],"7685":[7684,7685],"7686":[7686,7687],"7687":[7686,7687],"7688":[7688,7689],"7689":[7688,7689],"7690":[7690,7691],"7691":[7690,7691],"7692":[7692,7693],"7693":[7692,7693],"7694":[7694,7695],"7695":[7694,7695],"7696":[7696,7697],"7697":[7696,7697],"7698":[7698,7699],"7699":[7698,7699],"7700":[7700,7701],"7701":[7700,7701],"7702":[7702,7703],"7703":[7702,7703],"7704":[7704,7705],"7705":[7704,7705],"7706":[7706,7707],"7707":[7706,7707],"7708":[7708,7709],"7709":[7708,7709],"7710":[7710,7711],"7711":[7710,7711],"7712":[7712,7713],"7713":[7712,7713],"7714":[7714,7715],"7715":[7714,7715],"7716":[7716,7717],"7717":[7716,7717],"7718":[7718,7719],"7719":[7718,7719],"7720":[7720,7721],"7721":[7720,7721],"7722":[7722,7723],"7723":[7722,7723],"7724":[7724,7725],"7725":[7724,7725],"7726":[7726,7727],"7727":[7726,7727],"7728":[7728,7729],"7729":[7728,7729],"7730":[7730,7731],"7731":[7730,7731],"7732":[7732,7733],"7733":[7732,7733],"7734":[7734,7735],"7735":[7734,7735],"7736":[7736,7737],"7737":[7736,7737],"7738":[7738,7739],"7739":[7738,7739],"7740":[7740,7741],"7741":[7740,7741],"7742":[7742,7743],"7743":[7742,7743],"7744":[7744,7745],"7745":[7744,7745],"7746":[7746,7747],"7747":[7746,7747],"7748":[7748,7749],"7749":[7748,7749],"7750":[7750,7751],"7751":[7750,7751],"7752":[7752,7753],"7753":[7752,7753],"7754":[7754,7755],"7755":[7754,7755],"7756":[7756,7757],"7757":[7756,7757],"7758":[7758,7759],"7759":[7758,7759],"7760":[7760,7761],"7761":[7760,7761],"7762":[7762,7763],"7763":[7762,7763],"7764":[7764,7765],"7765":[7764,7765],"7766":[7766,7767],"7767":[7766,7767],"7768":[7768,7769],"7769":[7768,7769],"7770":[7770,7771],"7771":[7770,7771],"7772":[7772,7773],"7773":[7772,7773],"7774":[7774,7775],"7775":[7774,7775],"7776":[7776,7777,7835],"7777":[7776,7777,7835],"7778":[7778,7779],"7779":[7778,7779],"7780":[7780,7781],"7781":[7780,7781],"7782":[7782,7783],"7783":[7782,7783],"7784":[7784,7785],"7785":[7784,7785],"7786":[7786,7787],"7787":[7786,7787],"7788":[7788,7789],"7789":[7788,7789],"7790":[7790,7791],"7791":[7790,7791],"7792":[7792,7793],"7793":[7792,7793],"7794":[7794,7795],"7795":[7794,7795],"7796":[7796,7797],"7797":[7796,7797],"7798":[7798,7799],"7799":[7798,7799],"7800":[7800,7801],"7801":[7800,7801],"7802":[7802,7803],"7803":[7802,7803],"7804":[7804,7805],"7805":[7804,7805],"7806":[7806,7807],"7807":[7806,7807],"7808":[7808,7809],"7809":[7808,7809],"7810":[7810,7811],"7811":[7810,7811],"7812":[7812,7813],"7813":[7812,7813],"7814":[7814,7815],"7815":[7814,7815],"7816":[7816,7817],"7817":[7816,7817],"7818":[7818,7819],"7819":[7818,7819],"7820":[7820,7821],"7821":[7820,7821],"7822":[7822,7823],"7823":[7822,7823],"7824":[7824,7825],"7825":[7824,7825],"7826":[7826,7827],"7827":[7826,7827],"7828":[7828,7829],"7829":[7828,7829],"7835":[7776,7777,7835],"7838":[223,7838],"7840":[7840,7841],"7841":[7840,7841],"7842":[7842,7843],"7843":[7842,7843],"7844":[7844,7845],"7845":[7844,7845],"7846":[7846,7847],"7847":[7846,7847],"7848":[7848,7849],"7849":[7848,7849],"7850":[7850,7851],"7851":[7850,7851],"7852":[7852,7853],"7853":[7852,7853],"7854":[7854,7855],"7855":[7854,7855],"7856":[7856,7857],"7857":[7856,7857],"7858":[7858,7859],"7859":[7858,7859],"7860":[7860,7861],"7861":[7860,7861],"7862":[7862,7863],"7863":[7862,7863],"7864":[7864,7865],"7865":[7864,7865],"7866":[7866,7867],"7867":[7866,7867],"7868":[7868,7869],"7869":[7868,7869],"7870":[7870,7871],"7871":[7870,7871],"7872":[7872,7873],"7873":[7872,7873],"7874":[7874,7875],"7875":[7874,7875],"7876":[7876,7877],"7877":[7876,7877],"7878":[7878,7879],"7879":[7878,7879],"7880":[7880,7881],"7881":[7880,7881],"7882":[7882,7883],"7883":[7882,7883],"7884":[7884,7885],"7885":[7884,7885],"7886":[7886,7887],"7887":[7886,7887],"7888":[7888,7889],"7889":[7888,7889],"7890":[7890,7891],"7891":[7890,7891],"7892":[7892,7893],"7893":[7892,7893],"7894":[7894,7895],"7895":[7894,7895],"7896":[7896,7897],"7897":[7896,7897],"7898":[7898,7899],"7899":[7898,7899],"7900":[7900,7901],"7901":[7900,7901],"7902":[7902,7903],"7903":[7902,7903],"7904":[7904,7905],"7905":[7904,7905],"7906":[7906,7907],"7907":[7906,7907],"7908":[7908,7909],"7909":[7908,7909],"7910":[7910,7911],"7911":[7910,7911],"7912":[7912,7913],"7913":[7912,7913],"7914":[7914,7915],"7915":[7914,7915],"7916":[7916,7917],"7917":[7916,7917],"7918":[7918,7919],"7919":[7918,7919],"7920":[7920,7921],"7921":[7920,7921],"7922":[7922,7923],"7923":[7922,7923],"7924":[7924,7925],"7925":[7924,7925],"7926":[7926,7927],"7927":[7926,7927],"7928":[7928,7929],"7929":[7928,7929],"7930":[7930,7931],"7931":[7930,7931],"7932":[7932,7933],"7933":[7932,7933],"7934":[7934,7935],"7935":[7934,7935],"7936":[7936,7944],"7937":[7937,7945],"7938":[7938,7946],"7939":[7939,7947],"7940":[7940,7948],"7941":[7941,7949],"7942":[7942,7950],"7943":[7943,7951],"7944":[7936,7944],"7945":[7937,7945],"7946":[7938,7946],"7947":[7939,7947],"7948":[7940,7948],"7949":[7941,7949],"7950":[7942,7950],"7951":[7943,7951],"7952":[7952,7960],"7953":[7953,7961],"7954":[7954,7962],"7955":[7955,7963],"7956":[7956,7964],"7957":[7957,7965],"7960":[7952,7960],"7961":[7953,7961],"7962":[7954,7962],"7963":[7955,7963],"7964":[7956,7964],"7965":[7957,7965],"7968":[7968,7976],"7969":[7969,7977],"7970":[7970,7978],"7971":[7971,7979],"7972":[7972,7980],"7973":[7973,7981],"7974":[7974,7982],"7975":[7975,7983],"7976":[7968,7976],"7977":[7969,7977],"7978":[7970,7978],"7979":[7971,7979],"7980":[7972,7980],"7981":[7973,7981],"7982":[7974,7982],"7983":[7975,7983],"7984":[7984,7992],"7985":[7985,7993],"7986":[7986,7994],"7987":[7987,7995],"7988":[7988,7996],"7989":[7989,7997],"7990":[7990,7998],"7991":[7991,7999],"7992":[7984,7992],"7993":[7985,7993],"7994":[7986,7994],"7995":[7987,7995],"7996":[7988,7996],"7997":[7989,7997],"7998":[7990,7998],"7999":[7991,7999],"8000":[8000,8008],"8001":[8001,8009],"8002":[8002,8010],"8003":[8003,8011],"8004":[8004,8012],"8005":[8005,8013],"8008":[8000,8008],"8009":[8001,8009],"8010":[8002,8010],"8011":[8003,8011],"8012":[8004,8012],"8013":[8005,8013],"8017":[8017,8025],"8019":[8019,8027],"8021":[8021,8029],"8023":[8023,8031],"8025":[8017,8025],"8027":[8019,8027],"8029":[8021,8029],"8031":[8023,8031],"8032":[8032,8040],"8033":[8033,8041],"8034":[8034,8042],"8035":[8035,8043],"8036":[8036,8044],"8037":[8037,8045],"8038":[8038,8046],"8039":[8039,8047],"8040":[8032,8040],"8041":[8033,8041],"8042":[8034,8042],"8043":[8035,8043],"8044":[8036,8044],"8045":[8037,8045],"8046":[8038,8046],"8047":[8039,8047],"8048":[8048,8122],"8049":[8049,8123],"8050":[8050,8136],"8051":[8051,8137],"8052":[8052,8138],"8053":[8053,8139],"8054":[8054,8154],"8055":[8055,8155],"8056":[8056,8184],"8057":[8057,8185],"8058":[8058,8170],"8059":[8059,8171],"8060":[8060,8186],"8061":[8061,8187],"8064":[8064,8072],"8065":[8065,8073],"8066":[8066,8074],"8067":[8067,8075],"8068":[8068,8076],"8069":[8069,8077],"8070":[8070,8078],"8071":[8071,8079],"8072":[8064,8072],"8073":[8065,8073],"8074":[8066,8074],"8075":[8067,8075],"8076":[8068,8076],"8077":[8069,8077],"8078":[8070,8078],"8079":[8071,8079],"8080":[8080,8088],"8081":[8081,8089],"8082":[8082,8090],"8083":[8083,8091],"8084":[8084,8092],"8085":[8085,8093],"8086":[8086,8094],"8087":[8087,8095],"8088":[8080,8088],"8089":[8081,8089],"8090":[8082,8090],"8091":[8083,8091],"8092":[8084,8092],"8093":[8085,8093],"8094":[8086,8094],"8095":[8087,8095],"8096":[8096,8104],"8097":[8097,8105],"8098":[8098,8106],"8099":[8099,8107],"8100":[8100,8108],"8101":[8101,8109],"8102":[8102,8110],"8103":[8103,8111],"8104":[8096,8104],"8105":[8097,8105],"8106":[8098,8106],"8107":[8099,8107],"8108":[8100,8108],"8109":[8101,8109],"8110":[8102,8110],"8111":[8103,8111],"8112":[8112,8120],"8113":[8113,8121],"8115":[8115,8124],"8120":[8112,8120],"8121":[8113,8121],"8122":[8048,8122],"8123":[8049,8123],"8124":[8115,8124],"8126":[837,921,953,8126],"8131":[8131,8140],"8136":[8050,8136],"8137":[8051,8137],"8138":[8052,8138],"8139":[8053,8139],"8140":[8131,8140],"8144":[8144,8152],"8145":[8145,8153],"8152":[8144,8152],"8153":[8145,8153],"8154":[8054,8154],"8155":[8055,8155],"8160":[8160,8168],"8161":[8161,8169],"8165":[8165,8172],"8168":[8160,8168],"8169":[8161,8169],"8170":[8058,8170],"8171":[8059,8171],"8172":[8165,8172],"8179":[8179,8188],"8184":[8056,8184],"8185":[8057,8185],"8186":[8060,8186],"8187":[8061,8187],"8188":[8179,8188],"8486":[937,969,8486],"8490":[75,107,8490],"8491":[197,229,8491],"8498":[8498,8526],"8526":[8498,8526],"8544":[8544,8560],"8545":[8545,8561],"8546":[8546,8562],"8547":[8547,8563],"8548":[8548,8564],"8549":[8549,8565],"8550":[8550,8566],"8551":[8551,8567],"8552":[8552,8568],"8553":[8553,8569],"8554":[8554,8570],"8555":[8555,8571],"8556":[8556,8572],"8557":[8557,8573],"8558":[8558,8574],"8559":[8559,8575],"8560":[8544,8560],"8561":[8545,8561],"8562":[8546,8562],"8563":[8547,8563],"8564":[8548,8564],"8565":[8549,8565],"8566":[8550,8566],"8567":[8551,8567],"8568":[8552,8568],"8569":[8553,8569],"8570":[8554,8570],"8571":[8555,8571],"8572":[8556,8572],"8573":[8557,8573],"8574":[8558,8574],"8575":[8559,8575],"8579":[8579,8580],"8580":[8579,8580],"9398":[9398,9424],"9399":[9399,9425],"9400":[9400,9426],"9401":[9401,9427],"9402":[9402,9428],"9403":[9403,9429],"9404":[9404,9430],"9405":[9405,9431],"9406":[9406,9432],"9407":[9407,9433],"9408":[9408,9434],"9409":[9409,9435],"9410":[9410,9436],"9411":[9411,9437],"9412":[9412,9438],"9413":[9413,9439],"9414":[9414,9440],"9415":[9415,9441],"9416":[9416,9442],"9417":[9417,9443],"9418":[9418,9444],"9419":[9419,9445],"9420":[9420,9446],"9421":[9421,9447],"9422":[9422,9448],"9423":[9423,9449],"9424":[9398,9424],"9425":[9399,9425],"9426":[9400,9426],"9427":[9401,9427],"9428":[9402,9428],"9429":[9403,9429],"9430":[9404,9430],"9431":[9405,9431],"9432":[9406,9432],"9433":[9407,9433],"9434":[9408,9434],"9435":[9409,9435],"9436":[9410,9436],"9437":[9411,9437],"9438":[9412,9438],"9439":[9413,9439],"9440":[9414,9440],"9441":[9415,9441],"9442":[9416,9442],"9443":[9417,9443],"9444":[9418,9444],"9445":[9419,9445],"9446":[9420,9446],"9447":[9421,9447],"9448":[9422,9448],"9449":[9423,9449],"11264":[11264,11312],"11265":[11265,11313],"11266":[11266,11314],"11267":[11267,11315],"11268":[11268,11316],"11269":[11269,11317],"11270":[11270,11318],"11271":[11271,11319],"11272":[11272,11320],"11273":[11273,11321],"11274":[11274,11322],"11275":[11275,11323],"11276":[11276,11324],"11277":[11277,11325],"11278":[11278,11326],"11279":[11279,11327],"11280":[11280,11328],"11281":[11281,11329],"11282":[11282,11330],"11283":[11283,11331],"11284":[11284,11332],"11285":[11285,11333],"11286":[11286,11334],"11287":[11287,11335],"11288":[11288,11336],"11289":[11289,11337],"11290":[11290,11338],"11291":[11291,11339],"11292":[11292,11340],"11293":[11293,11341],"11294":[11294,11342],"11295":[11295,11343],"11296":[11296,11344],"11297":[11297,11345],"11298":[11298,11346],"11299":[11299,11347],"11300":[11300,11348],"11301":[11301,11349],"11302":[11302,11350],"11303":[11303,11351],"11304":[11304,11352],"11305":[11305,11353],"11306":[11306,11354],"11307":[11307,11355],"11308":[11308,11356],"11309":[11309,11357],"11310":[11310,11358],"11311":[11311,11359],"11312":[11264,11312],"11313":[11265,11313],"11314":[11266,11314],"11315":[11267,11315],"11316":[11268,11316],"11317":[11269,11317],"11318":[11270,11318],"11319":[11271,11319],"11320":[11272,11320],"11321":[11273,11321],"11322":[11274,11322],"11323":[11275,11323],"11324":[11276,11324],"11325":[11277,11325],"11326":[11278,11326],"11327":[11279,11327],"11328":[11280,11328],"11329":[11281,11329],"11330":[11282,11330],"11331":[11283,11331],"11332":[11284,11332],"11333":[11285,11333],"11334":[11286,11334],"11335":[11287,11335],"11336":[11288,11336],"11337":[11289,11337],"11338":[11290,11338],"11339":[11291,11339],"11340":[11292,11340],"11341":[11293,11341],"11342":[11294,11342],"11343":[11295,11343],"11344":[11296,11344],"11345":[11297,11345],"11346":[11298,11346],"11347":[11299,11347],"11348":[11300,11348],"11349":[11301,11349],"11350":[11302,11350],"11351":[11303,11351],"11352":[11304,11352],"11353":[11305,11353],"11354":[11306,11354],"11355":[11307,11355],"11356":[11308,11356],"11357":[11309,11357],"11358":[11310,11358],"11359":[11311,11359],"11360":[11360,11361],"11361":[11360,11361],"11362":[619,11362],"11363":[7549,11363],"11364":[637,11364],"11365":[570,11365],"11366":[574,11366],"11367":[11367,11368],"11368":[11367,11368],"11369":[11369,11370],"11370":[11369,11370],"11371":[11371,11372],"11372":[11371,11372],"11373":[593,11373],"11374":[625,11374],"11375":[592,11375],"11376":[594,11376],"11378":[11378,11379],"11379":[11378,11379],"11381":[11381,11382],"11382":[11381,11382],"11390":[575,11390],"11391":[576,11391],"11392":[11392,11393],"11393":[11392,11393],"11394":[11394,11395],"11395":[11394,11395],"11396":[11396,11397],"11397":[11396,11397],"11398":[11398,11399],"11399":[11398,11399],"11400":[11400,11401],"11401":[11400,11401],"11402":[11402,11403],"11403":[11402,11403],"11404":[11404,11405],"11405":[11404,11405],"11406":[11406,11407],"11407":[11406,11407],"11408":[11408,11409],"11409":[11408,11409],"11410":[11410,11411],"11411":[11410,11411],"11412":[11412,11413],"11413":[11412,11413],"11414":[11414,11415],"11415":[11414,11415],"11416":[11416,11417],"11417":[11416,11417],"11418":[11418,11419],"11419":[11418,11419],"11420":[11420,11421],"11421":[11420,11421],"11422":[11422,11423],"11423":[11422,11423],"11424":[11424,11425],"11425":[11424,11425],"11426":[11426,11427],"11427":[11426,11427],"11428":[11428,11429],"11429":[11428,11429],"11430":[11430,11431],"11431":[11430,11431],"11432":[11432,11433],"11433":[11432,11433],"11434":[11434,11435],"11435":[11434,11435],"11436":[11436,11437],"11437":[11436,11437],"11438":[11438,11439],"11439":[11438,11439],"11440":[11440,11441],"11441":[11440,11441],"11442":[11442,11443],"11443":[11442,11443],"11444":[11444,11445],"11445":[11444,11445],"11446":[11446,11447],"11447":[11446,11447],"11448":[11448,11449],"11449":[11448,11449],"11450":[11450,11451],"11451":[11450,11451],"11452":[11452,11453],"11453":[11452,11453],"11454":[11454,11455],"11455":[11454,11455],"11456":[11456,11457],"11457":[11456,11457],"11458":[11458,11459],"11459":[11458,11459],"11460":[11460,11461],"11461":[11460,11461],"11462":[11462,11463],"11463":[11462,11463],"11464":[11464,11465],"11465":[11464,11465],"11466":[11466,11467],"11467":[11466,11467],"11468":[11468,11469],"11469":[11468,11469],"11470":[11470,11471],"11471":[11470,11471],"11472":[11472,11473],"11473":[11472,11473],"11474":[11474,11475],"11475":[11474,11475],"11476":[11476,11477],"11477":[11476,11477],"11478":[11478,11479],"11479":[11478,11479],"11480":[11480,11481],"11481":[11480,11481],"11482":[11482,11483],"11483":[11482,11483],"11484":[11484,11485],"11485":[11484,11485],"11486":[11486,11487],"11487":[11486,11487],"11488":[11488,11489],"11489":[11488,11489],"11490":[11490,11491],"11491":[11490,11491],"11499":[11499,11500],"11500":[11499,11500],"11501":[11501,11502],"11502":[11501,11502],"11506":[11506,11507],"11507":[11506,11507],"11520":[4256,11520],"11521":[4257,11521],"11522":[4258,11522],"11523":[4259,11523],"11524":[4260,11524],"11525":[4261,11525],"11526":[4262,11526],"11527":[4263,11527],"11528":[4264,11528],"11529":[4265,11529],"11530":[4266,11530],"11531":[4267,11531],"11532":[4268,11532],"11533":[4269,11533],"11534":[4270,11534],"11535":[4271,11535],"11536":[4272,11536],"11537":[4273,11537],"11538":[4274,11538],"11539":[4275,11539],"11540":[4276,11540],"11541":[4277,11541],"11542":[4278,11542],"11543":[4279,11543],"11544":[4280,11544],"11545":[4281,11545],"11546":[4282,11546],"11547":[4283,11547],"11548":[4284,11548],"11549":[4285,11549],"11550":[4286,11550],"11551":[4287,11551],"11552":[4288,11552],"11553":[4289,11553],"11554":[4290,11554],"11555":[4291,11555],"11556":[4292,11556],"11557":[4293,11557],"11559":[4295,11559],"11565":[4301,11565],"42560":[42560,42561],"42561":[42560,42561],"42562":[42562,42563],"42563":[42562,42563],"42564":[42564,42565],"42565":[42564,42565],"42566":[42566,42567],"42567":[42566,42567],"42568":[42568,42569],"42569":[42568,42569],"42570":[7304,42570,42571],"42571":[7304,42570,42571],"42572":[42572,42573],"42573":[42572,42573],"42574":[42574,42575],"42575":[42574,42575],"42576":[42576,42577],"42577":[42576,42577],"42578":[42578,42579],"42579":[42578,42579],"42580":[42580,42581],"42581":[42580,42581],"42582":[42582,42583],"42583":[42582,42583],"42584":[42584,42585],"42585":[42584,42585],"42586":[42586,42587],"42587":[42586,42587],"42588":[42588,42589],"42589":[42588,42589],"42590":[42590,42591],"42591":[42590,42591],"42592":[42592,42593],"42593":[42592,42593],"42594":[42594,42595],"42595":[42594,42595],"42596":[42596,42597],"42597":[42596,42597],"42598":[42598,42599],"42599":[42598,42599],"42600":[42600,42601],"42601":[42600,42601],"42602":[42602,42603],"42603":[42602,42603],"42604":[42604,42605],"42605":[42604,42605],"42624":[42624,42625],"42625":[42624,42625],"42626":[42626,42627],"42627":[42626,42627],"42628":[42628,42629],"42629":[42628,42629],"42630":[42630,42631],"42631":[42630,42631],"42632":[42632,42633],"42633":[42632,42633],"42634":[42634,42635],"42635":[42634,42635],"42636":[42636,42637],"42637":[42636,42637],"42638":[42638,42639],"42639":[42638,42639],"42640":[42640,42641],"42641":[42640,42641],"42642":[42642,42643],"42643":[42642,42643],"42644":[42644,42645],"42645":[42644,42645],"42646":[42646,42647],"42647":[42646,42647],"42648":[42648,42649],"42649":[42648,42649],"42650":[42650,42651],"42651":[42650,42651],"42786":[42786,42787],"42787":[42786,42787],"42788":[42788,42789],"42789":[42788,42789],"42790":[42790,42791],"42791":[42790,42791],"42792":[42792,42793],"42793":[42792,42793],"42794":[42794,42795],"42795":[42794,42795],"42796":[42796,42797],"42797":[42796,42797],"42798":[42798,42799],"42799":[42798,42799],"42802":[42802,42803],"42803":[42802,42803],"42804":[42804,42805],"42805":[42804,42805],"42806":[42806,42807],"42807":[42806,42807],"42808":[42808,42809],"42809":[42808,42809],"42810":[42810,42811],"42811":[42810,42811],"42812":[42812,42813],"42813":[42812,42813],"42814":[42814,42815],"42815":[42814,42815],"42816":[42816,42817],"42817":[42816,42817],"42818":[42818,42819],"42819":[42818,42819],"42820":[42820,42821],"42821":[42820,42821],"42822":[42822,42823],"42823":[42822,42823],"42824":[42824,42825],"42825":[42824,42825],"42826":[42826,42827],"42827":[42826,42827],"42828":[42828,42829],"42829":[42828,42829],"42830":[42830,42831],"42831":[42830,42831],"42832":[42832,42833],"42833":[42832,42833],"42834":[42834,42835],"42835":[42834,42835],"42836":[42836,42837],"42837":[42836,42837],"42838":[42838,42839],"42839":[42838,42839],"42840":[42840,42841],"42841":[42840,42841],"42842":[42842,42843],"42843":[42842,42843],"42844":[42844,42845],"42845":[42844,42845],"42846":[42846,42847],"42847":[42846,42847],"42848":[42848,42849],"42849":[42848,42849],"42850":[42850,42851],"42851":[42850,42851],"42852":[42852,42853],"42853":[42852,42853],"42854":[42854,42855],"42855":[42854,42855],"42856":[42856,42857],"42857":[42856,42857],"42858":[42858,42859],"42859":[42858,42859],"42860":[42860,42861],"42861":[42860,42861],"42862":[42862,42863],"42863":[42862,42863],"42873":[42873,42874],"42874":[42873,42874],"42875":[42875,42876],"42876":[42875,42876],"42877":[7545,42877],"42878":[42878,42879],"42879":[42878,42879],"42880":[42880,42881],"42881":[42880,42881],"42882":[42882,42883],"42883":[42882,42883],"42884":[42884,42885],"42885":[42884,42885],"42886":[42886,42887],"42887":[42886,42887],"42891":[42891,42892],"42892":[42891,42892],"42893":[613,42893],"42896":[42896,42897],"42897":[42896,42897],"42898":[42898,42899],"42899":[42898,42899],"42900":[42900,42948],"42902":[42902,42903],"42903":[42902,42903],"42904":[42904,42905],"42905":[42904,42905],"42906":[42906,42907],"42907":[42906,42907],"42908":[42908,42909],"42909":[42908,42909],"42910":[42910,42911],"42911":[42910,42911],"42912":[42912,42913],"42913":[42912,42913],"42914":[42914,42915],"42915":[42914,42915],"42916":[42916,42917],"42917":[42916,42917],"42918":[42918,42919],"42919":[42918,42919],"42920":[42920,42921],"42921":[42920,42921],"42922":[614,42922],"42923":[604,42923],"42924":[609,42924],"42925":[620,42925],"42926":[618,42926],"42928":[670,42928],"42929":[647,42929],"42930":[669,42930],"42931":[42931,43859],"42932":[42932,42933],"42933":[42932,42933],"42934":[42934,42935],"42935":[42934,42935],"42936":[42936,42937],"42937":[42936,42937],"42938":[42938,42939],"42939":[42938,42939],"42940":[42940,42941],"42941":[42940,42941],"42942":[42942,42943],"42943":[42942,42943],"42944":[42944,42945],"42945":[42944,42945],"42946":[42946,42947],"42947":[42946,42947],"42948":[42900,42948],"42949":[642,42949],"42950":[7566,42950],"42951":[42951,42952],"42952":[42951,42952],"42953":[42953,42954],"42954":[42953,42954],"42960":[42960,42961],"42961":[42960,42961],"42966":[42966,42967],"42967":[42966,42967],"42968":[42968,42969],"42969":[42968,42969],"42997":[42997,42998],"42998":[42997,42998],"43859":[42931,43859],"43888":[5024,43888],"43889":[5025,43889],"43890":[5026,43890],"43891":[5027,43891],"43892":[5028,43892],"43893":[5029,43893],"43894":[5030,43894],"43895":[5031,43895],"43896":[5032,43896],"43897":[5033,43897],"43898":[5034,43898],"43899":[5035,43899],"43900":[5036,43900],"43901":[5037,43901],"43902":[5038,43902],"43903":[5039,43903],"43904":[5040,43904],"43905":[5041,43905],"43906":[5042,43906],"43907":[5043,43907],"43908":[5044,43908],"43909":[5045,43909],"43910":[5046,43910],"43911":[5047,43911],"43912":[5048,43912],"43913":[5049,43913],"43914":[5050,43914],"43915":[5051,43915],"43916":[5052,43916],"43917":[5053,43917],"43918":[5054,43918],"43919":[5055,43919],"43920":[5056,43920],"43921":[5057,43921],"43922":[5058,43922],"43923":[5059,43923],"43924":[5060,43924],"43925":[5061,43925],"43926":[5062,43926],"43927":[5063,43927],"43928":[5064,43928],"43929":[5065,43929],"43930":[5066,43930],"43931":[5067,43931],"43932":[5068,43932],"43933":[5069,43933],"43934":[5070,43934],"43935":[5071,43935],"43936":[5072,43936],"43937":[5073,43937],"43938":[5074,43938],"43939":[5075,43939],"43940":[5076,43940],"43941":[5077,43941],"43942":[5078,43942],"43943":[5079,43943],"43944":[5080,43944],"43945":[5081,43945],"43946":[5082,43946],"43947":[5083,43947],"43948":[5084,43948],"43949":[5085,43949],"43950":[5086,43950],"43951":[5087,43951],"43952":[5088,43952],"43953":[5089,43953],"43954":[5090,43954],"43955":[5091,43955],"43956":[5092,43956],"43957":[5093,43957],"43958":[5094,43958],"43959":[5095,43959],"43960":[5096,43960],"43961":[5097,43961],"43962":[5098,43962],"43963":[5099,43963],"43964":[5100,43964],"43965":[5101,43965],"43966":[5102,43966],"43967":[5103,43967],"65313":[65313,65345],"65314":[65314,65346],"65315":[65315,65347],"65316":[65316,65348],"65317":[65317,65349],"65318":[65318,65350],"65319":[65319,65351],"65320":[65320,65352],"65321":[65321,65353],"65322":[65322,65354],"65323":[65323,65355],"65324":[65324,65356],"65325":[65325,65357],"65326":[65326,65358],"65327":[65327,65359],"65328":[65328,65360],"65329":[65329,65361],"65330":[65330,65362],"65331":[65331,65363],"65332":[65332,65364],"65333":[65333,65365],"65334":[65334,65366],"65335":[65335,65367],"65336":[65336,65368],"65337":[65337,65369],"65338":[65338,65370],"65345":[65313,65345],"65346":[65314,65346],"65347":[65315,65347],"65348":[65316,65348],"65349":[65317,65349],"65350":[65318,65350],"65351":[65319,65351],"65352":[65320,65352],"65353":[65321,65353],"65354":[65322,65354],"65355":[65323,65355],"65356":[65324,65356],"65357":[65325,65357],"65358":[65326,65358],"65359":[65327,65359],"65360":[65328,65360],"65361":[65329,65361],"65362":[65330,65362],"65363":[65331,65363],"65364":[65332,65364],"65365":[65333,65365],"65366":[65334,65366],"65367":[65335,65367],"65368":[65336,65368],"65369":[65337,65369],"65370":[65338,65370],"66560":[66560,66600],"66561":[66561,66601],"66562":[66562,66602],"66563":[66563,66603],"66564":[66564,66604],"66565":[66565,66605],"66566":[66566,66606],"66567":[66567,66607],"66568":[66568,66608],"66569":[66569,66609],"66570":[66570,66610],"66571":[66571,66611],"66572":[66572,66612],"66573":[66573,66613],"66574":[66574,66614],"66575":[66575,66615],"66576":[66576,66616],"66577":[66577,66617],"66578":[66578,66618],"66579":[66579,66619],"66580":[66580,66620],"66581":[66581,66621],"66582":[66582,66622],"66583":[66583,66623],"66584":[66584,66624],"66585":[66585,66625],"66586":[66586,66626],"66587":[66587,66627],"66588":[66588,66628],"66589":[66589,66629],"66590":[66590,66630],"66591":[66591,66631],"66592":[66592,66632],"66593":[66593,66633],"66594":[66594,66634],"66595":[66595,66635],"66596":[66596,66636],"66597":[66597,66637],"66598":[66598,66638],"66599":[66599,66639],"66600":[66560,66600],"66601":[66561,66601],"66602":[66562,66602],"66603":[66563,66603],"66604":[66564,66604],"66605":[66565,66605],"66606":[66566,66606],"66607":[66567,66607],"66608":[66568,66608],"66609":[66569,66609],"66610":[66570,66610],"66611":[66571,66611],"66612":[66572,66612],"66613":[66573,66613],"66614":[66574,66614],"66615":[66575,66615],"66616":[66576,66616],"66617":[66577,66617],"66618":[66578,66618],"66619":[66579,66619],"66620":[66580,66620],"66621":[66581,66621],"66622":[66582,66622],"66623":[66583,66623],"66624":[66584,66624],"66625":[66585,66625],"66626":[66586,66626],"66627":[66587,66627],"66628":[66588,66628],"66629":[66589,66629],"66630":[66590,66630],"66631":[66591,66631],"66632":[66592,66632],"66633":[66593,66633],"66634":[66594,66634],"66635":[66595,66635],"66636":[66596,66636],"66637":[66597,66637],"66638":[66598,66638],"66639":[66599,66639],"66736":[66736,66776],"66737":[66737,66777],"66738":[66738,66778],"66739":[66739,66779],"66740":[66740,66780],"66741":[66741,66781],"66742":[66742,66782],"66743":[66743,66783],"66744":[66744,66784],"66745":[66745,66785],"66746":[66746,66786],"66747":[66747,66787],"66748":[66748,66788],"66749":[66749,66789],"66750":[66750,66790],"66751":[66751,66791],"66752":[66752,66792],"66753":[66753,66793],"66754":[66754,66794],"66755":[66755,66795],"66756":[66756,66796],"66757":[66757,66797],"66758":[66758,66798],"66759":[66759,66799],"66760":[66760,66800],"66761":[66761,66801],"66762":[66762,66802],"66763":[66763,66803],"66764":[66764,66804],"66765":[66765,66805],"66766":[66766,66806],"66767":[66767,66807],"66768":[66768,66808],"66769":[66769,66809],"66770":[66770,66810],"66771":[66771,66811],"66776":[66736,66776],"66777":[66737,66777],"66778":[66738,66778],"66779":[66739,66779],"66780":[66740,66780],"66781":[66741,66781],"66782":[66742,66782],"66783":[66743,66783],"66784":[66744,66784],"66785":[66745,66785],"66786":[66746,66786],"66787":[66747,66787],"66788":[66748,66788],"66789":[66749,66789],"66790":[66750,66790],"66791":[66751,66791],"66792":[66752,66792],"66793":[66753,66793],"66794":[66754,66794],"66795":[66755,66795],"66796":[66756,66796],"66797":[66757,66797],"66798":[66758,66798],"66799":[66759,66799],"66800":[66760,66800],"66801":[66761,66801],"66802":[66762,66802],"66803":[66763,66803],"66804":[66764,66804],"66805":[66765,66805],"66806":[66766,66806],"66807":[66767,66807],"66808":[66768,66808],"66809":[66769,66809],"66810":[66770,66810],"66811":[66771,66811],"66928":[66928,66967],"66929":[66929,66968],"66930":[66930,66969],"66931":[66931,66970],"66932":[66932,66971],"66933":[66933,66972],"66934":[66934,66973],"66935":[66935,66974],"66936":[66936,66975],"66937":[66937,66976],"66938":[66938,66977],"66940":[66940,66979],"66941":[66941,66980],"66942":[66942,66981],"66943":[66943,66982],"66944":[66944,66983],"66945":[66945,66984],"66946":[66946,66985],"66947":[66947,66986],"66948":[66948,66987],"66949":[66949,66988],"66950":[66950,66989],"66951":[66951,66990],"66952":[66952,66991],"66953":[66953,66992],"66954":[66954,66993],"66956":[66956,66995],"66957":[66957,66996],"66958":[66958,66997],"66959":[66959,66998],"66960":[66960,66999],"66961":[66961,67000],"66962":[66962,67001],"66964":[66964,67003],"66965":[66965,67004],"66967":[66928,66967],"66968":[66929,66968],"66969":[66930,66969],"66970":[66931,66970],"66971":[66932,66971],"66972":[66933,66972],"66973":[66934,66973],"66974":[66935,66974],"66975":[66936,66975],"66976":[66937,66976],"66977":[66938,66977],"66979":[66940,66979],"66980":[66941,66980],"66981":[66942,66981],"66982":[66943,66982],"66983":[66944,66983],"66984":[66945,66984],"66985":[66946,66985],"66986":[66947,66986],"66987":[66948,66987],"66988":[66949,66988],"66989":[66950,66989],"66990":[66951,66990],"66991":[66952,66991],"66992":[66953,66992],"66993":[66954,66993],"66995":[66956,66995],"66996":[66957,66996],"66997":[66958,66997],"66998":[66959,66998],"66999":[66960,66999],"67000":[66961,67000],"67001":[66962,67001],"67003":[66964,67003],"67004":[66965,67004],"68736":[68736,68800],"68737":[68737,68801],"68738":[68738,68802],"68739":[68739,68803],"68740":[68740,68804],"68741":[68741,68805],"68742":[68742,68806],"68743":[68743,68807],"68744":[68744,68808],"68745":[68745,68809],"68746":[68746,68810],"68747":[68747,68811],"68748":[68748,68812],"68749":[68749,68813],"68750":[68750,68814],"68751":[68751,68815],"68752":[68752,68816],"68753":[68753,68817],"68754":[68754,68818],"68755":[68755,68819],"68756":[68756,68820],"68757":[68757,68821],"68758":[68758,68822],"68759":[68759,68823],"68760":[68760,68824],"68761":[68761,68825],"68762":[68762,68826],"68763":[68763,68827],"68764":[68764,68828],"68765":[68765,68829],"68766":[68766,68830],"68767":[68767,68831],"68768":[68768,68832],"68769":[68769,68833],"68770":[68770,68834],"68771":[68771,68835],"68772":[68772,68836],"68773":[68773,68837],"68774":[68774,68838],"68775":[68775,68839],"68776":[68776,68840],"68777":[68777,68841],"68778":[68778,68842],"68779":[68779,68843],"68780":[68780,68844],"68781":[68781,68845],"68782":[68782,68846],"68783":[68783,68847],"68784":[68784,68848],"68785":[68785,68849],"68786":[68786,68850],"68800":[68736,68800],"68801":[68737,68801],"68802":[68738,68802],"68803":[68739,68803],"68804":[68740,68804],"68805":[68741,68805],"68806":[68742,68806],"68807":[68743,68807],"68808":[68744,68808],"68809":[68745,68809],"68810":[68746,68810],"68811":[68747,68811],"68812":[68748,68812],"68813":[68749,68813],"68814":[68750,68814],"68815":[68751,68815],"68816":[68752,68816],"68817":[68753,68817],"68818":[68754,68818],"68819":[68755,68819],"68820":[68756,68820],"68821":[68757,68821],"68822":[68758,68822],"68823":[68759,68823],"68824":[68760,68824],"68825":[68761,68825],"68826":[68762,68826],"68827":[68763,68827],"68828":[68764,68828],"68829":[68765,68829],"68830":[68766,68830],"68831":[68767,68831],"68832":[68768,68832],"68833":[68769,68833],"68834":[68770,68834],"68835":[68771,68835],"68836":[68772,68836],"68837":[68773,68837],"68838":[68774,68838],"68839":[68775,68839],"68840":[68776,68840],"68841":[68777,68841],"68842":[68778,68842],"68843":[68779,68843],"68844":[68780,68844],"68845":[68781,68845],"68846":[68782,68846],"68847":[68783,68847],"68848":[68784,68848],"68849":[68785,68849],"68850":[68786,68850],"71840":[71840,71872],"71841":[71841,71873],"71842":[71842,71874],"71843":[71843,71875],"71844":[71844,71876],"71845":[71845,71877],"71846":[71846,71878],"71847":[71847,71879],"71848":[71848,71880],"71849":[71849,71881],"71850":[71850,71882],"71851":[71851,71883],"71852":[71852,71884],"71853":[71853,71885],"71854":[71854,71886],"71855":[71855,71887],"71856":[71856,71888],"71857":[71857,71889],"71858":[71858,71890],"71859":[71859,71891],"71860":[71860,71892],"71861":[71861,71893],"71862":[71862,71894],"71863":[71863,71895],"71864":[71864,71896],"71865":[71865,71897],"71866":[71866,71898],"71867":[71867,71899],"71868":[71868,71900],"71869":[71869,71901],"71870":[71870,71902],"71871":[71871,71903],"71872":[71840,71872],"71873":[71841,71873],"71874":[71842,71874],"71875":[71843,71875],"71876":[71844,71876],"71877":[71845,71877],"71878":[71846,71878],"71879":[71847,71879],"71880":[71848,71880],"71881":[71849,71881],"71882":[71850,71882],"71883":[71851,71883],"71884":[71852,71884],"71885":[71853,71885],"71886":[71854,71886],"71887":[71855,71887],"71888":[71856,71888],"71889":[71857,71889],"71890":[71858,71890],"71891":[71859,71891],"71892":[71860,71892],"71893":[71861,71893],"71894":[71862,71894],"71895":[71863,71895],"71896":[71864,71896],"71897":[71865,71897],"71898":[71866,71898],"71899":[71867,71899],"71900":[71868,71900],"71901":[71869,71901],"71902":[71870,71902],"71903":[71871,71903],"93760":[93760,93792],"93761":[93761,93793],"93762":[93762,93794],"93763":[93763,93795],"93764":[93764,93796],"93765":[93765,93797],"93766":[93766,93798],"93767":[93767,93799],"93768":[93768,93800],"93769":[93769,93801],"93770":[93770,93802],"93771":[93771,93803],"93772":[93772,93804],"93773":[93773,93805],"93774":[93774,93806],"93775":[93775,93807],"93776":[93776,93808],"93777":[93777,93809],"93778":[93778,93810],"93779":[93779,93811],"93780":[93780,93812],"93781":[93781,93813],"93782":[93782,93814],"93783":[93783,93815],"93784":[93784,93816],"93785":[93785,93817],"93786":[93786,93818],"93787":[93787,93819],"93788":[93788,93820],"93789":[93789,93821],"93790":[93790,93822],"93791":[93791,93823],"93792":[93760,93792],"93793":[93761,93793],"93794":[93762,93794],"93795":[93763,93795],"93796":[93764,93796],"93797":[93765,93797],"93798":[93766,93798],"93799":[93767,93799],"93800":[93768,93800],"93801":[93769,93801],"93802":[93770,93802],"93803":[93771,93803],"93804":[93772,93804],"93805":[93773,93805],"93806":[93774,93806],"93807":[93775,93807],"93808":[93776,93808],"93809":[93777,93809],"93810":[93778,93810],"93811":[93779,93811],"93812":[93780,93812],"93813":[93781,93813],"93814":[93782,93814],"93815":[93783,93815],"93816":[93784,93816],"93817":[93785,93817],"93818":[93786,93818],"93819":[93787,93819],"93820":[93788,93820],"93821":[93789,93821],"93822":[93790,93822],"93823":[93791,93823],"125184":[125184,125218],"125185":[125185,125219],"125186":[125186,125220],"125187":[125187,125221],"125188":[125188,125222],"125189":[125189,125223],"125190":[125190,125224],"125191":[125191,125225],"125192":[125192,125226],"125193":[125193,125227],"125194":[125194,125228],"125195":[125195,125229],"125196":[125196,125230],"125197":[125197,125231],"125198":[125198,125232],"125199":[125199,125233],"125200":[125200,125234],"125201":[125201,125235],"125202":[125202,125236],"125203":[125203,125237],"125204":[125204,125238],"125205":[125205,125239],"125206":[125206,125240],"125207":[125207,125241],"125208":[125208,125242],"125209":[125209,125243],"125210":[125210,125244],"125211":[125211,125245],"125212":[125212,125246],"125213":[125213,125247],"125214":[125214,125248],"125215":[125215,125249],"125216":[125216,125250],"125217":[125217,125251],"125218":[125184,125218],"125219":[125185,125219],"125220":[125186,125220],"125221":[125187,125221],"125222":[125188,125222],"125223":[125189,125223],"125224":[125190,125224],"125225":[125191,125225],"125226":[125192,125226],"125227":[125193,125227],"125228":[125194,125228],"125229":[125195,125229],"125230":[125196,125230],"125231":[125197,125231],"125232":[125198,125232],"125233":[125199,125233],"125234":[125200,125234],"125235":[125201,125235],"125236":[125202,125236],"125237":[125203,125237],"125238":[125204,125238],"125239":[125205,125239],"125240":[125206,125240],"125241":[125207,125241],"125242":[125208,125242],"125243":[125209,125243],"125244":[125210,125244],"125245":[125211,125245],"125246":[125212,125246],"125247":[125213,125247],"125248":[125214,125248],"125249":[125215,125249],"125250":[125216,125250],"125251":[125217,125251]}'); diff --git a/src/js/unicode/general-category-data.ts b/src/js/unicode/general-category-data.ts deleted file mode 100644 index 1c94c49d..00000000 --- a/src/js/unicode/general-category-data.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Category: General_Category -// Exported ranges: Cased_Letter, Close_Punctuation, Connector_Punctuation, Control, Currency_Symbol, Dash_Punctuation, Decimal_Number, Enclosing_Mark, Final_Punctuation, Format, Initial_Punctuation, Letter, Letter_Number, Line_Separator, Lowercase_Letter, Mark, Math_Symbol, Modifier_Letter, Modifier_Symbol, Nonspacing_Mark, Number, Open_Punctuation, Other, Other_Letter, Other_Number, Other_Punctuation, Other_Symbol, Paragraph_Separator, Private_Use, Punctuation, Separator, Space_Separator, Spacing_Mark, Surrogate, Symbol, Titlecase_Letter, Unassigned, Uppercase_Letter - -import { CharRange } from "../../char-set"; - - -export const Cased_Letter: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":442},{"min":444,"max":447},{"min":452,"max":659},{"min":661,"max":687},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1376,"max":1416},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7424,"max":7467},{"min":7531,"max":7543},{"min":7545,"max":7578},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8579,"max":8580},{"min":11264,"max":11387},{"min":11390,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42863},{"min":42865,"max":42887},{"min":42891,"max":42894},{"min":42896,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42997,"max":42998},{"min":43002,"max":43002},{"min":43824,"max":43866},{"min":43872,"max":43880},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":66560,"max":66639},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":71840,"max":71903},{"min":93760,"max":93823},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":125184,"max":125251}]'); -export const Close_Punctuation: readonly CharRange[] = JSON.parse('[{"min":41,"max":41},{"min":93,"max":93},{"min":125,"max":125},{"min":3899,"max":3899},{"min":3901,"max":3901},{"min":5788,"max":5788},{"min":8262,"max":8262},{"min":8318,"max":8318},{"min":8334,"max":8334},{"min":8969,"max":8969},{"min":8971,"max":8971},{"min":9002,"max":9002},{"min":10089,"max":10089},{"min":10091,"max":10091},{"min":10093,"max":10093},{"min":10095,"max":10095},{"min":10097,"max":10097},{"min":10099,"max":10099},{"min":10101,"max":10101},{"min":10182,"max":10182},{"min":10215,"max":10215},{"min":10217,"max":10217},{"min":10219,"max":10219},{"min":10221,"max":10221},{"min":10223,"max":10223},{"min":10628,"max":10628},{"min":10630,"max":10630},{"min":10632,"max":10632},{"min":10634,"max":10634},{"min":10636,"max":10636},{"min":10638,"max":10638},{"min":10640,"max":10640},{"min":10642,"max":10642},{"min":10644,"max":10644},{"min":10646,"max":10646},{"min":10648,"max":10648},{"min":10713,"max":10713},{"min":10715,"max":10715},{"min":10749,"max":10749},{"min":11811,"max":11811},{"min":11813,"max":11813},{"min":11815,"max":11815},{"min":11817,"max":11817},{"min":11862,"max":11862},{"min":11864,"max":11864},{"min":11866,"max":11866},{"min":11868,"max":11868},{"min":12297,"max":12297},{"min":12299,"max":12299},{"min":12301,"max":12301},{"min":12303,"max":12303},{"min":12305,"max":12305},{"min":12309,"max":12309},{"min":12311,"max":12311},{"min":12313,"max":12313},{"min":12315,"max":12315},{"min":12318,"max":12319},{"min":64830,"max":64830},{"min":65048,"max":65048},{"min":65078,"max":65078},{"min":65080,"max":65080},{"min":65082,"max":65082},{"min":65084,"max":65084},{"min":65086,"max":65086},{"min":65088,"max":65088},{"min":65090,"max":65090},{"min":65092,"max":65092},{"min":65096,"max":65096},{"min":65114,"max":65114},{"min":65116,"max":65116},{"min":65118,"max":65118},{"min":65289,"max":65289},{"min":65341,"max":65341},{"min":65373,"max":65373},{"min":65376,"max":65376},{"min":65379,"max":65379}]'); -export const Connector_Punctuation: readonly CharRange[] = JSON.parse('[{"min":95,"max":95},{"min":8255,"max":8256},{"min":8276,"max":8276},{"min":65075,"max":65076},{"min":65101,"max":65103},{"min":65343,"max":65343}]'); -export const Control: readonly CharRange[] = JSON.parse('[{"min":0,"max":31},{"min":127,"max":159}]'); -export const Currency_Symbol: readonly CharRange[] = JSON.parse('[{"min":36,"max":36},{"min":162,"max":165},{"min":1423,"max":1423},{"min":1547,"max":1547},{"min":2046,"max":2047},{"min":2546,"max":2547},{"min":2555,"max":2555},{"min":2801,"max":2801},{"min":3065,"max":3065},{"min":3647,"max":3647},{"min":6107,"max":6107},{"min":8352,"max":8384},{"min":43064,"max":43064},{"min":65020,"max":65020},{"min":65129,"max":65129},{"min":65284,"max":65284},{"min":65504,"max":65505},{"min":65509,"max":65510},{"min":73693,"max":73696},{"min":123647,"max":123647},{"min":126128,"max":126128}]'); -export const Dash_Punctuation: readonly CharRange[] = JSON.parse('[{"min":45,"max":45},{"min":1418,"max":1418},{"min":1470,"max":1470},{"min":5120,"max":5120},{"min":6150,"max":6150},{"min":8208,"max":8213},{"min":11799,"max":11799},{"min":11802,"max":11802},{"min":11834,"max":11835},{"min":11840,"max":11840},{"min":11869,"max":11869},{"min":12316,"max":12316},{"min":12336,"max":12336},{"min":12448,"max":12448},{"min":65073,"max":65074},{"min":65112,"max":65112},{"min":65123,"max":65123},{"min":65293,"max":65293},{"min":69293,"max":69293}]'); -export const Decimal_Number: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":1632,"max":1641},{"min":1776,"max":1785},{"min":1984,"max":1993},{"min":2406,"max":2415},{"min":2534,"max":2543},{"min":2662,"max":2671},{"min":2790,"max":2799},{"min":2918,"max":2927},{"min":3046,"max":3055},{"min":3174,"max":3183},{"min":3302,"max":3311},{"min":3430,"max":3439},{"min":3558,"max":3567},{"min":3664,"max":3673},{"min":3792,"max":3801},{"min":3872,"max":3881},{"min":4160,"max":4169},{"min":4240,"max":4249},{"min":6112,"max":6121},{"min":6160,"max":6169},{"min":6470,"max":6479},{"min":6608,"max":6617},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6992,"max":7001},{"min":7088,"max":7097},{"min":7232,"max":7241},{"min":7248,"max":7257},{"min":42528,"max":42537},{"min":43216,"max":43225},{"min":43264,"max":43273},{"min":43472,"max":43481},{"min":43504,"max":43513},{"min":43600,"max":43609},{"min":44016,"max":44025},{"min":65296,"max":65305},{"min":66720,"max":66729},{"min":68912,"max":68921},{"min":69734,"max":69743},{"min":69872,"max":69881},{"min":69942,"max":69951},{"min":70096,"max":70105},{"min":70384,"max":70393},{"min":70736,"max":70745},{"min":70864,"max":70873},{"min":71248,"max":71257},{"min":71360,"max":71369},{"min":71472,"max":71481},{"min":71904,"max":71913},{"min":72016,"max":72025},{"min":72784,"max":72793},{"min":73040,"max":73049},{"min":73120,"max":73129},{"min":73552,"max":73561},{"min":92768,"max":92777},{"min":92864,"max":92873},{"min":93008,"max":93017},{"min":120782,"max":120831},{"min":123200,"max":123209},{"min":123632,"max":123641},{"min":124144,"max":124153},{"min":125264,"max":125273},{"min":130032,"max":130041}]'); -export const Enclosing_Mark: readonly CharRange[] = JSON.parse('[{"min":1160,"max":1161},{"min":6846,"max":6846},{"min":8413,"max":8416},{"min":8418,"max":8420},{"min":42608,"max":42610}]'); -export const Final_Punctuation: readonly CharRange[] = JSON.parse('[{"min":187,"max":187},{"min":8217,"max":8217},{"min":8221,"max":8221},{"min":8250,"max":8250},{"min":11779,"max":11779},{"min":11781,"max":11781},{"min":11786,"max":11786},{"min":11789,"max":11789},{"min":11805,"max":11805},{"min":11809,"max":11809}]'); -export const Format: readonly CharRange[] = JSON.parse('[{"min":173,"max":173},{"min":1536,"max":1541},{"min":1564,"max":1564},{"min":1757,"max":1757},{"min":1807,"max":1807},{"min":2192,"max":2193},{"min":2274,"max":2274},{"min":6158,"max":6158},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8292},{"min":8294,"max":8303},{"min":65279,"max":65279},{"min":65529,"max":65531},{"min":69821,"max":69821},{"min":69837,"max":69837},{"min":78896,"max":78911},{"min":113824,"max":113827},{"min":119155,"max":119162},{"min":917505,"max":917505},{"min":917536,"max":917631}]'); -export const Initial_Punctuation: readonly CharRange[] = JSON.parse('[{"min":171,"max":171},{"min":8216,"max":8216},{"min":8219,"max":8220},{"min":8223,"max":8223},{"min":8249,"max":8249},{"min":11778,"max":11778},{"min":11780,"max":11780},{"min":11785,"max":11785},{"min":11788,"max":11788},{"min":11804,"max":11804},{"min":11808,"max":11808}]'); -export const Letter: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":181,"max":181},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":880,"max":884},{"min":886,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":1013},{"min":1015,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1369,"max":1369},{"min":1376,"max":1416},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1765,"max":1766},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2048,"max":2069},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2249},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2417,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3654},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5873,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6103,"max":6103},{"min":6108,"max":6108},{"min":6176,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6823,"max":6823},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7293},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":7424,"max":7615},{"min":7680,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8124},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8140},{"min":8144,"max":8147},{"min":8150,"max":8155},{"min":8160,"max":8172},{"min":8178,"max":8180},{"min":8182,"max":8188},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8458,"max":8467},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8495,"max":8505},{"min":8508,"max":8511},{"min":8517,"max":8521},{"min":8526,"max":8526},{"min":8579,"max":8580},{"min":11264,"max":11492},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":11568,"max":11623},{"min":11631,"max":11631},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":11823,"max":11823},{"min":12293,"max":12294},{"min":12337,"max":12341},{"min":12347,"max":12348},{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":12449,"max":12538},{"min":12540,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":42124},{"min":42192,"max":42237},{"min":42240,"max":42508},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42560,"max":42606},{"min":42623,"max":42653},{"min":42656,"max":42725},{"min":42775,"max":42783},{"min":42786,"max":42888},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43471,"max":43471},{"min":43488,"max":43492},{"min":43494,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43741},{"min":43744,"max":43754},{"min":43762,"max":43764},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43824,"max":43866},{"min":43868,"max":43881},{"min":43888,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":65382,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66368},{"min":66370,"max":66377},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66560,"max":66717},{"min":66736,"max":66771},{"min":66776,"max":66811},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71840,"max":71903},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":92992,"max":92995},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93760,"max":93823},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120512},{"min":120514,"max":120538},{"min":120540,"max":120570},{"min":120572,"max":120596},{"min":120598,"max":120628},{"min":120630,"max":120654},{"min":120656,"max":120686},{"min":120688,"max":120712},{"min":120714,"max":120744},{"min":120746,"max":120770},{"min":120772,"max":120779},{"min":122624,"max":122654},{"min":122661,"max":122666},{"min":122928,"max":122989},{"min":123136,"max":123180},{"min":123191,"max":123197},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124139},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":125184,"max":125251},{"min":125259,"max":125259},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Letter_Number: readonly CharRange[] = JSON.parse('[{"min":5870,"max":5872},{"min":8544,"max":8578},{"min":8581,"max":8584},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":42726,"max":42735},{"min":65856,"max":65908},{"min":66369,"max":66369},{"min":66378,"max":66378},{"min":66513,"max":66517},{"min":74752,"max":74862}]'); -export const Line_Separator: readonly CharRange[] = JSON.parse('[{"min":8232,"max":8232}]'); -export const Lowercase_Letter: readonly CharRange[] = JSON.parse('[{"min":97,"max":122},{"min":181,"max":181},{"min":223,"max":246},{"min":248,"max":255},{"min":257,"max":257},{"min":259,"max":259},{"min":261,"max":261},{"min":263,"max":263},{"min":265,"max":265},{"min":267,"max":267},{"min":269,"max":269},{"min":271,"max":271},{"min":273,"max":273},{"min":275,"max":275},{"min":277,"max":277},{"min":279,"max":279},{"min":281,"max":281},{"min":283,"max":283},{"min":285,"max":285},{"min":287,"max":287},{"min":289,"max":289},{"min":291,"max":291},{"min":293,"max":293},{"min":295,"max":295},{"min":297,"max":297},{"min":299,"max":299},{"min":301,"max":301},{"min":303,"max":303},{"min":305,"max":305},{"min":307,"max":307},{"min":309,"max":309},{"min":311,"max":312},{"min":314,"max":314},{"min":316,"max":316},{"min":318,"max":318},{"min":320,"max":320},{"min":322,"max":322},{"min":324,"max":324},{"min":326,"max":326},{"min":328,"max":329},{"min":331,"max":331},{"min":333,"max":333},{"min":335,"max":335},{"min":337,"max":337},{"min":339,"max":339},{"min":341,"max":341},{"min":343,"max":343},{"min":345,"max":345},{"min":347,"max":347},{"min":349,"max":349},{"min":351,"max":351},{"min":353,"max":353},{"min":355,"max":355},{"min":357,"max":357},{"min":359,"max":359},{"min":361,"max":361},{"min":363,"max":363},{"min":365,"max":365},{"min":367,"max":367},{"min":369,"max":369},{"min":371,"max":371},{"min":373,"max":373},{"min":375,"max":375},{"min":378,"max":378},{"min":380,"max":380},{"min":382,"max":384},{"min":387,"max":387},{"min":389,"max":389},{"min":392,"max":392},{"min":396,"max":397},{"min":402,"max":402},{"min":405,"max":405},{"min":409,"max":411},{"min":414,"max":414},{"min":417,"max":417},{"min":419,"max":419},{"min":421,"max":421},{"min":424,"max":424},{"min":426,"max":427},{"min":429,"max":429},{"min":432,"max":432},{"min":436,"max":436},{"min":438,"max":438},{"min":441,"max":442},{"min":445,"max":447},{"min":454,"max":454},{"min":457,"max":457},{"min":460,"max":460},{"min":462,"max":462},{"min":464,"max":464},{"min":466,"max":466},{"min":468,"max":468},{"min":470,"max":470},{"min":472,"max":472},{"min":474,"max":474},{"min":476,"max":477},{"min":479,"max":479},{"min":481,"max":481},{"min":483,"max":483},{"min":485,"max":485},{"min":487,"max":487},{"min":489,"max":489},{"min":491,"max":491},{"min":493,"max":493},{"min":495,"max":496},{"min":499,"max":499},{"min":501,"max":501},{"min":505,"max":505},{"min":507,"max":507},{"min":509,"max":509},{"min":511,"max":511},{"min":513,"max":513},{"min":515,"max":515},{"min":517,"max":517},{"min":519,"max":519},{"min":521,"max":521},{"min":523,"max":523},{"min":525,"max":525},{"min":527,"max":527},{"min":529,"max":529},{"min":531,"max":531},{"min":533,"max":533},{"min":535,"max":535},{"min":537,"max":537},{"min":539,"max":539},{"min":541,"max":541},{"min":543,"max":543},{"min":545,"max":545},{"min":547,"max":547},{"min":549,"max":549},{"min":551,"max":551},{"min":553,"max":553},{"min":555,"max":555},{"min":557,"max":557},{"min":559,"max":559},{"min":561,"max":561},{"min":563,"max":569},{"min":572,"max":572},{"min":575,"max":576},{"min":578,"max":578},{"min":583,"max":583},{"min":585,"max":585},{"min":587,"max":587},{"min":589,"max":589},{"min":591,"max":659},{"min":661,"max":687},{"min":881,"max":881},{"min":883,"max":883},{"min":887,"max":887},{"min":891,"max":893},{"min":912,"max":912},{"min":940,"max":974},{"min":976,"max":977},{"min":981,"max":983},{"min":985,"max":985},{"min":987,"max":987},{"min":989,"max":989},{"min":991,"max":991},{"min":993,"max":993},{"min":995,"max":995},{"min":997,"max":997},{"min":999,"max":999},{"min":1001,"max":1001},{"min":1003,"max":1003},{"min":1005,"max":1005},{"min":1007,"max":1011},{"min":1013,"max":1013},{"min":1016,"max":1016},{"min":1019,"max":1020},{"min":1072,"max":1119},{"min":1121,"max":1121},{"min":1123,"max":1123},{"min":1125,"max":1125},{"min":1127,"max":1127},{"min":1129,"max":1129},{"min":1131,"max":1131},{"min":1133,"max":1133},{"min":1135,"max":1135},{"min":1137,"max":1137},{"min":1139,"max":1139},{"min":1141,"max":1141},{"min":1143,"max":1143},{"min":1145,"max":1145},{"min":1147,"max":1147},{"min":1149,"max":1149},{"min":1151,"max":1151},{"min":1153,"max":1153},{"min":1163,"max":1163},{"min":1165,"max":1165},{"min":1167,"max":1167},{"min":1169,"max":1169},{"min":1171,"max":1171},{"min":1173,"max":1173},{"min":1175,"max":1175},{"min":1177,"max":1177},{"min":1179,"max":1179},{"min":1181,"max":1181},{"min":1183,"max":1183},{"min":1185,"max":1185},{"min":1187,"max":1187},{"min":1189,"max":1189},{"min":1191,"max":1191},{"min":1193,"max":1193},{"min":1195,"max":1195},{"min":1197,"max":1197},{"min":1199,"max":1199},{"min":1201,"max":1201},{"min":1203,"max":1203},{"min":1205,"max":1205},{"min":1207,"max":1207},{"min":1209,"max":1209},{"min":1211,"max":1211},{"min":1213,"max":1213},{"min":1215,"max":1215},{"min":1218,"max":1218},{"min":1220,"max":1220},{"min":1222,"max":1222},{"min":1224,"max":1224},{"min":1226,"max":1226},{"min":1228,"max":1228},{"min":1230,"max":1231},{"min":1233,"max":1233},{"min":1235,"max":1235},{"min":1237,"max":1237},{"min":1239,"max":1239},{"min":1241,"max":1241},{"min":1243,"max":1243},{"min":1245,"max":1245},{"min":1247,"max":1247},{"min":1249,"max":1249},{"min":1251,"max":1251},{"min":1253,"max":1253},{"min":1255,"max":1255},{"min":1257,"max":1257},{"min":1259,"max":1259},{"min":1261,"max":1261},{"min":1263,"max":1263},{"min":1265,"max":1265},{"min":1267,"max":1267},{"min":1269,"max":1269},{"min":1271,"max":1271},{"min":1273,"max":1273},{"min":1275,"max":1275},{"min":1277,"max":1277},{"min":1279,"max":1279},{"min":1281,"max":1281},{"min":1283,"max":1283},{"min":1285,"max":1285},{"min":1287,"max":1287},{"min":1289,"max":1289},{"min":1291,"max":1291},{"min":1293,"max":1293},{"min":1295,"max":1295},{"min":1297,"max":1297},{"min":1299,"max":1299},{"min":1301,"max":1301},{"min":1303,"max":1303},{"min":1305,"max":1305},{"min":1307,"max":1307},{"min":1309,"max":1309},{"min":1311,"max":1311},{"min":1313,"max":1313},{"min":1315,"max":1315},{"min":1317,"max":1317},{"min":1319,"max":1319},{"min":1321,"max":1321},{"min":1323,"max":1323},{"min":1325,"max":1325},{"min":1327,"max":1327},{"min":1376,"max":1416},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7424,"max":7467},{"min":7531,"max":7543},{"min":7545,"max":7578},{"min":7681,"max":7681},{"min":7683,"max":7683},{"min":7685,"max":7685},{"min":7687,"max":7687},{"min":7689,"max":7689},{"min":7691,"max":7691},{"min":7693,"max":7693},{"min":7695,"max":7695},{"min":7697,"max":7697},{"min":7699,"max":7699},{"min":7701,"max":7701},{"min":7703,"max":7703},{"min":7705,"max":7705},{"min":7707,"max":7707},{"min":7709,"max":7709},{"min":7711,"max":7711},{"min":7713,"max":7713},{"min":7715,"max":7715},{"min":7717,"max":7717},{"min":7719,"max":7719},{"min":7721,"max":7721},{"min":7723,"max":7723},{"min":7725,"max":7725},{"min":7727,"max":7727},{"min":7729,"max":7729},{"min":7731,"max":7731},{"min":7733,"max":7733},{"min":7735,"max":7735},{"min":7737,"max":7737},{"min":7739,"max":7739},{"min":7741,"max":7741},{"min":7743,"max":7743},{"min":7745,"max":7745},{"min":7747,"max":7747},{"min":7749,"max":7749},{"min":7751,"max":7751},{"min":7753,"max":7753},{"min":7755,"max":7755},{"min":7757,"max":7757},{"min":7759,"max":7759},{"min":7761,"max":7761},{"min":7763,"max":7763},{"min":7765,"max":7765},{"min":7767,"max":7767},{"min":7769,"max":7769},{"min":7771,"max":7771},{"min":7773,"max":7773},{"min":7775,"max":7775},{"min":7777,"max":7777},{"min":7779,"max":7779},{"min":7781,"max":7781},{"min":7783,"max":7783},{"min":7785,"max":7785},{"min":7787,"max":7787},{"min":7789,"max":7789},{"min":7791,"max":7791},{"min":7793,"max":7793},{"min":7795,"max":7795},{"min":7797,"max":7797},{"min":7799,"max":7799},{"min":7801,"max":7801},{"min":7803,"max":7803},{"min":7805,"max":7805},{"min":7807,"max":7807},{"min":7809,"max":7809},{"min":7811,"max":7811},{"min":7813,"max":7813},{"min":7815,"max":7815},{"min":7817,"max":7817},{"min":7819,"max":7819},{"min":7821,"max":7821},{"min":7823,"max":7823},{"min":7825,"max":7825},{"min":7827,"max":7827},{"min":7829,"max":7837},{"min":7839,"max":7839},{"min":7841,"max":7841},{"min":7843,"max":7843},{"min":7845,"max":7845},{"min":7847,"max":7847},{"min":7849,"max":7849},{"min":7851,"max":7851},{"min":7853,"max":7853},{"min":7855,"max":7855},{"min":7857,"max":7857},{"min":7859,"max":7859},{"min":7861,"max":7861},{"min":7863,"max":7863},{"min":7865,"max":7865},{"min":7867,"max":7867},{"min":7869,"max":7869},{"min":7871,"max":7871},{"min":7873,"max":7873},{"min":7875,"max":7875},{"min":7877,"max":7877},{"min":7879,"max":7879},{"min":7881,"max":7881},{"min":7883,"max":7883},{"min":7885,"max":7885},{"min":7887,"max":7887},{"min":7889,"max":7889},{"min":7891,"max":7891},{"min":7893,"max":7893},{"min":7895,"max":7895},{"min":7897,"max":7897},{"min":7899,"max":7899},{"min":7901,"max":7901},{"min":7903,"max":7903},{"min":7905,"max":7905},{"min":7907,"max":7907},{"min":7909,"max":7909},{"min":7911,"max":7911},{"min":7913,"max":7913},{"min":7915,"max":7915},{"min":7917,"max":7917},{"min":7919,"max":7919},{"min":7921,"max":7921},{"min":7923,"max":7923},{"min":7925,"max":7925},{"min":7927,"max":7927},{"min":7929,"max":7929},{"min":7931,"max":7931},{"min":7933,"max":7933},{"min":7935,"max":7943},{"min":7952,"max":7957},{"min":7968,"max":7975},{"min":7984,"max":7991},{"min":8000,"max":8005},{"min":8016,"max":8023},{"min":8032,"max":8039},{"min":8048,"max":8061},{"min":8064,"max":8071},{"min":8080,"max":8087},{"min":8096,"max":8103},{"min":8112,"max":8116},{"min":8118,"max":8119},{"min":8126,"max":8126},{"min":8130,"max":8132},{"min":8134,"max":8135},{"min":8144,"max":8147},{"min":8150,"max":8151},{"min":8160,"max":8167},{"min":8178,"max":8180},{"min":8182,"max":8183},{"min":8458,"max":8458},{"min":8462,"max":8463},{"min":8467,"max":8467},{"min":8495,"max":8495},{"min":8500,"max":8500},{"min":8505,"max":8505},{"min":8508,"max":8509},{"min":8518,"max":8521},{"min":8526,"max":8526},{"min":8580,"max":8580},{"min":11312,"max":11359},{"min":11361,"max":11361},{"min":11365,"max":11366},{"min":11368,"max":11368},{"min":11370,"max":11370},{"min":11372,"max":11372},{"min":11377,"max":11377},{"min":11379,"max":11380},{"min":11382,"max":11387},{"min":11393,"max":11393},{"min":11395,"max":11395},{"min":11397,"max":11397},{"min":11399,"max":11399},{"min":11401,"max":11401},{"min":11403,"max":11403},{"min":11405,"max":11405},{"min":11407,"max":11407},{"min":11409,"max":11409},{"min":11411,"max":11411},{"min":11413,"max":11413},{"min":11415,"max":11415},{"min":11417,"max":11417},{"min":11419,"max":11419},{"min":11421,"max":11421},{"min":11423,"max":11423},{"min":11425,"max":11425},{"min":11427,"max":11427},{"min":11429,"max":11429},{"min":11431,"max":11431},{"min":11433,"max":11433},{"min":11435,"max":11435},{"min":11437,"max":11437},{"min":11439,"max":11439},{"min":11441,"max":11441},{"min":11443,"max":11443},{"min":11445,"max":11445},{"min":11447,"max":11447},{"min":11449,"max":11449},{"min":11451,"max":11451},{"min":11453,"max":11453},{"min":11455,"max":11455},{"min":11457,"max":11457},{"min":11459,"max":11459},{"min":11461,"max":11461},{"min":11463,"max":11463},{"min":11465,"max":11465},{"min":11467,"max":11467},{"min":11469,"max":11469},{"min":11471,"max":11471},{"min":11473,"max":11473},{"min":11475,"max":11475},{"min":11477,"max":11477},{"min":11479,"max":11479},{"min":11481,"max":11481},{"min":11483,"max":11483},{"min":11485,"max":11485},{"min":11487,"max":11487},{"min":11489,"max":11489},{"min":11491,"max":11492},{"min":11500,"max":11500},{"min":11502,"max":11502},{"min":11507,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42561,"max":42561},{"min":42563,"max":42563},{"min":42565,"max":42565},{"min":42567,"max":42567},{"min":42569,"max":42569},{"min":42571,"max":42571},{"min":42573,"max":42573},{"min":42575,"max":42575},{"min":42577,"max":42577},{"min":42579,"max":42579},{"min":42581,"max":42581},{"min":42583,"max":42583},{"min":42585,"max":42585},{"min":42587,"max":42587},{"min":42589,"max":42589},{"min":42591,"max":42591},{"min":42593,"max":42593},{"min":42595,"max":42595},{"min":42597,"max":42597},{"min":42599,"max":42599},{"min":42601,"max":42601},{"min":42603,"max":42603},{"min":42605,"max":42605},{"min":42625,"max":42625},{"min":42627,"max":42627},{"min":42629,"max":42629},{"min":42631,"max":42631},{"min":42633,"max":42633},{"min":42635,"max":42635},{"min":42637,"max":42637},{"min":42639,"max":42639},{"min":42641,"max":42641},{"min":42643,"max":42643},{"min":42645,"max":42645},{"min":42647,"max":42647},{"min":42649,"max":42649},{"min":42651,"max":42651},{"min":42787,"max":42787},{"min":42789,"max":42789},{"min":42791,"max":42791},{"min":42793,"max":42793},{"min":42795,"max":42795},{"min":42797,"max":42797},{"min":42799,"max":42801},{"min":42803,"max":42803},{"min":42805,"max":42805},{"min":42807,"max":42807},{"min":42809,"max":42809},{"min":42811,"max":42811},{"min":42813,"max":42813},{"min":42815,"max":42815},{"min":42817,"max":42817},{"min":42819,"max":42819},{"min":42821,"max":42821},{"min":42823,"max":42823},{"min":42825,"max":42825},{"min":42827,"max":42827},{"min":42829,"max":42829},{"min":42831,"max":42831},{"min":42833,"max":42833},{"min":42835,"max":42835},{"min":42837,"max":42837},{"min":42839,"max":42839},{"min":42841,"max":42841},{"min":42843,"max":42843},{"min":42845,"max":42845},{"min":42847,"max":42847},{"min":42849,"max":42849},{"min":42851,"max":42851},{"min":42853,"max":42853},{"min":42855,"max":42855},{"min":42857,"max":42857},{"min":42859,"max":42859},{"min":42861,"max":42861},{"min":42863,"max":42863},{"min":42865,"max":42872},{"min":42874,"max":42874},{"min":42876,"max":42876},{"min":42879,"max":42879},{"min":42881,"max":42881},{"min":42883,"max":42883},{"min":42885,"max":42885},{"min":42887,"max":42887},{"min":42892,"max":42892},{"min":42894,"max":42894},{"min":42897,"max":42897},{"min":42899,"max":42901},{"min":42903,"max":42903},{"min":42905,"max":42905},{"min":42907,"max":42907},{"min":42909,"max":42909},{"min":42911,"max":42911},{"min":42913,"max":42913},{"min":42915,"max":42915},{"min":42917,"max":42917},{"min":42919,"max":42919},{"min":42921,"max":42921},{"min":42927,"max":42927},{"min":42933,"max":42933},{"min":42935,"max":42935},{"min":42937,"max":42937},{"min":42939,"max":42939},{"min":42941,"max":42941},{"min":42943,"max":42943},{"min":42945,"max":42945},{"min":42947,"max":42947},{"min":42952,"max":42952},{"min":42954,"max":42954},{"min":42961,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42965},{"min":42967,"max":42967},{"min":42969,"max":42969},{"min":42998,"max":42998},{"min":43002,"max":43002},{"min":43824,"max":43866},{"min":43872,"max":43880},{"min":43888,"max":43967},{"min":64256,"max":64262},{"min":64275,"max":64279},{"min":65345,"max":65370},{"min":66600,"max":66639},{"min":66776,"max":66811},{"min":66967,"max":66977},{"min":66979,"max":66993},{"min":66995,"max":67001},{"min":67003,"max":67004},{"min":68800,"max":68850},{"min":71872,"max":71903},{"min":93792,"max":93823},{"min":119834,"max":119859},{"min":119886,"max":119892},{"min":119894,"max":119911},{"min":119938,"max":119963},{"min":119990,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120015},{"min":120042,"max":120067},{"min":120094,"max":120119},{"min":120146,"max":120171},{"min":120198,"max":120223},{"min":120250,"max":120275},{"min":120302,"max":120327},{"min":120354,"max":120379},{"min":120406,"max":120431},{"min":120458,"max":120485},{"min":120514,"max":120538},{"min":120540,"max":120545},{"min":120572,"max":120596},{"min":120598,"max":120603},{"min":120630,"max":120654},{"min":120656,"max":120661},{"min":120688,"max":120712},{"min":120714,"max":120719},{"min":120746,"max":120770},{"min":120772,"max":120777},{"min":120779,"max":120779},{"min":122624,"max":122633},{"min":122635,"max":122654},{"min":122661,"max":122666},{"min":125218,"max":125251}]'); -export const Mark: readonly CharRange[] = JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1161},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2307},{"min":2362,"max":2364},{"min":2366,"max":2383},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2435},{"min":2492,"max":2492},{"min":2494,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2509},{"min":2519,"max":2519},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2563},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2691},{"min":2748,"max":2748},{"min":2750,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2819},{"min":2876,"max":2876},{"min":2878,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3031,"max":3031},{"min":3072,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3203},{"min":3260,"max":3260},{"min":3262,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3298,"max":3299},{"min":3315,"max":3315},{"min":3328,"max":3331},{"min":3387,"max":3388},{"min":3390,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3405},{"min":3415,"max":3415},{"min":3426,"max":3427},{"min":3457,"max":3459},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3902,"max":3903},{"min":3953,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4139,"max":4158},{"min":4182,"max":4185},{"min":4190,"max":4192},{"min":4194,"max":4196},{"min":4199,"max":4205},{"min":4209,"max":4212},{"min":4226,"max":4237},{"min":4239,"max":4239},{"min":4250,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5909},{"min":5938,"max":5940},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6679,"max":6683},{"min":6741,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6862},{"min":6912,"max":6916},{"min":6964,"max":6980},{"min":7019,"max":7027},{"min":7040,"max":7042},{"min":7073,"max":7085},{"min":7142,"max":7155},{"min":7204,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7415,"max":7417},{"min":7616,"max":7679},{"min":8400,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12335},{"min":12441,"max":12442},{"min":42607,"max":42610},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43043,"max":43047},{"min":43052,"max":43052},{"min":43136,"max":43137},{"min":43188,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43347},{"min":43392,"max":43395},{"min":43443,"max":43456},{"min":43493,"max":43493},{"min":43561,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43597},{"min":43643,"max":43645},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43755,"max":43759},{"min":43765,"max":43766},{"min":44003,"max":44010},{"min":44012,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69632,"max":69634},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69762},{"min":69808,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69940},{"min":69957,"max":69958},{"min":70003,"max":70003},{"min":70016,"max":70018},{"min":70067,"max":70080},{"min":70089,"max":70092},{"min":70094,"max":70095},{"min":70188,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70378},{"min":70400,"max":70403},{"min":70459,"max":70460},{"min":70462,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70487,"max":70487},{"min":70498,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70709,"max":70726},{"min":70750,"max":70750},{"min":70832,"max":70851},{"min":71087,"max":71093},{"min":71096,"max":71104},{"min":71132,"max":71133},{"min":71216,"max":71232},{"min":71339,"max":71351},{"min":71453,"max":71467},{"min":71724,"max":71738},{"min":71984,"max":71989},{"min":71991,"max":71992},{"min":71995,"max":71998},{"min":72000,"max":72000},{"min":72002,"max":72003},{"min":72145,"max":72151},{"min":72154,"max":72160},{"min":72164,"max":72164},{"min":72193,"max":72202},{"min":72243,"max":72249},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72283},{"min":72330,"max":72345},{"min":72751,"max":72758},{"min":72760,"max":72767},{"min":72850,"max":72871},{"min":72873,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73098,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73111},{"min":73459,"max":73462},{"min":73472,"max":73473},{"min":73475,"max":73475},{"min":73524,"max":73530},{"min":73534,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94033,"max":94087},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":94192,"max":94193},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119141,"max":119145},{"min":119149,"max":119154},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917760,"max":917999}]'); -export const Math_Symbol: readonly CharRange[] = JSON.parse('[{"min":43,"max":43},{"min":60,"max":62},{"min":124,"max":124},{"min":126,"max":126},{"min":172,"max":172},{"min":177,"max":177},{"min":215,"max":215},{"min":247,"max":247},{"min":1014,"max":1014},{"min":1542,"max":1544},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8314,"max":8316},{"min":8330,"max":8332},{"min":8472,"max":8472},{"min":8512,"max":8516},{"min":8523,"max":8523},{"min":8592,"max":8596},{"min":8602,"max":8603},{"min":8608,"max":8608},{"min":8611,"max":8611},{"min":8614,"max":8614},{"min":8622,"max":8622},{"min":8654,"max":8655},{"min":8658,"max":8658},{"min":8660,"max":8660},{"min":8692,"max":8959},{"min":8992,"max":8993},{"min":9084,"max":9084},{"min":9115,"max":9139},{"min":9180,"max":9185},{"min":9655,"max":9655},{"min":9665,"max":9665},{"min":9720,"max":9727},{"min":9839,"max":9839},{"min":10176,"max":10180},{"min":10183,"max":10213},{"min":10224,"max":10239},{"min":10496,"max":10626},{"min":10649,"max":10711},{"min":10716,"max":10747},{"min":10750,"max":11007},{"min":11056,"max":11076},{"min":11079,"max":11084},{"min":64297,"max":64297},{"min":65122,"max":65122},{"min":65124,"max":65126},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65506,"max":65506},{"min":65513,"max":65516},{"min":120513,"max":120513},{"min":120539,"max":120539},{"min":120571,"max":120571},{"min":120597,"max":120597},{"min":120629,"max":120629},{"min":120655,"max":120655},{"min":120687,"max":120687},{"min":120713,"max":120713},{"min":120745,"max":120745},{"min":120771,"max":120771},{"min":126704,"max":126705}]'); -export const Modifier_Letter: readonly CharRange[] = JSON.parse('[{"min":688,"max":705},{"min":710,"max":721},{"min":736,"max":740},{"min":748,"max":748},{"min":750,"max":750},{"min":884,"max":884},{"min":890,"max":890},{"min":1369,"max":1369},{"min":1600,"max":1600},{"min":1765,"max":1766},{"min":2036,"max":2037},{"min":2042,"max":2042},{"min":2074,"max":2074},{"min":2084,"max":2084},{"min":2088,"max":2088},{"min":2249,"max":2249},{"min":2417,"max":2417},{"min":3654,"max":3654},{"min":3782,"max":3782},{"min":4348,"max":4348},{"min":6103,"max":6103},{"min":6211,"max":6211},{"min":6823,"max":6823},{"min":7288,"max":7293},{"min":7468,"max":7530},{"min":7544,"max":7544},{"min":7579,"max":7615},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":11388,"max":11389},{"min":11631,"max":11631},{"min":11823,"max":11823},{"min":12293,"max":12293},{"min":12337,"max":12341},{"min":12347,"max":12347},{"min":12445,"max":12446},{"min":12540,"max":12542},{"min":40981,"max":40981},{"min":42232,"max":42237},{"min":42508,"max":42508},{"min":42623,"max":42623},{"min":42652,"max":42653},{"min":42775,"max":42783},{"min":42864,"max":42864},{"min":42888,"max":42888},{"min":42994,"max":42996},{"min":43000,"max":43001},{"min":43471,"max":43471},{"min":43494,"max":43494},{"min":43632,"max":43632},{"min":43741,"max":43741},{"min":43763,"max":43764},{"min":43868,"max":43871},{"min":43881,"max":43881},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":92992,"max":92995},{"min":94099,"max":94111},{"min":94176,"max":94177},{"min":94179,"max":94179},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":122928,"max":122989},{"min":123191,"max":123197},{"min":124139,"max":124139},{"min":125259,"max":125259}]'); -export const Modifier_Symbol: readonly CharRange[] = JSON.parse('[{"min":94,"max":94},{"min":96,"max":96},{"min":168,"max":168},{"min":175,"max":175},{"min":180,"max":180},{"min":184,"max":184},{"min":706,"max":709},{"min":722,"max":735},{"min":741,"max":747},{"min":749,"max":749},{"min":751,"max":767},{"min":885,"max":885},{"min":900,"max":901},{"min":2184,"max":2184},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":12443,"max":12444},{"min":42752,"max":42774},{"min":42784,"max":42785},{"min":42889,"max":42890},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64434,"max":64450},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65507,"max":65507},{"min":127995,"max":127999}]'); -export const Nonspacing_Mark: readonly CharRange[] = JSON.parse('[{"min":768,"max":879},{"min":1155,"max":1159},{"min":1425,"max":1469},{"min":1471,"max":1471},{"min":1473,"max":1474},{"min":1476,"max":1477},{"min":1479,"max":1479},{"min":1552,"max":1562},{"min":1611,"max":1631},{"min":1648,"max":1648},{"min":1750,"max":1756},{"min":1759,"max":1764},{"min":1767,"max":1768},{"min":1770,"max":1773},{"min":1809,"max":1809},{"min":1840,"max":1866},{"min":1958,"max":1968},{"min":2027,"max":2035},{"min":2045,"max":2045},{"min":2070,"max":2073},{"min":2075,"max":2083},{"min":2085,"max":2087},{"min":2089,"max":2093},{"min":2137,"max":2139},{"min":2200,"max":2207},{"min":2250,"max":2273},{"min":2275,"max":2306},{"min":2362,"max":2362},{"min":2364,"max":2364},{"min":2369,"max":2376},{"min":2381,"max":2381},{"min":2385,"max":2391},{"min":2402,"max":2403},{"min":2433,"max":2433},{"min":2492,"max":2492},{"min":2497,"max":2500},{"min":2509,"max":2509},{"min":2530,"max":2531},{"min":2558,"max":2558},{"min":2561,"max":2562},{"min":2620,"max":2620},{"min":2625,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2672,"max":2673},{"min":2677,"max":2677},{"min":2689,"max":2690},{"min":2748,"max":2748},{"min":2753,"max":2757},{"min":2759,"max":2760},{"min":2765,"max":2765},{"min":2786,"max":2787},{"min":2810,"max":2815},{"min":2817,"max":2817},{"min":2876,"max":2876},{"min":2879,"max":2879},{"min":2881,"max":2884},{"min":2893,"max":2893},{"min":2901,"max":2902},{"min":2914,"max":2915},{"min":2946,"max":2946},{"min":3008,"max":3008},{"min":3021,"max":3021},{"min":3072,"max":3072},{"min":3076,"max":3076},{"min":3132,"max":3132},{"min":3134,"max":3136},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3170,"max":3171},{"min":3201,"max":3201},{"min":3260,"max":3260},{"min":3263,"max":3263},{"min":3270,"max":3270},{"min":3276,"max":3277},{"min":3298,"max":3299},{"min":3328,"max":3329},{"min":3387,"max":3388},{"min":3393,"max":3396},{"min":3405,"max":3405},{"min":3426,"max":3427},{"min":3457,"max":3457},{"min":3530,"max":3530},{"min":3538,"max":3540},{"min":3542,"max":3542},{"min":3633,"max":3633},{"min":3636,"max":3642},{"min":3655,"max":3662},{"min":3761,"max":3761},{"min":3764,"max":3772},{"min":3784,"max":3790},{"min":3864,"max":3865},{"min":3893,"max":3893},{"min":3895,"max":3895},{"min":3897,"max":3897},{"min":3953,"max":3966},{"min":3968,"max":3972},{"min":3974,"max":3975},{"min":3981,"max":3991},{"min":3993,"max":4028},{"min":4038,"max":4038},{"min":4141,"max":4144},{"min":4146,"max":4151},{"min":4153,"max":4154},{"min":4157,"max":4158},{"min":4184,"max":4185},{"min":4190,"max":4192},{"min":4209,"max":4212},{"min":4226,"max":4226},{"min":4229,"max":4230},{"min":4237,"max":4237},{"min":4253,"max":4253},{"min":4957,"max":4959},{"min":5906,"max":5908},{"min":5938,"max":5939},{"min":5970,"max":5971},{"min":6002,"max":6003},{"min":6068,"max":6069},{"min":6071,"max":6077},{"min":6086,"max":6086},{"min":6089,"max":6099},{"min":6109,"max":6109},{"min":6155,"max":6157},{"min":6159,"max":6159},{"min":6277,"max":6278},{"min":6313,"max":6313},{"min":6432,"max":6434},{"min":6439,"max":6440},{"min":6450,"max":6450},{"min":6457,"max":6459},{"min":6679,"max":6680},{"min":6683,"max":6683},{"min":6742,"max":6742},{"min":6744,"max":6750},{"min":6752,"max":6752},{"min":6754,"max":6754},{"min":6757,"max":6764},{"min":6771,"max":6780},{"min":6783,"max":6783},{"min":6832,"max":6845},{"min":6847,"max":6862},{"min":6912,"max":6915},{"min":6964,"max":6964},{"min":6966,"max":6970},{"min":6972,"max":6972},{"min":6978,"max":6978},{"min":7019,"max":7027},{"min":7040,"max":7041},{"min":7074,"max":7077},{"min":7080,"max":7081},{"min":7083,"max":7085},{"min":7142,"max":7142},{"min":7144,"max":7145},{"min":7149,"max":7149},{"min":7151,"max":7153},{"min":7212,"max":7219},{"min":7222,"max":7223},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8400,"max":8412},{"min":8417,"max":8417},{"min":8421,"max":8432},{"min":11503,"max":11505},{"min":11647,"max":11647},{"min":11744,"max":11775},{"min":12330,"max":12333},{"min":12441,"max":12442},{"min":42607,"max":42607},{"min":42612,"max":42621},{"min":42654,"max":42655},{"min":42736,"max":42737},{"min":43010,"max":43010},{"min":43014,"max":43014},{"min":43019,"max":43019},{"min":43045,"max":43046},{"min":43052,"max":43052},{"min":43204,"max":43205},{"min":43232,"max":43249},{"min":43263,"max":43263},{"min":43302,"max":43309},{"min":43335,"max":43345},{"min":43392,"max":43394},{"min":43443,"max":43443},{"min":43446,"max":43449},{"min":43452,"max":43453},{"min":43493,"max":43493},{"min":43561,"max":43566},{"min":43569,"max":43570},{"min":43573,"max":43574},{"min":43587,"max":43587},{"min":43596,"max":43596},{"min":43644,"max":43644},{"min":43696,"max":43696},{"min":43698,"max":43700},{"min":43703,"max":43704},{"min":43710,"max":43711},{"min":43713,"max":43713},{"min":43756,"max":43757},{"min":43766,"max":43766},{"min":44005,"max":44005},{"min":44008,"max":44008},{"min":44013,"max":44013},{"min":64286,"max":64286},{"min":65024,"max":65039},{"min":65056,"max":65071},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":66422,"max":66426},{"min":68097,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68111},{"min":68152,"max":68154},{"min":68159,"max":68159},{"min":68325,"max":68326},{"min":68900,"max":68903},{"min":69291,"max":69292},{"min":69373,"max":69375},{"min":69446,"max":69456},{"min":69506,"max":69509},{"min":69633,"max":69633},{"min":69688,"max":69702},{"min":69744,"max":69744},{"min":69747,"max":69748},{"min":69759,"max":69761},{"min":69811,"max":69814},{"min":69817,"max":69818},{"min":69826,"max":69826},{"min":69888,"max":69890},{"min":69927,"max":69931},{"min":69933,"max":69940},{"min":70003,"max":70003},{"min":70016,"max":70017},{"min":70070,"max":70078},{"min":70089,"max":70092},{"min":70095,"max":70095},{"min":70191,"max":70193},{"min":70196,"max":70196},{"min":70198,"max":70199},{"min":70206,"max":70206},{"min":70209,"max":70209},{"min":70367,"max":70367},{"min":70371,"max":70378},{"min":70400,"max":70401},{"min":70459,"max":70460},{"min":70464,"max":70464},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":70712,"max":70719},{"min":70722,"max":70724},{"min":70726,"max":70726},{"min":70750,"max":70750},{"min":70835,"max":70840},{"min":70842,"max":70842},{"min":70847,"max":70848},{"min":70850,"max":70851},{"min":71090,"max":71093},{"min":71100,"max":71101},{"min":71103,"max":71104},{"min":71132,"max":71133},{"min":71219,"max":71226},{"min":71229,"max":71229},{"min":71231,"max":71232},{"min":71339,"max":71339},{"min":71341,"max":71341},{"min":71344,"max":71349},{"min":71351,"max":71351},{"min":71453,"max":71455},{"min":71458,"max":71461},{"min":71463,"max":71467},{"min":71727,"max":71735},{"min":71737,"max":71738},{"min":71995,"max":71996},{"min":71998,"max":71998},{"min":72003,"max":72003},{"min":72148,"max":72151},{"min":72154,"max":72155},{"min":72160,"max":72160},{"min":72193,"max":72202},{"min":72243,"max":72248},{"min":72251,"max":72254},{"min":72263,"max":72263},{"min":72273,"max":72278},{"min":72281,"max":72283},{"min":72330,"max":72342},{"min":72344,"max":72345},{"min":72752,"max":72758},{"min":72760,"max":72765},{"min":72767,"max":72767},{"min":72850,"max":72871},{"min":72874,"max":72880},{"min":72882,"max":72883},{"min":72885,"max":72886},{"min":73009,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73029},{"min":73031,"max":73031},{"min":73104,"max":73105},{"min":73109,"max":73109},{"min":73111,"max":73111},{"min":73459,"max":73460},{"min":73472,"max":73473},{"min":73526,"max":73530},{"min":73536,"max":73536},{"min":73538,"max":73538},{"min":78912,"max":78912},{"min":78919,"max":78933},{"min":92912,"max":92916},{"min":92976,"max":92982},{"min":94031,"max":94031},{"min":94095,"max":94098},{"min":94180,"max":94180},{"min":113821,"max":113822},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":119362,"max":119364},{"min":121344,"max":121398},{"min":121403,"max":121452},{"min":121461,"max":121461},{"min":121476,"max":121476},{"min":121499,"max":121503},{"min":121505,"max":121519},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922},{"min":123023,"max":123023},{"min":123184,"max":123190},{"min":123566,"max":123566},{"min":123628,"max":123631},{"min":124140,"max":124143},{"min":125136,"max":125142},{"min":125252,"max":125258},{"min":917760,"max":917999}]'); -export const Number: readonly CharRange[] = JSON.parse('[{"min":48,"max":57},{"min":178,"max":179},{"min":185,"max":185},{"min":188,"max":190},{"min":1632,"max":1641},{"min":1776,"max":1785},{"min":1984,"max":1993},{"min":2406,"max":2415},{"min":2534,"max":2543},{"min":2548,"max":2553},{"min":2662,"max":2671},{"min":2790,"max":2799},{"min":2918,"max":2927},{"min":2930,"max":2935},{"min":3046,"max":3058},{"min":3174,"max":3183},{"min":3192,"max":3198},{"min":3302,"max":3311},{"min":3416,"max":3422},{"min":3430,"max":3448},{"min":3558,"max":3567},{"min":3664,"max":3673},{"min":3792,"max":3801},{"min":3872,"max":3891},{"min":4160,"max":4169},{"min":4240,"max":4249},{"min":4969,"max":4988},{"min":5870,"max":5872},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6160,"max":6169},{"min":6470,"max":6479},{"min":6608,"max":6618},{"min":6784,"max":6793},{"min":6800,"max":6809},{"min":6992,"max":7001},{"min":7088,"max":7097},{"min":7232,"max":7241},{"min":7248,"max":7257},{"min":8304,"max":8304},{"min":8308,"max":8313},{"min":8320,"max":8329},{"min":8528,"max":8578},{"min":8581,"max":8585},{"min":9312,"max":9371},{"min":9450,"max":9471},{"min":10102,"max":10131},{"min":11517,"max":11517},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12346},{"min":12690,"max":12693},{"min":12832,"max":12841},{"min":12872,"max":12879},{"min":12881,"max":12895},{"min":12928,"max":12937},{"min":12977,"max":12991},{"min":42528,"max":42537},{"min":42726,"max":42735},{"min":43056,"max":43061},{"min":43216,"max":43225},{"min":43264,"max":43273},{"min":43472,"max":43481},{"min":43504,"max":43513},{"min":43600,"max":43609},{"min":44016,"max":44025},{"min":65296,"max":65305},{"min":65799,"max":65843},{"min":65856,"max":65912},{"min":65930,"max":65931},{"min":66273,"max":66299},{"min":66336,"max":66339},{"min":66369,"max":66369},{"min":66378,"max":66378},{"min":66513,"max":66517},{"min":66720,"max":66729},{"min":67672,"max":67679},{"min":67705,"max":67711},{"min":67751,"max":67759},{"min":67835,"max":67839},{"min":67862,"max":67867},{"min":68028,"max":68029},{"min":68032,"max":68047},{"min":68050,"max":68095},{"min":68160,"max":68168},{"min":68221,"max":68222},{"min":68253,"max":68255},{"min":68331,"max":68335},{"min":68440,"max":68447},{"min":68472,"max":68479},{"min":68521,"max":68527},{"min":68858,"max":68863},{"min":68912,"max":68921},{"min":69216,"max":69246},{"min":69405,"max":69414},{"min":69457,"max":69460},{"min":69573,"max":69579},{"min":69714,"max":69743},{"min":69872,"max":69881},{"min":69942,"max":69951},{"min":70096,"max":70105},{"min":70113,"max":70132},{"min":70384,"max":70393},{"min":70736,"max":70745},{"min":70864,"max":70873},{"min":71248,"max":71257},{"min":71360,"max":71369},{"min":71472,"max":71483},{"min":71904,"max":71922},{"min":72016,"max":72025},{"min":72784,"max":72812},{"min":73040,"max":73049},{"min":73120,"max":73129},{"min":73552,"max":73561},{"min":73664,"max":73684},{"min":74752,"max":74862},{"min":92768,"max":92777},{"min":92864,"max":92873},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93824,"max":93846},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119648,"max":119672},{"min":120782,"max":120831},{"min":123200,"max":123209},{"min":123632,"max":123641},{"min":124144,"max":124153},{"min":125127,"max":125135},{"min":125264,"max":125273},{"min":126065,"max":126123},{"min":126125,"max":126127},{"min":126129,"max":126132},{"min":126209,"max":126253},{"min":126255,"max":126269},{"min":127232,"max":127244},{"min":130032,"max":130041}]'); -export const Open_Punctuation: readonly CharRange[] = JSON.parse('[{"min":40,"max":40},{"min":91,"max":91},{"min":123,"max":123},{"min":3898,"max":3898},{"min":3900,"max":3900},{"min":5787,"max":5787},{"min":8218,"max":8218},{"min":8222,"max":8222},{"min":8261,"max":8261},{"min":8317,"max":8317},{"min":8333,"max":8333},{"min":8968,"max":8968},{"min":8970,"max":8970},{"min":9001,"max":9001},{"min":10088,"max":10088},{"min":10090,"max":10090},{"min":10092,"max":10092},{"min":10094,"max":10094},{"min":10096,"max":10096},{"min":10098,"max":10098},{"min":10100,"max":10100},{"min":10181,"max":10181},{"min":10214,"max":10214},{"min":10216,"max":10216},{"min":10218,"max":10218},{"min":10220,"max":10220},{"min":10222,"max":10222},{"min":10627,"max":10627},{"min":10629,"max":10629},{"min":10631,"max":10631},{"min":10633,"max":10633},{"min":10635,"max":10635},{"min":10637,"max":10637},{"min":10639,"max":10639},{"min":10641,"max":10641},{"min":10643,"max":10643},{"min":10645,"max":10645},{"min":10647,"max":10647},{"min":10712,"max":10712},{"min":10714,"max":10714},{"min":10748,"max":10748},{"min":11810,"max":11810},{"min":11812,"max":11812},{"min":11814,"max":11814},{"min":11816,"max":11816},{"min":11842,"max":11842},{"min":11861,"max":11861},{"min":11863,"max":11863},{"min":11865,"max":11865},{"min":11867,"max":11867},{"min":12296,"max":12296},{"min":12298,"max":12298},{"min":12300,"max":12300},{"min":12302,"max":12302},{"min":12304,"max":12304},{"min":12308,"max":12308},{"min":12310,"max":12310},{"min":12312,"max":12312},{"min":12314,"max":12314},{"min":12317,"max":12317},{"min":64831,"max":64831},{"min":65047,"max":65047},{"min":65077,"max":65077},{"min":65079,"max":65079},{"min":65081,"max":65081},{"min":65083,"max":65083},{"min":65085,"max":65085},{"min":65087,"max":65087},{"min":65089,"max":65089},{"min":65091,"max":65091},{"min":65095,"max":65095},{"min":65113,"max":65113},{"min":65115,"max":65115},{"min":65117,"max":65117},{"min":65288,"max":65288},{"min":65339,"max":65339},{"min":65371,"max":65371},{"min":65375,"max":65375},{"min":65378,"max":65378}]'); -export const Other: readonly CharRange[] = JSON.parse('[{"min":0,"max":31},{"min":127,"max":159},{"min":173,"max":173},{"min":888,"max":889},{"min":896,"max":899},{"min":907,"max":907},{"min":909,"max":909},{"min":930,"max":930},{"min":1328,"max":1328},{"min":1367,"max":1368},{"min":1419,"max":1420},{"min":1424,"max":1424},{"min":1480,"max":1487},{"min":1515,"max":1518},{"min":1525,"max":1541},{"min":1564,"max":1564},{"min":1757,"max":1757},{"min":1806,"max":1807},{"min":1867,"max":1868},{"min":1970,"max":1983},{"min":2043,"max":2044},{"min":2094,"max":2095},{"min":2111,"max":2111},{"min":2140,"max":2141},{"min":2143,"max":2143},{"min":2155,"max":2159},{"min":2191,"max":2199},{"min":2274,"max":2274},{"min":2436,"max":2436},{"min":2445,"max":2446},{"min":2449,"max":2450},{"min":2473,"max":2473},{"min":2481,"max":2481},{"min":2483,"max":2485},{"min":2490,"max":2491},{"min":2501,"max":2502},{"min":2505,"max":2506},{"min":2511,"max":2518},{"min":2520,"max":2523},{"min":2526,"max":2526},{"min":2532,"max":2533},{"min":2559,"max":2560},{"min":2564,"max":2564},{"min":2571,"max":2574},{"min":2577,"max":2578},{"min":2601,"max":2601},{"min":2609,"max":2609},{"min":2612,"max":2612},{"min":2615,"max":2615},{"min":2618,"max":2619},{"min":2621,"max":2621},{"min":2627,"max":2630},{"min":2633,"max":2634},{"min":2638,"max":2640},{"min":2642,"max":2648},{"min":2653,"max":2653},{"min":2655,"max":2661},{"min":2679,"max":2688},{"min":2692,"max":2692},{"min":2702,"max":2702},{"min":2706,"max":2706},{"min":2729,"max":2729},{"min":2737,"max":2737},{"min":2740,"max":2740},{"min":2746,"max":2747},{"min":2758,"max":2758},{"min":2762,"max":2762},{"min":2766,"max":2767},{"min":2769,"max":2783},{"min":2788,"max":2789},{"min":2802,"max":2808},{"min":2816,"max":2816},{"min":2820,"max":2820},{"min":2829,"max":2830},{"min":2833,"max":2834},{"min":2857,"max":2857},{"min":2865,"max":2865},{"min":2868,"max":2868},{"min":2874,"max":2875},{"min":2885,"max":2886},{"min":2889,"max":2890},{"min":2894,"max":2900},{"min":2904,"max":2907},{"min":2910,"max":2910},{"min":2916,"max":2917},{"min":2936,"max":2945},{"min":2948,"max":2948},{"min":2955,"max":2957},{"min":2961,"max":2961},{"min":2966,"max":2968},{"min":2971,"max":2971},{"min":2973,"max":2973},{"min":2976,"max":2978},{"min":2981,"max":2983},{"min":2987,"max":2989},{"min":3002,"max":3005},{"min":3011,"max":3013},{"min":3017,"max":3017},{"min":3022,"max":3023},{"min":3025,"max":3030},{"min":3032,"max":3045},{"min":3067,"max":3071},{"min":3085,"max":3085},{"min":3089,"max":3089},{"min":3113,"max":3113},{"min":3130,"max":3131},{"min":3141,"max":3141},{"min":3145,"max":3145},{"min":3150,"max":3156},{"min":3159,"max":3159},{"min":3163,"max":3164},{"min":3166,"max":3167},{"min":3172,"max":3173},{"min":3184,"max":3190},{"min":3213,"max":3213},{"min":3217,"max":3217},{"min":3241,"max":3241},{"min":3252,"max":3252},{"min":3258,"max":3259},{"min":3269,"max":3269},{"min":3273,"max":3273},{"min":3278,"max":3284},{"min":3287,"max":3292},{"min":3295,"max":3295},{"min":3300,"max":3301},{"min":3312,"max":3312},{"min":3316,"max":3327},{"min":3341,"max":3341},{"min":3345,"max":3345},{"min":3397,"max":3397},{"min":3401,"max":3401},{"min":3408,"max":3411},{"min":3428,"max":3429},{"min":3456,"max":3456},{"min":3460,"max":3460},{"min":3479,"max":3481},{"min":3506,"max":3506},{"min":3516,"max":3516},{"min":3518,"max":3519},{"min":3527,"max":3529},{"min":3531,"max":3534},{"min":3541,"max":3541},{"min":3543,"max":3543},{"min":3552,"max":3557},{"min":3568,"max":3569},{"min":3573,"max":3584},{"min":3643,"max":3646},{"min":3676,"max":3712},{"min":3715,"max":3715},{"min":3717,"max":3717},{"min":3723,"max":3723},{"min":3748,"max":3748},{"min":3750,"max":3750},{"min":3774,"max":3775},{"min":3781,"max":3781},{"min":3783,"max":3783},{"min":3791,"max":3791},{"min":3802,"max":3803},{"min":3808,"max":3839},{"min":3912,"max":3912},{"min":3949,"max":3952},{"min":3992,"max":3992},{"min":4029,"max":4029},{"min":4045,"max":4045},{"min":4059,"max":4095},{"min":4294,"max":4294},{"min":4296,"max":4300},{"min":4302,"max":4303},{"min":4681,"max":4681},{"min":4686,"max":4687},{"min":4695,"max":4695},{"min":4697,"max":4697},{"min":4702,"max":4703},{"min":4745,"max":4745},{"min":4750,"max":4751},{"min":4785,"max":4785},{"min":4790,"max":4791},{"min":4799,"max":4799},{"min":4801,"max":4801},{"min":4806,"max":4807},{"min":4823,"max":4823},{"min":4881,"max":4881},{"min":4886,"max":4887},{"min":4955,"max":4956},{"min":4989,"max":4991},{"min":5018,"max":5023},{"min":5110,"max":5111},{"min":5118,"max":5119},{"min":5789,"max":5791},{"min":5881,"max":5887},{"min":5910,"max":5918},{"min":5943,"max":5951},{"min":5972,"max":5983},{"min":5997,"max":5997},{"min":6001,"max":6001},{"min":6004,"max":6015},{"min":6110,"max":6111},{"min":6122,"max":6127},{"min":6138,"max":6143},{"min":6158,"max":6158},{"min":6170,"max":6175},{"min":6265,"max":6271},{"min":6315,"max":6319},{"min":6390,"max":6399},{"min":6431,"max":6431},{"min":6444,"max":6447},{"min":6460,"max":6463},{"min":6465,"max":6467},{"min":6510,"max":6511},{"min":6517,"max":6527},{"min":6572,"max":6575},{"min":6602,"max":6607},{"min":6619,"max":6621},{"min":6684,"max":6685},{"min":6751,"max":6751},{"min":6781,"max":6782},{"min":6794,"max":6799},{"min":6810,"max":6815},{"min":6830,"max":6831},{"min":6863,"max":6911},{"min":6989,"max":6991},{"min":7039,"max":7039},{"min":7156,"max":7163},{"min":7224,"max":7226},{"min":7242,"max":7244},{"min":7305,"max":7311},{"min":7355,"max":7356},{"min":7368,"max":7375},{"min":7419,"max":7423},{"min":7958,"max":7959},{"min":7966,"max":7967},{"min":8006,"max":8007},{"min":8014,"max":8015},{"min":8024,"max":8024},{"min":8026,"max":8026},{"min":8028,"max":8028},{"min":8030,"max":8030},{"min":8062,"max":8063},{"min":8117,"max":8117},{"min":8133,"max":8133},{"min":8148,"max":8149},{"min":8156,"max":8156},{"min":8176,"max":8177},{"min":8181,"max":8181},{"min":8191,"max":8191},{"min":8203,"max":8207},{"min":8234,"max":8238},{"min":8288,"max":8303},{"min":8306,"max":8307},{"min":8335,"max":8335},{"min":8349,"max":8351},{"min":8385,"max":8399},{"min":8433,"max":8447},{"min":8588,"max":8591},{"min":9255,"max":9279},{"min":9291,"max":9311},{"min":11124,"max":11125},{"min":11158,"max":11158},{"min":11508,"max":11512},{"min":11558,"max":11558},{"min":11560,"max":11564},{"min":11566,"max":11567},{"min":11624,"max":11630},{"min":11633,"max":11646},{"min":11671,"max":11679},{"min":11687,"max":11687},{"min":11695,"max":11695},{"min":11703,"max":11703},{"min":11711,"max":11711},{"min":11719,"max":11719},{"min":11727,"max":11727},{"min":11735,"max":11735},{"min":11743,"max":11743},{"min":11870,"max":11903},{"min":11930,"max":11930},{"min":12020,"max":12031},{"min":12246,"max":12271},{"min":12284,"max":12287},{"min":12352,"max":12352},{"min":12439,"max":12440},{"min":12544,"max":12548},{"min":12592,"max":12592},{"min":12687,"max":12687},{"min":12772,"max":12783},{"min":12831,"max":12831},{"min":42125,"max":42127},{"min":42183,"max":42191},{"min":42540,"max":42559},{"min":42744,"max":42751},{"min":42955,"max":42959},{"min":42962,"max":42962},{"min":42964,"max":42964},{"min":42970,"max":42993},{"min":43053,"max":43055},{"min":43066,"max":43071},{"min":43128,"max":43135},{"min":43206,"max":43213},{"min":43226,"max":43231},{"min":43348,"max":43358},{"min":43389,"max":43391},{"min":43470,"max":43470},{"min":43482,"max":43485},{"min":43519,"max":43519},{"min":43575,"max":43583},{"min":43598,"max":43599},{"min":43610,"max":43611},{"min":43715,"max":43738},{"min":43767,"max":43776},{"min":43783,"max":43784},{"min":43791,"max":43792},{"min":43799,"max":43807},{"min":43815,"max":43815},{"min":43823,"max":43823},{"min":43884,"max":43887},{"min":44014,"max":44015},{"min":44026,"max":44031},{"min":55204,"max":55215},{"min":55239,"max":55242},{"min":55292,"max":63743},{"min":64110,"max":64111},{"min":64218,"max":64255},{"min":64263,"max":64274},{"min":64280,"max":64284},{"min":64311,"max":64311},{"min":64317,"max":64317},{"min":64319,"max":64319},{"min":64322,"max":64322},{"min":64325,"max":64325},{"min":64451,"max":64466},{"min":64912,"max":64913},{"min":64968,"max":64974},{"min":64976,"max":65007},{"min":65050,"max":65055},{"min":65107,"max":65107},{"min":65127,"max":65127},{"min":65132,"max":65135},{"min":65141,"max":65141},{"min":65277,"max":65280},{"min":65471,"max":65473},{"min":65480,"max":65481},{"min":65488,"max":65489},{"min":65496,"max":65497},{"min":65501,"max":65503},{"min":65511,"max":65511},{"min":65519,"max":65531},{"min":65534,"max":65535},{"min":65548,"max":65548},{"min":65575,"max":65575},{"min":65595,"max":65595},{"min":65598,"max":65598},{"min":65614,"max":65615},{"min":65630,"max":65663},{"min":65787,"max":65791},{"min":65795,"max":65798},{"min":65844,"max":65846},{"min":65935,"max":65935},{"min":65949,"max":65951},{"min":65953,"max":65999},{"min":66046,"max":66175},{"min":66205,"max":66207},{"min":66257,"max":66271},{"min":66300,"max":66303},{"min":66340,"max":66348},{"min":66379,"max":66383},{"min":66427,"max":66431},{"min":66462,"max":66462},{"min":66500,"max":66503},{"min":66518,"max":66559},{"min":66718,"max":66719},{"min":66730,"max":66735},{"min":66772,"max":66775},{"min":66812,"max":66815},{"min":66856,"max":66863},{"min":66916,"max":66926},{"min":66939,"max":66939},{"min":66955,"max":66955},{"min":66963,"max":66963},{"min":66966,"max":66966},{"min":66978,"max":66978},{"min":66994,"max":66994},{"min":67002,"max":67002},{"min":67005,"max":67071},{"min":67383,"max":67391},{"min":67414,"max":67423},{"min":67432,"max":67455},{"min":67462,"max":67462},{"min":67505,"max":67505},{"min":67515,"max":67583},{"min":67590,"max":67591},{"min":67593,"max":67593},{"min":67638,"max":67638},{"min":67641,"max":67643},{"min":67645,"max":67646},{"min":67670,"max":67670},{"min":67743,"max":67750},{"min":67760,"max":67807},{"min":67827,"max":67827},{"min":67830,"max":67834},{"min":67868,"max":67870},{"min":67898,"max":67902},{"min":67904,"max":67967},{"min":68024,"max":68027},{"min":68048,"max":68049},{"min":68100,"max":68100},{"min":68103,"max":68107},{"min":68116,"max":68116},{"min":68120,"max":68120},{"min":68150,"max":68151},{"min":68155,"max":68158},{"min":68169,"max":68175},{"min":68185,"max":68191},{"min":68256,"max":68287},{"min":68327,"max":68330},{"min":68343,"max":68351},{"min":68406,"max":68408},{"min":68438,"max":68439},{"min":68467,"max":68471},{"min":68498,"max":68504},{"min":68509,"max":68520},{"min":68528,"max":68607},{"min":68681,"max":68735},{"min":68787,"max":68799},{"min":68851,"max":68857},{"min":68904,"max":68911},{"min":68922,"max":69215},{"min":69247,"max":69247},{"min":69290,"max":69290},{"min":69294,"max":69295},{"min":69298,"max":69372},{"min":69416,"max":69423},{"min":69466,"max":69487},{"min":69514,"max":69551},{"min":69580,"max":69599},{"min":69623,"max":69631},{"min":69710,"max":69713},{"min":69750,"max":69758},{"min":69821,"max":69821},{"min":69827,"max":69839},{"min":69865,"max":69871},{"min":69882,"max":69887},{"min":69941,"max":69941},{"min":69960,"max":69967},{"min":70007,"max":70015},{"min":70112,"max":70112},{"min":70133,"max":70143},{"min":70162,"max":70162},{"min":70210,"max":70271},{"min":70279,"max":70279},{"min":70281,"max":70281},{"min":70286,"max":70286},{"min":70302,"max":70302},{"min":70314,"max":70319},{"min":70379,"max":70383},{"min":70394,"max":70399},{"min":70404,"max":70404},{"min":70413,"max":70414},{"min":70417,"max":70418},{"min":70441,"max":70441},{"min":70449,"max":70449},{"min":70452,"max":70452},{"min":70458,"max":70458},{"min":70469,"max":70470},{"min":70473,"max":70474},{"min":70478,"max":70479},{"min":70481,"max":70486},{"min":70488,"max":70492},{"min":70500,"max":70501},{"min":70509,"max":70511},{"min":70517,"max":70655},{"min":70748,"max":70748},{"min":70754,"max":70783},{"min":70856,"max":70863},{"min":70874,"max":71039},{"min":71094,"max":71095},{"min":71134,"max":71167},{"min":71237,"max":71247},{"min":71258,"max":71263},{"min":71277,"max":71295},{"min":71354,"max":71359},{"min":71370,"max":71423},{"min":71451,"max":71452},{"min":71468,"max":71471},{"min":71495,"max":71679},{"min":71740,"max":71839},{"min":71923,"max":71934},{"min":71943,"max":71944},{"min":71946,"max":71947},{"min":71956,"max":71956},{"min":71959,"max":71959},{"min":71990,"max":71990},{"min":71993,"max":71994},{"min":72007,"max":72015},{"min":72026,"max":72095},{"min":72104,"max":72105},{"min":72152,"max":72153},{"min":72165,"max":72191},{"min":72264,"max":72271},{"min":72355,"max":72367},{"min":72441,"max":72447},{"min":72458,"max":72703},{"min":72713,"max":72713},{"min":72759,"max":72759},{"min":72774,"max":72783},{"min":72813,"max":72815},{"min":72848,"max":72849},{"min":72872,"max":72872},{"min":72887,"max":72959},{"min":72967,"max":72967},{"min":72970,"max":72970},{"min":73015,"max":73017},{"min":73019,"max":73019},{"min":73022,"max":73022},{"min":73032,"max":73039},{"min":73050,"max":73055},{"min":73062,"max":73062},{"min":73065,"max":73065},{"min":73103,"max":73103},{"min":73106,"max":73106},{"min":73113,"max":73119},{"min":73130,"max":73439},{"min":73465,"max":73471},{"min":73489,"max":73489},{"min":73531,"max":73533},{"min":73562,"max":73647},{"min":73649,"max":73663},{"min":73714,"max":73726},{"min":74650,"max":74751},{"min":74863,"max":74863},{"min":74869,"max":74879},{"min":75076,"max":77711},{"min":77811,"max":77823},{"min":78896,"max":78911},{"min":78934,"max":82943},{"min":83527,"max":92159},{"min":92729,"max":92735},{"min":92767,"max":92767},{"min":92778,"max":92781},{"min":92863,"max":92863},{"min":92874,"max":92879},{"min":92910,"max":92911},{"min":92918,"max":92927},{"min":92998,"max":93007},{"min":93018,"max":93018},{"min":93026,"max":93026},{"min":93048,"max":93052},{"min":93072,"max":93759},{"min":93851,"max":93951},{"min":94027,"max":94030},{"min":94088,"max":94094},{"min":94112,"max":94175},{"min":94181,"max":94191},{"min":94194,"max":94207},{"min":100344,"max":100351},{"min":101590,"max":101631},{"min":101641,"max":110575},{"min":110580,"max":110580},{"min":110588,"max":110588},{"min":110591,"max":110591},{"min":110883,"max":110897},{"min":110899,"max":110927},{"min":110931,"max":110932},{"min":110934,"max":110947},{"min":110952,"max":110959},{"min":111356,"max":113663},{"min":113771,"max":113775},{"min":113789,"max":113791},{"min":113801,"max":113807},{"min":113818,"max":113819},{"min":113824,"max":118527},{"min":118574,"max":118575},{"min":118599,"max":118607},{"min":118724,"max":118783},{"min":119030,"max":119039},{"min":119079,"max":119080},{"min":119155,"max":119162},{"min":119275,"max":119295},{"min":119366,"max":119487},{"min":119508,"max":119519},{"min":119540,"max":119551},{"min":119639,"max":119647},{"min":119673,"max":119807},{"min":119893,"max":119893},{"min":119965,"max":119965},{"min":119968,"max":119969},{"min":119971,"max":119972},{"min":119975,"max":119976},{"min":119981,"max":119981},{"min":119994,"max":119994},{"min":119996,"max":119996},{"min":120004,"max":120004},{"min":120070,"max":120070},{"min":120075,"max":120076},{"min":120085,"max":120085},{"min":120093,"max":120093},{"min":120122,"max":120122},{"min":120127,"max":120127},{"min":120133,"max":120133},{"min":120135,"max":120137},{"min":120145,"max":120145},{"min":120486,"max":120487},{"min":120780,"max":120781},{"min":121484,"max":121498},{"min":121504,"max":121504},{"min":121520,"max":122623},{"min":122655,"max":122660},{"min":122667,"max":122879},{"min":122887,"max":122887},{"min":122905,"max":122906},{"min":122914,"max":122914},{"min":122917,"max":122917},{"min":122923,"max":122927},{"min":122990,"max":123022},{"min":123024,"max":123135},{"min":123181,"max":123183},{"min":123198,"max":123199},{"min":123210,"max":123213},{"min":123216,"max":123535},{"min":123567,"max":123583},{"min":123642,"max":123646},{"min":123648,"max":124111},{"min":124154,"max":124895},{"min":124903,"max":124903},{"min":124908,"max":124908},{"min":124911,"max":124911},{"min":124927,"max":124927},{"min":125125,"max":125126},{"min":125143,"max":125183},{"min":125260,"max":125263},{"min":125274,"max":125277},{"min":125280,"max":126064},{"min":126133,"max":126208},{"min":126270,"max":126463},{"min":126468,"max":126468},{"min":126496,"max":126496},{"min":126499,"max":126499},{"min":126501,"max":126502},{"min":126504,"max":126504},{"min":126515,"max":126515},{"min":126520,"max":126520},{"min":126522,"max":126522},{"min":126524,"max":126529},{"min":126531,"max":126534},{"min":126536,"max":126536},{"min":126538,"max":126538},{"min":126540,"max":126540},{"min":126544,"max":126544},{"min":126547,"max":126547},{"min":126549,"max":126550},{"min":126552,"max":126552},{"min":126554,"max":126554},{"min":126556,"max":126556},{"min":126558,"max":126558},{"min":126560,"max":126560},{"min":126563,"max":126563},{"min":126565,"max":126566},{"min":126571,"max":126571},{"min":126579,"max":126579},{"min":126584,"max":126584},{"min":126589,"max":126589},{"min":126591,"max":126591},{"min":126602,"max":126602},{"min":126620,"max":126624},{"min":126628,"max":126628},{"min":126634,"max":126634},{"min":126652,"max":126703},{"min":126706,"max":126975},{"min":127020,"max":127023},{"min":127124,"max":127135},{"min":127151,"max":127152},{"min":127168,"max":127168},{"min":127184,"max":127184},{"min":127222,"max":127231},{"min":127406,"max":127461},{"min":127491,"max":127503},{"min":127548,"max":127551},{"min":127561,"max":127567},{"min":127570,"max":127583},{"min":127590,"max":127743},{"min":128728,"max":128731},{"min":128749,"max":128751},{"min":128765,"max":128767},{"min":128887,"max":128890},{"min":128986,"max":128991},{"min":129004,"max":129007},{"min":129009,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129199},{"min":129202,"max":129279},{"min":129620,"max":129631},{"min":129646,"max":129647},{"min":129661,"max":129663},{"min":129673,"max":129679},{"min":129726,"max":129726},{"min":129734,"max":129741},{"min":129756,"max":129759},{"min":129769,"max":129775},{"min":129785,"max":129791},{"min":129939,"max":129939},{"min":129995,"max":130031},{"min":130042,"max":131071},{"min":173792,"max":173823},{"min":177978,"max":177983},{"min":178206,"max":178207},{"min":183970,"max":183983},{"min":191457,"max":194559},{"min":195102,"max":196607},{"min":201547,"max":201551},{"min":205744,"max":917759},{"min":918000,"max":1114111}]'); -export const Other_Letter: readonly CharRange[] = JSON.parse('[{"min":170,"max":170},{"min":186,"max":186},{"min":443,"max":443},{"min":448,"max":451},{"min":660,"max":660},{"min":1488,"max":1514},{"min":1519,"max":1522},{"min":1568,"max":1599},{"min":1601,"max":1610},{"min":1646,"max":1647},{"min":1649,"max":1747},{"min":1749,"max":1749},{"min":1774,"max":1775},{"min":1786,"max":1788},{"min":1791,"max":1791},{"min":1808,"max":1808},{"min":1810,"max":1839},{"min":1869,"max":1957},{"min":1969,"max":1969},{"min":1994,"max":2026},{"min":2048,"max":2069},{"min":2112,"max":2136},{"min":2144,"max":2154},{"min":2160,"max":2183},{"min":2185,"max":2190},{"min":2208,"max":2248},{"min":2308,"max":2361},{"min":2365,"max":2365},{"min":2384,"max":2384},{"min":2392,"max":2401},{"min":2418,"max":2432},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2493,"max":2493},{"min":2510,"max":2510},{"min":2524,"max":2525},{"min":2527,"max":2529},{"min":2544,"max":2545},{"min":2556,"max":2556},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2674,"max":2676},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2749,"max":2749},{"min":2768,"max":2768},{"min":2784,"max":2785},{"min":2809,"max":2809},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2877,"max":2877},{"min":2908,"max":2909},{"min":2911,"max":2913},{"min":2929,"max":2929},{"min":2947,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3024,"max":3024},{"min":3077,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3133,"max":3133},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3169},{"min":3200,"max":3200},{"min":3205,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3261,"max":3261},{"min":3293,"max":3294},{"min":3296,"max":3297},{"min":3313,"max":3314},{"min":3332,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3386},{"min":3389,"max":3389},{"min":3406,"max":3406},{"min":3412,"max":3414},{"min":3423,"max":3425},{"min":3450,"max":3455},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3585,"max":3632},{"min":3634,"max":3635},{"min":3648,"max":3653},{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3760},{"min":3762,"max":3763},{"min":3773,"max":3773},{"min":3776,"max":3780},{"min":3804,"max":3807},{"min":3840,"max":3840},{"min":3904,"max":3911},{"min":3913,"max":3948},{"min":3976,"max":3980},{"min":4096,"max":4138},{"min":4159,"max":4159},{"min":4176,"max":4181},{"min":4186,"max":4189},{"min":4193,"max":4193},{"min":4197,"max":4198},{"min":4206,"max":4208},{"min":4213,"max":4225},{"min":4238,"max":4238},{"min":4352,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4992,"max":5007},{"min":5121,"max":5740},{"min":5743,"max":5759},{"min":5761,"max":5786},{"min":5792,"max":5866},{"min":5873,"max":5880},{"min":5888,"max":5905},{"min":5919,"max":5937},{"min":5952,"max":5969},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6016,"max":6067},{"min":6108,"max":6108},{"min":6176,"max":6210},{"min":6212,"max":6264},{"min":6272,"max":6276},{"min":6279,"max":6312},{"min":6314,"max":6314},{"min":6320,"max":6389},{"min":6400,"max":6430},{"min":6480,"max":6509},{"min":6512,"max":6516},{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6656,"max":6678},{"min":6688,"max":6740},{"min":6917,"max":6963},{"min":6981,"max":6988},{"min":7043,"max":7072},{"min":7086,"max":7087},{"min":7098,"max":7141},{"min":7168,"max":7203},{"min":7245,"max":7247},{"min":7258,"max":7287},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7414},{"min":7418,"max":7418},{"min":8501,"max":8504},{"min":11568,"max":11623},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":12294,"max":12294},{"min":12348,"max":12348},{"min":12353,"max":12438},{"min":12447,"max":12447},{"min":12449,"max":12538},{"min":12543,"max":12543},{"min":12549,"max":12591},{"min":12593,"max":12686},{"min":12704,"max":12735},{"min":12784,"max":12799},{"min":13312,"max":19903},{"min":19968,"max":40980},{"min":40982,"max":42124},{"min":42192,"max":42231},{"min":42240,"max":42507},{"min":42512,"max":42527},{"min":42538,"max":42539},{"min":42606,"max":42606},{"min":42656,"max":42725},{"min":42895,"max":42895},{"min":42999,"max":42999},{"min":43003,"max":43009},{"min":43011,"max":43013},{"min":43015,"max":43018},{"min":43020,"max":43042},{"min":43072,"max":43123},{"min":43138,"max":43187},{"min":43250,"max":43255},{"min":43259,"max":43259},{"min":43261,"max":43262},{"min":43274,"max":43301},{"min":43312,"max":43334},{"min":43360,"max":43388},{"min":43396,"max":43442},{"min":43488,"max":43492},{"min":43495,"max":43503},{"min":43514,"max":43518},{"min":43520,"max":43560},{"min":43584,"max":43586},{"min":43588,"max":43595},{"min":43616,"max":43631},{"min":43633,"max":43638},{"min":43642,"max":43642},{"min":43646,"max":43695},{"min":43697,"max":43697},{"min":43701,"max":43702},{"min":43705,"max":43709},{"min":43712,"max":43712},{"min":43714,"max":43714},{"min":43739,"max":43740},{"min":43744,"max":43754},{"min":43762,"max":43762},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":43968,"max":44002},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":64285,"max":64285},{"min":64287,"max":64296},{"min":64298,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64433},{"min":64467,"max":64829},{"min":64848,"max":64911},{"min":64914,"max":64967},{"min":65008,"max":65019},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":65382,"max":65391},{"min":65393,"max":65437},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500},{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":66176,"max":66204},{"min":66208,"max":66256},{"min":66304,"max":66335},{"min":66349,"max":66368},{"min":66370,"max":66377},{"min":66384,"max":66421},{"min":66432,"max":66461},{"min":66464,"max":66499},{"min":66504,"max":66511},{"min":66640,"max":66717},{"min":66816,"max":66855},{"min":66864,"max":66915},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67669},{"min":67680,"max":67702},{"min":67712,"max":67742},{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67840,"max":67861},{"min":67872,"max":67897},{"min":67968,"max":68023},{"min":68030,"max":68031},{"min":68096,"max":68096},{"min":68112,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68192,"max":68220},{"min":68224,"max":68252},{"min":68288,"max":68295},{"min":68297,"max":68324},{"min":68352,"max":68405},{"min":68416,"max":68437},{"min":68448,"max":68466},{"min":68480,"max":68497},{"min":68608,"max":68680},{"min":68864,"max":68899},{"min":69248,"max":69289},{"min":69296,"max":69297},{"min":69376,"max":69404},{"min":69415,"max":69415},{"min":69424,"max":69445},{"min":69488,"max":69505},{"min":69552,"max":69572},{"min":69600,"max":69622},{"min":69635,"max":69687},{"min":69745,"max":69746},{"min":69749,"max":69749},{"min":69763,"max":69807},{"min":69840,"max":69864},{"min":69891,"max":69926},{"min":69956,"max":69956},{"min":69959,"max":69959},{"min":69968,"max":70002},{"min":70006,"max":70006},{"min":70019,"max":70066},{"min":70081,"max":70084},{"min":70106,"max":70106},{"min":70108,"max":70108},{"min":70144,"max":70161},{"min":70163,"max":70187},{"min":70207,"max":70208},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70312},{"min":70320,"max":70366},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70461,"max":70461},{"min":70480,"max":70480},{"min":70493,"max":70497},{"min":70656,"max":70708},{"min":70727,"max":70730},{"min":70751,"max":70753},{"min":70784,"max":70831},{"min":70852,"max":70853},{"min":70855,"max":70855},{"min":71040,"max":71086},{"min":71128,"max":71131},{"min":71168,"max":71215},{"min":71236,"max":71236},{"min":71296,"max":71338},{"min":71352,"max":71352},{"min":71424,"max":71450},{"min":71488,"max":71494},{"min":71680,"max":71723},{"min":71935,"max":71942},{"min":71945,"max":71945},{"min":71948,"max":71955},{"min":71957,"max":71958},{"min":71960,"max":71983},{"min":71999,"max":71999},{"min":72001,"max":72001},{"min":72096,"max":72103},{"min":72106,"max":72144},{"min":72161,"max":72161},{"min":72163,"max":72163},{"min":72192,"max":72192},{"min":72203,"max":72242},{"min":72250,"max":72250},{"min":72272,"max":72272},{"min":72284,"max":72329},{"min":72349,"max":72349},{"min":72368,"max":72440},{"min":72704,"max":72712},{"min":72714,"max":72750},{"min":72768,"max":72768},{"min":72818,"max":72847},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73008},{"min":73030,"max":73030},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73097},{"min":73112,"max":73112},{"min":73440,"max":73458},{"min":73474,"max":73474},{"min":73476,"max":73488},{"min":73490,"max":73523},{"min":73648,"max":73648},{"min":73728,"max":74649},{"min":74880,"max":75075},{"min":77712,"max":77808},{"min":77824,"max":78895},{"min":78913,"max":78918},{"min":82944,"max":83526},{"min":92160,"max":92728},{"min":92736,"max":92766},{"min":92784,"max":92862},{"min":92880,"max":92909},{"min":92928,"max":92975},{"min":93027,"max":93047},{"min":93053,"max":93071},{"min":93952,"max":94026},{"min":94032,"max":94032},{"min":94208,"max":100343},{"min":100352,"max":101589},{"min":101632,"max":101640},{"min":110592,"max":110882},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":110933,"max":110933},{"min":110948,"max":110951},{"min":110960,"max":111355},{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":122634,"max":122634},{"min":123136,"max":123180},{"min":123214,"max":123214},{"min":123536,"max":123565},{"min":123584,"max":123627},{"min":124112,"max":124138},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926},{"min":124928,"max":125124},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Other_Number: readonly CharRange[] = JSON.parse('[{"min":178,"max":179},{"min":185,"max":185},{"min":188,"max":190},{"min":2548,"max":2553},{"min":2930,"max":2935},{"min":3056,"max":3058},{"min":3192,"max":3198},{"min":3416,"max":3422},{"min":3440,"max":3448},{"min":3882,"max":3891},{"min":4969,"max":4988},{"min":6128,"max":6137},{"min":6618,"max":6618},{"min":8304,"max":8304},{"min":8308,"max":8313},{"min":8320,"max":8329},{"min":8528,"max":8543},{"min":8585,"max":8585},{"min":9312,"max":9371},{"min":9450,"max":9471},{"min":10102,"max":10131},{"min":11517,"max":11517},{"min":12690,"max":12693},{"min":12832,"max":12841},{"min":12872,"max":12879},{"min":12881,"max":12895},{"min":12928,"max":12937},{"min":12977,"max":12991},{"min":43056,"max":43061},{"min":65799,"max":65843},{"min":65909,"max":65912},{"min":65930,"max":65931},{"min":66273,"max":66299},{"min":66336,"max":66339},{"min":67672,"max":67679},{"min":67705,"max":67711},{"min":67751,"max":67759},{"min":67835,"max":67839},{"min":67862,"max":67867},{"min":68028,"max":68029},{"min":68032,"max":68047},{"min":68050,"max":68095},{"min":68160,"max":68168},{"min":68221,"max":68222},{"min":68253,"max":68255},{"min":68331,"max":68335},{"min":68440,"max":68447},{"min":68472,"max":68479},{"min":68521,"max":68527},{"min":68858,"max":68863},{"min":69216,"max":69246},{"min":69405,"max":69414},{"min":69457,"max":69460},{"min":69573,"max":69579},{"min":69714,"max":69733},{"min":70113,"max":70132},{"min":71482,"max":71483},{"min":71914,"max":71922},{"min":72794,"max":72812},{"min":73664,"max":73684},{"min":93019,"max":93025},{"min":93824,"max":93846},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119648,"max":119672},{"min":125127,"max":125135},{"min":126065,"max":126123},{"min":126125,"max":126127},{"min":126129,"max":126132},{"min":126209,"max":126253},{"min":126255,"max":126269},{"min":127232,"max":127244}]'); -export const Other_Punctuation: readonly CharRange[] = JSON.parse('[{"min":33,"max":35},{"min":37,"max":39},{"min":42,"max":42},{"min":44,"max":44},{"min":46,"max":47},{"min":58,"max":59},{"min":63,"max":64},{"min":92,"max":92},{"min":161,"max":161},{"min":167,"max":167},{"min":182,"max":183},{"min":191,"max":191},{"min":894,"max":894},{"min":903,"max":903},{"min":1370,"max":1375},{"min":1417,"max":1417},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1523,"max":1524},{"min":1545,"max":1546},{"min":1548,"max":1549},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1642,"max":1645},{"min":1748,"max":1748},{"min":1792,"max":1805},{"min":2039,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":2416,"max":2416},{"min":2557,"max":2557},{"min":2678,"max":2678},{"min":2800,"max":2800},{"min":3191,"max":3191},{"min":3204,"max":3204},{"min":3572,"max":3572},{"min":3663,"max":3663},{"min":3674,"max":3675},{"min":3844,"max":3858},{"min":3860,"max":3860},{"min":3973,"max":3973},{"min":4048,"max":4052},{"min":4057,"max":4058},{"min":4170,"max":4175},{"min":4347,"max":4347},{"min":4960,"max":4968},{"min":5742,"max":5742},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6104,"max":6106},{"min":6144,"max":6149},{"min":6151,"max":6154},{"min":6468,"max":6469},{"min":6686,"max":6687},{"min":6816,"max":6822},{"min":6824,"max":6829},{"min":7002,"max":7008},{"min":7037,"max":7038},{"min":7164,"max":7167},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":7360,"max":7367},{"min":7379,"max":7379},{"min":8214,"max":8215},{"min":8224,"max":8231},{"min":8240,"max":8248},{"min":8251,"max":8254},{"min":8257,"max":8259},{"min":8263,"max":8273},{"min":8275,"max":8275},{"min":8277,"max":8286},{"min":11513,"max":11516},{"min":11518,"max":11519},{"min":11632,"max":11632},{"min":11776,"max":11777},{"min":11782,"max":11784},{"min":11787,"max":11787},{"min":11790,"max":11798},{"min":11800,"max":11801},{"min":11803,"max":11803},{"min":11806,"max":11807},{"min":11818,"max":11822},{"min":11824,"max":11833},{"min":11836,"max":11839},{"min":11841,"max":11841},{"min":11843,"max":11855},{"min":11858,"max":11860},{"min":12289,"max":12291},{"min":12349,"max":12349},{"min":12539,"max":12539},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42611,"max":42611},{"min":42622,"max":42622},{"min":42738,"max":42743},{"min":43124,"max":43127},{"min":43214,"max":43215},{"min":43256,"max":43258},{"min":43260,"max":43260},{"min":43310,"max":43311},{"min":43359,"max":43359},{"min":43457,"max":43469},{"min":43486,"max":43487},{"min":43612,"max":43615},{"min":43742,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":65040,"max":65046},{"min":65049,"max":65049},{"min":65072,"max":65072},{"min":65093,"max":65094},{"min":65097,"max":65100},{"min":65104,"max":65106},{"min":65108,"max":65111},{"min":65119,"max":65121},{"min":65128,"max":65128},{"min":65130,"max":65131},{"min":65281,"max":65283},{"min":65285,"max":65287},{"min":65290,"max":65290},{"min":65292,"max":65292},{"min":65294,"max":65295},{"min":65306,"max":65307},{"min":65311,"max":65312},{"min":65340,"max":65340},{"min":65377,"max":65377},{"min":65380,"max":65381},{"min":65792,"max":65794},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":66927,"max":66927},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":67903,"max":67903},{"min":68176,"max":68184},{"min":68223,"max":68223},{"min":68336,"max":68342},{"min":68409,"max":68415},{"min":68505,"max":68508},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69952,"max":69955},{"min":70004,"max":70005},{"min":70085,"max":70088},{"min":70093,"max":70093},{"min":70107,"max":70107},{"min":70109,"max":70111},{"min":70200,"max":70205},{"min":70313,"max":70313},{"min":70731,"max":70735},{"min":70746,"max":70747},{"min":70749,"max":70749},{"min":70854,"max":70854},{"min":71105,"max":71127},{"min":71233,"max":71235},{"min":71264,"max":71276},{"min":71353,"max":71353},{"min":71484,"max":71486},{"min":71739,"max":71739},{"min":72004,"max":72006},{"min":72162,"max":72162},{"min":72255,"max":72262},{"min":72346,"max":72348},{"min":72350,"max":72354},{"min":72448,"max":72457},{"min":72769,"max":72773},{"min":72816,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73551},{"min":73727,"max":73727},{"min":74864,"max":74868},{"min":77809,"max":77810},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92987},{"min":92996,"max":92996},{"min":93847,"max":93850},{"min":94178,"max":94178},{"min":113823,"max":113823},{"min":121479,"max":121483},{"min":125278,"max":125279}]'); -export const Other_Symbol: readonly CharRange[] = JSON.parse('[{"min":166,"max":166},{"min":169,"max":169},{"min":174,"max":174},{"min":176,"max":176},{"min":1154,"max":1154},{"min":1421,"max":1422},{"min":1550,"max":1551},{"min":1758,"max":1758},{"min":1769,"max":1769},{"min":1789,"max":1790},{"min":2038,"max":2038},{"min":2554,"max":2554},{"min":2928,"max":2928},{"min":3059,"max":3064},{"min":3066,"max":3066},{"min":3199,"max":3199},{"min":3407,"max":3407},{"min":3449,"max":3449},{"min":3841,"max":3843},{"min":3859,"max":3859},{"min":3861,"max":3863},{"min":3866,"max":3871},{"min":3892,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4047},{"min":4053,"max":4056},{"min":4254,"max":4255},{"min":5008,"max":5017},{"min":5741,"max":5741},{"min":6464,"max":6464},{"min":6622,"max":6655},{"min":7009,"max":7018},{"min":7028,"max":7036},{"min":8448,"max":8449},{"min":8451,"max":8454},{"min":8456,"max":8457},{"min":8468,"max":8468},{"min":8470,"max":8471},{"min":8478,"max":8483},{"min":8485,"max":8485},{"min":8487,"max":8487},{"min":8489,"max":8489},{"min":8494,"max":8494},{"min":8506,"max":8507},{"min":8522,"max":8522},{"min":8524,"max":8525},{"min":8527,"max":8527},{"min":8586,"max":8587},{"min":8597,"max":8601},{"min":8604,"max":8607},{"min":8609,"max":8610},{"min":8612,"max":8613},{"min":8615,"max":8621},{"min":8623,"max":8653},{"min":8656,"max":8657},{"min":8659,"max":8659},{"min":8661,"max":8691},{"min":8960,"max":8967},{"min":8972,"max":8991},{"min":8994,"max":9000},{"min":9003,"max":9083},{"min":9085,"max":9114},{"min":9140,"max":9179},{"min":9186,"max":9254},{"min":9280,"max":9290},{"min":9372,"max":9449},{"min":9472,"max":9654},{"min":9656,"max":9664},{"min":9666,"max":9719},{"min":9728,"max":9838},{"min":9840,"max":10087},{"min":10132,"max":10175},{"min":10240,"max":10495},{"min":11008,"max":11055},{"min":11077,"max":11078},{"min":11085,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11493,"max":11498},{"min":11856,"max":11857},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12292,"max":12292},{"min":12306,"max":12307},{"min":12320,"max":12320},{"min":12342,"max":12343},{"min":12350,"max":12351},{"min":12688,"max":12689},{"min":12694,"max":12703},{"min":12736,"max":12771},{"min":12800,"max":12830},{"min":12842,"max":12871},{"min":12880,"max":12880},{"min":12896,"max":12927},{"min":12938,"max":12976},{"min":12992,"max":13311},{"min":19904,"max":19967},{"min":42128,"max":42182},{"min":43048,"max":43051},{"min":43062,"max":43063},{"min":43065,"max":43065},{"min":43639,"max":43641},{"min":64832,"max":64847},{"min":64975,"max":64975},{"min":65021,"max":65023},{"min":65508,"max":65508},{"min":65512,"max":65512},{"min":65517,"max":65518},{"min":65532,"max":65533},{"min":65847,"max":65855},{"min":65913,"max":65929},{"min":65932,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":67703,"max":67704},{"min":68296,"max":68296},{"min":71487,"max":71487},{"min":73685,"max":73692},{"min":73697,"max":73713},{"min":92988,"max":92991},{"min":92997,"max":92997},{"min":113820,"max":113820},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119146,"max":119148},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119552,"max":119638},{"min":120832,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121478},{"min":123215,"max":123215},{"min":126124,"max":126124},{"min":126254,"max":126254},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127245,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":127994},{"min":128000,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994}]'); -export const Paragraph_Separator: readonly CharRange[] = JSON.parse('[{"min":8233,"max":8233}]'); -export const Private_Use: readonly CharRange[] = JSON.parse('[{"min":57344,"max":63743},{"min":983040,"max":1048573},{"min":1048576,"max":1114109}]'); -export const Punctuation: readonly CharRange[] = JSON.parse('[{"min":33,"max":35},{"min":37,"max":42},{"min":44,"max":47},{"min":58,"max":59},{"min":63,"max":64},{"min":91,"max":93},{"min":95,"max":95},{"min":123,"max":123},{"min":125,"max":125},{"min":161,"max":161},{"min":167,"max":167},{"min":171,"max":171},{"min":182,"max":183},{"min":187,"max":187},{"min":191,"max":191},{"min":894,"max":894},{"min":903,"max":903},{"min":1370,"max":1375},{"min":1417,"max":1418},{"min":1470,"max":1470},{"min":1472,"max":1472},{"min":1475,"max":1475},{"min":1478,"max":1478},{"min":1523,"max":1524},{"min":1545,"max":1546},{"min":1548,"max":1549},{"min":1563,"max":1563},{"min":1565,"max":1567},{"min":1642,"max":1645},{"min":1748,"max":1748},{"min":1792,"max":1805},{"min":2039,"max":2041},{"min":2096,"max":2110},{"min":2142,"max":2142},{"min":2404,"max":2405},{"min":2416,"max":2416},{"min":2557,"max":2557},{"min":2678,"max":2678},{"min":2800,"max":2800},{"min":3191,"max":3191},{"min":3204,"max":3204},{"min":3572,"max":3572},{"min":3663,"max":3663},{"min":3674,"max":3675},{"min":3844,"max":3858},{"min":3860,"max":3860},{"min":3898,"max":3901},{"min":3973,"max":3973},{"min":4048,"max":4052},{"min":4057,"max":4058},{"min":4170,"max":4175},{"min":4347,"max":4347},{"min":4960,"max":4968},{"min":5120,"max":5120},{"min":5742,"max":5742},{"min":5787,"max":5788},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6100,"max":6102},{"min":6104,"max":6106},{"min":6144,"max":6154},{"min":6468,"max":6469},{"min":6686,"max":6687},{"min":6816,"max":6822},{"min":6824,"max":6829},{"min":7002,"max":7008},{"min":7037,"max":7038},{"min":7164,"max":7167},{"min":7227,"max":7231},{"min":7294,"max":7295},{"min":7360,"max":7367},{"min":7379,"max":7379},{"min":8208,"max":8231},{"min":8240,"max":8259},{"min":8261,"max":8273},{"min":8275,"max":8286},{"min":8317,"max":8318},{"min":8333,"max":8334},{"min":8968,"max":8971},{"min":9001,"max":9002},{"min":10088,"max":10101},{"min":10181,"max":10182},{"min":10214,"max":10223},{"min":10627,"max":10648},{"min":10712,"max":10715},{"min":10748,"max":10749},{"min":11513,"max":11516},{"min":11518,"max":11519},{"min":11632,"max":11632},{"min":11776,"max":11822},{"min":11824,"max":11855},{"min":11858,"max":11869},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12308,"max":12319},{"min":12336,"max":12336},{"min":12349,"max":12349},{"min":12448,"max":12448},{"min":12539,"max":12539},{"min":42238,"max":42239},{"min":42509,"max":42511},{"min":42611,"max":42611},{"min":42622,"max":42622},{"min":42738,"max":42743},{"min":43124,"max":43127},{"min":43214,"max":43215},{"min":43256,"max":43258},{"min":43260,"max":43260},{"min":43310,"max":43311},{"min":43359,"max":43359},{"min":43457,"max":43469},{"min":43486,"max":43487},{"min":43612,"max":43615},{"min":43742,"max":43743},{"min":43760,"max":43761},{"min":44011,"max":44011},{"min":64830,"max":64831},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65121},{"min":65123,"max":65123},{"min":65128,"max":65128},{"min":65130,"max":65131},{"min":65281,"max":65283},{"min":65285,"max":65290},{"min":65292,"max":65295},{"min":65306,"max":65307},{"min":65311,"max":65312},{"min":65339,"max":65341},{"min":65343,"max":65343},{"min":65371,"max":65371},{"min":65373,"max":65373},{"min":65375,"max":65381},{"min":65792,"max":65794},{"min":66463,"max":66463},{"min":66512,"max":66512},{"min":66927,"max":66927},{"min":67671,"max":67671},{"min":67871,"max":67871},{"min":67903,"max":67903},{"min":68176,"max":68184},{"min":68223,"max":68223},{"min":68336,"max":68342},{"min":68409,"max":68415},{"min":68505,"max":68508},{"min":69293,"max":69293},{"min":69461,"max":69465},{"min":69510,"max":69513},{"min":69703,"max":69709},{"min":69819,"max":69820},{"min":69822,"max":69825},{"min":69952,"max":69955},{"min":70004,"max":70005},{"min":70085,"max":70088},{"min":70093,"max":70093},{"min":70107,"max":70107},{"min":70109,"max":70111},{"min":70200,"max":70205},{"min":70313,"max":70313},{"min":70731,"max":70735},{"min":70746,"max":70747},{"min":70749,"max":70749},{"min":70854,"max":70854},{"min":71105,"max":71127},{"min":71233,"max":71235},{"min":71264,"max":71276},{"min":71353,"max":71353},{"min":71484,"max":71486},{"min":71739,"max":71739},{"min":72004,"max":72006},{"min":72162,"max":72162},{"min":72255,"max":72262},{"min":72346,"max":72348},{"min":72350,"max":72354},{"min":72448,"max":72457},{"min":72769,"max":72773},{"min":72816,"max":72817},{"min":73463,"max":73464},{"min":73539,"max":73551},{"min":73727,"max":73727},{"min":74864,"max":74868},{"min":77809,"max":77810},{"min":92782,"max":92783},{"min":92917,"max":92917},{"min":92983,"max":92987},{"min":92996,"max":92996},{"min":93847,"max":93850},{"min":94178,"max":94178},{"min":113823,"max":113823},{"min":121479,"max":121483},{"min":125278,"max":125279}]'); -export const Separator: readonly CharRange[] = JSON.parse('[{"min":32,"max":32},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8232,"max":8233},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'); -export const Space_Separator: readonly CharRange[] = JSON.parse('[{"min":32,"max":32},{"min":160,"max":160},{"min":5760,"max":5760},{"min":8192,"max":8202},{"min":8239,"max":8239},{"min":8287,"max":8287},{"min":12288,"max":12288}]'); -export const Spacing_Mark: readonly CharRange[] = JSON.parse('[{"min":2307,"max":2307},{"min":2363,"max":2363},{"min":2366,"max":2368},{"min":2377,"max":2380},{"min":2382,"max":2383},{"min":2434,"max":2435},{"min":2494,"max":2496},{"min":2503,"max":2504},{"min":2507,"max":2508},{"min":2519,"max":2519},{"min":2563,"max":2563},{"min":2622,"max":2624},{"min":2691,"max":2691},{"min":2750,"max":2752},{"min":2761,"max":2761},{"min":2763,"max":2764},{"min":2818,"max":2819},{"min":2878,"max":2878},{"min":2880,"max":2880},{"min":2887,"max":2888},{"min":2891,"max":2892},{"min":2903,"max":2903},{"min":3006,"max":3007},{"min":3009,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3020},{"min":3031,"max":3031},{"min":3073,"max":3075},{"min":3137,"max":3140},{"min":3202,"max":3203},{"min":3262,"max":3262},{"min":3264,"max":3268},{"min":3271,"max":3272},{"min":3274,"max":3275},{"min":3285,"max":3286},{"min":3315,"max":3315},{"min":3330,"max":3331},{"min":3390,"max":3392},{"min":3398,"max":3400},{"min":3402,"max":3404},{"min":3415,"max":3415},{"min":3458,"max":3459},{"min":3535,"max":3537},{"min":3544,"max":3551},{"min":3570,"max":3571},{"min":3902,"max":3903},{"min":3967,"max":3967},{"min":4139,"max":4140},{"min":4145,"max":4145},{"min":4152,"max":4152},{"min":4155,"max":4156},{"min":4182,"max":4183},{"min":4194,"max":4196},{"min":4199,"max":4205},{"min":4227,"max":4228},{"min":4231,"max":4236},{"min":4239,"max":4239},{"min":4250,"max":4252},{"min":5909,"max":5909},{"min":5940,"max":5940},{"min":6070,"max":6070},{"min":6078,"max":6085},{"min":6087,"max":6088},{"min":6435,"max":6438},{"min":6441,"max":6443},{"min":6448,"max":6449},{"min":6451,"max":6456},{"min":6681,"max":6682},{"min":6741,"max":6741},{"min":6743,"max":6743},{"min":6753,"max":6753},{"min":6755,"max":6756},{"min":6765,"max":6770},{"min":6916,"max":6916},{"min":6965,"max":6965},{"min":6971,"max":6971},{"min":6973,"max":6977},{"min":6979,"max":6980},{"min":7042,"max":7042},{"min":7073,"max":7073},{"min":7078,"max":7079},{"min":7082,"max":7082},{"min":7143,"max":7143},{"min":7146,"max":7148},{"min":7150,"max":7150},{"min":7154,"max":7155},{"min":7204,"max":7211},{"min":7220,"max":7221},{"min":7393,"max":7393},{"min":7415,"max":7415},{"min":12334,"max":12335},{"min":43043,"max":43044},{"min":43047,"max":43047},{"min":43136,"max":43137},{"min":43188,"max":43203},{"min":43346,"max":43347},{"min":43395,"max":43395},{"min":43444,"max":43445},{"min":43450,"max":43451},{"min":43454,"max":43456},{"min":43567,"max":43568},{"min":43571,"max":43572},{"min":43597,"max":43597},{"min":43643,"max":43643},{"min":43645,"max":43645},{"min":43755,"max":43755},{"min":43758,"max":43759},{"min":43765,"max":43765},{"min":44003,"max":44004},{"min":44006,"max":44007},{"min":44009,"max":44010},{"min":44012,"max":44012},{"min":69632,"max":69632},{"min":69634,"max":69634},{"min":69762,"max":69762},{"min":69808,"max":69810},{"min":69815,"max":69816},{"min":69932,"max":69932},{"min":69957,"max":69958},{"min":70018,"max":70018},{"min":70067,"max":70069},{"min":70079,"max":70080},{"min":70094,"max":70094},{"min":70188,"max":70190},{"min":70194,"max":70195},{"min":70197,"max":70197},{"min":70368,"max":70370},{"min":70402,"max":70403},{"min":70462,"max":70463},{"min":70465,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70487,"max":70487},{"min":70498,"max":70499},{"min":70709,"max":70711},{"min":70720,"max":70721},{"min":70725,"max":70725},{"min":70832,"max":70834},{"min":70841,"max":70841},{"min":70843,"max":70846},{"min":70849,"max":70849},{"min":71087,"max":71089},{"min":71096,"max":71099},{"min":71102,"max":71102},{"min":71216,"max":71218},{"min":71227,"max":71228},{"min":71230,"max":71230},{"min":71340,"max":71340},{"min":71342,"max":71343},{"min":71350,"max":71350},{"min":71456,"max":71457},{"min":71462,"max":71462},{"min":71724,"max":71726},{"min":71736,"max":71736},{"min":71984,"max":71989},{"min":71991,"max":71992},{"min":71997,"max":71997},{"min":72000,"max":72000},{"min":72002,"max":72002},{"min":72145,"max":72147},{"min":72156,"max":72159},{"min":72164,"max":72164},{"min":72249,"max":72249},{"min":72279,"max":72280},{"min":72343,"max":72343},{"min":72751,"max":72751},{"min":72766,"max":72766},{"min":72873,"max":72873},{"min":72881,"max":72881},{"min":72884,"max":72884},{"min":73098,"max":73102},{"min":73107,"max":73108},{"min":73110,"max":73110},{"min":73461,"max":73462},{"min":73475,"max":73475},{"min":73524,"max":73525},{"min":73534,"max":73535},{"min":73537,"max":73537},{"min":94033,"max":94087},{"min":94192,"max":94193},{"min":119141,"max":119142},{"min":119149,"max":119154}]'); -export const Surrogate: readonly CharRange[] = JSON.parse('[{"min":55296,"max":57343}]'); -export const Symbol: readonly CharRange[] = JSON.parse('[{"min":36,"max":36},{"min":43,"max":43},{"min":60,"max":62},{"min":94,"max":94},{"min":96,"max":96},{"min":124,"max":124},{"min":126,"max":126},{"min":162,"max":166},{"min":168,"max":169},{"min":172,"max":172},{"min":174,"max":177},{"min":180,"max":180},{"min":184,"max":184},{"min":215,"max":215},{"min":247,"max":247},{"min":706,"max":709},{"min":722,"max":735},{"min":741,"max":747},{"min":749,"max":749},{"min":751,"max":767},{"min":885,"max":885},{"min":900,"max":901},{"min":1014,"max":1014},{"min":1154,"max":1154},{"min":1421,"max":1423},{"min":1542,"max":1544},{"min":1547,"max":1547},{"min":1550,"max":1551},{"min":1758,"max":1758},{"min":1769,"max":1769},{"min":1789,"max":1790},{"min":2038,"max":2038},{"min":2046,"max":2047},{"min":2184,"max":2184},{"min":2546,"max":2547},{"min":2554,"max":2555},{"min":2801,"max":2801},{"min":2928,"max":2928},{"min":3059,"max":3066},{"min":3199,"max":3199},{"min":3407,"max":3407},{"min":3449,"max":3449},{"min":3647,"max":3647},{"min":3841,"max":3843},{"min":3859,"max":3859},{"min":3861,"max":3863},{"min":3866,"max":3871},{"min":3892,"max":3892},{"min":3894,"max":3894},{"min":3896,"max":3896},{"min":4030,"max":4037},{"min":4039,"max":4044},{"min":4046,"max":4047},{"min":4053,"max":4056},{"min":4254,"max":4255},{"min":5008,"max":5017},{"min":5741,"max":5741},{"min":6107,"max":6107},{"min":6464,"max":6464},{"min":6622,"max":6655},{"min":7009,"max":7018},{"min":7028,"max":7036},{"min":8125,"max":8125},{"min":8127,"max":8129},{"min":8141,"max":8143},{"min":8157,"max":8159},{"min":8173,"max":8175},{"min":8189,"max":8190},{"min":8260,"max":8260},{"min":8274,"max":8274},{"min":8314,"max":8316},{"min":8330,"max":8332},{"min":8352,"max":8384},{"min":8448,"max":8449},{"min":8451,"max":8454},{"min":8456,"max":8457},{"min":8468,"max":8468},{"min":8470,"max":8472},{"min":8478,"max":8483},{"min":8485,"max":8485},{"min":8487,"max":8487},{"min":8489,"max":8489},{"min":8494,"max":8494},{"min":8506,"max":8507},{"min":8512,"max":8516},{"min":8522,"max":8525},{"min":8527,"max":8527},{"min":8586,"max":8587},{"min":8592,"max":8967},{"min":8972,"max":9000},{"min":9003,"max":9254},{"min":9280,"max":9290},{"min":9372,"max":9449},{"min":9472,"max":10087},{"min":10132,"max":10180},{"min":10183,"max":10213},{"min":10224,"max":10626},{"min":10649,"max":10711},{"min":10716,"max":10747},{"min":10750,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11493,"max":11498},{"min":11856,"max":11857},{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12272,"max":12283},{"min":12292,"max":12292},{"min":12306,"max":12307},{"min":12320,"max":12320},{"min":12342,"max":12343},{"min":12350,"max":12351},{"min":12443,"max":12444},{"min":12688,"max":12689},{"min":12694,"max":12703},{"min":12736,"max":12771},{"min":12800,"max":12830},{"min":12842,"max":12871},{"min":12880,"max":12880},{"min":12896,"max":12927},{"min":12938,"max":12976},{"min":12992,"max":13311},{"min":19904,"max":19967},{"min":42128,"max":42182},{"min":42752,"max":42774},{"min":42784,"max":42785},{"min":42889,"max":42890},{"min":43048,"max":43051},{"min":43062,"max":43065},{"min":43639,"max":43641},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64297,"max":64297},{"min":64434,"max":64450},{"min":64832,"max":64847},{"min":64975,"max":64975},{"min":65020,"max":65023},{"min":65122,"max":65122},{"min":65124,"max":65126},{"min":65129,"max":65129},{"min":65284,"max":65284},{"min":65291,"max":65291},{"min":65308,"max":65310},{"min":65342,"max":65342},{"min":65344,"max":65344},{"min":65372,"max":65372},{"min":65374,"max":65374},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65532,"max":65533},{"min":65847,"max":65855},{"min":65913,"max":65929},{"min":65932,"max":65934},{"min":65936,"max":65948},{"min":65952,"max":65952},{"min":66000,"max":66044},{"min":67703,"max":67704},{"min":68296,"max":68296},{"min":71487,"max":71487},{"min":73685,"max":73713},{"min":92988,"max":92991},{"min":92997,"max":92997},{"min":113820,"max":113820},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119140},{"min":119146,"max":119148},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119296,"max":119361},{"min":119365,"max":119365},{"min":119552,"max":119638},{"min":120513,"max":120513},{"min":120539,"max":120539},{"min":120571,"max":120571},{"min":120597,"max":120597},{"min":120629,"max":120629},{"min":120655,"max":120655},{"min":120687,"max":120687},{"min":120713,"max":120713},{"min":120745,"max":120745},{"min":120771,"max":120771},{"min":120832,"max":121343},{"min":121399,"max":121402},{"min":121453,"max":121460},{"min":121462,"max":121475},{"min":121477,"max":121478},{"min":123215,"max":123215},{"min":123647,"max":123647},{"min":126124,"max":126124},{"min":126128,"max":126128},{"min":126254,"max":126254},{"min":126704,"max":126705},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127245,"max":127405},{"min":127462,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994}]'); -export const Titlecase_Letter: readonly CharRange[] = JSON.parse('[{"min":453,"max":453},{"min":456,"max":456},{"min":459,"max":459},{"min":498,"max":498},{"min":8072,"max":8079},{"min":8088,"max":8095},{"min":8104,"max":8111},{"min":8124,"max":8124},{"min":8140,"max":8140},{"min":8188,"max":8188}]'); -export const Unassigned: readonly CharRange[] = JSON.parse('[{"min":888,"max":889},{"min":896,"max":899},{"min":907,"max":907},{"min":909,"max":909},{"min":930,"max":930},{"min":1328,"max":1328},{"min":1367,"max":1368},{"min":1419,"max":1420},{"min":1424,"max":1424},{"min":1480,"max":1487},{"min":1515,"max":1518},{"min":1525,"max":1535},{"min":1806,"max":1806},{"min":1867,"max":1868},{"min":1970,"max":1983},{"min":2043,"max":2044},{"min":2094,"max":2095},{"min":2111,"max":2111},{"min":2140,"max":2141},{"min":2143,"max":2143},{"min":2155,"max":2159},{"min":2191,"max":2191},{"min":2194,"max":2199},{"min":2436,"max":2436},{"min":2445,"max":2446},{"min":2449,"max":2450},{"min":2473,"max":2473},{"min":2481,"max":2481},{"min":2483,"max":2485},{"min":2490,"max":2491},{"min":2501,"max":2502},{"min":2505,"max":2506},{"min":2511,"max":2518},{"min":2520,"max":2523},{"min":2526,"max":2526},{"min":2532,"max":2533},{"min":2559,"max":2560},{"min":2564,"max":2564},{"min":2571,"max":2574},{"min":2577,"max":2578},{"min":2601,"max":2601},{"min":2609,"max":2609},{"min":2612,"max":2612},{"min":2615,"max":2615},{"min":2618,"max":2619},{"min":2621,"max":2621},{"min":2627,"max":2630},{"min":2633,"max":2634},{"min":2638,"max":2640},{"min":2642,"max":2648},{"min":2653,"max":2653},{"min":2655,"max":2661},{"min":2679,"max":2688},{"min":2692,"max":2692},{"min":2702,"max":2702},{"min":2706,"max":2706},{"min":2729,"max":2729},{"min":2737,"max":2737},{"min":2740,"max":2740},{"min":2746,"max":2747},{"min":2758,"max":2758},{"min":2762,"max":2762},{"min":2766,"max":2767},{"min":2769,"max":2783},{"min":2788,"max":2789},{"min":2802,"max":2808},{"min":2816,"max":2816},{"min":2820,"max":2820},{"min":2829,"max":2830},{"min":2833,"max":2834},{"min":2857,"max":2857},{"min":2865,"max":2865},{"min":2868,"max":2868},{"min":2874,"max":2875},{"min":2885,"max":2886},{"min":2889,"max":2890},{"min":2894,"max":2900},{"min":2904,"max":2907},{"min":2910,"max":2910},{"min":2916,"max":2917},{"min":2936,"max":2945},{"min":2948,"max":2948},{"min":2955,"max":2957},{"min":2961,"max":2961},{"min":2966,"max":2968},{"min":2971,"max":2971},{"min":2973,"max":2973},{"min":2976,"max":2978},{"min":2981,"max":2983},{"min":2987,"max":2989},{"min":3002,"max":3005},{"min":3011,"max":3013},{"min":3017,"max":3017},{"min":3022,"max":3023},{"min":3025,"max":3030},{"min":3032,"max":3045},{"min":3067,"max":3071},{"min":3085,"max":3085},{"min":3089,"max":3089},{"min":3113,"max":3113},{"min":3130,"max":3131},{"min":3141,"max":3141},{"min":3145,"max":3145},{"min":3150,"max":3156},{"min":3159,"max":3159},{"min":3163,"max":3164},{"min":3166,"max":3167},{"min":3172,"max":3173},{"min":3184,"max":3190},{"min":3213,"max":3213},{"min":3217,"max":3217},{"min":3241,"max":3241},{"min":3252,"max":3252},{"min":3258,"max":3259},{"min":3269,"max":3269},{"min":3273,"max":3273},{"min":3278,"max":3284},{"min":3287,"max":3292},{"min":3295,"max":3295},{"min":3300,"max":3301},{"min":3312,"max":3312},{"min":3316,"max":3327},{"min":3341,"max":3341},{"min":3345,"max":3345},{"min":3397,"max":3397},{"min":3401,"max":3401},{"min":3408,"max":3411},{"min":3428,"max":3429},{"min":3456,"max":3456},{"min":3460,"max":3460},{"min":3479,"max":3481},{"min":3506,"max":3506},{"min":3516,"max":3516},{"min":3518,"max":3519},{"min":3527,"max":3529},{"min":3531,"max":3534},{"min":3541,"max":3541},{"min":3543,"max":3543},{"min":3552,"max":3557},{"min":3568,"max":3569},{"min":3573,"max":3584},{"min":3643,"max":3646},{"min":3676,"max":3712},{"min":3715,"max":3715},{"min":3717,"max":3717},{"min":3723,"max":3723},{"min":3748,"max":3748},{"min":3750,"max":3750},{"min":3774,"max":3775},{"min":3781,"max":3781},{"min":3783,"max":3783},{"min":3791,"max":3791},{"min":3802,"max":3803},{"min":3808,"max":3839},{"min":3912,"max":3912},{"min":3949,"max":3952},{"min":3992,"max":3992},{"min":4029,"max":4029},{"min":4045,"max":4045},{"min":4059,"max":4095},{"min":4294,"max":4294},{"min":4296,"max":4300},{"min":4302,"max":4303},{"min":4681,"max":4681},{"min":4686,"max":4687},{"min":4695,"max":4695},{"min":4697,"max":4697},{"min":4702,"max":4703},{"min":4745,"max":4745},{"min":4750,"max":4751},{"min":4785,"max":4785},{"min":4790,"max":4791},{"min":4799,"max":4799},{"min":4801,"max":4801},{"min":4806,"max":4807},{"min":4823,"max":4823},{"min":4881,"max":4881},{"min":4886,"max":4887},{"min":4955,"max":4956},{"min":4989,"max":4991},{"min":5018,"max":5023},{"min":5110,"max":5111},{"min":5118,"max":5119},{"min":5789,"max":5791},{"min":5881,"max":5887},{"min":5910,"max":5918},{"min":5943,"max":5951},{"min":5972,"max":5983},{"min":5997,"max":5997},{"min":6001,"max":6001},{"min":6004,"max":6015},{"min":6110,"max":6111},{"min":6122,"max":6127},{"min":6138,"max":6143},{"min":6170,"max":6175},{"min":6265,"max":6271},{"min":6315,"max":6319},{"min":6390,"max":6399},{"min":6431,"max":6431},{"min":6444,"max":6447},{"min":6460,"max":6463},{"min":6465,"max":6467},{"min":6510,"max":6511},{"min":6517,"max":6527},{"min":6572,"max":6575},{"min":6602,"max":6607},{"min":6619,"max":6621},{"min":6684,"max":6685},{"min":6751,"max":6751},{"min":6781,"max":6782},{"min":6794,"max":6799},{"min":6810,"max":6815},{"min":6830,"max":6831},{"min":6863,"max":6911},{"min":6989,"max":6991},{"min":7039,"max":7039},{"min":7156,"max":7163},{"min":7224,"max":7226},{"min":7242,"max":7244},{"min":7305,"max":7311},{"min":7355,"max":7356},{"min":7368,"max":7375},{"min":7419,"max":7423},{"min":7958,"max":7959},{"min":7966,"max":7967},{"min":8006,"max":8007},{"min":8014,"max":8015},{"min":8024,"max":8024},{"min":8026,"max":8026},{"min":8028,"max":8028},{"min":8030,"max":8030},{"min":8062,"max":8063},{"min":8117,"max":8117},{"min":8133,"max":8133},{"min":8148,"max":8149},{"min":8156,"max":8156},{"min":8176,"max":8177},{"min":8181,"max":8181},{"min":8191,"max":8191},{"min":8293,"max":8293},{"min":8306,"max":8307},{"min":8335,"max":8335},{"min":8349,"max":8351},{"min":8385,"max":8399},{"min":8433,"max":8447},{"min":8588,"max":8591},{"min":9255,"max":9279},{"min":9291,"max":9311},{"min":11124,"max":11125},{"min":11158,"max":11158},{"min":11508,"max":11512},{"min":11558,"max":11558},{"min":11560,"max":11564},{"min":11566,"max":11567},{"min":11624,"max":11630},{"min":11633,"max":11646},{"min":11671,"max":11679},{"min":11687,"max":11687},{"min":11695,"max":11695},{"min":11703,"max":11703},{"min":11711,"max":11711},{"min":11719,"max":11719},{"min":11727,"max":11727},{"min":11735,"max":11735},{"min":11743,"max":11743},{"min":11870,"max":11903},{"min":11930,"max":11930},{"min":12020,"max":12031},{"min":12246,"max":12271},{"min":12284,"max":12287},{"min":12352,"max":12352},{"min":12439,"max":12440},{"min":12544,"max":12548},{"min":12592,"max":12592},{"min":12687,"max":12687},{"min":12772,"max":12783},{"min":12831,"max":12831},{"min":42125,"max":42127},{"min":42183,"max":42191},{"min":42540,"max":42559},{"min":42744,"max":42751},{"min":42955,"max":42959},{"min":42962,"max":42962},{"min":42964,"max":42964},{"min":42970,"max":42993},{"min":43053,"max":43055},{"min":43066,"max":43071},{"min":43128,"max":43135},{"min":43206,"max":43213},{"min":43226,"max":43231},{"min":43348,"max":43358},{"min":43389,"max":43391},{"min":43470,"max":43470},{"min":43482,"max":43485},{"min":43519,"max":43519},{"min":43575,"max":43583},{"min":43598,"max":43599},{"min":43610,"max":43611},{"min":43715,"max":43738},{"min":43767,"max":43776},{"min":43783,"max":43784},{"min":43791,"max":43792},{"min":43799,"max":43807},{"min":43815,"max":43815},{"min":43823,"max":43823},{"min":43884,"max":43887},{"min":44014,"max":44015},{"min":44026,"max":44031},{"min":55204,"max":55215},{"min":55239,"max":55242},{"min":55292,"max":55295},{"min":64110,"max":64111},{"min":64218,"max":64255},{"min":64263,"max":64274},{"min":64280,"max":64284},{"min":64311,"max":64311},{"min":64317,"max":64317},{"min":64319,"max":64319},{"min":64322,"max":64322},{"min":64325,"max":64325},{"min":64451,"max":64466},{"min":64912,"max":64913},{"min":64968,"max":64974},{"min":64976,"max":65007},{"min":65050,"max":65055},{"min":65107,"max":65107},{"min":65127,"max":65127},{"min":65132,"max":65135},{"min":65141,"max":65141},{"min":65277,"max":65278},{"min":65280,"max":65280},{"min":65471,"max":65473},{"min":65480,"max":65481},{"min":65488,"max":65489},{"min":65496,"max":65497},{"min":65501,"max":65503},{"min":65511,"max":65511},{"min":65519,"max":65528},{"min":65534,"max":65535},{"min":65548,"max":65548},{"min":65575,"max":65575},{"min":65595,"max":65595},{"min":65598,"max":65598},{"min":65614,"max":65615},{"min":65630,"max":65663},{"min":65787,"max":65791},{"min":65795,"max":65798},{"min":65844,"max":65846},{"min":65935,"max":65935},{"min":65949,"max":65951},{"min":65953,"max":65999},{"min":66046,"max":66175},{"min":66205,"max":66207},{"min":66257,"max":66271},{"min":66300,"max":66303},{"min":66340,"max":66348},{"min":66379,"max":66383},{"min":66427,"max":66431},{"min":66462,"max":66462},{"min":66500,"max":66503},{"min":66518,"max":66559},{"min":66718,"max":66719},{"min":66730,"max":66735},{"min":66772,"max":66775},{"min":66812,"max":66815},{"min":66856,"max":66863},{"min":66916,"max":66926},{"min":66939,"max":66939},{"min":66955,"max":66955},{"min":66963,"max":66963},{"min":66966,"max":66966},{"min":66978,"max":66978},{"min":66994,"max":66994},{"min":67002,"max":67002},{"min":67005,"max":67071},{"min":67383,"max":67391},{"min":67414,"max":67423},{"min":67432,"max":67455},{"min":67462,"max":67462},{"min":67505,"max":67505},{"min":67515,"max":67583},{"min":67590,"max":67591},{"min":67593,"max":67593},{"min":67638,"max":67638},{"min":67641,"max":67643},{"min":67645,"max":67646},{"min":67670,"max":67670},{"min":67743,"max":67750},{"min":67760,"max":67807},{"min":67827,"max":67827},{"min":67830,"max":67834},{"min":67868,"max":67870},{"min":67898,"max":67902},{"min":67904,"max":67967},{"min":68024,"max":68027},{"min":68048,"max":68049},{"min":68100,"max":68100},{"min":68103,"max":68107},{"min":68116,"max":68116},{"min":68120,"max":68120},{"min":68150,"max":68151},{"min":68155,"max":68158},{"min":68169,"max":68175},{"min":68185,"max":68191},{"min":68256,"max":68287},{"min":68327,"max":68330},{"min":68343,"max":68351},{"min":68406,"max":68408},{"min":68438,"max":68439},{"min":68467,"max":68471},{"min":68498,"max":68504},{"min":68509,"max":68520},{"min":68528,"max":68607},{"min":68681,"max":68735},{"min":68787,"max":68799},{"min":68851,"max":68857},{"min":68904,"max":68911},{"min":68922,"max":69215},{"min":69247,"max":69247},{"min":69290,"max":69290},{"min":69294,"max":69295},{"min":69298,"max":69372},{"min":69416,"max":69423},{"min":69466,"max":69487},{"min":69514,"max":69551},{"min":69580,"max":69599},{"min":69623,"max":69631},{"min":69710,"max":69713},{"min":69750,"max":69758},{"min":69827,"max":69836},{"min":69838,"max":69839},{"min":69865,"max":69871},{"min":69882,"max":69887},{"min":69941,"max":69941},{"min":69960,"max":69967},{"min":70007,"max":70015},{"min":70112,"max":70112},{"min":70133,"max":70143},{"min":70162,"max":70162},{"min":70210,"max":70271},{"min":70279,"max":70279},{"min":70281,"max":70281},{"min":70286,"max":70286},{"min":70302,"max":70302},{"min":70314,"max":70319},{"min":70379,"max":70383},{"min":70394,"max":70399},{"min":70404,"max":70404},{"min":70413,"max":70414},{"min":70417,"max":70418},{"min":70441,"max":70441},{"min":70449,"max":70449},{"min":70452,"max":70452},{"min":70458,"max":70458},{"min":70469,"max":70470},{"min":70473,"max":70474},{"min":70478,"max":70479},{"min":70481,"max":70486},{"min":70488,"max":70492},{"min":70500,"max":70501},{"min":70509,"max":70511},{"min":70517,"max":70655},{"min":70748,"max":70748},{"min":70754,"max":70783},{"min":70856,"max":70863},{"min":70874,"max":71039},{"min":71094,"max":71095},{"min":71134,"max":71167},{"min":71237,"max":71247},{"min":71258,"max":71263},{"min":71277,"max":71295},{"min":71354,"max":71359},{"min":71370,"max":71423},{"min":71451,"max":71452},{"min":71468,"max":71471},{"min":71495,"max":71679},{"min":71740,"max":71839},{"min":71923,"max":71934},{"min":71943,"max":71944},{"min":71946,"max":71947},{"min":71956,"max":71956},{"min":71959,"max":71959},{"min":71990,"max":71990},{"min":71993,"max":71994},{"min":72007,"max":72015},{"min":72026,"max":72095},{"min":72104,"max":72105},{"min":72152,"max":72153},{"min":72165,"max":72191},{"min":72264,"max":72271},{"min":72355,"max":72367},{"min":72441,"max":72447},{"min":72458,"max":72703},{"min":72713,"max":72713},{"min":72759,"max":72759},{"min":72774,"max":72783},{"min":72813,"max":72815},{"min":72848,"max":72849},{"min":72872,"max":72872},{"min":72887,"max":72959},{"min":72967,"max":72967},{"min":72970,"max":72970},{"min":73015,"max":73017},{"min":73019,"max":73019},{"min":73022,"max":73022},{"min":73032,"max":73039},{"min":73050,"max":73055},{"min":73062,"max":73062},{"min":73065,"max":73065},{"min":73103,"max":73103},{"min":73106,"max":73106},{"min":73113,"max":73119},{"min":73130,"max":73439},{"min":73465,"max":73471},{"min":73489,"max":73489},{"min":73531,"max":73533},{"min":73562,"max":73647},{"min":73649,"max":73663},{"min":73714,"max":73726},{"min":74650,"max":74751},{"min":74863,"max":74863},{"min":74869,"max":74879},{"min":75076,"max":77711},{"min":77811,"max":77823},{"min":78934,"max":82943},{"min":83527,"max":92159},{"min":92729,"max":92735},{"min":92767,"max":92767},{"min":92778,"max":92781},{"min":92863,"max":92863},{"min":92874,"max":92879},{"min":92910,"max":92911},{"min":92918,"max":92927},{"min":92998,"max":93007},{"min":93018,"max":93018},{"min":93026,"max":93026},{"min":93048,"max":93052},{"min":93072,"max":93759},{"min":93851,"max":93951},{"min":94027,"max":94030},{"min":94088,"max":94094},{"min":94112,"max":94175},{"min":94181,"max":94191},{"min":94194,"max":94207},{"min":100344,"max":100351},{"min":101590,"max":101631},{"min":101641,"max":110575},{"min":110580,"max":110580},{"min":110588,"max":110588},{"min":110591,"max":110591},{"min":110883,"max":110897},{"min":110899,"max":110927},{"min":110931,"max":110932},{"min":110934,"max":110947},{"min":110952,"max":110959},{"min":111356,"max":113663},{"min":113771,"max":113775},{"min":113789,"max":113791},{"min":113801,"max":113807},{"min":113818,"max":113819},{"min":113828,"max":118527},{"min":118574,"max":118575},{"min":118599,"max":118607},{"min":118724,"max":118783},{"min":119030,"max":119039},{"min":119079,"max":119080},{"min":119275,"max":119295},{"min":119366,"max":119487},{"min":119508,"max":119519},{"min":119540,"max":119551},{"min":119639,"max":119647},{"min":119673,"max":119807},{"min":119893,"max":119893},{"min":119965,"max":119965},{"min":119968,"max":119969},{"min":119971,"max":119972},{"min":119975,"max":119976},{"min":119981,"max":119981},{"min":119994,"max":119994},{"min":119996,"max":119996},{"min":120004,"max":120004},{"min":120070,"max":120070},{"min":120075,"max":120076},{"min":120085,"max":120085},{"min":120093,"max":120093},{"min":120122,"max":120122},{"min":120127,"max":120127},{"min":120133,"max":120133},{"min":120135,"max":120137},{"min":120145,"max":120145},{"min":120486,"max":120487},{"min":120780,"max":120781},{"min":121484,"max":121498},{"min":121504,"max":121504},{"min":121520,"max":122623},{"min":122655,"max":122660},{"min":122667,"max":122879},{"min":122887,"max":122887},{"min":122905,"max":122906},{"min":122914,"max":122914},{"min":122917,"max":122917},{"min":122923,"max":122927},{"min":122990,"max":123022},{"min":123024,"max":123135},{"min":123181,"max":123183},{"min":123198,"max":123199},{"min":123210,"max":123213},{"min":123216,"max":123535},{"min":123567,"max":123583},{"min":123642,"max":123646},{"min":123648,"max":124111},{"min":124154,"max":124895},{"min":124903,"max":124903},{"min":124908,"max":124908},{"min":124911,"max":124911},{"min":124927,"max":124927},{"min":125125,"max":125126},{"min":125143,"max":125183},{"min":125260,"max":125263},{"min":125274,"max":125277},{"min":125280,"max":126064},{"min":126133,"max":126208},{"min":126270,"max":126463},{"min":126468,"max":126468},{"min":126496,"max":126496},{"min":126499,"max":126499},{"min":126501,"max":126502},{"min":126504,"max":126504},{"min":126515,"max":126515},{"min":126520,"max":126520},{"min":126522,"max":126522},{"min":126524,"max":126529},{"min":126531,"max":126534},{"min":126536,"max":126536},{"min":126538,"max":126538},{"min":126540,"max":126540},{"min":126544,"max":126544},{"min":126547,"max":126547},{"min":126549,"max":126550},{"min":126552,"max":126552},{"min":126554,"max":126554},{"min":126556,"max":126556},{"min":126558,"max":126558},{"min":126560,"max":126560},{"min":126563,"max":126563},{"min":126565,"max":126566},{"min":126571,"max":126571},{"min":126579,"max":126579},{"min":126584,"max":126584},{"min":126589,"max":126589},{"min":126591,"max":126591},{"min":126602,"max":126602},{"min":126620,"max":126624},{"min":126628,"max":126628},{"min":126634,"max":126634},{"min":126652,"max":126703},{"min":126706,"max":126975},{"min":127020,"max":127023},{"min":127124,"max":127135},{"min":127151,"max":127152},{"min":127168,"max":127168},{"min":127184,"max":127184},{"min":127222,"max":127231},{"min":127406,"max":127461},{"min":127491,"max":127503},{"min":127548,"max":127551},{"min":127561,"max":127567},{"min":127570,"max":127583},{"min":127590,"max":127743},{"min":128728,"max":128731},{"min":128749,"max":128751},{"min":128765,"max":128767},{"min":128887,"max":128890},{"min":128986,"max":128991},{"min":129004,"max":129007},{"min":129009,"max":129023},{"min":129036,"max":129039},{"min":129096,"max":129103},{"min":129114,"max":129119},{"min":129160,"max":129167},{"min":129198,"max":129199},{"min":129202,"max":129279},{"min":129620,"max":129631},{"min":129646,"max":129647},{"min":129661,"max":129663},{"min":129673,"max":129679},{"min":129726,"max":129726},{"min":129734,"max":129741},{"min":129756,"max":129759},{"min":129769,"max":129775},{"min":129785,"max":129791},{"min":129939,"max":129939},{"min":129995,"max":130031},{"min":130042,"max":131071},{"min":173792,"max":173823},{"min":177978,"max":177983},{"min":178206,"max":178207},{"min":183970,"max":183983},{"min":191457,"max":194559},{"min":195102,"max":196607},{"min":201547,"max":201551},{"min":205744,"max":917504},{"min":917506,"max":917535},{"min":917632,"max":917759},{"min":918000,"max":983039},{"min":1048574,"max":1048575},{"min":1114110,"max":1114111}]'); -export const Uppercase_Letter: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":192,"max":214},{"min":216,"max":222},{"min":256,"max":256},{"min":258,"max":258},{"min":260,"max":260},{"min":262,"max":262},{"min":264,"max":264},{"min":266,"max":266},{"min":268,"max":268},{"min":270,"max":270},{"min":272,"max":272},{"min":274,"max":274},{"min":276,"max":276},{"min":278,"max":278},{"min":280,"max":280},{"min":282,"max":282},{"min":284,"max":284},{"min":286,"max":286},{"min":288,"max":288},{"min":290,"max":290},{"min":292,"max":292},{"min":294,"max":294},{"min":296,"max":296},{"min":298,"max":298},{"min":300,"max":300},{"min":302,"max":302},{"min":304,"max":304},{"min":306,"max":306},{"min":308,"max":308},{"min":310,"max":310},{"min":313,"max":313},{"min":315,"max":315},{"min":317,"max":317},{"min":319,"max":319},{"min":321,"max":321},{"min":323,"max":323},{"min":325,"max":325},{"min":327,"max":327},{"min":330,"max":330},{"min":332,"max":332},{"min":334,"max":334},{"min":336,"max":336},{"min":338,"max":338},{"min":340,"max":340},{"min":342,"max":342},{"min":344,"max":344},{"min":346,"max":346},{"min":348,"max":348},{"min":350,"max":350},{"min":352,"max":352},{"min":354,"max":354},{"min":356,"max":356},{"min":358,"max":358},{"min":360,"max":360},{"min":362,"max":362},{"min":364,"max":364},{"min":366,"max":366},{"min":368,"max":368},{"min":370,"max":370},{"min":372,"max":372},{"min":374,"max":374},{"min":376,"max":377},{"min":379,"max":379},{"min":381,"max":381},{"min":385,"max":386},{"min":388,"max":388},{"min":390,"max":391},{"min":393,"max":395},{"min":398,"max":401},{"min":403,"max":404},{"min":406,"max":408},{"min":412,"max":413},{"min":415,"max":416},{"min":418,"max":418},{"min":420,"max":420},{"min":422,"max":423},{"min":425,"max":425},{"min":428,"max":428},{"min":430,"max":431},{"min":433,"max":435},{"min":437,"max":437},{"min":439,"max":440},{"min":444,"max":444},{"min":452,"max":452},{"min":455,"max":455},{"min":458,"max":458},{"min":461,"max":461},{"min":463,"max":463},{"min":465,"max":465},{"min":467,"max":467},{"min":469,"max":469},{"min":471,"max":471},{"min":473,"max":473},{"min":475,"max":475},{"min":478,"max":478},{"min":480,"max":480},{"min":482,"max":482},{"min":484,"max":484},{"min":486,"max":486},{"min":488,"max":488},{"min":490,"max":490},{"min":492,"max":492},{"min":494,"max":494},{"min":497,"max":497},{"min":500,"max":500},{"min":502,"max":504},{"min":506,"max":506},{"min":508,"max":508},{"min":510,"max":510},{"min":512,"max":512},{"min":514,"max":514},{"min":516,"max":516},{"min":518,"max":518},{"min":520,"max":520},{"min":522,"max":522},{"min":524,"max":524},{"min":526,"max":526},{"min":528,"max":528},{"min":530,"max":530},{"min":532,"max":532},{"min":534,"max":534},{"min":536,"max":536},{"min":538,"max":538},{"min":540,"max":540},{"min":542,"max":542},{"min":544,"max":544},{"min":546,"max":546},{"min":548,"max":548},{"min":550,"max":550},{"min":552,"max":552},{"min":554,"max":554},{"min":556,"max":556},{"min":558,"max":558},{"min":560,"max":560},{"min":562,"max":562},{"min":570,"max":571},{"min":573,"max":574},{"min":577,"max":577},{"min":579,"max":582},{"min":584,"max":584},{"min":586,"max":586},{"min":588,"max":588},{"min":590,"max":590},{"min":880,"max":880},{"min":882,"max":882},{"min":886,"max":886},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":939},{"min":975,"max":975},{"min":978,"max":980},{"min":984,"max":984},{"min":986,"max":986},{"min":988,"max":988},{"min":990,"max":990},{"min":992,"max":992},{"min":994,"max":994},{"min":996,"max":996},{"min":998,"max":998},{"min":1000,"max":1000},{"min":1002,"max":1002},{"min":1004,"max":1004},{"min":1006,"max":1006},{"min":1012,"max":1012},{"min":1015,"max":1015},{"min":1017,"max":1018},{"min":1021,"max":1071},{"min":1120,"max":1120},{"min":1122,"max":1122},{"min":1124,"max":1124},{"min":1126,"max":1126},{"min":1128,"max":1128},{"min":1130,"max":1130},{"min":1132,"max":1132},{"min":1134,"max":1134},{"min":1136,"max":1136},{"min":1138,"max":1138},{"min":1140,"max":1140},{"min":1142,"max":1142},{"min":1144,"max":1144},{"min":1146,"max":1146},{"min":1148,"max":1148},{"min":1150,"max":1150},{"min":1152,"max":1152},{"min":1162,"max":1162},{"min":1164,"max":1164},{"min":1166,"max":1166},{"min":1168,"max":1168},{"min":1170,"max":1170},{"min":1172,"max":1172},{"min":1174,"max":1174},{"min":1176,"max":1176},{"min":1178,"max":1178},{"min":1180,"max":1180},{"min":1182,"max":1182},{"min":1184,"max":1184},{"min":1186,"max":1186},{"min":1188,"max":1188},{"min":1190,"max":1190},{"min":1192,"max":1192},{"min":1194,"max":1194},{"min":1196,"max":1196},{"min":1198,"max":1198},{"min":1200,"max":1200},{"min":1202,"max":1202},{"min":1204,"max":1204},{"min":1206,"max":1206},{"min":1208,"max":1208},{"min":1210,"max":1210},{"min":1212,"max":1212},{"min":1214,"max":1214},{"min":1216,"max":1217},{"min":1219,"max":1219},{"min":1221,"max":1221},{"min":1223,"max":1223},{"min":1225,"max":1225},{"min":1227,"max":1227},{"min":1229,"max":1229},{"min":1232,"max":1232},{"min":1234,"max":1234},{"min":1236,"max":1236},{"min":1238,"max":1238},{"min":1240,"max":1240},{"min":1242,"max":1242},{"min":1244,"max":1244},{"min":1246,"max":1246},{"min":1248,"max":1248},{"min":1250,"max":1250},{"min":1252,"max":1252},{"min":1254,"max":1254},{"min":1256,"max":1256},{"min":1258,"max":1258},{"min":1260,"max":1260},{"min":1262,"max":1262},{"min":1264,"max":1264},{"min":1266,"max":1266},{"min":1268,"max":1268},{"min":1270,"max":1270},{"min":1272,"max":1272},{"min":1274,"max":1274},{"min":1276,"max":1276},{"min":1278,"max":1278},{"min":1280,"max":1280},{"min":1282,"max":1282},{"min":1284,"max":1284},{"min":1286,"max":1286},{"min":1288,"max":1288},{"min":1290,"max":1290},{"min":1292,"max":1292},{"min":1294,"max":1294},{"min":1296,"max":1296},{"min":1298,"max":1298},{"min":1300,"max":1300},{"min":1302,"max":1302},{"min":1304,"max":1304},{"min":1306,"max":1306},{"min":1308,"max":1308},{"min":1310,"max":1310},{"min":1312,"max":1312},{"min":1314,"max":1314},{"min":1316,"max":1316},{"min":1318,"max":1318},{"min":1320,"max":1320},{"min":1322,"max":1322},{"min":1324,"max":1324},{"min":1326,"max":1326},{"min":1329,"max":1366},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":5024,"max":5109},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7680,"max":7680},{"min":7682,"max":7682},{"min":7684,"max":7684},{"min":7686,"max":7686},{"min":7688,"max":7688},{"min":7690,"max":7690},{"min":7692,"max":7692},{"min":7694,"max":7694},{"min":7696,"max":7696},{"min":7698,"max":7698},{"min":7700,"max":7700},{"min":7702,"max":7702},{"min":7704,"max":7704},{"min":7706,"max":7706},{"min":7708,"max":7708},{"min":7710,"max":7710},{"min":7712,"max":7712},{"min":7714,"max":7714},{"min":7716,"max":7716},{"min":7718,"max":7718},{"min":7720,"max":7720},{"min":7722,"max":7722},{"min":7724,"max":7724},{"min":7726,"max":7726},{"min":7728,"max":7728},{"min":7730,"max":7730},{"min":7732,"max":7732},{"min":7734,"max":7734},{"min":7736,"max":7736},{"min":7738,"max":7738},{"min":7740,"max":7740},{"min":7742,"max":7742},{"min":7744,"max":7744},{"min":7746,"max":7746},{"min":7748,"max":7748},{"min":7750,"max":7750},{"min":7752,"max":7752},{"min":7754,"max":7754},{"min":7756,"max":7756},{"min":7758,"max":7758},{"min":7760,"max":7760},{"min":7762,"max":7762},{"min":7764,"max":7764},{"min":7766,"max":7766},{"min":7768,"max":7768},{"min":7770,"max":7770},{"min":7772,"max":7772},{"min":7774,"max":7774},{"min":7776,"max":7776},{"min":7778,"max":7778},{"min":7780,"max":7780},{"min":7782,"max":7782},{"min":7784,"max":7784},{"min":7786,"max":7786},{"min":7788,"max":7788},{"min":7790,"max":7790},{"min":7792,"max":7792},{"min":7794,"max":7794},{"min":7796,"max":7796},{"min":7798,"max":7798},{"min":7800,"max":7800},{"min":7802,"max":7802},{"min":7804,"max":7804},{"min":7806,"max":7806},{"min":7808,"max":7808},{"min":7810,"max":7810},{"min":7812,"max":7812},{"min":7814,"max":7814},{"min":7816,"max":7816},{"min":7818,"max":7818},{"min":7820,"max":7820},{"min":7822,"max":7822},{"min":7824,"max":7824},{"min":7826,"max":7826},{"min":7828,"max":7828},{"min":7838,"max":7838},{"min":7840,"max":7840},{"min":7842,"max":7842},{"min":7844,"max":7844},{"min":7846,"max":7846},{"min":7848,"max":7848},{"min":7850,"max":7850},{"min":7852,"max":7852},{"min":7854,"max":7854},{"min":7856,"max":7856},{"min":7858,"max":7858},{"min":7860,"max":7860},{"min":7862,"max":7862},{"min":7864,"max":7864},{"min":7866,"max":7866},{"min":7868,"max":7868},{"min":7870,"max":7870},{"min":7872,"max":7872},{"min":7874,"max":7874},{"min":7876,"max":7876},{"min":7878,"max":7878},{"min":7880,"max":7880},{"min":7882,"max":7882},{"min":7884,"max":7884},{"min":7886,"max":7886},{"min":7888,"max":7888},{"min":7890,"max":7890},{"min":7892,"max":7892},{"min":7894,"max":7894},{"min":7896,"max":7896},{"min":7898,"max":7898},{"min":7900,"max":7900},{"min":7902,"max":7902},{"min":7904,"max":7904},{"min":7906,"max":7906},{"min":7908,"max":7908},{"min":7910,"max":7910},{"min":7912,"max":7912},{"min":7914,"max":7914},{"min":7916,"max":7916},{"min":7918,"max":7918},{"min":7920,"max":7920},{"min":7922,"max":7922},{"min":7924,"max":7924},{"min":7926,"max":7926},{"min":7928,"max":7928},{"min":7930,"max":7930},{"min":7932,"max":7932},{"min":7934,"max":7934},{"min":7944,"max":7951},{"min":7960,"max":7965},{"min":7976,"max":7983},{"min":7992,"max":7999},{"min":8008,"max":8013},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8031},{"min":8040,"max":8047},{"min":8120,"max":8123},{"min":8136,"max":8139},{"min":8152,"max":8155},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8450,"max":8450},{"min":8455,"max":8455},{"min":8459,"max":8461},{"min":8464,"max":8466},{"min":8469,"max":8469},{"min":8473,"max":8477},{"min":8484,"max":8484},{"min":8486,"max":8486},{"min":8488,"max":8488},{"min":8490,"max":8493},{"min":8496,"max":8499},{"min":8510,"max":8511},{"min":8517,"max":8517},{"min":8579,"max":8579},{"min":11264,"max":11311},{"min":11360,"max":11360},{"min":11362,"max":11364},{"min":11367,"max":11367},{"min":11369,"max":11369},{"min":11371,"max":11371},{"min":11373,"max":11376},{"min":11378,"max":11378},{"min":11381,"max":11381},{"min":11390,"max":11392},{"min":11394,"max":11394},{"min":11396,"max":11396},{"min":11398,"max":11398},{"min":11400,"max":11400},{"min":11402,"max":11402},{"min":11404,"max":11404},{"min":11406,"max":11406},{"min":11408,"max":11408},{"min":11410,"max":11410},{"min":11412,"max":11412},{"min":11414,"max":11414},{"min":11416,"max":11416},{"min":11418,"max":11418},{"min":11420,"max":11420},{"min":11422,"max":11422},{"min":11424,"max":11424},{"min":11426,"max":11426},{"min":11428,"max":11428},{"min":11430,"max":11430},{"min":11432,"max":11432},{"min":11434,"max":11434},{"min":11436,"max":11436},{"min":11438,"max":11438},{"min":11440,"max":11440},{"min":11442,"max":11442},{"min":11444,"max":11444},{"min":11446,"max":11446},{"min":11448,"max":11448},{"min":11450,"max":11450},{"min":11452,"max":11452},{"min":11454,"max":11454},{"min":11456,"max":11456},{"min":11458,"max":11458},{"min":11460,"max":11460},{"min":11462,"max":11462},{"min":11464,"max":11464},{"min":11466,"max":11466},{"min":11468,"max":11468},{"min":11470,"max":11470},{"min":11472,"max":11472},{"min":11474,"max":11474},{"min":11476,"max":11476},{"min":11478,"max":11478},{"min":11480,"max":11480},{"min":11482,"max":11482},{"min":11484,"max":11484},{"min":11486,"max":11486},{"min":11488,"max":11488},{"min":11490,"max":11490},{"min":11499,"max":11499},{"min":11501,"max":11501},{"min":11506,"max":11506},{"min":42560,"max":42560},{"min":42562,"max":42562},{"min":42564,"max":42564},{"min":42566,"max":42566},{"min":42568,"max":42568},{"min":42570,"max":42570},{"min":42572,"max":42572},{"min":42574,"max":42574},{"min":42576,"max":42576},{"min":42578,"max":42578},{"min":42580,"max":42580},{"min":42582,"max":42582},{"min":42584,"max":42584},{"min":42586,"max":42586},{"min":42588,"max":42588},{"min":42590,"max":42590},{"min":42592,"max":42592},{"min":42594,"max":42594},{"min":42596,"max":42596},{"min":42598,"max":42598},{"min":42600,"max":42600},{"min":42602,"max":42602},{"min":42604,"max":42604},{"min":42624,"max":42624},{"min":42626,"max":42626},{"min":42628,"max":42628},{"min":42630,"max":42630},{"min":42632,"max":42632},{"min":42634,"max":42634},{"min":42636,"max":42636},{"min":42638,"max":42638},{"min":42640,"max":42640},{"min":42642,"max":42642},{"min":42644,"max":42644},{"min":42646,"max":42646},{"min":42648,"max":42648},{"min":42650,"max":42650},{"min":42786,"max":42786},{"min":42788,"max":42788},{"min":42790,"max":42790},{"min":42792,"max":42792},{"min":42794,"max":42794},{"min":42796,"max":42796},{"min":42798,"max":42798},{"min":42802,"max":42802},{"min":42804,"max":42804},{"min":42806,"max":42806},{"min":42808,"max":42808},{"min":42810,"max":42810},{"min":42812,"max":42812},{"min":42814,"max":42814},{"min":42816,"max":42816},{"min":42818,"max":42818},{"min":42820,"max":42820},{"min":42822,"max":42822},{"min":42824,"max":42824},{"min":42826,"max":42826},{"min":42828,"max":42828},{"min":42830,"max":42830},{"min":42832,"max":42832},{"min":42834,"max":42834},{"min":42836,"max":42836},{"min":42838,"max":42838},{"min":42840,"max":42840},{"min":42842,"max":42842},{"min":42844,"max":42844},{"min":42846,"max":42846},{"min":42848,"max":42848},{"min":42850,"max":42850},{"min":42852,"max":42852},{"min":42854,"max":42854},{"min":42856,"max":42856},{"min":42858,"max":42858},{"min":42860,"max":42860},{"min":42862,"max":42862},{"min":42873,"max":42873},{"min":42875,"max":42875},{"min":42877,"max":42878},{"min":42880,"max":42880},{"min":42882,"max":42882},{"min":42884,"max":42884},{"min":42886,"max":42886},{"min":42891,"max":42891},{"min":42893,"max":42893},{"min":42896,"max":42896},{"min":42898,"max":42898},{"min":42902,"max":42902},{"min":42904,"max":42904},{"min":42906,"max":42906},{"min":42908,"max":42908},{"min":42910,"max":42910},{"min":42912,"max":42912},{"min":42914,"max":42914},{"min":42916,"max":42916},{"min":42918,"max":42918},{"min":42920,"max":42920},{"min":42922,"max":42926},{"min":42928,"max":42932},{"min":42934,"max":42934},{"min":42936,"max":42936},{"min":42938,"max":42938},{"min":42940,"max":42940},{"min":42942,"max":42942},{"min":42944,"max":42944},{"min":42946,"max":42946},{"min":42948,"max":42951},{"min":42953,"max":42953},{"min":42960,"max":42960},{"min":42966,"max":42966},{"min":42968,"max":42968},{"min":42997,"max":42997},{"min":65313,"max":65338},{"min":66560,"max":66599},{"min":66736,"max":66771},{"min":66928,"max":66938},{"min":66940,"max":66954},{"min":66956,"max":66962},{"min":66964,"max":66965},{"min":68736,"max":68786},{"min":71840,"max":71871},{"min":93760,"max":93791},{"min":119808,"max":119833},{"min":119860,"max":119885},{"min":119912,"max":119937},{"min":119964,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119989},{"min":120016,"max":120041},{"min":120068,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120120,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120172,"max":120197},{"min":120224,"max":120249},{"min":120276,"max":120301},{"min":120328,"max":120353},{"min":120380,"max":120405},{"min":120432,"max":120457},{"min":120488,"max":120512},{"min":120546,"max":120570},{"min":120604,"max":120628},{"min":120662,"max":120686},{"min":120720,"max":120744},{"min":120778,"max":120778},{"min":125184,"max":125217}]'); diff --git a/src/js/unicode/index.ts b/src/js/unicode/index.ts deleted file mode 100644 index 214a051c..00000000 --- a/src/js/unicode/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * as Alias from "./alias"; -export * as Binary_Property from "./binary-property-data"; -export * as PropertiesOfStrings from "./properties-of-strings"; -export * as General_Category from "./general-category-data"; -export * as Script from "./script-data"; -export * as Script_Extensions from "./script-extensions-data"; -export * from "./case-folding"; diff --git a/src/js/unicode/properties-of-strings.ts b/src/js/unicode/properties-of-strings.ts deleted file mode 100644 index c473c037..00000000 --- a/src/js/unicode/properties-of-strings.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Exported strings: Basic_Emoji, Emoji_Keycap_Sequence, RGI_Emoji_Modifier_Sequence, RGI_Emoji_Flag_Sequence, RGI_Emoji_Tag_Sequence, RGI_Emoji_ZWJ_Sequence, RGI_Emoji - -import { ReadonlyWord } from "../../char-types"; - - -export const Basic_Emoji: readonly ReadonlyWord[] = JSON.parse('[[8986],[8987],[9193],[9194],[9195],[9196],[9200],[9203],[9725],[9726],[9748],[9749],[9800],[9801],[9802],[9803],[9804],[9805],[9806],[9807],[9808],[9809],[9810],[9811],[9855],[9875],[9889],[9898],[9899],[9917],[9918],[9924],[9925],[9934],[9940],[9962],[9970],[9971],[9973],[9978],[9981],[9989],[9994],[9995],[10024],[10060],[10062],[10067],[10068],[10069],[10071],[10133],[10134],[10135],[10160],[10175],[11035],[11036],[11088],[11093],[126980],[127183],[127374],[127377],[127378],[127379],[127380],[127381],[127382],[127383],[127384],[127385],[127386],[127489],[127514],[127535],[127538],[127539],[127540],[127541],[127542],[127544],[127545],[127546],[127568],[127569],[127744],[127745],[127746],[127747],[127748],[127749],[127750],[127751],[127752],[127753],[127754],[127755],[127756],[127757],[127758],[127759],[127760],[127761],[127762],[127763],[127764],[127765],[127766],[127767],[127768],[127769],[127770],[127771],[127772],[127773],[127774],[127775],[127776],[127789],[127790],[127791],[127792],[127793],[127794],[127795],[127796],[127797],[127799],[127800],[127801],[127802],[127803],[127804],[127805],[127806],[127807],[127808],[127809],[127810],[127811],[127812],[127813],[127814],[127815],[127816],[127817],[127818],[127819],[127820],[127821],[127822],[127823],[127824],[127825],[127826],[127827],[127828],[127829],[127830],[127831],[127832],[127833],[127834],[127835],[127836],[127837],[127838],[127839],[127840],[127841],[127842],[127843],[127844],[127845],[127846],[127847],[127848],[127849],[127850],[127851],[127852],[127853],[127854],[127855],[127856],[127857],[127858],[127859],[127860],[127861],[127862],[127863],[127864],[127865],[127866],[127867],[127868],[127870],[127871],[127872],[127873],[127874],[127875],[127876],[127877],[127878],[127879],[127880],[127881],[127882],[127883],[127884],[127885],[127886],[127887],[127888],[127889],[127890],[127891],[127904],[127905],[127906],[127907],[127908],[127909],[127910],[127911],[127912],[127913],[127914],[127915],[127916],[127917],[127918],[127919],[127920],[127921],[127922],[127923],[127924],[127925],[127926],[127927],[127928],[127929],[127930],[127931],[127932],[127933],[127934],[127935],[127936],[127937],[127938],[127939],[127940],[127941],[127942],[127943],[127944],[127945],[127946],[127951],[127952],[127953],[127954],[127955],[127968],[127969],[127970],[127971],[127972],[127973],[127974],[127975],[127976],[127977],[127978],[127979],[127980],[127981],[127982],[127983],[127984],[127988],[127992],[127993],[127994],[127995],[127996],[127997],[127998],[127999],[128000],[128001],[128002],[128003],[128004],[128005],[128006],[128007],[128008],[128009],[128010],[128011],[128012],[128013],[128014],[128015],[128016],[128017],[128018],[128019],[128020],[128021],[128022],[128023],[128024],[128025],[128026],[128027],[128028],[128029],[128030],[128031],[128032],[128033],[128034],[128035],[128036],[128037],[128038],[128039],[128040],[128041],[128042],[128043],[128044],[128045],[128046],[128047],[128048],[128049],[128050],[128051],[128052],[128053],[128054],[128055],[128056],[128057],[128058],[128059],[128060],[128061],[128062],[128064],[128066],[128067],[128068],[128069],[128070],[128071],[128072],[128073],[128074],[128075],[128076],[128077],[128078],[128079],[128080],[128081],[128082],[128083],[128084],[128085],[128086],[128087],[128088],[128089],[128090],[128091],[128092],[128093],[128094],[128095],[128096],[128097],[128098],[128099],[128100],[128101],[128102],[128103],[128104],[128105],[128106],[128107],[128108],[128109],[128110],[128111],[128112],[128113],[128114],[128115],[128116],[128117],[128118],[128119],[128120],[128121],[128122],[128123],[128124],[128125],[128126],[128127],[128128],[128129],[128130],[128131],[128132],[128133],[128134],[128135],[128136],[128137],[128138],[128139],[128140],[128141],[128142],[128143],[128144],[128145],[128146],[128147],[128148],[128149],[128150],[128151],[128152],[128153],[128154],[128155],[128156],[128157],[128158],[128159],[128160],[128161],[128162],[128163],[128164],[128165],[128166],[128167],[128168],[128169],[128170],[128171],[128172],[128173],[128174],[128175],[128176],[128177],[128178],[128179],[128180],[128181],[128182],[128183],[128184],[128185],[128186],[128187],[128188],[128189],[128190],[128191],[128192],[128193],[128194],[128195],[128196],[128197],[128198],[128199],[128200],[128201],[128202],[128203],[128204],[128205],[128206],[128207],[128208],[128209],[128210],[128211],[128212],[128213],[128214],[128215],[128216],[128217],[128218],[128219],[128220],[128221],[128222],[128223],[128224],[128225],[128226],[128227],[128228],[128229],[128230],[128231],[128232],[128233],[128234],[128235],[128236],[128237],[128238],[128239],[128240],[128241],[128242],[128243],[128244],[128245],[128246],[128247],[128248],[128249],[128250],[128251],[128252],[128255],[128256],[128257],[128258],[128259],[128260],[128261],[128262],[128263],[128264],[128265],[128266],[128267],[128268],[128269],[128270],[128271],[128272],[128273],[128274],[128275],[128276],[128277],[128278],[128279],[128280],[128281],[128282],[128283],[128284],[128285],[128286],[128287],[128288],[128289],[128290],[128291],[128292],[128293],[128294],[128295],[128296],[128297],[128298],[128299],[128300],[128301],[128302],[128303],[128304],[128305],[128306],[128307],[128308],[128309],[128310],[128311],[128312],[128313],[128314],[128315],[128316],[128317],[128331],[128332],[128333],[128334],[128336],[128337],[128338],[128339],[128340],[128341],[128342],[128343],[128344],[128345],[128346],[128347],[128348],[128349],[128350],[128351],[128352],[128353],[128354],[128355],[128356],[128357],[128358],[128359],[128378],[128405],[128406],[128420],[128507],[128508],[128509],[128510],[128511],[128512],[128513],[128514],[128515],[128516],[128517],[128518],[128519],[128520],[128521],[128522],[128523],[128524],[128525],[128526],[128527],[128528],[128529],[128530],[128531],[128532],[128533],[128534],[128535],[128536],[128537],[128538],[128539],[128540],[128541],[128542],[128543],[128544],[128545],[128546],[128547],[128548],[128549],[128550],[128551],[128552],[128553],[128554],[128555],[128556],[128557],[128558],[128559],[128560],[128561],[128562],[128563],[128564],[128565],[128566],[128567],[128568],[128569],[128570],[128571],[128572],[128573],[128574],[128575],[128576],[128577],[128578],[128579],[128580],[128581],[128582],[128583],[128584],[128585],[128586],[128587],[128588],[128589],[128590],[128591],[128640],[128641],[128642],[128643],[128644],[128645],[128646],[128647],[128648],[128649],[128650],[128651],[128652],[128653],[128654],[128655],[128656],[128657],[128658],[128659],[128660],[128661],[128662],[128663],[128664],[128665],[128666],[128667],[128668],[128669],[128670],[128671],[128672],[128673],[128674],[128675],[128676],[128677],[128678],[128679],[128680],[128681],[128682],[128683],[128684],[128685],[128686],[128687],[128688],[128689],[128690],[128691],[128692],[128693],[128694],[128695],[128696],[128697],[128698],[128699],[128700],[128701],[128702],[128703],[128704],[128705],[128706],[128707],[128708],[128709],[128716],[128720],[128721],[128722],[128725],[128726],[128727],[128732],[128733],[128734],[128735],[128747],[128748],[128756],[128757],[128758],[128759],[128760],[128761],[128762],[128763],[128764],[128992],[128993],[128994],[128995],[128996],[128997],[128998],[128999],[129000],[129001],[129002],[129003],[129008],[129292],[129293],[129294],[129295],[129296],[129297],[129298],[129299],[129300],[129301],[129302],[129303],[129304],[129305],[129306],[129307],[129308],[129309],[129310],[129311],[129312],[129313],[129314],[129315],[129316],[129317],[129318],[129319],[129320],[129321],[129322],[129323],[129324],[129325],[129326],[129327],[129328],[129329],[129330],[129331],[129332],[129333],[129334],[129335],[129336],[129337],[129338],[129340],[129341],[129342],[129343],[129344],[129345],[129346],[129347],[129348],[129349],[129351],[129352],[129353],[129354],[129355],[129356],[129357],[129358],[129359],[129360],[129361],[129362],[129363],[129364],[129365],[129366],[129367],[129368],[129369],[129370],[129371],[129372],[129373],[129374],[129375],[129376],[129377],[129378],[129379],[129380],[129381],[129382],[129383],[129384],[129385],[129386],[129387],[129388],[129389],[129390],[129391],[129392],[129393],[129394],[129395],[129396],[129397],[129398],[129399],[129400],[129401],[129402],[129403],[129404],[129405],[129406],[129407],[129408],[129409],[129410],[129411],[129412],[129413],[129414],[129415],[129416],[129417],[129418],[129419],[129420],[129421],[129422],[129423],[129424],[129425],[129426],[129427],[129428],[129429],[129430],[129431],[129432],[129433],[129434],[129435],[129436],[129437],[129438],[129439],[129440],[129441],[129442],[129443],[129444],[129445],[129446],[129447],[129448],[129449],[129450],[129451],[129452],[129453],[129454],[129455],[129456],[129457],[129458],[129459],[129460],[129461],[129462],[129463],[129464],[129465],[129466],[129467],[129468],[129469],[129470],[129471],[129472],[129473],[129474],[129475],[129476],[129477],[129478],[129479],[129480],[129481],[129482],[129483],[129484],[129485],[129486],[129487],[129488],[129489],[129490],[129491],[129492],[129493],[129494],[129495],[129496],[129497],[129498],[129499],[129500],[129501],[129502],[129503],[129504],[129505],[129506],[129507],[129508],[129509],[129510],[129511],[129512],[129513],[129514],[129515],[129516],[129517],[129518],[129519],[129520],[129521],[129522],[129523],[129524],[129525],[129526],[129527],[129528],[129529],[129530],[129531],[129532],[129533],[129534],[129535],[129648],[129649],[129650],[129651],[129652],[129653],[129654],[129655],[129656],[129657],[129658],[129659],[129660],[129664],[129665],[129666],[129667],[129668],[129669],[129670],[129671],[129672],[129680],[129681],[129682],[129683],[129684],[129685],[129686],[129687],[129688],[129689],[129690],[129691],[129692],[129693],[129694],[129695],[129696],[129697],[129698],[129699],[129700],[129701],[129702],[129703],[129704],[129705],[129706],[129707],[129708],[129709],[129710],[129711],[129712],[129713],[129714],[129715],[129716],[129717],[129718],[129719],[129720],[129721],[129722],[129723],[129724],[129725],[129727],[129728],[129729],[129730],[129731],[129732],[129733],[129742],[129743],[129744],[129745],[129746],[129747],[129748],[129749],[129750],[129751],[129752],[129753],[129754],[129755],[129760],[129761],[129762],[129763],[129764],[129765],[129766],[129767],[129768],[129776],[129777],[129778],[129779],[129780],[129781],[129782],[129783],[129784],[169,65039],[174,65039],[8252,65039],[8265,65039],[8482,65039],[8505,65039],[8596,65039],[8597,65039],[8598,65039],[8599,65039],[8600,65039],[8601,65039],[8617,65039],[8618,65039],[9000,65039],[9167,65039],[9197,65039],[9198,65039],[9199,65039],[9201,65039],[9202,65039],[9208,65039],[9209,65039],[9210,65039],[9410,65039],[9642,65039],[9643,65039],[9654,65039],[9664,65039],[9723,65039],[9724,65039],[9728,65039],[9729,65039],[9730,65039],[9731,65039],[9732,65039],[9742,65039],[9745,65039],[9752,65039],[9757,65039],[9760,65039],[9762,65039],[9763,65039],[9766,65039],[9770,65039],[9774,65039],[9775,65039],[9784,65039],[9785,65039],[9786,65039],[9792,65039],[9794,65039],[9823,65039],[9824,65039],[9827,65039],[9829,65039],[9830,65039],[9832,65039],[9851,65039],[9854,65039],[9874,65039],[9876,65039],[9877,65039],[9878,65039],[9879,65039],[9881,65039],[9883,65039],[9884,65039],[9888,65039],[9895,65039],[9904,65039],[9905,65039],[9928,65039],[9935,65039],[9937,65039],[9939,65039],[9961,65039],[9968,65039],[9969,65039],[9972,65039],[9975,65039],[9976,65039],[9977,65039],[9986,65039],[9992,65039],[9993,65039],[9996,65039],[9997,65039],[9999,65039],[10002,65039],[10004,65039],[10006,65039],[10013,65039],[10017,65039],[10035,65039],[10036,65039],[10052,65039],[10055,65039],[10083,65039],[10084,65039],[10145,65039],[10548,65039],[10549,65039],[11013,65039],[11014,65039],[11015,65039],[12336,65039],[12349,65039],[12951,65039],[12953,65039],[127344,65039],[127345,65039],[127358,65039],[127359,65039],[127490,65039],[127543,65039],[127777,65039],[127780,65039],[127781,65039],[127782,65039],[127783,65039],[127784,65039],[127785,65039],[127786,65039],[127787,65039],[127788,65039],[127798,65039],[127869,65039],[127894,65039],[127895,65039],[127897,65039],[127898,65039],[127899,65039],[127902,65039],[127903,65039],[127947,65039],[127948,65039],[127949,65039],[127950,65039],[127956,65039],[127957,65039],[127958,65039],[127959,65039],[127960,65039],[127961,65039],[127962,65039],[127963,65039],[127964,65039],[127965,65039],[127966,65039],[127967,65039],[127987,65039],[127989,65039],[127991,65039],[128063,65039],[128065,65039],[128253,65039],[128329,65039],[128330,65039],[128367,65039],[128368,65039],[128371,65039],[128372,65039],[128373,65039],[128374,65039],[128375,65039],[128376,65039],[128377,65039],[128391,65039],[128394,65039],[128395,65039],[128396,65039],[128397,65039],[128400,65039],[128421,65039],[128424,65039],[128433,65039],[128434,65039],[128444,65039],[128450,65039],[128451,65039],[128452,65039],[128465,65039],[128466,65039],[128467,65039],[128476,65039],[128477,65039],[128478,65039],[128481,65039],[128483,65039],[128488,65039],[128495,65039],[128499,65039],[128506,65039],[128715,65039],[128717,65039],[128718,65039],[128719,65039],[128736,65039],[128737,65039],[128738,65039],[128739,65039],[128740,65039],[128741,65039],[128745,65039],[128752,65039],[128755,65039]]'); -export const Emoji_Keycap_Sequence: readonly ReadonlyWord[] = JSON.parse('[[35,65039,8419],[42,65039,8419],[48,65039,8419],[49,65039,8419],[50,65039,8419],[51,65039,8419],[52,65039,8419],[53,65039,8419],[54,65039,8419],[55,65039,8419],[56,65039,8419],[57,65039,8419]]'); -export const RGI_Emoji_Modifier_Sequence: readonly ReadonlyWord[] = JSON.parse('[[9757,127995],[9757,127996],[9757,127997],[9757,127998],[9757,127999],[9977,127995],[9977,127996],[9977,127997],[9977,127998],[9977,127999],[9994,127995],[9994,127996],[9994,127997],[9994,127998],[9994,127999],[9995,127995],[9995,127996],[9995,127997],[9995,127998],[9995,127999],[9996,127995],[9996,127996],[9996,127997],[9996,127998],[9996,127999],[9997,127995],[9997,127996],[9997,127997],[9997,127998],[9997,127999],[127877,127995],[127877,127996],[127877,127997],[127877,127998],[127877,127999],[127938,127995],[127938,127996],[127938,127997],[127938,127998],[127938,127999],[127939,127995],[127939,127996],[127939,127997],[127939,127998],[127939,127999],[127940,127995],[127940,127996],[127940,127997],[127940,127998],[127940,127999],[127943,127995],[127943,127996],[127943,127997],[127943,127998],[127943,127999],[127946,127995],[127946,127996],[127946,127997],[127946,127998],[127946,127999],[127947,127995],[127947,127996],[127947,127997],[127947,127998],[127947,127999],[127948,127995],[127948,127996],[127948,127997],[127948,127998],[127948,127999],[128066,127995],[128066,127996],[128066,127997],[128066,127998],[128066,127999],[128067,127995],[128067,127996],[128067,127997],[128067,127998],[128067,127999],[128070,127995],[128070,127996],[128070,127997],[128070,127998],[128070,127999],[128071,127995],[128071,127996],[128071,127997],[128071,127998],[128071,127999],[128072,127995],[128072,127996],[128072,127997],[128072,127998],[128072,127999],[128073,127995],[128073,127996],[128073,127997],[128073,127998],[128073,127999],[128074,127995],[128074,127996],[128074,127997],[128074,127998],[128074,127999],[128075,127995],[128075,127996],[128075,127997],[128075,127998],[128075,127999],[128076,127995],[128076,127996],[128076,127997],[128076,127998],[128076,127999],[128077,127995],[128077,127996],[128077,127997],[128077,127998],[128077,127999],[128078,127995],[128078,127996],[128078,127997],[128078,127998],[128078,127999],[128079,127995],[128079,127996],[128079,127997],[128079,127998],[128079,127999],[128080,127995],[128080,127996],[128080,127997],[128080,127998],[128080,127999],[128102,127995],[128102,127996],[128102,127997],[128102,127998],[128102,127999],[128103,127995],[128103,127996],[128103,127997],[128103,127998],[128103,127999],[128104,127995],[128104,127996],[128104,127997],[128104,127998],[128104,127999],[128105,127995],[128105,127996],[128105,127997],[128105,127998],[128105,127999],[128107,127995],[128107,127996],[128107,127997],[128107,127998],[128107,127999],[128108,127995],[128108,127996],[128108,127997],[128108,127998],[128108,127999],[128109,127995],[128109,127996],[128109,127997],[128109,127998],[128109,127999],[128110,127995],[128110,127996],[128110,127997],[128110,127998],[128110,127999],[128112,127995],[128112,127996],[128112,127997],[128112,127998],[128112,127999],[128113,127995],[128113,127996],[128113,127997],[128113,127998],[128113,127999],[128114,127995],[128114,127996],[128114,127997],[128114,127998],[128114,127999],[128115,127995],[128115,127996],[128115,127997],[128115,127998],[128115,127999],[128116,127995],[128116,127996],[128116,127997],[128116,127998],[128116,127999],[128117,127995],[128117,127996],[128117,127997],[128117,127998],[128117,127999],[128118,127995],[128118,127996],[128118,127997],[128118,127998],[128118,127999],[128119,127995],[128119,127996],[128119,127997],[128119,127998],[128119,127999],[128120,127995],[128120,127996],[128120,127997],[128120,127998],[128120,127999],[128124,127995],[128124,127996],[128124,127997],[128124,127998],[128124,127999],[128129,127995],[128129,127996],[128129,127997],[128129,127998],[128129,127999],[128130,127995],[128130,127996],[128130,127997],[128130,127998],[128130,127999],[128131,127995],[128131,127996],[128131,127997],[128131,127998],[128131,127999],[128133,127995],[128133,127996],[128133,127997],[128133,127998],[128133,127999],[128134,127995],[128134,127996],[128134,127997],[128134,127998],[128134,127999],[128135,127995],[128135,127996],[128135,127997],[128135,127998],[128135,127999],[128143,127995],[128143,127996],[128143,127997],[128143,127998],[128143,127999],[128145,127995],[128145,127996],[128145,127997],[128145,127998],[128145,127999],[128170,127995],[128170,127996],[128170,127997],[128170,127998],[128170,127999],[128372,127995],[128372,127996],[128372,127997],[128372,127998],[128372,127999],[128373,127995],[128373,127996],[128373,127997],[128373,127998],[128373,127999],[128378,127995],[128378,127996],[128378,127997],[128378,127998],[128378,127999],[128400,127995],[128400,127996],[128400,127997],[128400,127998],[128400,127999],[128405,127995],[128405,127996],[128405,127997],[128405,127998],[128405,127999],[128406,127995],[128406,127996],[128406,127997],[128406,127998],[128406,127999],[128581,127995],[128581,127996],[128581,127997],[128581,127998],[128581,127999],[128582,127995],[128582,127996],[128582,127997],[128582,127998],[128582,127999],[128583,127995],[128583,127996],[128583,127997],[128583,127998],[128583,127999],[128587,127995],[128587,127996],[128587,127997],[128587,127998],[128587,127999],[128588,127995],[128588,127996],[128588,127997],[128588,127998],[128588,127999],[128589,127995],[128589,127996],[128589,127997],[128589,127998],[128589,127999],[128590,127995],[128590,127996],[128590,127997],[128590,127998],[128590,127999],[128591,127995],[128591,127996],[128591,127997],[128591,127998],[128591,127999],[128675,127995],[128675,127996],[128675,127997],[128675,127998],[128675,127999],[128692,127995],[128692,127996],[128692,127997],[128692,127998],[128692,127999],[128693,127995],[128693,127996],[128693,127997],[128693,127998],[128693,127999],[128694,127995],[128694,127996],[128694,127997],[128694,127998],[128694,127999],[128704,127995],[128704,127996],[128704,127997],[128704,127998],[128704,127999],[128716,127995],[128716,127996],[128716,127997],[128716,127998],[128716,127999],[129292,127995],[129292,127996],[129292,127997],[129292,127998],[129292,127999],[129295,127995],[129295,127996],[129295,127997],[129295,127998],[129295,127999],[129304,127995],[129304,127996],[129304,127997],[129304,127998],[129304,127999],[129305,127995],[129305,127996],[129305,127997],[129305,127998],[129305,127999],[129306,127995],[129306,127996],[129306,127997],[129306,127998],[129306,127999],[129307,127995],[129307,127996],[129307,127997],[129307,127998],[129307,127999],[129308,127995],[129308,127996],[129308,127997],[129308,127998],[129308,127999],[129309,127995],[129309,127996],[129309,127997],[129309,127998],[129309,127999],[129310,127995],[129310,127996],[129310,127997],[129310,127998],[129310,127999],[129311,127995],[129311,127996],[129311,127997],[129311,127998],[129311,127999],[129318,127995],[129318,127996],[129318,127997],[129318,127998],[129318,127999],[129328,127995],[129328,127996],[129328,127997],[129328,127998],[129328,127999],[129329,127995],[129329,127996],[129329,127997],[129329,127998],[129329,127999],[129330,127995],[129330,127996],[129330,127997],[129330,127998],[129330,127999],[129331,127995],[129331,127996],[129331,127997],[129331,127998],[129331,127999],[129332,127995],[129332,127996],[129332,127997],[129332,127998],[129332,127999],[129333,127995],[129333,127996],[129333,127997],[129333,127998],[129333,127999],[129334,127995],[129334,127996],[129334,127997],[129334,127998],[129334,127999],[129335,127995],[129335,127996],[129335,127997],[129335,127998],[129335,127999],[129336,127995],[129336,127996],[129336,127997],[129336,127998],[129336,127999],[129337,127995],[129337,127996],[129337,127997],[129337,127998],[129337,127999],[129341,127995],[129341,127996],[129341,127997],[129341,127998],[129341,127999],[129342,127995],[129342,127996],[129342,127997],[129342,127998],[129342,127999],[129399,127995],[129399,127996],[129399,127997],[129399,127998],[129399,127999],[129461,127995],[129461,127996],[129461,127997],[129461,127998],[129461,127999],[129462,127995],[129462,127996],[129462,127997],[129462,127998],[129462,127999],[129464,127995],[129464,127996],[129464,127997],[129464,127998],[129464,127999],[129465,127995],[129465,127996],[129465,127997],[129465,127998],[129465,127999],[129467,127995],[129467,127996],[129467,127997],[129467,127998],[129467,127999],[129485,127995],[129485,127996],[129485,127997],[129485,127998],[129485,127999],[129486,127995],[129486,127996],[129486,127997],[129486,127998],[129486,127999],[129487,127995],[129487,127996],[129487,127997],[129487,127998],[129487,127999],[129489,127995],[129489,127996],[129489,127997],[129489,127998],[129489,127999],[129490,127995],[129490,127996],[129490,127997],[129490,127998],[129490,127999],[129491,127995],[129491,127996],[129491,127997],[129491,127998],[129491,127999],[129492,127995],[129492,127996],[129492,127997],[129492,127998],[129492,127999],[129493,127995],[129493,127996],[129493,127997],[129493,127998],[129493,127999],[129494,127995],[129494,127996],[129494,127997],[129494,127998],[129494,127999],[129495,127995],[129495,127996],[129495,127997],[129495,127998],[129495,127999],[129496,127995],[129496,127996],[129496,127997],[129496,127998],[129496,127999],[129497,127995],[129497,127996],[129497,127997],[129497,127998],[129497,127999],[129498,127995],[129498,127996],[129498,127997],[129498,127998],[129498,127999],[129499,127995],[129499,127996],[129499,127997],[129499,127998],[129499,127999],[129500,127995],[129500,127996],[129500,127997],[129500,127998],[129500,127999],[129501,127995],[129501,127996],[129501,127997],[129501,127998],[129501,127999],[129731,127995],[129731,127996],[129731,127997],[129731,127998],[129731,127999],[129732,127995],[129732,127996],[129732,127997],[129732,127998],[129732,127999],[129733,127995],[129733,127996],[129733,127997],[129733,127998],[129733,127999],[129776,127995],[129776,127996],[129776,127997],[129776,127998],[129776,127999],[129777,127995],[129777,127996],[129777,127997],[129777,127998],[129777,127999],[129778,127995],[129778,127996],[129778,127997],[129778,127998],[129778,127999],[129779,127995],[129779,127996],[129779,127997],[129779,127998],[129779,127999],[129780,127995],[129780,127996],[129780,127997],[129780,127998],[129780,127999],[129781,127995],[129781,127996],[129781,127997],[129781,127998],[129781,127999],[129782,127995],[129782,127996],[129782,127997],[129782,127998],[129782,127999],[129783,127995],[129783,127996],[129783,127997],[129783,127998],[129783,127999],[129784,127995],[129784,127996],[129784,127997],[129784,127998],[129784,127999]]'); -export const RGI_Emoji_Flag_Sequence: readonly ReadonlyWord[] = JSON.parse('[[127462,127464],[127462,127465],[127462,127466],[127462,127467],[127462,127468],[127462,127470],[127462,127473],[127462,127474],[127462,127476],[127462,127478],[127462,127479],[127462,127480],[127462,127481],[127462,127482],[127462,127484],[127462,127485],[127462,127487],[127463,127462],[127463,127463],[127463,127465],[127463,127466],[127463,127467],[127463,127468],[127463,127469],[127463,127470],[127463,127471],[127463,127473],[127463,127474],[127463,127475],[127463,127476],[127463,127478],[127463,127479],[127463,127480],[127463,127481],[127463,127483],[127463,127484],[127463,127486],[127463,127487],[127464,127462],[127464,127464],[127464,127465],[127464,127467],[127464,127468],[127464,127469],[127464,127470],[127464,127472],[127464,127473],[127464,127474],[127464,127475],[127464,127476],[127464,127477],[127464,127479],[127464,127482],[127464,127483],[127464,127484],[127464,127485],[127464,127486],[127464,127487],[127465,127466],[127465,127468],[127465,127471],[127465,127472],[127465,127474],[127465,127476],[127465,127487],[127466,127462],[127466,127464],[127466,127466],[127466,127468],[127466,127469],[127466,127479],[127466,127480],[127466,127481],[127466,127482],[127467,127470],[127467,127471],[127467,127472],[127467,127474],[127467,127476],[127467,127479],[127468,127462],[127468,127463],[127468,127465],[127468,127466],[127468,127467],[127468,127468],[127468,127469],[127468,127470],[127468,127473],[127468,127474],[127468,127475],[127468,127477],[127468,127478],[127468,127479],[127468,127480],[127468,127481],[127468,127482],[127468,127484],[127468,127486],[127469,127472],[127469,127474],[127469,127475],[127469,127479],[127469,127481],[127469,127482],[127470,127464],[127470,127465],[127470,127466],[127470,127473],[127470,127474],[127470,127475],[127470,127476],[127470,127478],[127470,127479],[127470,127480],[127470,127481],[127471,127466],[127471,127474],[127471,127476],[127471,127477],[127472,127466],[127472,127468],[127472,127469],[127472,127470],[127472,127474],[127472,127475],[127472,127477],[127472,127479],[127472,127484],[127472,127486],[127472,127487],[127473,127462],[127473,127463],[127473,127464],[127473,127470],[127473,127472],[127473,127479],[127473,127480],[127473,127481],[127473,127482],[127473,127483],[127473,127486],[127474,127462],[127474,127464],[127474,127465],[127474,127466],[127474,127467],[127474,127468],[127474,127469],[127474,127472],[127474,127473],[127474,127474],[127474,127475],[127474,127476],[127474,127477],[127474,127478],[127474,127479],[127474,127480],[127474,127481],[127474,127482],[127474,127483],[127474,127484],[127474,127485],[127474,127486],[127474,127487],[127475,127462],[127475,127464],[127475,127466],[127475,127467],[127475,127468],[127475,127470],[127475,127473],[127475,127476],[127475,127477],[127475,127479],[127475,127482],[127475,127487],[127476,127474],[127477,127462],[127477,127466],[127477,127467],[127477,127468],[127477,127469],[127477,127472],[127477,127473],[127477,127474],[127477,127475],[127477,127479],[127477,127480],[127477,127481],[127477,127484],[127477,127486],[127478,127462],[127479,127466],[127479,127476],[127479,127480],[127479,127482],[127479,127484],[127480,127462],[127480,127463],[127480,127464],[127480,127465],[127480,127466],[127480,127468],[127480,127469],[127480,127470],[127480,127471],[127480,127472],[127480,127473],[127480,127474],[127480,127475],[127480,127476],[127480,127479],[127480,127480],[127480,127481],[127480,127483],[127480,127485],[127480,127486],[127480,127487],[127481,127462],[127481,127464],[127481,127465],[127481,127467],[127481,127468],[127481,127469],[127481,127471],[127481,127472],[127481,127473],[127481,127474],[127481,127475],[127481,127476],[127481,127479],[127481,127481],[127481,127483],[127481,127484],[127481,127487],[127482,127462],[127482,127468],[127482,127474],[127482,127475],[127482,127480],[127482,127486],[127482,127487],[127483,127462],[127483,127464],[127483,127466],[127483,127468],[127483,127470],[127483,127475],[127483,127482],[127484,127467],[127484,127480],[127485,127472],[127486,127466],[127486,127481],[127487,127462],[127487,127474],[127487,127484]]'); -export const RGI_Emoji_Tag_Sequence: readonly ReadonlyWord[] = JSON.parse('[[127988,917607,917602,917605,917614,917607,917631],[127988,917607,917602,917619,917603,917620,917631],[127988,917607,917602,917623,917612,917619,917631]]'); -export const RGI_Emoji_ZWJ_Sequence: readonly ReadonlyWord[] = JSON.parse('[[128008,8205,11035],[128021,8205,129466],[128038,8205,11035],[128104,8205,127806],[128104,8205,127859],[128104,8205,127868],[128104,8205,127891],[128104,8205,127908],[128104,8205,127912],[128104,8205,127979],[128104,8205,127981],[128104,8205,128102],[128104,8205,128103],[128104,8205,128187],[128104,8205,128188],[128104,8205,128295],[128104,8205,128300],[128104,8205,128640],[128104,8205,128658],[128104,8205,129455],[128104,8205,129456],[128104,8205,129457],[128104,8205,129458],[128104,8205,129459],[128104,8205,129468],[128104,8205,129469],[128105,8205,127806],[128105,8205,127859],[128105,8205,127868],[128105,8205,127891],[128105,8205,127908],[128105,8205,127912],[128105,8205,127979],[128105,8205,127981],[128105,8205,128102],[128105,8205,128103],[128105,8205,128187],[128105,8205,128188],[128105,8205,128295],[128105,8205,128300],[128105,8205,128640],[128105,8205,128658],[128105,8205,129455],[128105,8205,129456],[128105,8205,129457],[128105,8205,129458],[128105,8205,129459],[128105,8205,129468],[128105,8205,129469],[128558,8205,128168],[128565,8205,128171],[129489,8205,127806],[129489,8205,127859],[129489,8205,127868],[129489,8205,127876],[129489,8205,127891],[129489,8205,127908],[129489,8205,127912],[129489,8205,127979],[129489,8205,127981],[129489,8205,128187],[129489,8205,128188],[129489,8205,128295],[129489,8205,128300],[129489,8205,128640],[129489,8205,128658],[129489,8205,129455],[129489,8205,129456],[129489,8205,129457],[129489,8205,129458],[129489,8205,129459],[129489,8205,129468],[129489,8205,129469],[10084,65039,8205,128293],[10084,65039,8205,129657],[127939,8205,9792,65039],[127939,8205,9794,65039],[127940,8205,9792,65039],[127940,8205,9794,65039],[127946,8205,9792,65039],[127946,8205,9794,65039],[127987,65039,8205,127752],[127988,8205,9760,65039],[128059,8205,10052,65039],[128104,8205,9877,65039],[128104,8205,9878,65039],[128104,8205,9992,65039],[128104,127995,8205,127806],[128104,127995,8205,127859],[128104,127995,8205,127868],[128104,127995,8205,127891],[128104,127995,8205,127908],[128104,127995,8205,127912],[128104,127995,8205,127979],[128104,127995,8205,127981],[128104,127995,8205,128187],[128104,127995,8205,128188],[128104,127995,8205,128295],[128104,127995,8205,128300],[128104,127995,8205,128640],[128104,127995,8205,128658],[128104,127995,8205,129455],[128104,127995,8205,129456],[128104,127995,8205,129457],[128104,127995,8205,129458],[128104,127995,8205,129459],[128104,127995,8205,129468],[128104,127995,8205,129469],[128104,127996,8205,127806],[128104,127996,8205,127859],[128104,127996,8205,127868],[128104,127996,8205,127891],[128104,127996,8205,127908],[128104,127996,8205,127912],[128104,127996,8205,127979],[128104,127996,8205,127981],[128104,127996,8205,128187],[128104,127996,8205,128188],[128104,127996,8205,128295],[128104,127996,8205,128300],[128104,127996,8205,128640],[128104,127996,8205,128658],[128104,127996,8205,129455],[128104,127996,8205,129456],[128104,127996,8205,129457],[128104,127996,8205,129458],[128104,127996,8205,129459],[128104,127996,8205,129468],[128104,127996,8205,129469],[128104,127997,8205,127806],[128104,127997,8205,127859],[128104,127997,8205,127868],[128104,127997,8205,127891],[128104,127997,8205,127908],[128104,127997,8205,127912],[128104,127997,8205,127979],[128104,127997,8205,127981],[128104,127997,8205,128187],[128104,127997,8205,128188],[128104,127997,8205,128295],[128104,127997,8205,128300],[128104,127997,8205,128640],[128104,127997,8205,128658],[128104,127997,8205,129455],[128104,127997,8205,129456],[128104,127997,8205,129457],[128104,127997,8205,129458],[128104,127997,8205,129459],[128104,127997,8205,129468],[128104,127997,8205,129469],[128104,127998,8205,127806],[128104,127998,8205,127859],[128104,127998,8205,127868],[128104,127998,8205,127891],[128104,127998,8205,127908],[128104,127998,8205,127912],[128104,127998,8205,127979],[128104,127998,8205,127981],[128104,127998,8205,128187],[128104,127998,8205,128188],[128104,127998,8205,128295],[128104,127998,8205,128300],[128104,127998,8205,128640],[128104,127998,8205,128658],[128104,127998,8205,129455],[128104,127998,8205,129456],[128104,127998,8205,129457],[128104,127998,8205,129458],[128104,127998,8205,129459],[128104,127998,8205,129468],[128104,127998,8205,129469],[128104,127999,8205,127806],[128104,127999,8205,127859],[128104,127999,8205,127868],[128104,127999,8205,127891],[128104,127999,8205,127908],[128104,127999,8205,127912],[128104,127999,8205,127979],[128104,127999,8205,127981],[128104,127999,8205,128187],[128104,127999,8205,128188],[128104,127999,8205,128295],[128104,127999,8205,128300],[128104,127999,8205,128640],[128104,127999,8205,128658],[128104,127999,8205,129455],[128104,127999,8205,129456],[128104,127999,8205,129457],[128104,127999,8205,129458],[128104,127999,8205,129459],[128104,127999,8205,129468],[128104,127999,8205,129469],[128105,8205,9877,65039],[128105,8205,9878,65039],[128105,8205,9992,65039],[128105,127995,8205,127806],[128105,127995,8205,127859],[128105,127995,8205,127868],[128105,127995,8205,127891],[128105,127995,8205,127908],[128105,127995,8205,127912],[128105,127995,8205,127979],[128105,127995,8205,127981],[128105,127995,8205,128187],[128105,127995,8205,128188],[128105,127995,8205,128295],[128105,127995,8205,128300],[128105,127995,8205,128640],[128105,127995,8205,128658],[128105,127995,8205,129455],[128105,127995,8205,129456],[128105,127995,8205,129457],[128105,127995,8205,129458],[128105,127995,8205,129459],[128105,127995,8205,129468],[128105,127995,8205,129469],[128105,127996,8205,127806],[128105,127996,8205,127859],[128105,127996,8205,127868],[128105,127996,8205,127891],[128105,127996,8205,127908],[128105,127996,8205,127912],[128105,127996,8205,127979],[128105,127996,8205,127981],[128105,127996,8205,128187],[128105,127996,8205,128188],[128105,127996,8205,128295],[128105,127996,8205,128300],[128105,127996,8205,128640],[128105,127996,8205,128658],[128105,127996,8205,129455],[128105,127996,8205,129456],[128105,127996,8205,129457],[128105,127996,8205,129458],[128105,127996,8205,129459],[128105,127996,8205,129468],[128105,127996,8205,129469],[128105,127997,8205,127806],[128105,127997,8205,127859],[128105,127997,8205,127868],[128105,127997,8205,127891],[128105,127997,8205,127908],[128105,127997,8205,127912],[128105,127997,8205,127979],[128105,127997,8205,127981],[128105,127997,8205,128187],[128105,127997,8205,128188],[128105,127997,8205,128295],[128105,127997,8205,128300],[128105,127997,8205,128640],[128105,127997,8205,128658],[128105,127997,8205,129455],[128105,127997,8205,129456],[128105,127997,8205,129457],[128105,127997,8205,129458],[128105,127997,8205,129459],[128105,127997,8205,129468],[128105,127997,8205,129469],[128105,127998,8205,127806],[128105,127998,8205,127859],[128105,127998,8205,127868],[128105,127998,8205,127891],[128105,127998,8205,127908],[128105,127998,8205,127912],[128105,127998,8205,127979],[128105,127998,8205,127981],[128105,127998,8205,128187],[128105,127998,8205,128188],[128105,127998,8205,128295],[128105,127998,8205,128300],[128105,127998,8205,128640],[128105,127998,8205,128658],[128105,127998,8205,129455],[128105,127998,8205,129456],[128105,127998,8205,129457],[128105,127998,8205,129458],[128105,127998,8205,129459],[128105,127998,8205,129468],[128105,127998,8205,129469],[128105,127999,8205,127806],[128105,127999,8205,127859],[128105,127999,8205,127868],[128105,127999,8205,127891],[128105,127999,8205,127908],[128105,127999,8205,127912],[128105,127999,8205,127979],[128105,127999,8205,127981],[128105,127999,8205,128187],[128105,127999,8205,128188],[128105,127999,8205,128295],[128105,127999,8205,128300],[128105,127999,8205,128640],[128105,127999,8205,128658],[128105,127999,8205,129455],[128105,127999,8205,129456],[128105,127999,8205,129457],[128105,127999,8205,129458],[128105,127999,8205,129459],[128105,127999,8205,129468],[128105,127999,8205,129469],[128110,8205,9792,65039],[128110,8205,9794,65039],[128111,8205,9792,65039],[128111,8205,9794,65039],[128112,8205,9792,65039],[128112,8205,9794,65039],[128113,8205,9792,65039],[128113,8205,9794,65039],[128115,8205,9792,65039],[128115,8205,9794,65039],[128119,8205,9792,65039],[128119,8205,9794,65039],[128129,8205,9792,65039],[128129,8205,9794,65039],[128130,8205,9792,65039],[128130,8205,9794,65039],[128134,8205,9792,65039],[128134,8205,9794,65039],[128135,8205,9792,65039],[128135,8205,9794,65039],[128566,8205,127787,65039],[128581,8205,9792,65039],[128581,8205,9794,65039],[128582,8205,9792,65039],[128582,8205,9794,65039],[128583,8205,9792,65039],[128583,8205,9794,65039],[128587,8205,9792,65039],[128587,8205,9794,65039],[128589,8205,9792,65039],[128589,8205,9794,65039],[128590,8205,9792,65039],[128590,8205,9794,65039],[128675,8205,9792,65039],[128675,8205,9794,65039],[128692,8205,9792,65039],[128692,8205,9794,65039],[128693,8205,9792,65039],[128693,8205,9794,65039],[128694,8205,9792,65039],[128694,8205,9794,65039],[129318,8205,9792,65039],[129318,8205,9794,65039],[129333,8205,9792,65039],[129333,8205,9794,65039],[129335,8205,9792,65039],[129335,8205,9794,65039],[129336,8205,9792,65039],[129336,8205,9794,65039],[129337,8205,9792,65039],[129337,8205,9794,65039],[129340,8205,9792,65039],[129340,8205,9794,65039],[129341,8205,9792,65039],[129341,8205,9794,65039],[129342,8205,9792,65039],[129342,8205,9794,65039],[129464,8205,9792,65039],[129464,8205,9794,65039],[129465,8205,9792,65039],[129465,8205,9794,65039],[129485,8205,9792,65039],[129485,8205,9794,65039],[129486,8205,9792,65039],[129486,8205,9794,65039],[129487,8205,9792,65039],[129487,8205,9794,65039],[129489,8205,9877,65039],[129489,8205,9878,65039],[129489,8205,9992,65039],[129489,127995,8205,127806],[129489,127995,8205,127859],[129489,127995,8205,127868],[129489,127995,8205,127876],[129489,127995,8205,127891],[129489,127995,8205,127908],[129489,127995,8205,127912],[129489,127995,8205,127979],[129489,127995,8205,127981],[129489,127995,8205,128187],[129489,127995,8205,128188],[129489,127995,8205,128295],[129489,127995,8205,128300],[129489,127995,8205,128640],[129489,127995,8205,128658],[129489,127995,8205,129455],[129489,127995,8205,129456],[129489,127995,8205,129457],[129489,127995,8205,129458],[129489,127995,8205,129459],[129489,127995,8205,129468],[129489,127995,8205,129469],[129489,127996,8205,127806],[129489,127996,8205,127859],[129489,127996,8205,127868],[129489,127996,8205,127876],[129489,127996,8205,127891],[129489,127996,8205,127908],[129489,127996,8205,127912],[129489,127996,8205,127979],[129489,127996,8205,127981],[129489,127996,8205,128187],[129489,127996,8205,128188],[129489,127996,8205,128295],[129489,127996,8205,128300],[129489,127996,8205,128640],[129489,127996,8205,128658],[129489,127996,8205,129455],[129489,127996,8205,129456],[129489,127996,8205,129457],[129489,127996,8205,129458],[129489,127996,8205,129459],[129489,127996,8205,129468],[129489,127996,8205,129469],[129489,127997,8205,127806],[129489,127997,8205,127859],[129489,127997,8205,127868],[129489,127997,8205,127876],[129489,127997,8205,127891],[129489,127997,8205,127908],[129489,127997,8205,127912],[129489,127997,8205,127979],[129489,127997,8205,127981],[129489,127997,8205,128187],[129489,127997,8205,128188],[129489,127997,8205,128295],[129489,127997,8205,128300],[129489,127997,8205,128640],[129489,127997,8205,128658],[129489,127997,8205,129455],[129489,127997,8205,129456],[129489,127997,8205,129457],[129489,127997,8205,129458],[129489,127997,8205,129459],[129489,127997,8205,129468],[129489,127997,8205,129469],[129489,127998,8205,127806],[129489,127998,8205,127859],[129489,127998,8205,127868],[129489,127998,8205,127876],[129489,127998,8205,127891],[129489,127998,8205,127908],[129489,127998,8205,127912],[129489,127998,8205,127979],[129489,127998,8205,127981],[129489,127998,8205,128187],[129489,127998,8205,128188],[129489,127998,8205,128295],[129489,127998,8205,128300],[129489,127998,8205,128640],[129489,127998,8205,128658],[129489,127998,8205,129455],[129489,127998,8205,129456],[129489,127998,8205,129457],[129489,127998,8205,129458],[129489,127998,8205,129459],[129489,127998,8205,129468],[129489,127998,8205,129469],[129489,127999,8205,127806],[129489,127999,8205,127859],[129489,127999,8205,127868],[129489,127999,8205,127876],[129489,127999,8205,127891],[129489,127999,8205,127908],[129489,127999,8205,127912],[129489,127999,8205,127979],[129489,127999,8205,127981],[129489,127999,8205,128187],[129489,127999,8205,128188],[129489,127999,8205,128295],[129489,127999,8205,128300],[129489,127999,8205,128640],[129489,127999,8205,128658],[129489,127999,8205,129455],[129489,127999,8205,129456],[129489,127999,8205,129457],[129489,127999,8205,129458],[129489,127999,8205,129459],[129489,127999,8205,129468],[129489,127999,8205,129469],[129492,8205,9792,65039],[129492,8205,9794,65039],[129494,8205,9792,65039],[129494,8205,9794,65039],[129495,8205,9792,65039],[129495,8205,9794,65039],[129496,8205,9792,65039],[129496,8205,9794,65039],[129497,8205,9792,65039],[129497,8205,9794,65039],[129498,8205,9792,65039],[129498,8205,9794,65039],[129499,8205,9792,65039],[129499,8205,9794,65039],[129500,8205,9792,65039],[129500,8205,9794,65039],[129501,8205,9792,65039],[129501,8205,9794,65039],[129502,8205,9792,65039],[129502,8205,9794,65039],[129503,8205,9792,65039],[129503,8205,9794,65039],[9977,65039,8205,9792,65039],[9977,65039,8205,9794,65039],[9977,127995,8205,9792,65039],[9977,127995,8205,9794,65039],[9977,127996,8205,9792,65039],[9977,127996,8205,9794,65039],[9977,127997,8205,9792,65039],[9977,127997,8205,9794,65039],[9977,127998,8205,9792,65039],[9977,127998,8205,9794,65039],[9977,127999,8205,9792,65039],[9977,127999,8205,9794,65039],[127939,127995,8205,9792,65039],[127939,127995,8205,9794,65039],[127939,127996,8205,9792,65039],[127939,127996,8205,9794,65039],[127939,127997,8205,9792,65039],[127939,127997,8205,9794,65039],[127939,127998,8205,9792,65039],[127939,127998,8205,9794,65039],[127939,127999,8205,9792,65039],[127939,127999,8205,9794,65039],[127940,127995,8205,9792,65039],[127940,127995,8205,9794,65039],[127940,127996,8205,9792,65039],[127940,127996,8205,9794,65039],[127940,127997,8205,9792,65039],[127940,127997,8205,9794,65039],[127940,127998,8205,9792,65039],[127940,127998,8205,9794,65039],[127940,127999,8205,9792,65039],[127940,127999,8205,9794,65039],[127946,127995,8205,9792,65039],[127946,127995,8205,9794,65039],[127946,127996,8205,9792,65039],[127946,127996,8205,9794,65039],[127946,127997,8205,9792,65039],[127946,127997,8205,9794,65039],[127946,127998,8205,9792,65039],[127946,127998,8205,9794,65039],[127946,127999,8205,9792,65039],[127946,127999,8205,9794,65039],[127947,65039,8205,9792,65039],[127947,65039,8205,9794,65039],[127947,127995,8205,9792,65039],[127947,127995,8205,9794,65039],[127947,127996,8205,9792,65039],[127947,127996,8205,9794,65039],[127947,127997,8205,9792,65039],[127947,127997,8205,9794,65039],[127947,127998,8205,9792,65039],[127947,127998,8205,9794,65039],[127947,127999,8205,9792,65039],[127947,127999,8205,9794,65039],[127948,65039,8205,9792,65039],[127948,65039,8205,9794,65039],[127948,127995,8205,9792,65039],[127948,127995,8205,9794,65039],[127948,127996,8205,9792,65039],[127948,127996,8205,9794,65039],[127948,127997,8205,9792,65039],[127948,127997,8205,9794,65039],[127948,127998,8205,9792,65039],[127948,127998,8205,9794,65039],[127948,127999,8205,9792,65039],[127948,127999,8205,9794,65039],[127987,65039,8205,9895,65039],[128065,65039,8205,128488,65039],[128104,8205,128102,8205,128102],[128104,8205,128103,8205,128102],[128104,8205,128103,8205,128103],[128104,8205,128104,8205,128102],[128104,8205,128104,8205,128103],[128104,8205,128105,8205,128102],[128104,8205,128105,8205,128103],[128104,127995,8205,9877,65039],[128104,127995,8205,9878,65039],[128104,127995,8205,9992,65039],[128104,127996,8205,9877,65039],[128104,127996,8205,9878,65039],[128104,127996,8205,9992,65039],[128104,127997,8205,9877,65039],[128104,127997,8205,9878,65039],[128104,127997,8205,9992,65039],[128104,127998,8205,9877,65039],[128104,127998,8205,9878,65039],[128104,127998,8205,9992,65039],[128104,127999,8205,9877,65039],[128104,127999,8205,9878,65039],[128104,127999,8205,9992,65039],[128105,8205,128102,8205,128102],[128105,8205,128103,8205,128102],[128105,8205,128103,8205,128103],[128105,8205,128105,8205,128102],[128105,8205,128105,8205,128103],[128105,127995,8205,9877,65039],[128105,127995,8205,9878,65039],[128105,127995,8205,9992,65039],[128105,127996,8205,9877,65039],[128105,127996,8205,9878,65039],[128105,127996,8205,9992,65039],[128105,127997,8205,9877,65039],[128105,127997,8205,9878,65039],[128105,127997,8205,9992,65039],[128105,127998,8205,9877,65039],[128105,127998,8205,9878,65039],[128105,127998,8205,9992,65039],[128105,127999,8205,9877,65039],[128105,127999,8205,9878,65039],[128105,127999,8205,9992,65039],[128110,127995,8205,9792,65039],[128110,127995,8205,9794,65039],[128110,127996,8205,9792,65039],[128110,127996,8205,9794,65039],[128110,127997,8205,9792,65039],[128110,127997,8205,9794,65039],[128110,127998,8205,9792,65039],[128110,127998,8205,9794,65039],[128110,127999,8205,9792,65039],[128110,127999,8205,9794,65039],[128112,127995,8205,9792,65039],[128112,127995,8205,9794,65039],[128112,127996,8205,9792,65039],[128112,127996,8205,9794,65039],[128112,127997,8205,9792,65039],[128112,127997,8205,9794,65039],[128112,127998,8205,9792,65039],[128112,127998,8205,9794,65039],[128112,127999,8205,9792,65039],[128112,127999,8205,9794,65039],[128113,127995,8205,9792,65039],[128113,127995,8205,9794,65039],[128113,127996,8205,9792,65039],[128113,127996,8205,9794,65039],[128113,127997,8205,9792,65039],[128113,127997,8205,9794,65039],[128113,127998,8205,9792,65039],[128113,127998,8205,9794,65039],[128113,127999,8205,9792,65039],[128113,127999,8205,9794,65039],[128115,127995,8205,9792,65039],[128115,127995,8205,9794,65039],[128115,127996,8205,9792,65039],[128115,127996,8205,9794,65039],[128115,127997,8205,9792,65039],[128115,127997,8205,9794,65039],[128115,127998,8205,9792,65039],[128115,127998,8205,9794,65039],[128115,127999,8205,9792,65039],[128115,127999,8205,9794,65039],[128119,127995,8205,9792,65039],[128119,127995,8205,9794,65039],[128119,127996,8205,9792,65039],[128119,127996,8205,9794,65039],[128119,127997,8205,9792,65039],[128119,127997,8205,9794,65039],[128119,127998,8205,9792,65039],[128119,127998,8205,9794,65039],[128119,127999,8205,9792,65039],[128119,127999,8205,9794,65039],[128129,127995,8205,9792,65039],[128129,127995,8205,9794,65039],[128129,127996,8205,9792,65039],[128129,127996,8205,9794,65039],[128129,127997,8205,9792,65039],[128129,127997,8205,9794,65039],[128129,127998,8205,9792,65039],[128129,127998,8205,9794,65039],[128129,127999,8205,9792,65039],[128129,127999,8205,9794,65039],[128130,127995,8205,9792,65039],[128130,127995,8205,9794,65039],[128130,127996,8205,9792,65039],[128130,127996,8205,9794,65039],[128130,127997,8205,9792,65039],[128130,127997,8205,9794,65039],[128130,127998,8205,9792,65039],[128130,127998,8205,9794,65039],[128130,127999,8205,9792,65039],[128130,127999,8205,9794,65039],[128134,127995,8205,9792,65039],[128134,127995,8205,9794,65039],[128134,127996,8205,9792,65039],[128134,127996,8205,9794,65039],[128134,127997,8205,9792,65039],[128134,127997,8205,9794,65039],[128134,127998,8205,9792,65039],[128134,127998,8205,9794,65039],[128134,127999,8205,9792,65039],[128134,127999,8205,9794,65039],[128135,127995,8205,9792,65039],[128135,127995,8205,9794,65039],[128135,127996,8205,9792,65039],[128135,127996,8205,9794,65039],[128135,127997,8205,9792,65039],[128135,127997,8205,9794,65039],[128135,127998,8205,9792,65039],[128135,127998,8205,9794,65039],[128135,127999,8205,9792,65039],[128135,127999,8205,9794,65039],[128373,65039,8205,9792,65039],[128373,65039,8205,9794,65039],[128373,127995,8205,9792,65039],[128373,127995,8205,9794,65039],[128373,127996,8205,9792,65039],[128373,127996,8205,9794,65039],[128373,127997,8205,9792,65039],[128373,127997,8205,9794,65039],[128373,127998,8205,9792,65039],[128373,127998,8205,9794,65039],[128373,127999,8205,9792,65039],[128373,127999,8205,9794,65039],[128581,127995,8205,9792,65039],[128581,127995,8205,9794,65039],[128581,127996,8205,9792,65039],[128581,127996,8205,9794,65039],[128581,127997,8205,9792,65039],[128581,127997,8205,9794,65039],[128581,127998,8205,9792,65039],[128581,127998,8205,9794,65039],[128581,127999,8205,9792,65039],[128581,127999,8205,9794,65039],[128582,127995,8205,9792,65039],[128582,127995,8205,9794,65039],[128582,127996,8205,9792,65039],[128582,127996,8205,9794,65039],[128582,127997,8205,9792,65039],[128582,127997,8205,9794,65039],[128582,127998,8205,9792,65039],[128582,127998,8205,9794,65039],[128582,127999,8205,9792,65039],[128582,127999,8205,9794,65039],[128583,127995,8205,9792,65039],[128583,127995,8205,9794,65039],[128583,127996,8205,9792,65039],[128583,127996,8205,9794,65039],[128583,127997,8205,9792,65039],[128583,127997,8205,9794,65039],[128583,127998,8205,9792,65039],[128583,127998,8205,9794,65039],[128583,127999,8205,9792,65039],[128583,127999,8205,9794,65039],[128587,127995,8205,9792,65039],[128587,127995,8205,9794,65039],[128587,127996,8205,9792,65039],[128587,127996,8205,9794,65039],[128587,127997,8205,9792,65039],[128587,127997,8205,9794,65039],[128587,127998,8205,9792,65039],[128587,127998,8205,9794,65039],[128587,127999,8205,9792,65039],[128587,127999,8205,9794,65039],[128589,127995,8205,9792,65039],[128589,127995,8205,9794,65039],[128589,127996,8205,9792,65039],[128589,127996,8205,9794,65039],[128589,127997,8205,9792,65039],[128589,127997,8205,9794,65039],[128589,127998,8205,9792,65039],[128589,127998,8205,9794,65039],[128589,127999,8205,9792,65039],[128589,127999,8205,9794,65039],[128590,127995,8205,9792,65039],[128590,127995,8205,9794,65039],[128590,127996,8205,9792,65039],[128590,127996,8205,9794,65039],[128590,127997,8205,9792,65039],[128590,127997,8205,9794,65039],[128590,127998,8205,9792,65039],[128590,127998,8205,9794,65039],[128590,127999,8205,9792,65039],[128590,127999,8205,9794,65039],[128675,127995,8205,9792,65039],[128675,127995,8205,9794,65039],[128675,127996,8205,9792,65039],[128675,127996,8205,9794,65039],[128675,127997,8205,9792,65039],[128675,127997,8205,9794,65039],[128675,127998,8205,9792,65039],[128675,127998,8205,9794,65039],[128675,127999,8205,9792,65039],[128675,127999,8205,9794,65039],[128692,127995,8205,9792,65039],[128692,127995,8205,9794,65039],[128692,127996,8205,9792,65039],[128692,127996,8205,9794,65039],[128692,127997,8205,9792,65039],[128692,127997,8205,9794,65039],[128692,127998,8205,9792,65039],[128692,127998,8205,9794,65039],[128692,127999,8205,9792,65039],[128692,127999,8205,9794,65039],[128693,127995,8205,9792,65039],[128693,127995,8205,9794,65039],[128693,127996,8205,9792,65039],[128693,127996,8205,9794,65039],[128693,127997,8205,9792,65039],[128693,127997,8205,9794,65039],[128693,127998,8205,9792,65039],[128693,127998,8205,9794,65039],[128693,127999,8205,9792,65039],[128693,127999,8205,9794,65039],[128694,127995,8205,9792,65039],[128694,127995,8205,9794,65039],[128694,127996,8205,9792,65039],[128694,127996,8205,9794,65039],[128694,127997,8205,9792,65039],[128694,127997,8205,9794,65039],[128694,127998,8205,9792,65039],[128694,127998,8205,9794,65039],[128694,127999,8205,9792,65039],[128694,127999,8205,9794,65039],[129318,127995,8205,9792,65039],[129318,127995,8205,9794,65039],[129318,127996,8205,9792,65039],[129318,127996,8205,9794,65039],[129318,127997,8205,9792,65039],[129318,127997,8205,9794,65039],[129318,127998,8205,9792,65039],[129318,127998,8205,9794,65039],[129318,127999,8205,9792,65039],[129318,127999,8205,9794,65039],[129333,127995,8205,9792,65039],[129333,127995,8205,9794,65039],[129333,127996,8205,9792,65039],[129333,127996,8205,9794,65039],[129333,127997,8205,9792,65039],[129333,127997,8205,9794,65039],[129333,127998,8205,9792,65039],[129333,127998,8205,9794,65039],[129333,127999,8205,9792,65039],[129333,127999,8205,9794,65039],[129335,127995,8205,9792,65039],[129335,127995,8205,9794,65039],[129335,127996,8205,9792,65039],[129335,127996,8205,9794,65039],[129335,127997,8205,9792,65039],[129335,127997,8205,9794,65039],[129335,127998,8205,9792,65039],[129335,127998,8205,9794,65039],[129335,127999,8205,9792,65039],[129335,127999,8205,9794,65039],[129336,127995,8205,9792,65039],[129336,127995,8205,9794,65039],[129336,127996,8205,9792,65039],[129336,127996,8205,9794,65039],[129336,127997,8205,9792,65039],[129336,127997,8205,9794,65039],[129336,127998,8205,9792,65039],[129336,127998,8205,9794,65039],[129336,127999,8205,9792,65039],[129336,127999,8205,9794,65039],[129337,127995,8205,9792,65039],[129337,127995,8205,9794,65039],[129337,127996,8205,9792,65039],[129337,127996,8205,9794,65039],[129337,127997,8205,9792,65039],[129337,127997,8205,9794,65039],[129337,127998,8205,9792,65039],[129337,127998,8205,9794,65039],[129337,127999,8205,9792,65039],[129337,127999,8205,9794,65039],[129341,127995,8205,9792,65039],[129341,127995,8205,9794,65039],[129341,127996,8205,9792,65039],[129341,127996,8205,9794,65039],[129341,127997,8205,9792,65039],[129341,127997,8205,9794,65039],[129341,127998,8205,9792,65039],[129341,127998,8205,9794,65039],[129341,127999,8205,9792,65039],[129341,127999,8205,9794,65039],[129342,127995,8205,9792,65039],[129342,127995,8205,9794,65039],[129342,127996,8205,9792,65039],[129342,127996,8205,9794,65039],[129342,127997,8205,9792,65039],[129342,127997,8205,9794,65039],[129342,127998,8205,9792,65039],[129342,127998,8205,9794,65039],[129342,127999,8205,9792,65039],[129342,127999,8205,9794,65039],[129464,127995,8205,9792,65039],[129464,127995,8205,9794,65039],[129464,127996,8205,9792,65039],[129464,127996,8205,9794,65039],[129464,127997,8205,9792,65039],[129464,127997,8205,9794,65039],[129464,127998,8205,9792,65039],[129464,127998,8205,9794,65039],[129464,127999,8205,9792,65039],[129464,127999,8205,9794,65039],[129465,127995,8205,9792,65039],[129465,127995,8205,9794,65039],[129465,127996,8205,9792,65039],[129465,127996,8205,9794,65039],[129465,127997,8205,9792,65039],[129465,127997,8205,9794,65039],[129465,127998,8205,9792,65039],[129465,127998,8205,9794,65039],[129465,127999,8205,9792,65039],[129465,127999,8205,9794,65039],[129485,127995,8205,9792,65039],[129485,127995,8205,9794,65039],[129485,127996,8205,9792,65039],[129485,127996,8205,9794,65039],[129485,127997,8205,9792,65039],[129485,127997,8205,9794,65039],[129485,127998,8205,9792,65039],[129485,127998,8205,9794,65039],[129485,127999,8205,9792,65039],[129485,127999,8205,9794,65039],[129486,127995,8205,9792,65039],[129486,127995,8205,9794,65039],[129486,127996,8205,9792,65039],[129486,127996,8205,9794,65039],[129486,127997,8205,9792,65039],[129486,127997,8205,9794,65039],[129486,127998,8205,9792,65039],[129486,127998,8205,9794,65039],[129486,127999,8205,9792,65039],[129486,127999,8205,9794,65039],[129487,127995,8205,9792,65039],[129487,127995,8205,9794,65039],[129487,127996,8205,9792,65039],[129487,127996,8205,9794,65039],[129487,127997,8205,9792,65039],[129487,127997,8205,9794,65039],[129487,127998,8205,9792,65039],[129487,127998,8205,9794,65039],[129487,127999,8205,9792,65039],[129487,127999,8205,9794,65039],[129489,8205,129309,8205,129489],[129489,127995,8205,9877,65039],[129489,127995,8205,9878,65039],[129489,127995,8205,9992,65039],[129489,127996,8205,9877,65039],[129489,127996,8205,9878,65039],[129489,127996,8205,9992,65039],[129489,127997,8205,9877,65039],[129489,127997,8205,9878,65039],[129489,127997,8205,9992,65039],[129489,127998,8205,9877,65039],[129489,127998,8205,9878,65039],[129489,127998,8205,9992,65039],[129489,127999,8205,9877,65039],[129489,127999,8205,9878,65039],[129489,127999,8205,9992,65039],[129492,127995,8205,9792,65039],[129492,127995,8205,9794,65039],[129492,127996,8205,9792,65039],[129492,127996,8205,9794,65039],[129492,127997,8205,9792,65039],[129492,127997,8205,9794,65039],[129492,127998,8205,9792,65039],[129492,127998,8205,9794,65039],[129492,127999,8205,9792,65039],[129492,127999,8205,9794,65039],[129494,127995,8205,9792,65039],[129494,127995,8205,9794,65039],[129494,127996,8205,9792,65039],[129494,127996,8205,9794,65039],[129494,127997,8205,9792,65039],[129494,127997,8205,9794,65039],[129494,127998,8205,9792,65039],[129494,127998,8205,9794,65039],[129494,127999,8205,9792,65039],[129494,127999,8205,9794,65039],[129495,127995,8205,9792,65039],[129495,127995,8205,9794,65039],[129495,127996,8205,9792,65039],[129495,127996,8205,9794,65039],[129495,127997,8205,9792,65039],[129495,127997,8205,9794,65039],[129495,127998,8205,9792,65039],[129495,127998,8205,9794,65039],[129495,127999,8205,9792,65039],[129495,127999,8205,9794,65039],[129496,127995,8205,9792,65039],[129496,127995,8205,9794,65039],[129496,127996,8205,9792,65039],[129496,127996,8205,9794,65039],[129496,127997,8205,9792,65039],[129496,127997,8205,9794,65039],[129496,127998,8205,9792,65039],[129496,127998,8205,9794,65039],[129496,127999,8205,9792,65039],[129496,127999,8205,9794,65039],[129497,127995,8205,9792,65039],[129497,127995,8205,9794,65039],[129497,127996,8205,9792,65039],[129497,127996,8205,9794,65039],[129497,127997,8205,9792,65039],[129497,127997,8205,9794,65039],[129497,127998,8205,9792,65039],[129497,127998,8205,9794,65039],[129497,127999,8205,9792,65039],[129497,127999,8205,9794,65039],[129498,127995,8205,9792,65039],[129498,127995,8205,9794,65039],[129498,127996,8205,9792,65039],[129498,127996,8205,9794,65039],[129498,127997,8205,9792,65039],[129498,127997,8205,9794,65039],[129498,127998,8205,9792,65039],[129498,127998,8205,9794,65039],[129498,127999,8205,9792,65039],[129498,127999,8205,9794,65039],[129499,127995,8205,9792,65039],[129499,127995,8205,9794,65039],[129499,127996,8205,9792,65039],[129499,127996,8205,9794,65039],[129499,127997,8205,9792,65039],[129499,127997,8205,9794,65039],[129499,127998,8205,9792,65039],[129499,127998,8205,9794,65039],[129499,127999,8205,9792,65039],[129499,127999,8205,9794,65039],[129500,127995,8205,9792,65039],[129500,127995,8205,9794,65039],[129500,127996,8205,9792,65039],[129500,127996,8205,9794,65039],[129500,127997,8205,9792,65039],[129500,127997,8205,9794,65039],[129500,127998,8205,9792,65039],[129500,127998,8205,9794,65039],[129500,127999,8205,9792,65039],[129500,127999,8205,9794,65039],[129501,127995,8205,9792,65039],[129501,127995,8205,9794,65039],[129501,127996,8205,9792,65039],[129501,127996,8205,9794,65039],[129501,127997,8205,9792,65039],[129501,127997,8205,9794,65039],[129501,127998,8205,9792,65039],[129501,127998,8205,9794,65039],[129501,127999,8205,9792,65039],[129501,127999,8205,9794,65039],[129777,127995,8205,129778,127996],[129777,127995,8205,129778,127997],[129777,127995,8205,129778,127998],[129777,127995,8205,129778,127999],[129777,127996,8205,129778,127995],[129777,127996,8205,129778,127997],[129777,127996,8205,129778,127998],[129777,127996,8205,129778,127999],[129777,127997,8205,129778,127995],[129777,127997,8205,129778,127996],[129777,127997,8205,129778,127998],[129777,127997,8205,129778,127999],[129777,127998,8205,129778,127995],[129777,127998,8205,129778,127996],[129777,127998,8205,129778,127997],[129777,127998,8205,129778,127999],[129777,127999,8205,129778,127995],[129777,127999,8205,129778,127996],[129777,127999,8205,129778,127997],[129777,127999,8205,129778,127998],[128104,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128105],[128104,8205,128104,8205,128102,8205,128102],[128104,8205,128104,8205,128103,8205,128102],[128104,8205,128104,8205,128103,8205,128103],[128104,8205,128105,8205,128102,8205,128102],[128104,8205,128105,8205,128103,8205,128102],[128104,8205,128105,8205,128103,8205,128103],[128104,127995,8205,129309,8205,128104,127996],[128104,127995,8205,129309,8205,128104,127997],[128104,127995,8205,129309,8205,128104,127998],[128104,127995,8205,129309,8205,128104,127999],[128104,127996,8205,129309,8205,128104,127995],[128104,127996,8205,129309,8205,128104,127997],[128104,127996,8205,129309,8205,128104,127998],[128104,127996,8205,129309,8205,128104,127999],[128104,127997,8205,129309,8205,128104,127995],[128104,127997,8205,129309,8205,128104,127996],[128104,127997,8205,129309,8205,128104,127998],[128104,127997,8205,129309,8205,128104,127999],[128104,127998,8205,129309,8205,128104,127995],[128104,127998,8205,129309,8205,128104,127996],[128104,127998,8205,129309,8205,128104,127997],[128104,127998,8205,129309,8205,128104,127999],[128104,127999,8205,129309,8205,128104,127995],[128104,127999,8205,129309,8205,128104,127996],[128104,127999,8205,129309,8205,128104,127997],[128104,127999,8205,129309,8205,128104,127998],[128105,8205,128105,8205,128102,8205,128102],[128105,8205,128105,8205,128103,8205,128102],[128105,8205,128105,8205,128103,8205,128103],[128105,127995,8205,129309,8205,128104,127996],[128105,127995,8205,129309,8205,128104,127997],[128105,127995,8205,129309,8205,128104,127998],[128105,127995,8205,129309,8205,128104,127999],[128105,127995,8205,129309,8205,128105,127996],[128105,127995,8205,129309,8205,128105,127997],[128105,127995,8205,129309,8205,128105,127998],[128105,127995,8205,129309,8205,128105,127999],[128105,127996,8205,129309,8205,128104,127995],[128105,127996,8205,129309,8205,128104,127997],[128105,127996,8205,129309,8205,128104,127998],[128105,127996,8205,129309,8205,128104,127999],[128105,127996,8205,129309,8205,128105,127995],[128105,127996,8205,129309,8205,128105,127997],[128105,127996,8205,129309,8205,128105,127998],[128105,127996,8205,129309,8205,128105,127999],[128105,127997,8205,129309,8205,128104,127995],[128105,127997,8205,129309,8205,128104,127996],[128105,127997,8205,129309,8205,128104,127998],[128105,127997,8205,129309,8205,128104,127999],[128105,127997,8205,129309,8205,128105,127995],[128105,127997,8205,129309,8205,128105,127996],[128105,127997,8205,129309,8205,128105,127998],[128105,127997,8205,129309,8205,128105,127999],[128105,127998,8205,129309,8205,128104,127995],[128105,127998,8205,129309,8205,128104,127996],[128105,127998,8205,129309,8205,128104,127997],[128105,127998,8205,129309,8205,128104,127999],[128105,127998,8205,129309,8205,128105,127995],[128105,127998,8205,129309,8205,128105,127996],[128105,127998,8205,129309,8205,128105,127997],[128105,127998,8205,129309,8205,128105,127999],[128105,127999,8205,129309,8205,128104,127995],[128105,127999,8205,129309,8205,128104,127996],[128105,127999,8205,129309,8205,128104,127997],[128105,127999,8205,129309,8205,128104,127998],[128105,127999,8205,129309,8205,128105,127995],[128105,127999,8205,129309,8205,128105,127996],[128105,127999,8205,129309,8205,128105,127997],[128105,127999,8205,129309,8205,128105,127998],[129489,127995,8205,129309,8205,129489,127995],[129489,127995,8205,129309,8205,129489,127996],[129489,127995,8205,129309,8205,129489,127997],[129489,127995,8205,129309,8205,129489,127998],[129489,127995,8205,129309,8205,129489,127999],[129489,127996,8205,129309,8205,129489,127995],[129489,127996,8205,129309,8205,129489,127996],[129489,127996,8205,129309,8205,129489,127997],[129489,127996,8205,129309,8205,129489,127998],[129489,127996,8205,129309,8205,129489,127999],[129489,127997,8205,129309,8205,129489,127995],[129489,127997,8205,129309,8205,129489,127996],[129489,127997,8205,129309,8205,129489,127997],[129489,127997,8205,129309,8205,129489,127998],[129489,127997,8205,129309,8205,129489,127999],[129489,127998,8205,129309,8205,129489,127995],[129489,127998,8205,129309,8205,129489,127996],[129489,127998,8205,129309,8205,129489,127997],[129489,127998,8205,129309,8205,129489,127998],[129489,127998,8205,129309,8205,129489,127999],[129489,127999,8205,129309,8205,129489,127995],[129489,127999,8205,129309,8205,129489,127996],[129489,127999,8205,129309,8205,129489,127997],[129489,127999,8205,129309,8205,129489,127998],[129489,127999,8205,129309,8205,129489,127999],[128104,8205,10084,65039,8205,128139,8205,128104],[128104,127995,8205,10084,65039,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128104,127999],[128105,8205,10084,65039,8205,128139,8205,128104],[128105,8205,10084,65039,8205,128139,8205,128105],[128105,127995,8205,10084,65039,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128105,127999],[129489,127995,8205,10084,65039,8205,129489,127996],[129489,127995,8205,10084,65039,8205,129489,127997],[129489,127995,8205,10084,65039,8205,129489,127998],[129489,127995,8205,10084,65039,8205,129489,127999],[129489,127996,8205,10084,65039,8205,129489,127995],[129489,127996,8205,10084,65039,8205,129489,127997],[129489,127996,8205,10084,65039,8205,129489,127998],[129489,127996,8205,10084,65039,8205,129489,127999],[129489,127997,8205,10084,65039,8205,129489,127995],[129489,127997,8205,10084,65039,8205,129489,127996],[129489,127997,8205,10084,65039,8205,129489,127998],[129489,127997,8205,10084,65039,8205,129489,127999],[129489,127998,8205,10084,65039,8205,129489,127995],[129489,127998,8205,10084,65039,8205,129489,127996],[129489,127998,8205,10084,65039,8205,129489,127997],[129489,127998,8205,10084,65039,8205,129489,127999],[129489,127999,8205,10084,65039,8205,129489,127995],[129489,127999,8205,10084,65039,8205,129489,127996],[129489,127999,8205,10084,65039,8205,129489,127997],[129489,127999,8205,10084,65039,8205,129489,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127999],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127998]]'); -export const RGI_Emoji: readonly ReadonlyWord[] = JSON.parse('[[8986],[8987],[9193],[9194],[9195],[9196],[9200],[9203],[9725],[9726],[9748],[9749],[9800],[9801],[9802],[9803],[9804],[9805],[9806],[9807],[9808],[9809],[9810],[9811],[9855],[9875],[9889],[9898],[9899],[9917],[9918],[9924],[9925],[9934],[9940],[9962],[9970],[9971],[9973],[9978],[9981],[9989],[9994],[9995],[10024],[10060],[10062],[10067],[10068],[10069],[10071],[10133],[10134],[10135],[10160],[10175],[11035],[11036],[11088],[11093],[126980],[127183],[127374],[127377],[127378],[127379],[127380],[127381],[127382],[127383],[127384],[127385],[127386],[127489],[127514],[127535],[127538],[127539],[127540],[127541],[127542],[127544],[127545],[127546],[127568],[127569],[127744],[127745],[127746],[127747],[127748],[127749],[127750],[127751],[127752],[127753],[127754],[127755],[127756],[127757],[127758],[127759],[127760],[127761],[127762],[127763],[127764],[127765],[127766],[127767],[127768],[127769],[127770],[127771],[127772],[127773],[127774],[127775],[127776],[127789],[127790],[127791],[127792],[127793],[127794],[127795],[127796],[127797],[127799],[127800],[127801],[127802],[127803],[127804],[127805],[127806],[127807],[127808],[127809],[127810],[127811],[127812],[127813],[127814],[127815],[127816],[127817],[127818],[127819],[127820],[127821],[127822],[127823],[127824],[127825],[127826],[127827],[127828],[127829],[127830],[127831],[127832],[127833],[127834],[127835],[127836],[127837],[127838],[127839],[127840],[127841],[127842],[127843],[127844],[127845],[127846],[127847],[127848],[127849],[127850],[127851],[127852],[127853],[127854],[127855],[127856],[127857],[127858],[127859],[127860],[127861],[127862],[127863],[127864],[127865],[127866],[127867],[127868],[127870],[127871],[127872],[127873],[127874],[127875],[127876],[127877],[127878],[127879],[127880],[127881],[127882],[127883],[127884],[127885],[127886],[127887],[127888],[127889],[127890],[127891],[127904],[127905],[127906],[127907],[127908],[127909],[127910],[127911],[127912],[127913],[127914],[127915],[127916],[127917],[127918],[127919],[127920],[127921],[127922],[127923],[127924],[127925],[127926],[127927],[127928],[127929],[127930],[127931],[127932],[127933],[127934],[127935],[127936],[127937],[127938],[127939],[127940],[127941],[127942],[127943],[127944],[127945],[127946],[127951],[127952],[127953],[127954],[127955],[127968],[127969],[127970],[127971],[127972],[127973],[127974],[127975],[127976],[127977],[127978],[127979],[127980],[127981],[127982],[127983],[127984],[127988],[127992],[127993],[127994],[127995],[127996],[127997],[127998],[127999],[128000],[128001],[128002],[128003],[128004],[128005],[128006],[128007],[128008],[128009],[128010],[128011],[128012],[128013],[128014],[128015],[128016],[128017],[128018],[128019],[128020],[128021],[128022],[128023],[128024],[128025],[128026],[128027],[128028],[128029],[128030],[128031],[128032],[128033],[128034],[128035],[128036],[128037],[128038],[128039],[128040],[128041],[128042],[128043],[128044],[128045],[128046],[128047],[128048],[128049],[128050],[128051],[128052],[128053],[128054],[128055],[128056],[128057],[128058],[128059],[128060],[128061],[128062],[128064],[128066],[128067],[128068],[128069],[128070],[128071],[128072],[128073],[128074],[128075],[128076],[128077],[128078],[128079],[128080],[128081],[128082],[128083],[128084],[128085],[128086],[128087],[128088],[128089],[128090],[128091],[128092],[128093],[128094],[128095],[128096],[128097],[128098],[128099],[128100],[128101],[128102],[128103],[128104],[128105],[128106],[128107],[128108],[128109],[128110],[128111],[128112],[128113],[128114],[128115],[128116],[128117],[128118],[128119],[128120],[128121],[128122],[128123],[128124],[128125],[128126],[128127],[128128],[128129],[128130],[128131],[128132],[128133],[128134],[128135],[128136],[128137],[128138],[128139],[128140],[128141],[128142],[128143],[128144],[128145],[128146],[128147],[128148],[128149],[128150],[128151],[128152],[128153],[128154],[128155],[128156],[128157],[128158],[128159],[128160],[128161],[128162],[128163],[128164],[128165],[128166],[128167],[128168],[128169],[128170],[128171],[128172],[128173],[128174],[128175],[128176],[128177],[128178],[128179],[128180],[128181],[128182],[128183],[128184],[128185],[128186],[128187],[128188],[128189],[128190],[128191],[128192],[128193],[128194],[128195],[128196],[128197],[128198],[128199],[128200],[128201],[128202],[128203],[128204],[128205],[128206],[128207],[128208],[128209],[128210],[128211],[128212],[128213],[128214],[128215],[128216],[128217],[128218],[128219],[128220],[128221],[128222],[128223],[128224],[128225],[128226],[128227],[128228],[128229],[128230],[128231],[128232],[128233],[128234],[128235],[128236],[128237],[128238],[128239],[128240],[128241],[128242],[128243],[128244],[128245],[128246],[128247],[128248],[128249],[128250],[128251],[128252],[128255],[128256],[128257],[128258],[128259],[128260],[128261],[128262],[128263],[128264],[128265],[128266],[128267],[128268],[128269],[128270],[128271],[128272],[128273],[128274],[128275],[128276],[128277],[128278],[128279],[128280],[128281],[128282],[128283],[128284],[128285],[128286],[128287],[128288],[128289],[128290],[128291],[128292],[128293],[128294],[128295],[128296],[128297],[128298],[128299],[128300],[128301],[128302],[128303],[128304],[128305],[128306],[128307],[128308],[128309],[128310],[128311],[128312],[128313],[128314],[128315],[128316],[128317],[128331],[128332],[128333],[128334],[128336],[128337],[128338],[128339],[128340],[128341],[128342],[128343],[128344],[128345],[128346],[128347],[128348],[128349],[128350],[128351],[128352],[128353],[128354],[128355],[128356],[128357],[128358],[128359],[128378],[128405],[128406],[128420],[128507],[128508],[128509],[128510],[128511],[128512],[128513],[128514],[128515],[128516],[128517],[128518],[128519],[128520],[128521],[128522],[128523],[128524],[128525],[128526],[128527],[128528],[128529],[128530],[128531],[128532],[128533],[128534],[128535],[128536],[128537],[128538],[128539],[128540],[128541],[128542],[128543],[128544],[128545],[128546],[128547],[128548],[128549],[128550],[128551],[128552],[128553],[128554],[128555],[128556],[128557],[128558],[128559],[128560],[128561],[128562],[128563],[128564],[128565],[128566],[128567],[128568],[128569],[128570],[128571],[128572],[128573],[128574],[128575],[128576],[128577],[128578],[128579],[128580],[128581],[128582],[128583],[128584],[128585],[128586],[128587],[128588],[128589],[128590],[128591],[128640],[128641],[128642],[128643],[128644],[128645],[128646],[128647],[128648],[128649],[128650],[128651],[128652],[128653],[128654],[128655],[128656],[128657],[128658],[128659],[128660],[128661],[128662],[128663],[128664],[128665],[128666],[128667],[128668],[128669],[128670],[128671],[128672],[128673],[128674],[128675],[128676],[128677],[128678],[128679],[128680],[128681],[128682],[128683],[128684],[128685],[128686],[128687],[128688],[128689],[128690],[128691],[128692],[128693],[128694],[128695],[128696],[128697],[128698],[128699],[128700],[128701],[128702],[128703],[128704],[128705],[128706],[128707],[128708],[128709],[128716],[128720],[128721],[128722],[128725],[128726],[128727],[128732],[128733],[128734],[128735],[128747],[128748],[128756],[128757],[128758],[128759],[128760],[128761],[128762],[128763],[128764],[128992],[128993],[128994],[128995],[128996],[128997],[128998],[128999],[129000],[129001],[129002],[129003],[129008],[129292],[129293],[129294],[129295],[129296],[129297],[129298],[129299],[129300],[129301],[129302],[129303],[129304],[129305],[129306],[129307],[129308],[129309],[129310],[129311],[129312],[129313],[129314],[129315],[129316],[129317],[129318],[129319],[129320],[129321],[129322],[129323],[129324],[129325],[129326],[129327],[129328],[129329],[129330],[129331],[129332],[129333],[129334],[129335],[129336],[129337],[129338],[129340],[129341],[129342],[129343],[129344],[129345],[129346],[129347],[129348],[129349],[129351],[129352],[129353],[129354],[129355],[129356],[129357],[129358],[129359],[129360],[129361],[129362],[129363],[129364],[129365],[129366],[129367],[129368],[129369],[129370],[129371],[129372],[129373],[129374],[129375],[129376],[129377],[129378],[129379],[129380],[129381],[129382],[129383],[129384],[129385],[129386],[129387],[129388],[129389],[129390],[129391],[129392],[129393],[129394],[129395],[129396],[129397],[129398],[129399],[129400],[129401],[129402],[129403],[129404],[129405],[129406],[129407],[129408],[129409],[129410],[129411],[129412],[129413],[129414],[129415],[129416],[129417],[129418],[129419],[129420],[129421],[129422],[129423],[129424],[129425],[129426],[129427],[129428],[129429],[129430],[129431],[129432],[129433],[129434],[129435],[129436],[129437],[129438],[129439],[129440],[129441],[129442],[129443],[129444],[129445],[129446],[129447],[129448],[129449],[129450],[129451],[129452],[129453],[129454],[129455],[129456],[129457],[129458],[129459],[129460],[129461],[129462],[129463],[129464],[129465],[129466],[129467],[129468],[129469],[129470],[129471],[129472],[129473],[129474],[129475],[129476],[129477],[129478],[129479],[129480],[129481],[129482],[129483],[129484],[129485],[129486],[129487],[129488],[129489],[129490],[129491],[129492],[129493],[129494],[129495],[129496],[129497],[129498],[129499],[129500],[129501],[129502],[129503],[129504],[129505],[129506],[129507],[129508],[129509],[129510],[129511],[129512],[129513],[129514],[129515],[129516],[129517],[129518],[129519],[129520],[129521],[129522],[129523],[129524],[129525],[129526],[129527],[129528],[129529],[129530],[129531],[129532],[129533],[129534],[129535],[129648],[129649],[129650],[129651],[129652],[129653],[129654],[129655],[129656],[129657],[129658],[129659],[129660],[129664],[129665],[129666],[129667],[129668],[129669],[129670],[129671],[129672],[129680],[129681],[129682],[129683],[129684],[129685],[129686],[129687],[129688],[129689],[129690],[129691],[129692],[129693],[129694],[129695],[129696],[129697],[129698],[129699],[129700],[129701],[129702],[129703],[129704],[129705],[129706],[129707],[129708],[129709],[129710],[129711],[129712],[129713],[129714],[129715],[129716],[129717],[129718],[129719],[129720],[129721],[129722],[129723],[129724],[129725],[129727],[129728],[129729],[129730],[129731],[129732],[129733],[129742],[129743],[129744],[129745],[129746],[129747],[129748],[129749],[129750],[129751],[129752],[129753],[129754],[129755],[129760],[129761],[129762],[129763],[129764],[129765],[129766],[129767],[129768],[129776],[129777],[129778],[129779],[129780],[129781],[129782],[129783],[129784],[169,65039],[174,65039],[8252,65039],[8265,65039],[8482,65039],[8505,65039],[8596,65039],[8597,65039],[8598,65039],[8599,65039],[8600,65039],[8601,65039],[8617,65039],[8618,65039],[9000,65039],[9167,65039],[9197,65039],[9198,65039],[9199,65039],[9201,65039],[9202,65039],[9208,65039],[9209,65039],[9210,65039],[9410,65039],[9642,65039],[9643,65039],[9654,65039],[9664,65039],[9723,65039],[9724,65039],[9728,65039],[9729,65039],[9730,65039],[9731,65039],[9732,65039],[9742,65039],[9745,65039],[9752,65039],[9757,65039],[9757,127995],[9757,127996],[9757,127997],[9757,127998],[9757,127999],[9760,65039],[9762,65039],[9763,65039],[9766,65039],[9770,65039],[9774,65039],[9775,65039],[9784,65039],[9785,65039],[9786,65039],[9792,65039],[9794,65039],[9823,65039],[9824,65039],[9827,65039],[9829,65039],[9830,65039],[9832,65039],[9851,65039],[9854,65039],[9874,65039],[9876,65039],[9877,65039],[9878,65039],[9879,65039],[9881,65039],[9883,65039],[9884,65039],[9888,65039],[9895,65039],[9904,65039],[9905,65039],[9928,65039],[9935,65039],[9937,65039],[9939,65039],[9961,65039],[9968,65039],[9969,65039],[9972,65039],[9975,65039],[9976,65039],[9977,65039],[9977,127995],[9977,127996],[9977,127997],[9977,127998],[9977,127999],[9986,65039],[9992,65039],[9993,65039],[9994,127995],[9994,127996],[9994,127997],[9994,127998],[9994,127999],[9995,127995],[9995,127996],[9995,127997],[9995,127998],[9995,127999],[9996,65039],[9996,127995],[9996,127996],[9996,127997],[9996,127998],[9996,127999],[9997,65039],[9997,127995],[9997,127996],[9997,127997],[9997,127998],[9997,127999],[9999,65039],[10002,65039],[10004,65039],[10006,65039],[10013,65039],[10017,65039],[10035,65039],[10036,65039],[10052,65039],[10055,65039],[10083,65039],[10084,65039],[10145,65039],[10548,65039],[10549,65039],[11013,65039],[11014,65039],[11015,65039],[12336,65039],[12349,65039],[12951,65039],[12953,65039],[127344,65039],[127345,65039],[127358,65039],[127359,65039],[127462,127464],[127462,127465],[127462,127466],[127462,127467],[127462,127468],[127462,127470],[127462,127473],[127462,127474],[127462,127476],[127462,127478],[127462,127479],[127462,127480],[127462,127481],[127462,127482],[127462,127484],[127462,127485],[127462,127487],[127463,127462],[127463,127463],[127463,127465],[127463,127466],[127463,127467],[127463,127468],[127463,127469],[127463,127470],[127463,127471],[127463,127473],[127463,127474],[127463,127475],[127463,127476],[127463,127478],[127463,127479],[127463,127480],[127463,127481],[127463,127483],[127463,127484],[127463,127486],[127463,127487],[127464,127462],[127464,127464],[127464,127465],[127464,127467],[127464,127468],[127464,127469],[127464,127470],[127464,127472],[127464,127473],[127464,127474],[127464,127475],[127464,127476],[127464,127477],[127464,127479],[127464,127482],[127464,127483],[127464,127484],[127464,127485],[127464,127486],[127464,127487],[127465,127466],[127465,127468],[127465,127471],[127465,127472],[127465,127474],[127465,127476],[127465,127487],[127466,127462],[127466,127464],[127466,127466],[127466,127468],[127466,127469],[127466,127479],[127466,127480],[127466,127481],[127466,127482],[127467,127470],[127467,127471],[127467,127472],[127467,127474],[127467,127476],[127467,127479],[127468,127462],[127468,127463],[127468,127465],[127468,127466],[127468,127467],[127468,127468],[127468,127469],[127468,127470],[127468,127473],[127468,127474],[127468,127475],[127468,127477],[127468,127478],[127468,127479],[127468,127480],[127468,127481],[127468,127482],[127468,127484],[127468,127486],[127469,127472],[127469,127474],[127469,127475],[127469,127479],[127469,127481],[127469,127482],[127470,127464],[127470,127465],[127470,127466],[127470,127473],[127470,127474],[127470,127475],[127470,127476],[127470,127478],[127470,127479],[127470,127480],[127470,127481],[127471,127466],[127471,127474],[127471,127476],[127471,127477],[127472,127466],[127472,127468],[127472,127469],[127472,127470],[127472,127474],[127472,127475],[127472,127477],[127472,127479],[127472,127484],[127472,127486],[127472,127487],[127473,127462],[127473,127463],[127473,127464],[127473,127470],[127473,127472],[127473,127479],[127473,127480],[127473,127481],[127473,127482],[127473,127483],[127473,127486],[127474,127462],[127474,127464],[127474,127465],[127474,127466],[127474,127467],[127474,127468],[127474,127469],[127474,127472],[127474,127473],[127474,127474],[127474,127475],[127474,127476],[127474,127477],[127474,127478],[127474,127479],[127474,127480],[127474,127481],[127474,127482],[127474,127483],[127474,127484],[127474,127485],[127474,127486],[127474,127487],[127475,127462],[127475,127464],[127475,127466],[127475,127467],[127475,127468],[127475,127470],[127475,127473],[127475,127476],[127475,127477],[127475,127479],[127475,127482],[127475,127487],[127476,127474],[127477,127462],[127477,127466],[127477,127467],[127477,127468],[127477,127469],[127477,127472],[127477,127473],[127477,127474],[127477,127475],[127477,127479],[127477,127480],[127477,127481],[127477,127484],[127477,127486],[127478,127462],[127479,127466],[127479,127476],[127479,127480],[127479,127482],[127479,127484],[127480,127462],[127480,127463],[127480,127464],[127480,127465],[127480,127466],[127480,127468],[127480,127469],[127480,127470],[127480,127471],[127480,127472],[127480,127473],[127480,127474],[127480,127475],[127480,127476],[127480,127479],[127480,127480],[127480,127481],[127480,127483],[127480,127485],[127480,127486],[127480,127487],[127481,127462],[127481,127464],[127481,127465],[127481,127467],[127481,127468],[127481,127469],[127481,127471],[127481,127472],[127481,127473],[127481,127474],[127481,127475],[127481,127476],[127481,127479],[127481,127481],[127481,127483],[127481,127484],[127481,127487],[127482,127462],[127482,127468],[127482,127474],[127482,127475],[127482,127480],[127482,127486],[127482,127487],[127483,127462],[127483,127464],[127483,127466],[127483,127468],[127483,127470],[127483,127475],[127483,127482],[127484,127467],[127484,127480],[127485,127472],[127486,127466],[127486,127481],[127487,127462],[127487,127474],[127487,127484],[127490,65039],[127543,65039],[127777,65039],[127780,65039],[127781,65039],[127782,65039],[127783,65039],[127784,65039],[127785,65039],[127786,65039],[127787,65039],[127788,65039],[127798,65039],[127869,65039],[127877,127995],[127877,127996],[127877,127997],[127877,127998],[127877,127999],[127894,65039],[127895,65039],[127897,65039],[127898,65039],[127899,65039],[127902,65039],[127903,65039],[127938,127995],[127938,127996],[127938,127997],[127938,127998],[127938,127999],[127939,127995],[127939,127996],[127939,127997],[127939,127998],[127939,127999],[127940,127995],[127940,127996],[127940,127997],[127940,127998],[127940,127999],[127943,127995],[127943,127996],[127943,127997],[127943,127998],[127943,127999],[127946,127995],[127946,127996],[127946,127997],[127946,127998],[127946,127999],[127947,65039],[127947,127995],[127947,127996],[127947,127997],[127947,127998],[127947,127999],[127948,65039],[127948,127995],[127948,127996],[127948,127997],[127948,127998],[127948,127999],[127949,65039],[127950,65039],[127956,65039],[127957,65039],[127958,65039],[127959,65039],[127960,65039],[127961,65039],[127962,65039],[127963,65039],[127964,65039],[127965,65039],[127966,65039],[127967,65039],[127987,65039],[127989,65039],[127991,65039],[128063,65039],[128065,65039],[128066,127995],[128066,127996],[128066,127997],[128066,127998],[128066,127999],[128067,127995],[128067,127996],[128067,127997],[128067,127998],[128067,127999],[128070,127995],[128070,127996],[128070,127997],[128070,127998],[128070,127999],[128071,127995],[128071,127996],[128071,127997],[128071,127998],[128071,127999],[128072,127995],[128072,127996],[128072,127997],[128072,127998],[128072,127999],[128073,127995],[128073,127996],[128073,127997],[128073,127998],[128073,127999],[128074,127995],[128074,127996],[128074,127997],[128074,127998],[128074,127999],[128075,127995],[128075,127996],[128075,127997],[128075,127998],[128075,127999],[128076,127995],[128076,127996],[128076,127997],[128076,127998],[128076,127999],[128077,127995],[128077,127996],[128077,127997],[128077,127998],[128077,127999],[128078,127995],[128078,127996],[128078,127997],[128078,127998],[128078,127999],[128079,127995],[128079,127996],[128079,127997],[128079,127998],[128079,127999],[128080,127995],[128080,127996],[128080,127997],[128080,127998],[128080,127999],[128102,127995],[128102,127996],[128102,127997],[128102,127998],[128102,127999],[128103,127995],[128103,127996],[128103,127997],[128103,127998],[128103,127999],[128104,127995],[128104,127996],[128104,127997],[128104,127998],[128104,127999],[128105,127995],[128105,127996],[128105,127997],[128105,127998],[128105,127999],[128107,127995],[128107,127996],[128107,127997],[128107,127998],[128107,127999],[128108,127995],[128108,127996],[128108,127997],[128108,127998],[128108,127999],[128109,127995],[128109,127996],[128109,127997],[128109,127998],[128109,127999],[128110,127995],[128110,127996],[128110,127997],[128110,127998],[128110,127999],[128112,127995],[128112,127996],[128112,127997],[128112,127998],[128112,127999],[128113,127995],[128113,127996],[128113,127997],[128113,127998],[128113,127999],[128114,127995],[128114,127996],[128114,127997],[128114,127998],[128114,127999],[128115,127995],[128115,127996],[128115,127997],[128115,127998],[128115,127999],[128116,127995],[128116,127996],[128116,127997],[128116,127998],[128116,127999],[128117,127995],[128117,127996],[128117,127997],[128117,127998],[128117,127999],[128118,127995],[128118,127996],[128118,127997],[128118,127998],[128118,127999],[128119,127995],[128119,127996],[128119,127997],[128119,127998],[128119,127999],[128120,127995],[128120,127996],[128120,127997],[128120,127998],[128120,127999],[128124,127995],[128124,127996],[128124,127997],[128124,127998],[128124,127999],[128129,127995],[128129,127996],[128129,127997],[128129,127998],[128129,127999],[128130,127995],[128130,127996],[128130,127997],[128130,127998],[128130,127999],[128131,127995],[128131,127996],[128131,127997],[128131,127998],[128131,127999],[128133,127995],[128133,127996],[128133,127997],[128133,127998],[128133,127999],[128134,127995],[128134,127996],[128134,127997],[128134,127998],[128134,127999],[128135,127995],[128135,127996],[128135,127997],[128135,127998],[128135,127999],[128143,127995],[128143,127996],[128143,127997],[128143,127998],[128143,127999],[128145,127995],[128145,127996],[128145,127997],[128145,127998],[128145,127999],[128170,127995],[128170,127996],[128170,127997],[128170,127998],[128170,127999],[128253,65039],[128329,65039],[128330,65039],[128367,65039],[128368,65039],[128371,65039],[128372,65039],[128372,127995],[128372,127996],[128372,127997],[128372,127998],[128372,127999],[128373,65039],[128373,127995],[128373,127996],[128373,127997],[128373,127998],[128373,127999],[128374,65039],[128375,65039],[128376,65039],[128377,65039],[128378,127995],[128378,127996],[128378,127997],[128378,127998],[128378,127999],[128391,65039],[128394,65039],[128395,65039],[128396,65039],[128397,65039],[128400,65039],[128400,127995],[128400,127996],[128400,127997],[128400,127998],[128400,127999],[128405,127995],[128405,127996],[128405,127997],[128405,127998],[128405,127999],[128406,127995],[128406,127996],[128406,127997],[128406,127998],[128406,127999],[128421,65039],[128424,65039],[128433,65039],[128434,65039],[128444,65039],[128450,65039],[128451,65039],[128452,65039],[128465,65039],[128466,65039],[128467,65039],[128476,65039],[128477,65039],[128478,65039],[128481,65039],[128483,65039],[128488,65039],[128495,65039],[128499,65039],[128506,65039],[128581,127995],[128581,127996],[128581,127997],[128581,127998],[128581,127999],[128582,127995],[128582,127996],[128582,127997],[128582,127998],[128582,127999],[128583,127995],[128583,127996],[128583,127997],[128583,127998],[128583,127999],[128587,127995],[128587,127996],[128587,127997],[128587,127998],[128587,127999],[128588,127995],[128588,127996],[128588,127997],[128588,127998],[128588,127999],[128589,127995],[128589,127996],[128589,127997],[128589,127998],[128589,127999],[128590,127995],[128590,127996],[128590,127997],[128590,127998],[128590,127999],[128591,127995],[128591,127996],[128591,127997],[128591,127998],[128591,127999],[128675,127995],[128675,127996],[128675,127997],[128675,127998],[128675,127999],[128692,127995],[128692,127996],[128692,127997],[128692,127998],[128692,127999],[128693,127995],[128693,127996],[128693,127997],[128693,127998],[128693,127999],[128694,127995],[128694,127996],[128694,127997],[128694,127998],[128694,127999],[128704,127995],[128704,127996],[128704,127997],[128704,127998],[128704,127999],[128715,65039],[128716,127995],[128716,127996],[128716,127997],[128716,127998],[128716,127999],[128717,65039],[128718,65039],[128719,65039],[128736,65039],[128737,65039],[128738,65039],[128739,65039],[128740,65039],[128741,65039],[128745,65039],[128752,65039],[128755,65039],[129292,127995],[129292,127996],[129292,127997],[129292,127998],[129292,127999],[129295,127995],[129295,127996],[129295,127997],[129295,127998],[129295,127999],[129304,127995],[129304,127996],[129304,127997],[129304,127998],[129304,127999],[129305,127995],[129305,127996],[129305,127997],[129305,127998],[129305,127999],[129306,127995],[129306,127996],[129306,127997],[129306,127998],[129306,127999],[129307,127995],[129307,127996],[129307,127997],[129307,127998],[129307,127999],[129308,127995],[129308,127996],[129308,127997],[129308,127998],[129308,127999],[129309,127995],[129309,127996],[129309,127997],[129309,127998],[129309,127999],[129310,127995],[129310,127996],[129310,127997],[129310,127998],[129310,127999],[129311,127995],[129311,127996],[129311,127997],[129311,127998],[129311,127999],[129318,127995],[129318,127996],[129318,127997],[129318,127998],[129318,127999],[129328,127995],[129328,127996],[129328,127997],[129328,127998],[129328,127999],[129329,127995],[129329,127996],[129329,127997],[129329,127998],[129329,127999],[129330,127995],[129330,127996],[129330,127997],[129330,127998],[129330,127999],[129331,127995],[129331,127996],[129331,127997],[129331,127998],[129331,127999],[129332,127995],[129332,127996],[129332,127997],[129332,127998],[129332,127999],[129333,127995],[129333,127996],[129333,127997],[129333,127998],[129333,127999],[129334,127995],[129334,127996],[129334,127997],[129334,127998],[129334,127999],[129335,127995],[129335,127996],[129335,127997],[129335,127998],[129335,127999],[129336,127995],[129336,127996],[129336,127997],[129336,127998],[129336,127999],[129337,127995],[129337,127996],[129337,127997],[129337,127998],[129337,127999],[129341,127995],[129341,127996],[129341,127997],[129341,127998],[129341,127999],[129342,127995],[129342,127996],[129342,127997],[129342,127998],[129342,127999],[129399,127995],[129399,127996],[129399,127997],[129399,127998],[129399,127999],[129461,127995],[129461,127996],[129461,127997],[129461,127998],[129461,127999],[129462,127995],[129462,127996],[129462,127997],[129462,127998],[129462,127999],[129464,127995],[129464,127996],[129464,127997],[129464,127998],[129464,127999],[129465,127995],[129465,127996],[129465,127997],[129465,127998],[129465,127999],[129467,127995],[129467,127996],[129467,127997],[129467,127998],[129467,127999],[129485,127995],[129485,127996],[129485,127997],[129485,127998],[129485,127999],[129486,127995],[129486,127996],[129486,127997],[129486,127998],[129486,127999],[129487,127995],[129487,127996],[129487,127997],[129487,127998],[129487,127999],[129489,127995],[129489,127996],[129489,127997],[129489,127998],[129489,127999],[129490,127995],[129490,127996],[129490,127997],[129490,127998],[129490,127999],[129491,127995],[129491,127996],[129491,127997],[129491,127998],[129491,127999],[129492,127995],[129492,127996],[129492,127997],[129492,127998],[129492,127999],[129493,127995],[129493,127996],[129493,127997],[129493,127998],[129493,127999],[129494,127995],[129494,127996],[129494,127997],[129494,127998],[129494,127999],[129495,127995],[129495,127996],[129495,127997],[129495,127998],[129495,127999],[129496,127995],[129496,127996],[129496,127997],[129496,127998],[129496,127999],[129497,127995],[129497,127996],[129497,127997],[129497,127998],[129497,127999],[129498,127995],[129498,127996],[129498,127997],[129498,127998],[129498,127999],[129499,127995],[129499,127996],[129499,127997],[129499,127998],[129499,127999],[129500,127995],[129500,127996],[129500,127997],[129500,127998],[129500,127999],[129501,127995],[129501,127996],[129501,127997],[129501,127998],[129501,127999],[129731,127995],[129731,127996],[129731,127997],[129731,127998],[129731,127999],[129732,127995],[129732,127996],[129732,127997],[129732,127998],[129732,127999],[129733,127995],[129733,127996],[129733,127997],[129733,127998],[129733,127999],[129776,127995],[129776,127996],[129776,127997],[129776,127998],[129776,127999],[129777,127995],[129777,127996],[129777,127997],[129777,127998],[129777,127999],[129778,127995],[129778,127996],[129778,127997],[129778,127998],[129778,127999],[129779,127995],[129779,127996],[129779,127997],[129779,127998],[129779,127999],[129780,127995],[129780,127996],[129780,127997],[129780,127998],[129780,127999],[129781,127995],[129781,127996],[129781,127997],[129781,127998],[129781,127999],[129782,127995],[129782,127996],[129782,127997],[129782,127998],[129782,127999],[129783,127995],[129783,127996],[129783,127997],[129783,127998],[129783,127999],[129784,127995],[129784,127996],[129784,127997],[129784,127998],[129784,127999],[35,65039,8419],[42,65039,8419],[48,65039,8419],[49,65039,8419],[50,65039,8419],[51,65039,8419],[52,65039,8419],[53,65039,8419],[54,65039,8419],[55,65039,8419],[56,65039,8419],[57,65039,8419],[128008,8205,11035],[128021,8205,129466],[128038,8205,11035],[128104,8205,127806],[128104,8205,127859],[128104,8205,127868],[128104,8205,127891],[128104,8205,127908],[128104,8205,127912],[128104,8205,127979],[128104,8205,127981],[128104,8205,128102],[128104,8205,128103],[128104,8205,128187],[128104,8205,128188],[128104,8205,128295],[128104,8205,128300],[128104,8205,128640],[128104,8205,128658],[128104,8205,129455],[128104,8205,129456],[128104,8205,129457],[128104,8205,129458],[128104,8205,129459],[128104,8205,129468],[128104,8205,129469],[128105,8205,127806],[128105,8205,127859],[128105,8205,127868],[128105,8205,127891],[128105,8205,127908],[128105,8205,127912],[128105,8205,127979],[128105,8205,127981],[128105,8205,128102],[128105,8205,128103],[128105,8205,128187],[128105,8205,128188],[128105,8205,128295],[128105,8205,128300],[128105,8205,128640],[128105,8205,128658],[128105,8205,129455],[128105,8205,129456],[128105,8205,129457],[128105,8205,129458],[128105,8205,129459],[128105,8205,129468],[128105,8205,129469],[128558,8205,128168],[128565,8205,128171],[129489,8205,127806],[129489,8205,127859],[129489,8205,127868],[129489,8205,127876],[129489,8205,127891],[129489,8205,127908],[129489,8205,127912],[129489,8205,127979],[129489,8205,127981],[129489,8205,128187],[129489,8205,128188],[129489,8205,128295],[129489,8205,128300],[129489,8205,128640],[129489,8205,128658],[129489,8205,129455],[129489,8205,129456],[129489,8205,129457],[129489,8205,129458],[129489,8205,129459],[129489,8205,129468],[129489,8205,129469],[10084,65039,8205,128293],[10084,65039,8205,129657],[127939,8205,9792,65039],[127939,8205,9794,65039],[127940,8205,9792,65039],[127940,8205,9794,65039],[127946,8205,9792,65039],[127946,8205,9794,65039],[127987,65039,8205,127752],[127988,8205,9760,65039],[128059,8205,10052,65039],[128104,8205,9877,65039],[128104,8205,9878,65039],[128104,8205,9992,65039],[128104,127995,8205,127806],[128104,127995,8205,127859],[128104,127995,8205,127868],[128104,127995,8205,127891],[128104,127995,8205,127908],[128104,127995,8205,127912],[128104,127995,8205,127979],[128104,127995,8205,127981],[128104,127995,8205,128187],[128104,127995,8205,128188],[128104,127995,8205,128295],[128104,127995,8205,128300],[128104,127995,8205,128640],[128104,127995,8205,128658],[128104,127995,8205,129455],[128104,127995,8205,129456],[128104,127995,8205,129457],[128104,127995,8205,129458],[128104,127995,8205,129459],[128104,127995,8205,129468],[128104,127995,8205,129469],[128104,127996,8205,127806],[128104,127996,8205,127859],[128104,127996,8205,127868],[128104,127996,8205,127891],[128104,127996,8205,127908],[128104,127996,8205,127912],[128104,127996,8205,127979],[128104,127996,8205,127981],[128104,127996,8205,128187],[128104,127996,8205,128188],[128104,127996,8205,128295],[128104,127996,8205,128300],[128104,127996,8205,128640],[128104,127996,8205,128658],[128104,127996,8205,129455],[128104,127996,8205,129456],[128104,127996,8205,129457],[128104,127996,8205,129458],[128104,127996,8205,129459],[128104,127996,8205,129468],[128104,127996,8205,129469],[128104,127997,8205,127806],[128104,127997,8205,127859],[128104,127997,8205,127868],[128104,127997,8205,127891],[128104,127997,8205,127908],[128104,127997,8205,127912],[128104,127997,8205,127979],[128104,127997,8205,127981],[128104,127997,8205,128187],[128104,127997,8205,128188],[128104,127997,8205,128295],[128104,127997,8205,128300],[128104,127997,8205,128640],[128104,127997,8205,128658],[128104,127997,8205,129455],[128104,127997,8205,129456],[128104,127997,8205,129457],[128104,127997,8205,129458],[128104,127997,8205,129459],[128104,127997,8205,129468],[128104,127997,8205,129469],[128104,127998,8205,127806],[128104,127998,8205,127859],[128104,127998,8205,127868],[128104,127998,8205,127891],[128104,127998,8205,127908],[128104,127998,8205,127912],[128104,127998,8205,127979],[128104,127998,8205,127981],[128104,127998,8205,128187],[128104,127998,8205,128188],[128104,127998,8205,128295],[128104,127998,8205,128300],[128104,127998,8205,128640],[128104,127998,8205,128658],[128104,127998,8205,129455],[128104,127998,8205,129456],[128104,127998,8205,129457],[128104,127998,8205,129458],[128104,127998,8205,129459],[128104,127998,8205,129468],[128104,127998,8205,129469],[128104,127999,8205,127806],[128104,127999,8205,127859],[128104,127999,8205,127868],[128104,127999,8205,127891],[128104,127999,8205,127908],[128104,127999,8205,127912],[128104,127999,8205,127979],[128104,127999,8205,127981],[128104,127999,8205,128187],[128104,127999,8205,128188],[128104,127999,8205,128295],[128104,127999,8205,128300],[128104,127999,8205,128640],[128104,127999,8205,128658],[128104,127999,8205,129455],[128104,127999,8205,129456],[128104,127999,8205,129457],[128104,127999,8205,129458],[128104,127999,8205,129459],[128104,127999,8205,129468],[128104,127999,8205,129469],[128105,8205,9877,65039],[128105,8205,9878,65039],[128105,8205,9992,65039],[128105,127995,8205,127806],[128105,127995,8205,127859],[128105,127995,8205,127868],[128105,127995,8205,127891],[128105,127995,8205,127908],[128105,127995,8205,127912],[128105,127995,8205,127979],[128105,127995,8205,127981],[128105,127995,8205,128187],[128105,127995,8205,128188],[128105,127995,8205,128295],[128105,127995,8205,128300],[128105,127995,8205,128640],[128105,127995,8205,128658],[128105,127995,8205,129455],[128105,127995,8205,129456],[128105,127995,8205,129457],[128105,127995,8205,129458],[128105,127995,8205,129459],[128105,127995,8205,129468],[128105,127995,8205,129469],[128105,127996,8205,127806],[128105,127996,8205,127859],[128105,127996,8205,127868],[128105,127996,8205,127891],[128105,127996,8205,127908],[128105,127996,8205,127912],[128105,127996,8205,127979],[128105,127996,8205,127981],[128105,127996,8205,128187],[128105,127996,8205,128188],[128105,127996,8205,128295],[128105,127996,8205,128300],[128105,127996,8205,128640],[128105,127996,8205,128658],[128105,127996,8205,129455],[128105,127996,8205,129456],[128105,127996,8205,129457],[128105,127996,8205,129458],[128105,127996,8205,129459],[128105,127996,8205,129468],[128105,127996,8205,129469],[128105,127997,8205,127806],[128105,127997,8205,127859],[128105,127997,8205,127868],[128105,127997,8205,127891],[128105,127997,8205,127908],[128105,127997,8205,127912],[128105,127997,8205,127979],[128105,127997,8205,127981],[128105,127997,8205,128187],[128105,127997,8205,128188],[128105,127997,8205,128295],[128105,127997,8205,128300],[128105,127997,8205,128640],[128105,127997,8205,128658],[128105,127997,8205,129455],[128105,127997,8205,129456],[128105,127997,8205,129457],[128105,127997,8205,129458],[128105,127997,8205,129459],[128105,127997,8205,129468],[128105,127997,8205,129469],[128105,127998,8205,127806],[128105,127998,8205,127859],[128105,127998,8205,127868],[128105,127998,8205,127891],[128105,127998,8205,127908],[128105,127998,8205,127912],[128105,127998,8205,127979],[128105,127998,8205,127981],[128105,127998,8205,128187],[128105,127998,8205,128188],[128105,127998,8205,128295],[128105,127998,8205,128300],[128105,127998,8205,128640],[128105,127998,8205,128658],[128105,127998,8205,129455],[128105,127998,8205,129456],[128105,127998,8205,129457],[128105,127998,8205,129458],[128105,127998,8205,129459],[128105,127998,8205,129468],[128105,127998,8205,129469],[128105,127999,8205,127806],[128105,127999,8205,127859],[128105,127999,8205,127868],[128105,127999,8205,127891],[128105,127999,8205,127908],[128105,127999,8205,127912],[128105,127999,8205,127979],[128105,127999,8205,127981],[128105,127999,8205,128187],[128105,127999,8205,128188],[128105,127999,8205,128295],[128105,127999,8205,128300],[128105,127999,8205,128640],[128105,127999,8205,128658],[128105,127999,8205,129455],[128105,127999,8205,129456],[128105,127999,8205,129457],[128105,127999,8205,129458],[128105,127999,8205,129459],[128105,127999,8205,129468],[128105,127999,8205,129469],[128110,8205,9792,65039],[128110,8205,9794,65039],[128111,8205,9792,65039],[128111,8205,9794,65039],[128112,8205,9792,65039],[128112,8205,9794,65039],[128113,8205,9792,65039],[128113,8205,9794,65039],[128115,8205,9792,65039],[128115,8205,9794,65039],[128119,8205,9792,65039],[128119,8205,9794,65039],[128129,8205,9792,65039],[128129,8205,9794,65039],[128130,8205,9792,65039],[128130,8205,9794,65039],[128134,8205,9792,65039],[128134,8205,9794,65039],[128135,8205,9792,65039],[128135,8205,9794,65039],[128566,8205,127787,65039],[128581,8205,9792,65039],[128581,8205,9794,65039],[128582,8205,9792,65039],[128582,8205,9794,65039],[128583,8205,9792,65039],[128583,8205,9794,65039],[128587,8205,9792,65039],[128587,8205,9794,65039],[128589,8205,9792,65039],[128589,8205,9794,65039],[128590,8205,9792,65039],[128590,8205,9794,65039],[128675,8205,9792,65039],[128675,8205,9794,65039],[128692,8205,9792,65039],[128692,8205,9794,65039],[128693,8205,9792,65039],[128693,8205,9794,65039],[128694,8205,9792,65039],[128694,8205,9794,65039],[129318,8205,9792,65039],[129318,8205,9794,65039],[129333,8205,9792,65039],[129333,8205,9794,65039],[129335,8205,9792,65039],[129335,8205,9794,65039],[129336,8205,9792,65039],[129336,8205,9794,65039],[129337,8205,9792,65039],[129337,8205,9794,65039],[129340,8205,9792,65039],[129340,8205,9794,65039],[129341,8205,9792,65039],[129341,8205,9794,65039],[129342,8205,9792,65039],[129342,8205,9794,65039],[129464,8205,9792,65039],[129464,8205,9794,65039],[129465,8205,9792,65039],[129465,8205,9794,65039],[129485,8205,9792,65039],[129485,8205,9794,65039],[129486,8205,9792,65039],[129486,8205,9794,65039],[129487,8205,9792,65039],[129487,8205,9794,65039],[129489,8205,9877,65039],[129489,8205,9878,65039],[129489,8205,9992,65039],[129489,127995,8205,127806],[129489,127995,8205,127859],[129489,127995,8205,127868],[129489,127995,8205,127876],[129489,127995,8205,127891],[129489,127995,8205,127908],[129489,127995,8205,127912],[129489,127995,8205,127979],[129489,127995,8205,127981],[129489,127995,8205,128187],[129489,127995,8205,128188],[129489,127995,8205,128295],[129489,127995,8205,128300],[129489,127995,8205,128640],[129489,127995,8205,128658],[129489,127995,8205,129455],[129489,127995,8205,129456],[129489,127995,8205,129457],[129489,127995,8205,129458],[129489,127995,8205,129459],[129489,127995,8205,129468],[129489,127995,8205,129469],[129489,127996,8205,127806],[129489,127996,8205,127859],[129489,127996,8205,127868],[129489,127996,8205,127876],[129489,127996,8205,127891],[129489,127996,8205,127908],[129489,127996,8205,127912],[129489,127996,8205,127979],[129489,127996,8205,127981],[129489,127996,8205,128187],[129489,127996,8205,128188],[129489,127996,8205,128295],[129489,127996,8205,128300],[129489,127996,8205,128640],[129489,127996,8205,128658],[129489,127996,8205,129455],[129489,127996,8205,129456],[129489,127996,8205,129457],[129489,127996,8205,129458],[129489,127996,8205,129459],[129489,127996,8205,129468],[129489,127996,8205,129469],[129489,127997,8205,127806],[129489,127997,8205,127859],[129489,127997,8205,127868],[129489,127997,8205,127876],[129489,127997,8205,127891],[129489,127997,8205,127908],[129489,127997,8205,127912],[129489,127997,8205,127979],[129489,127997,8205,127981],[129489,127997,8205,128187],[129489,127997,8205,128188],[129489,127997,8205,128295],[129489,127997,8205,128300],[129489,127997,8205,128640],[129489,127997,8205,128658],[129489,127997,8205,129455],[129489,127997,8205,129456],[129489,127997,8205,129457],[129489,127997,8205,129458],[129489,127997,8205,129459],[129489,127997,8205,129468],[129489,127997,8205,129469],[129489,127998,8205,127806],[129489,127998,8205,127859],[129489,127998,8205,127868],[129489,127998,8205,127876],[129489,127998,8205,127891],[129489,127998,8205,127908],[129489,127998,8205,127912],[129489,127998,8205,127979],[129489,127998,8205,127981],[129489,127998,8205,128187],[129489,127998,8205,128188],[129489,127998,8205,128295],[129489,127998,8205,128300],[129489,127998,8205,128640],[129489,127998,8205,128658],[129489,127998,8205,129455],[129489,127998,8205,129456],[129489,127998,8205,129457],[129489,127998,8205,129458],[129489,127998,8205,129459],[129489,127998,8205,129468],[129489,127998,8205,129469],[129489,127999,8205,127806],[129489,127999,8205,127859],[129489,127999,8205,127868],[129489,127999,8205,127876],[129489,127999,8205,127891],[129489,127999,8205,127908],[129489,127999,8205,127912],[129489,127999,8205,127979],[129489,127999,8205,127981],[129489,127999,8205,128187],[129489,127999,8205,128188],[129489,127999,8205,128295],[129489,127999,8205,128300],[129489,127999,8205,128640],[129489,127999,8205,128658],[129489,127999,8205,129455],[129489,127999,8205,129456],[129489,127999,8205,129457],[129489,127999,8205,129458],[129489,127999,8205,129459],[129489,127999,8205,129468],[129489,127999,8205,129469],[129492,8205,9792,65039],[129492,8205,9794,65039],[129494,8205,9792,65039],[129494,8205,9794,65039],[129495,8205,9792,65039],[129495,8205,9794,65039],[129496,8205,9792,65039],[129496,8205,9794,65039],[129497,8205,9792,65039],[129497,8205,9794,65039],[129498,8205,9792,65039],[129498,8205,9794,65039],[129499,8205,9792,65039],[129499,8205,9794,65039],[129500,8205,9792,65039],[129500,8205,9794,65039],[129501,8205,9792,65039],[129501,8205,9794,65039],[129502,8205,9792,65039],[129502,8205,9794,65039],[129503,8205,9792,65039],[129503,8205,9794,65039],[9977,65039,8205,9792,65039],[9977,65039,8205,9794,65039],[9977,127995,8205,9792,65039],[9977,127995,8205,9794,65039],[9977,127996,8205,9792,65039],[9977,127996,8205,9794,65039],[9977,127997,8205,9792,65039],[9977,127997,8205,9794,65039],[9977,127998,8205,9792,65039],[9977,127998,8205,9794,65039],[9977,127999,8205,9792,65039],[9977,127999,8205,9794,65039],[127939,127995,8205,9792,65039],[127939,127995,8205,9794,65039],[127939,127996,8205,9792,65039],[127939,127996,8205,9794,65039],[127939,127997,8205,9792,65039],[127939,127997,8205,9794,65039],[127939,127998,8205,9792,65039],[127939,127998,8205,9794,65039],[127939,127999,8205,9792,65039],[127939,127999,8205,9794,65039],[127940,127995,8205,9792,65039],[127940,127995,8205,9794,65039],[127940,127996,8205,9792,65039],[127940,127996,8205,9794,65039],[127940,127997,8205,9792,65039],[127940,127997,8205,9794,65039],[127940,127998,8205,9792,65039],[127940,127998,8205,9794,65039],[127940,127999,8205,9792,65039],[127940,127999,8205,9794,65039],[127946,127995,8205,9792,65039],[127946,127995,8205,9794,65039],[127946,127996,8205,9792,65039],[127946,127996,8205,9794,65039],[127946,127997,8205,9792,65039],[127946,127997,8205,9794,65039],[127946,127998,8205,9792,65039],[127946,127998,8205,9794,65039],[127946,127999,8205,9792,65039],[127946,127999,8205,9794,65039],[127947,65039,8205,9792,65039],[127947,65039,8205,9794,65039],[127947,127995,8205,9792,65039],[127947,127995,8205,9794,65039],[127947,127996,8205,9792,65039],[127947,127996,8205,9794,65039],[127947,127997,8205,9792,65039],[127947,127997,8205,9794,65039],[127947,127998,8205,9792,65039],[127947,127998,8205,9794,65039],[127947,127999,8205,9792,65039],[127947,127999,8205,9794,65039],[127948,65039,8205,9792,65039],[127948,65039,8205,9794,65039],[127948,127995,8205,9792,65039],[127948,127995,8205,9794,65039],[127948,127996,8205,9792,65039],[127948,127996,8205,9794,65039],[127948,127997,8205,9792,65039],[127948,127997,8205,9794,65039],[127948,127998,8205,9792,65039],[127948,127998,8205,9794,65039],[127948,127999,8205,9792,65039],[127948,127999,8205,9794,65039],[127987,65039,8205,9895,65039],[128065,65039,8205,128488,65039],[128104,8205,128102,8205,128102],[128104,8205,128103,8205,128102],[128104,8205,128103,8205,128103],[128104,8205,128104,8205,128102],[128104,8205,128104,8205,128103],[128104,8205,128105,8205,128102],[128104,8205,128105,8205,128103],[128104,127995,8205,9877,65039],[128104,127995,8205,9878,65039],[128104,127995,8205,9992,65039],[128104,127996,8205,9877,65039],[128104,127996,8205,9878,65039],[128104,127996,8205,9992,65039],[128104,127997,8205,9877,65039],[128104,127997,8205,9878,65039],[128104,127997,8205,9992,65039],[128104,127998,8205,9877,65039],[128104,127998,8205,9878,65039],[128104,127998,8205,9992,65039],[128104,127999,8205,9877,65039],[128104,127999,8205,9878,65039],[128104,127999,8205,9992,65039],[128105,8205,128102,8205,128102],[128105,8205,128103,8205,128102],[128105,8205,128103,8205,128103],[128105,8205,128105,8205,128102],[128105,8205,128105,8205,128103],[128105,127995,8205,9877,65039],[128105,127995,8205,9878,65039],[128105,127995,8205,9992,65039],[128105,127996,8205,9877,65039],[128105,127996,8205,9878,65039],[128105,127996,8205,9992,65039],[128105,127997,8205,9877,65039],[128105,127997,8205,9878,65039],[128105,127997,8205,9992,65039],[128105,127998,8205,9877,65039],[128105,127998,8205,9878,65039],[128105,127998,8205,9992,65039],[128105,127999,8205,9877,65039],[128105,127999,8205,9878,65039],[128105,127999,8205,9992,65039],[128110,127995,8205,9792,65039],[128110,127995,8205,9794,65039],[128110,127996,8205,9792,65039],[128110,127996,8205,9794,65039],[128110,127997,8205,9792,65039],[128110,127997,8205,9794,65039],[128110,127998,8205,9792,65039],[128110,127998,8205,9794,65039],[128110,127999,8205,9792,65039],[128110,127999,8205,9794,65039],[128112,127995,8205,9792,65039],[128112,127995,8205,9794,65039],[128112,127996,8205,9792,65039],[128112,127996,8205,9794,65039],[128112,127997,8205,9792,65039],[128112,127997,8205,9794,65039],[128112,127998,8205,9792,65039],[128112,127998,8205,9794,65039],[128112,127999,8205,9792,65039],[128112,127999,8205,9794,65039],[128113,127995,8205,9792,65039],[128113,127995,8205,9794,65039],[128113,127996,8205,9792,65039],[128113,127996,8205,9794,65039],[128113,127997,8205,9792,65039],[128113,127997,8205,9794,65039],[128113,127998,8205,9792,65039],[128113,127998,8205,9794,65039],[128113,127999,8205,9792,65039],[128113,127999,8205,9794,65039],[128115,127995,8205,9792,65039],[128115,127995,8205,9794,65039],[128115,127996,8205,9792,65039],[128115,127996,8205,9794,65039],[128115,127997,8205,9792,65039],[128115,127997,8205,9794,65039],[128115,127998,8205,9792,65039],[128115,127998,8205,9794,65039],[128115,127999,8205,9792,65039],[128115,127999,8205,9794,65039],[128119,127995,8205,9792,65039],[128119,127995,8205,9794,65039],[128119,127996,8205,9792,65039],[128119,127996,8205,9794,65039],[128119,127997,8205,9792,65039],[128119,127997,8205,9794,65039],[128119,127998,8205,9792,65039],[128119,127998,8205,9794,65039],[128119,127999,8205,9792,65039],[128119,127999,8205,9794,65039],[128129,127995,8205,9792,65039],[128129,127995,8205,9794,65039],[128129,127996,8205,9792,65039],[128129,127996,8205,9794,65039],[128129,127997,8205,9792,65039],[128129,127997,8205,9794,65039],[128129,127998,8205,9792,65039],[128129,127998,8205,9794,65039],[128129,127999,8205,9792,65039],[128129,127999,8205,9794,65039],[128130,127995,8205,9792,65039],[128130,127995,8205,9794,65039],[128130,127996,8205,9792,65039],[128130,127996,8205,9794,65039],[128130,127997,8205,9792,65039],[128130,127997,8205,9794,65039],[128130,127998,8205,9792,65039],[128130,127998,8205,9794,65039],[128130,127999,8205,9792,65039],[128130,127999,8205,9794,65039],[128134,127995,8205,9792,65039],[128134,127995,8205,9794,65039],[128134,127996,8205,9792,65039],[128134,127996,8205,9794,65039],[128134,127997,8205,9792,65039],[128134,127997,8205,9794,65039],[128134,127998,8205,9792,65039],[128134,127998,8205,9794,65039],[128134,127999,8205,9792,65039],[128134,127999,8205,9794,65039],[128135,127995,8205,9792,65039],[128135,127995,8205,9794,65039],[128135,127996,8205,9792,65039],[128135,127996,8205,9794,65039],[128135,127997,8205,9792,65039],[128135,127997,8205,9794,65039],[128135,127998,8205,9792,65039],[128135,127998,8205,9794,65039],[128135,127999,8205,9792,65039],[128135,127999,8205,9794,65039],[128373,65039,8205,9792,65039],[128373,65039,8205,9794,65039],[128373,127995,8205,9792,65039],[128373,127995,8205,9794,65039],[128373,127996,8205,9792,65039],[128373,127996,8205,9794,65039],[128373,127997,8205,9792,65039],[128373,127997,8205,9794,65039],[128373,127998,8205,9792,65039],[128373,127998,8205,9794,65039],[128373,127999,8205,9792,65039],[128373,127999,8205,9794,65039],[128581,127995,8205,9792,65039],[128581,127995,8205,9794,65039],[128581,127996,8205,9792,65039],[128581,127996,8205,9794,65039],[128581,127997,8205,9792,65039],[128581,127997,8205,9794,65039],[128581,127998,8205,9792,65039],[128581,127998,8205,9794,65039],[128581,127999,8205,9792,65039],[128581,127999,8205,9794,65039],[128582,127995,8205,9792,65039],[128582,127995,8205,9794,65039],[128582,127996,8205,9792,65039],[128582,127996,8205,9794,65039],[128582,127997,8205,9792,65039],[128582,127997,8205,9794,65039],[128582,127998,8205,9792,65039],[128582,127998,8205,9794,65039],[128582,127999,8205,9792,65039],[128582,127999,8205,9794,65039],[128583,127995,8205,9792,65039],[128583,127995,8205,9794,65039],[128583,127996,8205,9792,65039],[128583,127996,8205,9794,65039],[128583,127997,8205,9792,65039],[128583,127997,8205,9794,65039],[128583,127998,8205,9792,65039],[128583,127998,8205,9794,65039],[128583,127999,8205,9792,65039],[128583,127999,8205,9794,65039],[128587,127995,8205,9792,65039],[128587,127995,8205,9794,65039],[128587,127996,8205,9792,65039],[128587,127996,8205,9794,65039],[128587,127997,8205,9792,65039],[128587,127997,8205,9794,65039],[128587,127998,8205,9792,65039],[128587,127998,8205,9794,65039],[128587,127999,8205,9792,65039],[128587,127999,8205,9794,65039],[128589,127995,8205,9792,65039],[128589,127995,8205,9794,65039],[128589,127996,8205,9792,65039],[128589,127996,8205,9794,65039],[128589,127997,8205,9792,65039],[128589,127997,8205,9794,65039],[128589,127998,8205,9792,65039],[128589,127998,8205,9794,65039],[128589,127999,8205,9792,65039],[128589,127999,8205,9794,65039],[128590,127995,8205,9792,65039],[128590,127995,8205,9794,65039],[128590,127996,8205,9792,65039],[128590,127996,8205,9794,65039],[128590,127997,8205,9792,65039],[128590,127997,8205,9794,65039],[128590,127998,8205,9792,65039],[128590,127998,8205,9794,65039],[128590,127999,8205,9792,65039],[128590,127999,8205,9794,65039],[128675,127995,8205,9792,65039],[128675,127995,8205,9794,65039],[128675,127996,8205,9792,65039],[128675,127996,8205,9794,65039],[128675,127997,8205,9792,65039],[128675,127997,8205,9794,65039],[128675,127998,8205,9792,65039],[128675,127998,8205,9794,65039],[128675,127999,8205,9792,65039],[128675,127999,8205,9794,65039],[128692,127995,8205,9792,65039],[128692,127995,8205,9794,65039],[128692,127996,8205,9792,65039],[128692,127996,8205,9794,65039],[128692,127997,8205,9792,65039],[128692,127997,8205,9794,65039],[128692,127998,8205,9792,65039],[128692,127998,8205,9794,65039],[128692,127999,8205,9792,65039],[128692,127999,8205,9794,65039],[128693,127995,8205,9792,65039],[128693,127995,8205,9794,65039],[128693,127996,8205,9792,65039],[128693,127996,8205,9794,65039],[128693,127997,8205,9792,65039],[128693,127997,8205,9794,65039],[128693,127998,8205,9792,65039],[128693,127998,8205,9794,65039],[128693,127999,8205,9792,65039],[128693,127999,8205,9794,65039],[128694,127995,8205,9792,65039],[128694,127995,8205,9794,65039],[128694,127996,8205,9792,65039],[128694,127996,8205,9794,65039],[128694,127997,8205,9792,65039],[128694,127997,8205,9794,65039],[128694,127998,8205,9792,65039],[128694,127998,8205,9794,65039],[128694,127999,8205,9792,65039],[128694,127999,8205,9794,65039],[129318,127995,8205,9792,65039],[129318,127995,8205,9794,65039],[129318,127996,8205,9792,65039],[129318,127996,8205,9794,65039],[129318,127997,8205,9792,65039],[129318,127997,8205,9794,65039],[129318,127998,8205,9792,65039],[129318,127998,8205,9794,65039],[129318,127999,8205,9792,65039],[129318,127999,8205,9794,65039],[129333,127995,8205,9792,65039],[129333,127995,8205,9794,65039],[129333,127996,8205,9792,65039],[129333,127996,8205,9794,65039],[129333,127997,8205,9792,65039],[129333,127997,8205,9794,65039],[129333,127998,8205,9792,65039],[129333,127998,8205,9794,65039],[129333,127999,8205,9792,65039],[129333,127999,8205,9794,65039],[129335,127995,8205,9792,65039],[129335,127995,8205,9794,65039],[129335,127996,8205,9792,65039],[129335,127996,8205,9794,65039],[129335,127997,8205,9792,65039],[129335,127997,8205,9794,65039],[129335,127998,8205,9792,65039],[129335,127998,8205,9794,65039],[129335,127999,8205,9792,65039],[129335,127999,8205,9794,65039],[129336,127995,8205,9792,65039],[129336,127995,8205,9794,65039],[129336,127996,8205,9792,65039],[129336,127996,8205,9794,65039],[129336,127997,8205,9792,65039],[129336,127997,8205,9794,65039],[129336,127998,8205,9792,65039],[129336,127998,8205,9794,65039],[129336,127999,8205,9792,65039],[129336,127999,8205,9794,65039],[129337,127995,8205,9792,65039],[129337,127995,8205,9794,65039],[129337,127996,8205,9792,65039],[129337,127996,8205,9794,65039],[129337,127997,8205,9792,65039],[129337,127997,8205,9794,65039],[129337,127998,8205,9792,65039],[129337,127998,8205,9794,65039],[129337,127999,8205,9792,65039],[129337,127999,8205,9794,65039],[129341,127995,8205,9792,65039],[129341,127995,8205,9794,65039],[129341,127996,8205,9792,65039],[129341,127996,8205,9794,65039],[129341,127997,8205,9792,65039],[129341,127997,8205,9794,65039],[129341,127998,8205,9792,65039],[129341,127998,8205,9794,65039],[129341,127999,8205,9792,65039],[129341,127999,8205,9794,65039],[129342,127995,8205,9792,65039],[129342,127995,8205,9794,65039],[129342,127996,8205,9792,65039],[129342,127996,8205,9794,65039],[129342,127997,8205,9792,65039],[129342,127997,8205,9794,65039],[129342,127998,8205,9792,65039],[129342,127998,8205,9794,65039],[129342,127999,8205,9792,65039],[129342,127999,8205,9794,65039],[129464,127995,8205,9792,65039],[129464,127995,8205,9794,65039],[129464,127996,8205,9792,65039],[129464,127996,8205,9794,65039],[129464,127997,8205,9792,65039],[129464,127997,8205,9794,65039],[129464,127998,8205,9792,65039],[129464,127998,8205,9794,65039],[129464,127999,8205,9792,65039],[129464,127999,8205,9794,65039],[129465,127995,8205,9792,65039],[129465,127995,8205,9794,65039],[129465,127996,8205,9792,65039],[129465,127996,8205,9794,65039],[129465,127997,8205,9792,65039],[129465,127997,8205,9794,65039],[129465,127998,8205,9792,65039],[129465,127998,8205,9794,65039],[129465,127999,8205,9792,65039],[129465,127999,8205,9794,65039],[129485,127995,8205,9792,65039],[129485,127995,8205,9794,65039],[129485,127996,8205,9792,65039],[129485,127996,8205,9794,65039],[129485,127997,8205,9792,65039],[129485,127997,8205,9794,65039],[129485,127998,8205,9792,65039],[129485,127998,8205,9794,65039],[129485,127999,8205,9792,65039],[129485,127999,8205,9794,65039],[129486,127995,8205,9792,65039],[129486,127995,8205,9794,65039],[129486,127996,8205,9792,65039],[129486,127996,8205,9794,65039],[129486,127997,8205,9792,65039],[129486,127997,8205,9794,65039],[129486,127998,8205,9792,65039],[129486,127998,8205,9794,65039],[129486,127999,8205,9792,65039],[129486,127999,8205,9794,65039],[129487,127995,8205,9792,65039],[129487,127995,8205,9794,65039],[129487,127996,8205,9792,65039],[129487,127996,8205,9794,65039],[129487,127997,8205,9792,65039],[129487,127997,8205,9794,65039],[129487,127998,8205,9792,65039],[129487,127998,8205,9794,65039],[129487,127999,8205,9792,65039],[129487,127999,8205,9794,65039],[129489,8205,129309,8205,129489],[129489,127995,8205,9877,65039],[129489,127995,8205,9878,65039],[129489,127995,8205,9992,65039],[129489,127996,8205,9877,65039],[129489,127996,8205,9878,65039],[129489,127996,8205,9992,65039],[129489,127997,8205,9877,65039],[129489,127997,8205,9878,65039],[129489,127997,8205,9992,65039],[129489,127998,8205,9877,65039],[129489,127998,8205,9878,65039],[129489,127998,8205,9992,65039],[129489,127999,8205,9877,65039],[129489,127999,8205,9878,65039],[129489,127999,8205,9992,65039],[129492,127995,8205,9792,65039],[129492,127995,8205,9794,65039],[129492,127996,8205,9792,65039],[129492,127996,8205,9794,65039],[129492,127997,8205,9792,65039],[129492,127997,8205,9794,65039],[129492,127998,8205,9792,65039],[129492,127998,8205,9794,65039],[129492,127999,8205,9792,65039],[129492,127999,8205,9794,65039],[129494,127995,8205,9792,65039],[129494,127995,8205,9794,65039],[129494,127996,8205,9792,65039],[129494,127996,8205,9794,65039],[129494,127997,8205,9792,65039],[129494,127997,8205,9794,65039],[129494,127998,8205,9792,65039],[129494,127998,8205,9794,65039],[129494,127999,8205,9792,65039],[129494,127999,8205,9794,65039],[129495,127995,8205,9792,65039],[129495,127995,8205,9794,65039],[129495,127996,8205,9792,65039],[129495,127996,8205,9794,65039],[129495,127997,8205,9792,65039],[129495,127997,8205,9794,65039],[129495,127998,8205,9792,65039],[129495,127998,8205,9794,65039],[129495,127999,8205,9792,65039],[129495,127999,8205,9794,65039],[129496,127995,8205,9792,65039],[129496,127995,8205,9794,65039],[129496,127996,8205,9792,65039],[129496,127996,8205,9794,65039],[129496,127997,8205,9792,65039],[129496,127997,8205,9794,65039],[129496,127998,8205,9792,65039],[129496,127998,8205,9794,65039],[129496,127999,8205,9792,65039],[129496,127999,8205,9794,65039],[129497,127995,8205,9792,65039],[129497,127995,8205,9794,65039],[129497,127996,8205,9792,65039],[129497,127996,8205,9794,65039],[129497,127997,8205,9792,65039],[129497,127997,8205,9794,65039],[129497,127998,8205,9792,65039],[129497,127998,8205,9794,65039],[129497,127999,8205,9792,65039],[129497,127999,8205,9794,65039],[129498,127995,8205,9792,65039],[129498,127995,8205,9794,65039],[129498,127996,8205,9792,65039],[129498,127996,8205,9794,65039],[129498,127997,8205,9792,65039],[129498,127997,8205,9794,65039],[129498,127998,8205,9792,65039],[129498,127998,8205,9794,65039],[129498,127999,8205,9792,65039],[129498,127999,8205,9794,65039],[129499,127995,8205,9792,65039],[129499,127995,8205,9794,65039],[129499,127996,8205,9792,65039],[129499,127996,8205,9794,65039],[129499,127997,8205,9792,65039],[129499,127997,8205,9794,65039],[129499,127998,8205,9792,65039],[129499,127998,8205,9794,65039],[129499,127999,8205,9792,65039],[129499,127999,8205,9794,65039],[129500,127995,8205,9792,65039],[129500,127995,8205,9794,65039],[129500,127996,8205,9792,65039],[129500,127996,8205,9794,65039],[129500,127997,8205,9792,65039],[129500,127997,8205,9794,65039],[129500,127998,8205,9792,65039],[129500,127998,8205,9794,65039],[129500,127999,8205,9792,65039],[129500,127999,8205,9794,65039],[129501,127995,8205,9792,65039],[129501,127995,8205,9794,65039],[129501,127996,8205,9792,65039],[129501,127996,8205,9794,65039],[129501,127997,8205,9792,65039],[129501,127997,8205,9794,65039],[129501,127998,8205,9792,65039],[129501,127998,8205,9794,65039],[129501,127999,8205,9792,65039],[129501,127999,8205,9794,65039],[129777,127995,8205,129778,127996],[129777,127995,8205,129778,127997],[129777,127995,8205,129778,127998],[129777,127995,8205,129778,127999],[129777,127996,8205,129778,127995],[129777,127996,8205,129778,127997],[129777,127996,8205,129778,127998],[129777,127996,8205,129778,127999],[129777,127997,8205,129778,127995],[129777,127997,8205,129778,127996],[129777,127997,8205,129778,127998],[129777,127997,8205,129778,127999],[129777,127998,8205,129778,127995],[129777,127998,8205,129778,127996],[129777,127998,8205,129778,127997],[129777,127998,8205,129778,127999],[129777,127999,8205,129778,127995],[129777,127999,8205,129778,127996],[129777,127999,8205,129778,127997],[129777,127999,8205,129778,127998],[128104,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128104],[128105,8205,10084,65039,8205,128105],[127988,917607,917602,917605,917614,917607,917631],[127988,917607,917602,917619,917603,917620,917631],[127988,917607,917602,917623,917612,917619,917631],[128104,8205,128104,8205,128102,8205,128102],[128104,8205,128104,8205,128103,8205,128102],[128104,8205,128104,8205,128103,8205,128103],[128104,8205,128105,8205,128102,8205,128102],[128104,8205,128105,8205,128103,8205,128102],[128104,8205,128105,8205,128103,8205,128103],[128104,127995,8205,129309,8205,128104,127996],[128104,127995,8205,129309,8205,128104,127997],[128104,127995,8205,129309,8205,128104,127998],[128104,127995,8205,129309,8205,128104,127999],[128104,127996,8205,129309,8205,128104,127995],[128104,127996,8205,129309,8205,128104,127997],[128104,127996,8205,129309,8205,128104,127998],[128104,127996,8205,129309,8205,128104,127999],[128104,127997,8205,129309,8205,128104,127995],[128104,127997,8205,129309,8205,128104,127996],[128104,127997,8205,129309,8205,128104,127998],[128104,127997,8205,129309,8205,128104,127999],[128104,127998,8205,129309,8205,128104,127995],[128104,127998,8205,129309,8205,128104,127996],[128104,127998,8205,129309,8205,128104,127997],[128104,127998,8205,129309,8205,128104,127999],[128104,127999,8205,129309,8205,128104,127995],[128104,127999,8205,129309,8205,128104,127996],[128104,127999,8205,129309,8205,128104,127997],[128104,127999,8205,129309,8205,128104,127998],[128105,8205,128105,8205,128102,8205,128102],[128105,8205,128105,8205,128103,8205,128102],[128105,8205,128105,8205,128103,8205,128103],[128105,127995,8205,129309,8205,128104,127996],[128105,127995,8205,129309,8205,128104,127997],[128105,127995,8205,129309,8205,128104,127998],[128105,127995,8205,129309,8205,128104,127999],[128105,127995,8205,129309,8205,128105,127996],[128105,127995,8205,129309,8205,128105,127997],[128105,127995,8205,129309,8205,128105,127998],[128105,127995,8205,129309,8205,128105,127999],[128105,127996,8205,129309,8205,128104,127995],[128105,127996,8205,129309,8205,128104,127997],[128105,127996,8205,129309,8205,128104,127998],[128105,127996,8205,129309,8205,128104,127999],[128105,127996,8205,129309,8205,128105,127995],[128105,127996,8205,129309,8205,128105,127997],[128105,127996,8205,129309,8205,128105,127998],[128105,127996,8205,129309,8205,128105,127999],[128105,127997,8205,129309,8205,128104,127995],[128105,127997,8205,129309,8205,128104,127996],[128105,127997,8205,129309,8205,128104,127998],[128105,127997,8205,129309,8205,128104,127999],[128105,127997,8205,129309,8205,128105,127995],[128105,127997,8205,129309,8205,128105,127996],[128105,127997,8205,129309,8205,128105,127998],[128105,127997,8205,129309,8205,128105,127999],[128105,127998,8205,129309,8205,128104,127995],[128105,127998,8205,129309,8205,128104,127996],[128105,127998,8205,129309,8205,128104,127997],[128105,127998,8205,129309,8205,128104,127999],[128105,127998,8205,129309,8205,128105,127995],[128105,127998,8205,129309,8205,128105,127996],[128105,127998,8205,129309,8205,128105,127997],[128105,127998,8205,129309,8205,128105,127999],[128105,127999,8205,129309,8205,128104,127995],[128105,127999,8205,129309,8205,128104,127996],[128105,127999,8205,129309,8205,128104,127997],[128105,127999,8205,129309,8205,128104,127998],[128105,127999,8205,129309,8205,128105,127995],[128105,127999,8205,129309,8205,128105,127996],[128105,127999,8205,129309,8205,128105,127997],[128105,127999,8205,129309,8205,128105,127998],[129489,127995,8205,129309,8205,129489,127995],[129489,127995,8205,129309,8205,129489,127996],[129489,127995,8205,129309,8205,129489,127997],[129489,127995,8205,129309,8205,129489,127998],[129489,127995,8205,129309,8205,129489,127999],[129489,127996,8205,129309,8205,129489,127995],[129489,127996,8205,129309,8205,129489,127996],[129489,127996,8205,129309,8205,129489,127997],[129489,127996,8205,129309,8205,129489,127998],[129489,127996,8205,129309,8205,129489,127999],[129489,127997,8205,129309,8205,129489,127995],[129489,127997,8205,129309,8205,129489,127996],[129489,127997,8205,129309,8205,129489,127997],[129489,127997,8205,129309,8205,129489,127998],[129489,127997,8205,129309,8205,129489,127999],[129489,127998,8205,129309,8205,129489,127995],[129489,127998,8205,129309,8205,129489,127996],[129489,127998,8205,129309,8205,129489,127997],[129489,127998,8205,129309,8205,129489,127998],[129489,127998,8205,129309,8205,129489,127999],[129489,127999,8205,129309,8205,129489,127995],[129489,127999,8205,129309,8205,129489,127996],[129489,127999,8205,129309,8205,129489,127997],[129489,127999,8205,129309,8205,129489,127998],[129489,127999,8205,129309,8205,129489,127999],[128104,8205,10084,65039,8205,128139,8205,128104],[128104,127995,8205,10084,65039,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128104,127999],[128105,8205,10084,65039,8205,128139,8205,128104],[128105,8205,10084,65039,8205,128139,8205,128105],[128105,127995,8205,10084,65039,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128105,127999],[129489,127995,8205,10084,65039,8205,129489,127996],[129489,127995,8205,10084,65039,8205,129489,127997],[129489,127995,8205,10084,65039,8205,129489,127998],[129489,127995,8205,10084,65039,8205,129489,127999],[129489,127996,8205,10084,65039,8205,129489,127995],[129489,127996,8205,10084,65039,8205,129489,127997],[129489,127996,8205,10084,65039,8205,129489,127998],[129489,127996,8205,10084,65039,8205,129489,127999],[129489,127997,8205,10084,65039,8205,129489,127995],[129489,127997,8205,10084,65039,8205,129489,127996],[129489,127997,8205,10084,65039,8205,129489,127998],[129489,127997,8205,10084,65039,8205,129489,127999],[129489,127998,8205,10084,65039,8205,129489,127995],[129489,127998,8205,10084,65039,8205,129489,127996],[129489,127998,8205,10084,65039,8205,129489,127997],[129489,127998,8205,10084,65039,8205,129489,127999],[129489,127999,8205,10084,65039,8205,129489,127995],[129489,127999,8205,10084,65039,8205,129489,127996],[129489,127999,8205,10084,65039,8205,129489,127997],[129489,127999,8205,10084,65039,8205,129489,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128104,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127995,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127996,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127997,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127998,8205,10084,65039,8205,128139,8205,128105,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128104,127999],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127995],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127996],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127997],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127998],[128105,127999,8205,10084,65039,8205,128139,8205,128105,127999],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127995,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127996,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127998],[129489,127997,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127998,8205,10084,65039,8205,128139,8205,129489,127999],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127995],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127996],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127997],[129489,127999,8205,10084,65039,8205,128139,8205,129489,127998]]'); diff --git a/src/js/unicode/script-data.ts b/src/js/unicode/script-data.ts deleted file mode 100644 index 54f0cbc8..00000000 --- a/src/js/unicode/script-data.ts +++ /dev/null @@ -1,163 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Category: Script -// Exported ranges: Adlam, Ahom, Anatolian_Hieroglyphs, Arabic, Armenian, Avestan, Balinese, Bamum, Bassa_Vah, Batak, Bengali, Bhaiksuki, Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Caucasian_Albanian, Chakma, Cham, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret, Devanagari, Dogra, Duployan, Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Georgian, Glagolitic, Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gurmukhi, Han, Hangul, Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Linear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, Makasar, Malayalam, Mandaic, Manichaean, Marchen, Medefaidrin, Masaram_Gondi, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive, Meroitic_Hieroglyphs, Miao, Modi, Mongolian, Mro, Multani, Myanmar, Nabataean, Nandinagari, New_Tai_Lue, Newa, Nko, Nushu, Nyiakeng_Puachue_Hmong, Ogham, Ol_Chiki, Old_Hungarian, Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, Oriya, Osage, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician, Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Shavian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, Soyombo, Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet, Takri, Tamil, Tangut, Telugu, Thaana, Thai, Tibetan, Tifinagh, Tirhuta, Ugaritic, Vai, Wancho, Warang_Citi, Yi, Zanabazar_Square - -import { CharRange } from "../../char-set"; - - -export const Adlam: readonly CharRange[] = JSON.parse('[{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279}]'); -export const Ahom: readonly CharRange[] = JSON.parse('[{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494}]'); -export const Anatolian_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":82944,"max":83526}]'); -export const Arabic: readonly CharRange[] = JSON.parse('[{"min":1536,"max":1540},{"min":1542,"max":1547},{"min":1549,"max":1562},{"min":1564,"max":1566},{"min":1568,"max":1599},{"min":1601,"max":1610},{"min":1622,"max":1647},{"min":1649,"max":1756},{"min":1758,"max":1791},{"min":1872,"max":1919},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2273},{"min":2275,"max":2303},{"min":64336,"max":64450},{"min":64467,"max":64829},{"min":64832,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":69216,"max":69246},{"min":69373,"max":69375},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'); -export const Armenian: readonly CharRange[] = JSON.parse('[{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":64275,"max":64279}]'); -export const Avestan: readonly CharRange[] = JSON.parse('[{"min":68352,"max":68405},{"min":68409,"max":68415}]'); -export const Balinese: readonly CharRange[] = JSON.parse('[{"min":6912,"max":6988},{"min":6992,"max":7038}]'); -export const Bamum: readonly CharRange[] = JSON.parse('[{"min":42656,"max":42743},{"min":92160,"max":92728}]'); -export const Bassa_Vah: readonly CharRange[] = JSON.parse('[{"min":92880,"max":92909},{"min":92912,"max":92917}]'); -export const Batak: readonly CharRange[] = JSON.parse('[{"min":7104,"max":7155},{"min":7164,"max":7167}]'); -export const Bengali: readonly CharRange[] = JSON.parse('[{"min":2432,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558}]'); -export const Bhaiksuki: readonly CharRange[] = JSON.parse('[{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812}]'); -export const Bopomofo: readonly CharRange[] = JSON.parse('[{"min":746,"max":747},{"min":12549,"max":12591},{"min":12704,"max":12735}]'); -export const Brahmi: readonly CharRange[] = JSON.parse('[{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69759}]'); -export const Braille: readonly CharRange[] = JSON.parse('[{"min":10240,"max":10495}]'); -export const Buginese: readonly CharRange[] = JSON.parse('[{"min":6656,"max":6683},{"min":6686,"max":6687}]'); -export const Buhid: readonly CharRange[] = JSON.parse('[{"min":5952,"max":5971}]'); -export const Canadian_Aboriginal: readonly CharRange[] = JSON.parse('[{"min":5120,"max":5759},{"min":6320,"max":6389},{"min":72368,"max":72383}]'); -export const Carian: readonly CharRange[] = JSON.parse('[{"min":66208,"max":66256}]'); -export const Caucasian_Albanian: readonly CharRange[] = JSON.parse('[{"min":66864,"max":66915},{"min":66927,"max":66927}]'); -export const Chakma: readonly CharRange[] = JSON.parse('[{"min":69888,"max":69940},{"min":69942,"max":69959}]'); -export const Cham: readonly CharRange[] = JSON.parse('[{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43615}]'); -export const Cherokee: readonly CharRange[] = JSON.parse('[{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":43888,"max":43967}]'); -export const Common: readonly CharRange[] = JSON.parse('[{"min":0,"max":64},{"min":91,"max":96},{"min":123,"max":169},{"min":171,"max":185},{"min":187,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":697,"max":735},{"min":741,"max":745},{"min":748,"max":767},{"min":884,"max":884},{"min":894,"max":894},{"min":901,"max":901},{"min":903,"max":903},{"min":1541,"max":1541},{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1757,"max":1757},{"min":2274,"max":2274},{"min":2404,"max":2405},{"min":3647,"max":3647},{"min":4053,"max":4056},{"min":4347,"max":4347},{"min":5867,"max":5869},{"min":5941,"max":5942},{"min":6146,"max":6147},{"min":6149,"max":6149},{"min":7379,"max":7379},{"min":7393,"max":7393},{"min":7401,"max":7404},{"min":7406,"max":7411},{"min":7413,"max":7415},{"min":7418,"max":7418},{"min":8192,"max":8203},{"min":8206,"max":8292},{"min":8294,"max":8304},{"min":8308,"max":8318},{"min":8320,"max":8334},{"min":8352,"max":8384},{"min":8448,"max":8485},{"min":8487,"max":8489},{"min":8492,"max":8497},{"min":8499,"max":8525},{"min":8527,"max":8543},{"min":8585,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":10239},{"min":10496,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11776,"max":11869},{"min":12272,"max":12283},{"min":12288,"max":12292},{"min":12294,"max":12294},{"min":12296,"max":12320},{"min":12336,"max":12343},{"min":12348,"max":12351},{"min":12443,"max":12444},{"min":12448,"max":12448},{"min":12539,"max":12540},{"min":12688,"max":12703},{"min":12736,"max":12771},{"min":12832,"max":12895},{"min":12927,"max":13007},{"min":13055,"max":13055},{"min":13144,"max":13311},{"min":19904,"max":19967},{"min":42752,"max":42785},{"min":42888,"max":42890},{"min":43056,"max":43065},{"min":43310,"max":43310},{"min":43471,"max":43471},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":64830,"max":64831},{"min":65040,"max":65049},{"min":65072,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65279,"max":65279},{"min":65281,"max":65312},{"min":65339,"max":65344},{"min":65371,"max":65381},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855},{"min":65936,"max":65948},{"min":66000,"max":66044},{"min":66273,"max":66299},{"min":113824,"max":113827},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119142},{"min":119146,"max":119162},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119648,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127568,"max":127569},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":917505,"max":917505},{"min":917536,"max":917631}]'); -export const Coptic: readonly CharRange[] = JSON.parse('[{"min":994,"max":1007},{"min":11392,"max":11507},{"min":11513,"max":11519}]'); -export const Cuneiform: readonly CharRange[] = JSON.parse('[{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075}]'); -export const Cypriot: readonly CharRange[] = JSON.parse('[{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67647}]'); -export const Cyrillic: readonly CharRange[] = JSON.parse('[{"min":1024,"max":1156},{"min":1159,"max":1327},{"min":7296,"max":7304},{"min":7467,"max":7467},{"min":7544,"max":7544},{"min":11744,"max":11775},{"min":42560,"max":42655},{"min":65070,"max":65071},{"min":122928,"max":122989},{"min":123023,"max":123023}]'); -export const Deseret: readonly CharRange[] = JSON.parse('[{"min":66560,"max":66639}]'); -export const Devanagari: readonly CharRange[] = JSON.parse('[{"min":2304,"max":2384},{"min":2389,"max":2403},{"min":2406,"max":2431},{"min":43232,"max":43263},{"min":72448,"max":72457}]'); -export const Dogra: readonly CharRange[] = JSON.parse('[{"min":71680,"max":71739}]'); -export const Duployan: readonly CharRange[] = JSON.parse('[{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113823}]'); -export const Egyptian_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":77824,"max":78933}]'); -export const Elbasan: readonly CharRange[] = JSON.parse('[{"min":66816,"max":66855}]'); -export const Elymaic: readonly CharRange[] = JSON.parse('[{"min":69600,"max":69622}]'); -export const Ethiopic: readonly CharRange[] = JSON.parse('[{"min":4608,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926}]'); -export const Georgian: readonly CharRange[] = JSON.parse('[{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4348,"max":4351},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565}]'); -export const Glagolitic: readonly CharRange[] = JSON.parse('[{"min":11264,"max":11359},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922}]'); -export const Gothic: readonly CharRange[] = JSON.parse('[{"min":66352,"max":66378}]'); -export const Grantha: readonly CharRange[] = JSON.parse('[{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70460,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516}]'); -export const Greek: readonly CharRange[] = JSON.parse('[{"min":880,"max":883},{"min":885,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":900,"max":900},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":993},{"min":1008,"max":1023},{"min":7462,"max":7466},{"min":7517,"max":7521},{"min":7526,"max":7530},{"min":7615,"max":7615},{"min":7936,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8486,"max":8486},{"min":43877,"max":43877},{"min":65856,"max":65934},{"min":65952,"max":65952},{"min":119296,"max":119365}]'); -export const Gujarati: readonly CharRange[] = JSON.parse('[{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815}]'); -export const Gunjala_Gondi: readonly CharRange[] = JSON.parse('[{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129}]'); -export const Gurmukhi: readonly CharRange[] = JSON.parse('[{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678}]'); -export const Han: readonly CharRange[] = JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12293,"max":12293},{"min":12295,"max":12295},{"min":12321,"max":12329},{"min":12344,"max":12347},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":94178,"max":94179},{"min":94192,"max":94193},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Hangul: readonly CharRange[] = JSON.parse('[{"min":4352,"max":4607},{"min":12334,"max":12335},{"min":12593,"max":12686},{"min":12800,"max":12830},{"min":12896,"max":12926},{"min":43360,"max":43388},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500}]'); -export const Hanifi_Rohingya: readonly CharRange[] = JSON.parse('[{"min":68864,"max":68903},{"min":68912,"max":68921}]'); -export const Hanunoo: readonly CharRange[] = JSON.parse('[{"min":5920,"max":5940}]'); -export const Hatran: readonly CharRange[] = JSON.parse('[{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67839}]'); -export const Hebrew: readonly CharRange[] = JSON.parse('[{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64335}]'); -export const Hiragana: readonly CharRange[] = JSON.parse('[{"min":12353,"max":12438},{"min":12445,"max":12447},{"min":110593,"max":110879},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":127488,"max":127488}]'); -export const Imperial_Aramaic: readonly CharRange[] = JSON.parse('[{"min":67648,"max":67669},{"min":67671,"max":67679}]'); -export const Inherited: readonly CharRange[] = JSON.parse('[{"min":768,"max":879},{"min":1157,"max":1158},{"min":1611,"max":1621},{"min":1648,"max":1648},{"min":2385,"max":2388},{"min":6832,"max":6862},{"min":7376,"max":7378},{"min":7380,"max":7392},{"min":7394,"max":7400},{"min":7405,"max":7405},{"min":7412,"max":7412},{"min":7416,"max":7417},{"min":7616,"max":7679},{"min":8204,"max":8205},{"min":8400,"max":8432},{"min":12330,"max":12333},{"min":12441,"max":12442},{"min":65024,"max":65039},{"min":65056,"max":65069},{"min":66045,"max":66045},{"min":66272,"max":66272},{"min":70459,"max":70459},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":917760,"max":917999}]'); -export const Inscriptional_Pahlavi: readonly CharRange[] = JSON.parse('[{"min":68448,"max":68466},{"min":68472,"max":68479}]'); -export const Inscriptional_Parthian: readonly CharRange[] = JSON.parse('[{"min":68416,"max":68437},{"min":68440,"max":68447}]'); -export const Javanese: readonly CharRange[] = JSON.parse('[{"min":43392,"max":43469},{"min":43472,"max":43481},{"min":43486,"max":43487}]'); -export const Kaithi: readonly CharRange[] = JSON.parse('[{"min":69760,"max":69826},{"min":69837,"max":69837}]'); -export const Kannada: readonly CharRange[] = JSON.parse('[{"min":3200,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315}]'); -export const Katakana: readonly CharRange[] = JSON.parse('[{"min":12449,"max":12538},{"min":12541,"max":12543},{"min":12784,"max":12799},{"min":13008,"max":13054},{"min":13056,"max":13143},{"min":65382,"max":65391},{"min":65393,"max":65437},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110592},{"min":110880,"max":110882},{"min":110933,"max":110933},{"min":110948,"max":110951}]'); -export const Kayah_Li: readonly CharRange[] = JSON.parse('[{"min":43264,"max":43309},{"min":43311,"max":43311}]'); -export const Kharoshthi: readonly CharRange[] = JSON.parse('[{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184}]'); -export const Khmer: readonly CharRange[] = JSON.parse('[{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6624,"max":6655}]'); -export const Khojki: readonly CharRange[] = JSON.parse('[{"min":70144,"max":70161},{"min":70163,"max":70209}]'); -export const Khudawadi: readonly CharRange[] = JSON.parse('[{"min":70320,"max":70378},{"min":70384,"max":70393}]'); -export const Lao: readonly CharRange[] = JSON.parse('[{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807}]'); -export const Latin: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":696},{"min":736,"max":740},{"min":7424,"max":7461},{"min":7468,"max":7516},{"min":7522,"max":7525},{"min":7531,"max":7543},{"min":7545,"max":7614},{"min":7680,"max":7935},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11360,"max":11391},{"min":42786,"max":42887},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43007},{"min":43824,"max":43866},{"min":43868,"max":43876},{"min":43878,"max":43881},{"min":64256,"max":64262},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":122624,"max":122654},{"min":122661,"max":122666}]'); -export const Lepcha: readonly CharRange[] = JSON.parse('[{"min":7168,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7247}]'); -export const Limbu: readonly CharRange[] = JSON.parse('[{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6479}]'); -export const Linear_A: readonly CharRange[] = JSON.parse('[{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431}]'); -export const Linear_B: readonly CharRange[] = JSON.parse('[{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786}]'); -export const Lisu: readonly CharRange[] = JSON.parse('[{"min":42192,"max":42239},{"min":73648,"max":73648}]'); -export const Lycian: readonly CharRange[] = JSON.parse('[{"min":66176,"max":66204}]'); -export const Lydian: readonly CharRange[] = JSON.parse('[{"min":67872,"max":67897},{"min":67903,"max":67903}]'); -export const Mahajani: readonly CharRange[] = JSON.parse('[{"min":69968,"max":70006}]'); -export const Makasar: readonly CharRange[] = JSON.parse('[{"min":73440,"max":73464}]'); -export const Malayalam: readonly CharRange[] = JSON.parse('[{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455}]'); -export const Mandaic: readonly CharRange[] = JSON.parse('[{"min":2112,"max":2139},{"min":2142,"max":2142}]'); -export const Manichaean: readonly CharRange[] = JSON.parse('[{"min":68288,"max":68326},{"min":68331,"max":68342}]'); -export const Marchen: readonly CharRange[] = JSON.parse('[{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886}]'); -export const Medefaidrin: readonly CharRange[] = JSON.parse('[{"min":93760,"max":93850}]'); -export const Masaram_Gondi: readonly CharRange[] = JSON.parse('[{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049}]'); -export const Meetei_Mayek: readonly CharRange[] = JSON.parse('[{"min":43744,"max":43766},{"min":43968,"max":44013},{"min":44016,"max":44025}]'); -export const Mende_Kikakui: readonly CharRange[] = JSON.parse('[{"min":124928,"max":125124},{"min":125127,"max":125142}]'); -export const Meroitic_Cursive: readonly CharRange[] = JSON.parse('[{"min":68000,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68095}]'); -export const Meroitic_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":67968,"max":67999}]'); -export const Miao: readonly CharRange[] = JSON.parse('[{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111}]'); -export const Modi: readonly CharRange[] = JSON.parse('[{"min":71168,"max":71236},{"min":71248,"max":71257}]'); -export const Mongolian: readonly CharRange[] = JSON.parse('[{"min":6144,"max":6145},{"min":6148,"max":6148},{"min":6150,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":71264,"max":71276}]'); -export const Mro: readonly CharRange[] = JSON.parse('[{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92783}]'); -export const Multani: readonly CharRange[] = JSON.parse('[{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313}]'); -export const Myanmar: readonly CharRange[] = JSON.parse('[{"min":4096,"max":4255},{"min":43488,"max":43518},{"min":43616,"max":43647}]'); -export const Nabataean: readonly CharRange[] = JSON.parse('[{"min":67712,"max":67742},{"min":67751,"max":67759}]'); -export const Nandinagari: readonly CharRange[] = JSON.parse('[{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164}]'); -export const New_Tai_Lue: readonly CharRange[] = JSON.parse('[{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6623}]'); -export const Newa: readonly CharRange[] = JSON.parse('[{"min":70656,"max":70747},{"min":70749,"max":70753}]'); -export const Nko: readonly CharRange[] = JSON.parse('[{"min":1984,"max":2042},{"min":2045,"max":2047}]'); -export const Nushu: readonly CharRange[] = JSON.parse('[{"min":94177,"max":94177},{"min":110960,"max":111355}]'); -export const Nyiakeng_Puachue_Hmong: readonly CharRange[] = JSON.parse('[{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215}]'); -export const Ogham: readonly CharRange[] = JSON.parse('[{"min":5760,"max":5788}]'); -export const Ol_Chiki: readonly CharRange[] = JSON.parse('[{"min":7248,"max":7295}]'); -export const Old_Hungarian: readonly CharRange[] = JSON.parse('[{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68863}]'); -export const Old_Italic: readonly CharRange[] = JSON.parse('[{"min":66304,"max":66339},{"min":66349,"max":66351}]'); -export const Old_North_Arabian: readonly CharRange[] = JSON.parse('[{"min":68224,"max":68255}]'); -export const Old_Permic: readonly CharRange[] = JSON.parse('[{"min":66384,"max":66426}]'); -export const Old_Persian: readonly CharRange[] = JSON.parse('[{"min":66464,"max":66499},{"min":66504,"max":66517}]'); -export const Old_Sogdian: readonly CharRange[] = JSON.parse('[{"min":69376,"max":69415}]'); -export const Old_South_Arabian: readonly CharRange[] = JSON.parse('[{"min":68192,"max":68223}]'); -export const Old_Turkic: readonly CharRange[] = JSON.parse('[{"min":68608,"max":68680}]'); -export const Oriya: readonly CharRange[] = JSON.parse('[{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935}]'); -export const Osage: readonly CharRange[] = JSON.parse('[{"min":66736,"max":66771},{"min":66776,"max":66811}]'); -export const Osmanya: readonly CharRange[] = JSON.parse('[{"min":66688,"max":66717},{"min":66720,"max":66729}]'); -export const Pahawh_Hmong: readonly CharRange[] = JSON.parse('[{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071}]'); -export const Palmyrene: readonly CharRange[] = JSON.parse('[{"min":67680,"max":67711}]'); -export const Pau_Cin_Hau: readonly CharRange[] = JSON.parse('[{"min":72384,"max":72440}]'); -export const Phags_Pa: readonly CharRange[] = JSON.parse('[{"min":43072,"max":43127}]'); -export const Phoenician: readonly CharRange[] = JSON.parse('[{"min":67840,"max":67867},{"min":67871,"max":67871}]'); -export const Psalter_Pahlavi: readonly CharRange[] = JSON.parse('[{"min":68480,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527}]'); -export const Rejang: readonly CharRange[] = JSON.parse('[{"min":43312,"max":43347},{"min":43359,"max":43359}]'); -export const Runic: readonly CharRange[] = JSON.parse('[{"min":5792,"max":5866},{"min":5870,"max":5880}]'); -export const Samaritan: readonly CharRange[] = JSON.parse('[{"min":2048,"max":2093},{"min":2096,"max":2110}]'); -export const Saurashtra: readonly CharRange[] = JSON.parse('[{"min":43136,"max":43205},{"min":43214,"max":43225}]'); -export const Sharada: readonly CharRange[] = JSON.parse('[{"min":70016,"max":70111}]'); -export const Shavian: readonly CharRange[] = JSON.parse('[{"min":66640,"max":66687}]'); -export const Siddham: readonly CharRange[] = JSON.parse('[{"min":71040,"max":71093},{"min":71096,"max":71133}]'); -export const SignWriting: readonly CharRange[] = JSON.parse('[{"min":120832,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519}]'); -export const Sinhala: readonly CharRange[] = JSON.parse('[{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":70113,"max":70132}]'); -export const Sogdian: readonly CharRange[] = JSON.parse('[{"min":69424,"max":69465}]'); -export const Sora_Sompeng: readonly CharRange[] = JSON.parse('[{"min":69840,"max":69864},{"min":69872,"max":69881}]'); -export const Soyombo: readonly CharRange[] = JSON.parse('[{"min":72272,"max":72354}]'); -export const Sundanese: readonly CharRange[] = JSON.parse('[{"min":7040,"max":7103},{"min":7360,"max":7367}]'); -export const Syloti_Nagri: readonly CharRange[] = JSON.parse('[{"min":43008,"max":43052}]'); -export const Syriac: readonly CharRange[] = JSON.parse('[{"min":1792,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1871},{"min":2144,"max":2154}]'); -export const Tagalog: readonly CharRange[] = JSON.parse('[{"min":5888,"max":5909},{"min":5919,"max":5919}]'); -export const Tagbanwa: readonly CharRange[] = JSON.parse('[{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003}]'); -export const Tai_Le: readonly CharRange[] = JSON.parse('[{"min":6480,"max":6509},{"min":6512,"max":6516}]'); -export const Tai_Tham: readonly CharRange[] = JSON.parse('[{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829}]'); -export const Tai_Viet: readonly CharRange[] = JSON.parse('[{"min":43648,"max":43714},{"min":43739,"max":43743}]'); -export const Takri: readonly CharRange[] = JSON.parse('[{"min":71296,"max":71353},{"min":71360,"max":71369}]'); -export const Tamil: readonly CharRange[] = JSON.parse('[{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":73664,"max":73713},{"min":73727,"max":73727}]'); -export const Tangut: readonly CharRange[] = JSON.parse('[{"min":94176,"max":94176},{"min":94208,"max":100343},{"min":100352,"max":101119},{"min":101632,"max":101640}]'); -export const Telugu: readonly CharRange[] = JSON.parse('[{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3199}]'); -export const Thaana: readonly CharRange[] = JSON.parse('[{"min":1920,"max":1969}]'); -export const Thai: readonly CharRange[] = JSON.parse('[{"min":3585,"max":3642},{"min":3648,"max":3675}]'); -export const Tibetan: readonly CharRange[] = JSON.parse('[{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4052},{"min":4057,"max":4058}]'); -export const Tifinagh: readonly CharRange[] = JSON.parse('[{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11647}]'); -export const Tirhuta: readonly CharRange[] = JSON.parse('[{"min":70784,"max":70855},{"min":70864,"max":70873}]'); -export const Ugaritic: readonly CharRange[] = JSON.parse('[{"min":66432,"max":66461},{"min":66463,"max":66463}]'); -export const Vai: readonly CharRange[] = JSON.parse('[{"min":42240,"max":42539}]'); -export const Wancho: readonly CharRange[] = JSON.parse('[{"min":123584,"max":123641},{"min":123647,"max":123647}]'); -export const Warang_Citi: readonly CharRange[] = JSON.parse('[{"min":71840,"max":71922},{"min":71935,"max":71935}]'); -export const Yi: readonly CharRange[] = JSON.parse('[{"min":40960,"max":42124},{"min":42128,"max":42182}]'); -export const Zanabazar_Square: readonly CharRange[] = JSON.parse('[{"min":72192,"max":72263}]'); diff --git a/src/js/unicode/script-extensions-data.ts b/src/js/unicode/script-extensions-data.ts deleted file mode 100644 index 7ad7107b..00000000 --- a/src/js/unicode/script-extensions-data.ts +++ /dev/null @@ -1,163 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-unicode.js - -// Category: Script_Extensions -// Exported ranges: Adlam, Ahom, Anatolian_Hieroglyphs, Arabic, Armenian, Avestan, Balinese, Bamum, Bassa_Vah, Batak, Bengali, Bhaiksuki, Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Caucasian_Albanian, Chakma, Cham, Cherokee, Common, Coptic, Cuneiform, Cypriot, Cyrillic, Deseret, Devanagari, Dogra, Duployan, Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Georgian, Glagolitic, Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gurmukhi, Han, Hangul, Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Linear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, Makasar, Malayalam, Mandaic, Manichaean, Marchen, Medefaidrin, Masaram_Gondi, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive, Meroitic_Hieroglyphs, Miao, Modi, Mongolian, Mro, Multani, Myanmar, Nabataean, Nandinagari, New_Tai_Lue, Newa, Nko, Nushu, Nyiakeng_Puachue_Hmong, Ogham, Ol_Chiki, Old_Hungarian, Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, Oriya, Osage, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician, Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Shavian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, Soyombo, Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, Tai_Viet, Takri, Tamil, Tangut, Telugu, Thaana, Thai, Tibetan, Tifinagh, Tirhuta, Ugaritic, Vai, Wancho, Warang_Citi, Yi, Zanabazar_Square - -import { CharRange } from "../../char-set"; - - -export const Adlam: readonly CharRange[] = JSON.parse('[{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":125184,"max":125259},{"min":125264,"max":125273},{"min":125278,"max":125279}]'); -export const Ahom: readonly CharRange[] = JSON.parse('[{"min":71424,"max":71450},{"min":71453,"max":71467},{"min":71472,"max":71494}]'); -export const Anatolian_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":82944,"max":83526}]'); -export const Arabic: readonly CharRange[] = JSON.parse('[{"min":1536,"max":1540},{"min":1542,"max":1756},{"min":1758,"max":1791},{"min":1872,"max":1919},{"min":2160,"max":2190},{"min":2192,"max":2193},{"min":2200,"max":2273},{"min":2275,"max":2303},{"min":64336,"max":64450},{"min":64467,"max":64911},{"min":64914,"max":64967},{"min":64975,"max":64975},{"min":65008,"max":65023},{"min":65136,"max":65140},{"min":65142,"max":65276},{"min":66272,"max":66299},{"min":69216,"max":69246},{"min":69373,"max":69375},{"min":126464,"max":126467},{"min":126469,"max":126495},{"min":126497,"max":126498},{"min":126500,"max":126500},{"min":126503,"max":126503},{"min":126505,"max":126514},{"min":126516,"max":126519},{"min":126521,"max":126521},{"min":126523,"max":126523},{"min":126530,"max":126530},{"min":126535,"max":126535},{"min":126537,"max":126537},{"min":126539,"max":126539},{"min":126541,"max":126543},{"min":126545,"max":126546},{"min":126548,"max":126548},{"min":126551,"max":126551},{"min":126553,"max":126553},{"min":126555,"max":126555},{"min":126557,"max":126557},{"min":126559,"max":126559},{"min":126561,"max":126562},{"min":126564,"max":126564},{"min":126567,"max":126570},{"min":126572,"max":126578},{"min":126580,"max":126583},{"min":126585,"max":126588},{"min":126590,"max":126590},{"min":126592,"max":126601},{"min":126603,"max":126619},{"min":126625,"max":126627},{"min":126629,"max":126633},{"min":126635,"max":126651},{"min":126704,"max":126705}]'); -export const Armenian: readonly CharRange[] = JSON.parse('[{"min":1329,"max":1366},{"min":1369,"max":1418},{"min":1421,"max":1423},{"min":64275,"max":64279}]'); -export const Avestan: readonly CharRange[] = JSON.parse('[{"min":68352,"max":68405},{"min":68409,"max":68415}]'); -export const Balinese: readonly CharRange[] = JSON.parse('[{"min":6912,"max":6988},{"min":6992,"max":7038}]'); -export const Bamum: readonly CharRange[] = JSON.parse('[{"min":42656,"max":42743},{"min":92160,"max":92728}]'); -export const Bassa_Vah: readonly CharRange[] = JSON.parse('[{"min":92880,"max":92909},{"min":92912,"max":92917}]'); -export const Batak: readonly CharRange[] = JSON.parse('[{"min":7104,"max":7155},{"min":7164,"max":7167}]'); -export const Bengali: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2432,"max":2435},{"min":2437,"max":2444},{"min":2447,"max":2448},{"min":2451,"max":2472},{"min":2474,"max":2480},{"min":2482,"max":2482},{"min":2486,"max":2489},{"min":2492,"max":2500},{"min":2503,"max":2504},{"min":2507,"max":2510},{"min":2519,"max":2519},{"min":2524,"max":2525},{"min":2527,"max":2531},{"min":2534,"max":2558},{"min":7376,"max":7376},{"min":7378,"max":7378},{"min":7381,"max":7382},{"min":7384,"max":7384},{"min":7393,"max":7393},{"min":7402,"max":7402},{"min":7405,"max":7405},{"min":7410,"max":7410},{"min":7413,"max":7415},{"min":43249,"max":43249}]'); -export const Bhaiksuki: readonly CharRange[] = JSON.parse('[{"min":72704,"max":72712},{"min":72714,"max":72758},{"min":72760,"max":72773},{"min":72784,"max":72812}]'); -export const Bopomofo: readonly CharRange[] = JSON.parse('[{"min":746,"max":747},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12330,"max":12333},{"min":12336,"max":12336},{"min":12343,"max":12343},{"min":12539,"max":12539},{"min":12549,"max":12591},{"min":12704,"max":12735},{"min":65093,"max":65094},{"min":65377,"max":65381}]'); -export const Brahmi: readonly CharRange[] = JSON.parse('[{"min":69632,"max":69709},{"min":69714,"max":69749},{"min":69759,"max":69759}]'); -export const Braille: readonly CharRange[] = JSON.parse('[{"min":10240,"max":10495}]'); -export const Buginese: readonly CharRange[] = JSON.parse('[{"min":6656,"max":6683},{"min":6686,"max":6687},{"min":43471,"max":43471}]'); -export const Buhid: readonly CharRange[] = JSON.parse('[{"min":5941,"max":5942},{"min":5952,"max":5971}]'); -export const Canadian_Aboriginal: readonly CharRange[] = JSON.parse('[{"min":5120,"max":5759},{"min":6320,"max":6389},{"min":72368,"max":72383}]'); -export const Carian: readonly CharRange[] = JSON.parse('[{"min":66208,"max":66256}]'); -export const Caucasian_Albanian: readonly CharRange[] = JSON.parse('[{"min":66864,"max":66915},{"min":66927,"max":66927}]'); -export const Chakma: readonly CharRange[] = JSON.parse('[{"min":2534,"max":2543},{"min":4160,"max":4169},{"min":69888,"max":69940},{"min":69942,"max":69959}]'); -export const Cham: readonly CharRange[] = JSON.parse('[{"min":43520,"max":43574},{"min":43584,"max":43597},{"min":43600,"max":43609},{"min":43612,"max":43615}]'); -export const Cherokee: readonly CharRange[] = JSON.parse('[{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":43888,"max":43967}]'); -export const Common: readonly CharRange[] = JSON.parse('[{"min":0,"max":64},{"min":91,"max":96},{"min":123,"max":169},{"min":171,"max":185},{"min":187,"max":191},{"min":215,"max":215},{"min":247,"max":247},{"min":697,"max":735},{"min":741,"max":745},{"min":748,"max":767},{"min":884,"max":884},{"min":894,"max":894},{"min":901,"max":901},{"min":903,"max":903},{"min":1541,"max":1541},{"min":1757,"max":1757},{"min":2274,"max":2274},{"min":3647,"max":3647},{"min":4053,"max":4056},{"min":5867,"max":5869},{"min":8192,"max":8203},{"min":8206,"max":8238},{"min":8240,"max":8292},{"min":8294,"max":8304},{"min":8308,"max":8318},{"min":8320,"max":8334},{"min":8352,"max":8384},{"min":8448,"max":8485},{"min":8487,"max":8489},{"min":8492,"max":8497},{"min":8499,"max":8525},{"min":8527,"max":8543},{"min":8585,"max":8587},{"min":8592,"max":9254},{"min":9280,"max":9290},{"min":9312,"max":10239},{"min":10496,"max":11123},{"min":11126,"max":11157},{"min":11159,"max":11263},{"min":11776,"max":11842},{"min":11844,"max":11869},{"min":12272,"max":12283},{"min":12288,"max":12288},{"min":12292,"max":12292},{"min":12306,"max":12306},{"min":12320,"max":12320},{"min":12342,"max":12342},{"min":12872,"max":12895},{"min":12927,"max":12927},{"min":12977,"max":12991},{"min":13004,"max":13007},{"min":13169,"max":13178},{"min":13184,"max":13279},{"min":13311,"max":13311},{"min":19904,"max":19967},{"min":42760,"max":42785},{"min":42888,"max":42890},{"min":43867,"max":43867},{"min":43882,"max":43883},{"min":65040,"max":65049},{"min":65072,"max":65092},{"min":65095,"max":65106},{"min":65108,"max":65126},{"min":65128,"max":65131},{"min":65279,"max":65279},{"min":65281,"max":65312},{"min":65339,"max":65344},{"min":65371,"max":65376},{"min":65504,"max":65510},{"min":65512,"max":65518},{"min":65529,"max":65533},{"min":65936,"max":65948},{"min":66000,"max":66044},{"min":118608,"max":118723},{"min":118784,"max":119029},{"min":119040,"max":119078},{"min":119081,"max":119142},{"min":119146,"max":119162},{"min":119171,"max":119172},{"min":119180,"max":119209},{"min":119214,"max":119274},{"min":119488,"max":119507},{"min":119520,"max":119539},{"min":119552,"max":119638},{"min":119666,"max":119672},{"min":119808,"max":119892},{"min":119894,"max":119964},{"min":119966,"max":119967},{"min":119970,"max":119970},{"min":119973,"max":119974},{"min":119977,"max":119980},{"min":119982,"max":119993},{"min":119995,"max":119995},{"min":119997,"max":120003},{"min":120005,"max":120069},{"min":120071,"max":120074},{"min":120077,"max":120084},{"min":120086,"max":120092},{"min":120094,"max":120121},{"min":120123,"max":120126},{"min":120128,"max":120132},{"min":120134,"max":120134},{"min":120138,"max":120144},{"min":120146,"max":120485},{"min":120488,"max":120779},{"min":120782,"max":120831},{"min":126065,"max":126132},{"min":126209,"max":126269},{"min":126976,"max":127019},{"min":127024,"max":127123},{"min":127136,"max":127150},{"min":127153,"max":127167},{"min":127169,"max":127183},{"min":127185,"max":127221},{"min":127232,"max":127405},{"min":127462,"max":127487},{"min":127489,"max":127490},{"min":127504,"max":127547},{"min":127552,"max":127560},{"min":127584,"max":127589},{"min":127744,"max":128727},{"min":128732,"max":128748},{"min":128752,"max":128764},{"min":128768,"max":128886},{"min":128891,"max":128985},{"min":128992,"max":129003},{"min":129008,"max":129008},{"min":129024,"max":129035},{"min":129040,"max":129095},{"min":129104,"max":129113},{"min":129120,"max":129159},{"min":129168,"max":129197},{"min":129200,"max":129201},{"min":129280,"max":129619},{"min":129632,"max":129645},{"min":129648,"max":129660},{"min":129664,"max":129672},{"min":129680,"max":129725},{"min":129727,"max":129733},{"min":129742,"max":129755},{"min":129760,"max":129768},{"min":129776,"max":129784},{"min":129792,"max":129938},{"min":129940,"max":129994},{"min":130032,"max":130041},{"min":917505,"max":917505},{"min":917536,"max":917631}]'); -export const Coptic: readonly CharRange[] = JSON.parse('[{"min":994,"max":1007},{"min":11392,"max":11507},{"min":11513,"max":11519},{"min":66272,"max":66299}]'); -export const Cuneiform: readonly CharRange[] = JSON.parse('[{"min":73728,"max":74649},{"min":74752,"max":74862},{"min":74864,"max":74868},{"min":74880,"max":75075}]'); -export const Cypriot: readonly CharRange[] = JSON.parse('[{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855},{"min":67584,"max":67589},{"min":67592,"max":67592},{"min":67594,"max":67637},{"min":67639,"max":67640},{"min":67644,"max":67644},{"min":67647,"max":67647}]'); -export const Cyrillic: readonly CharRange[] = JSON.parse('[{"min":1024,"max":1327},{"min":7296,"max":7304},{"min":7467,"max":7467},{"min":7544,"max":7544},{"min":7672,"max":7672},{"min":11744,"max":11775},{"min":11843,"max":11843},{"min":42560,"max":42655},{"min":65070,"max":65071},{"min":122928,"max":122989},{"min":123023,"max":123023}]'); -export const Deseret: readonly CharRange[] = JSON.parse('[{"min":66560,"max":66639}]'); -export const Devanagari: readonly CharRange[] = JSON.parse('[{"min":2304,"max":2386},{"min":2389,"max":2431},{"min":7376,"max":7414},{"min":7416,"max":7417},{"min":8432,"max":8432},{"min":43056,"max":43065},{"min":43232,"max":43263},{"min":72448,"max":72457}]'); -export const Dogra: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2415},{"min":43056,"max":43065},{"min":71680,"max":71739}]'); -export const Duployan: readonly CharRange[] = JSON.parse('[{"min":113664,"max":113770},{"min":113776,"max":113788},{"min":113792,"max":113800},{"min":113808,"max":113817},{"min":113820,"max":113827}]'); -export const Egyptian_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":77824,"max":78933}]'); -export const Elbasan: readonly CharRange[] = JSON.parse('[{"min":66816,"max":66855}]'); -export const Elymaic: readonly CharRange[] = JSON.parse('[{"min":69600,"max":69622}]'); -export const Ethiopic: readonly CharRange[] = JSON.parse('[{"min":4608,"max":4680},{"min":4682,"max":4685},{"min":4688,"max":4694},{"min":4696,"max":4696},{"min":4698,"max":4701},{"min":4704,"max":4744},{"min":4746,"max":4749},{"min":4752,"max":4784},{"min":4786,"max":4789},{"min":4792,"max":4798},{"min":4800,"max":4800},{"min":4802,"max":4805},{"min":4808,"max":4822},{"min":4824,"max":4880},{"min":4882,"max":4885},{"min":4888,"max":4954},{"min":4957,"max":4988},{"min":4992,"max":5017},{"min":11648,"max":11670},{"min":11680,"max":11686},{"min":11688,"max":11694},{"min":11696,"max":11702},{"min":11704,"max":11710},{"min":11712,"max":11718},{"min":11720,"max":11726},{"min":11728,"max":11734},{"min":11736,"max":11742},{"min":43777,"max":43782},{"min":43785,"max":43790},{"min":43793,"max":43798},{"min":43808,"max":43814},{"min":43816,"max":43822},{"min":124896,"max":124902},{"min":124904,"max":124907},{"min":124909,"max":124910},{"min":124912,"max":124926}]'); -export const Georgian: readonly CharRange[] = JSON.parse('[{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4351},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565}]'); -export const Glagolitic: readonly CharRange[] = JSON.parse('[{"min":1156,"max":1156},{"min":1159,"max":1159},{"min":11264,"max":11359},{"min":11843,"max":11843},{"min":42607,"max":42607},{"min":122880,"max":122886},{"min":122888,"max":122904},{"min":122907,"max":122913},{"min":122915,"max":122916},{"min":122918,"max":122922}]'); -export const Gothic: readonly CharRange[] = JSON.parse('[{"min":66352,"max":66378}]'); -export const Grantha: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3046,"max":3059},{"min":7376,"max":7376},{"min":7378,"max":7379},{"min":7410,"max":7412},{"min":7416,"max":7417},{"min":8432,"max":8432},{"min":70400,"max":70403},{"min":70405,"max":70412},{"min":70415,"max":70416},{"min":70419,"max":70440},{"min":70442,"max":70448},{"min":70450,"max":70451},{"min":70453,"max":70457},{"min":70459,"max":70468},{"min":70471,"max":70472},{"min":70475,"max":70477},{"min":70480,"max":70480},{"min":70487,"max":70487},{"min":70493,"max":70499},{"min":70502,"max":70508},{"min":70512,"max":70516},{"min":73680,"max":73681},{"min":73683,"max":73683}]'); -export const Greek: readonly CharRange[] = JSON.parse('[{"min":834,"max":834},{"min":837,"max":837},{"min":880,"max":883},{"min":885,"max":887},{"min":890,"max":893},{"min":895,"max":895},{"min":900,"max":900},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":929},{"min":931,"max":993},{"min":1008,"max":1023},{"min":7462,"max":7466},{"min":7517,"max":7521},{"min":7526,"max":7530},{"min":7615,"max":7617},{"min":7936,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8016,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8064,"max":8116},{"min":8118,"max":8132},{"min":8134,"max":8147},{"min":8150,"max":8155},{"min":8157,"max":8175},{"min":8178,"max":8180},{"min":8182,"max":8190},{"min":8486,"max":8486},{"min":43877,"max":43877},{"min":65856,"max":65934},{"min":65952,"max":65952},{"min":119296,"max":119365}]'); -export const Gujarati: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2689,"max":2691},{"min":2693,"max":2701},{"min":2703,"max":2705},{"min":2707,"max":2728},{"min":2730,"max":2736},{"min":2738,"max":2739},{"min":2741,"max":2745},{"min":2748,"max":2757},{"min":2759,"max":2761},{"min":2763,"max":2765},{"min":2768,"max":2768},{"min":2784,"max":2787},{"min":2790,"max":2801},{"min":2809,"max":2815},{"min":43056,"max":43065}]'); -export const Gunjala_Gondi: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":73056,"max":73061},{"min":73063,"max":73064},{"min":73066,"max":73102},{"min":73104,"max":73105},{"min":73107,"max":73112},{"min":73120,"max":73129}]'); -export const Gurmukhi: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2561,"max":2563},{"min":2565,"max":2570},{"min":2575,"max":2576},{"min":2579,"max":2600},{"min":2602,"max":2608},{"min":2610,"max":2611},{"min":2613,"max":2614},{"min":2616,"max":2617},{"min":2620,"max":2620},{"min":2622,"max":2626},{"min":2631,"max":2632},{"min":2635,"max":2637},{"min":2641,"max":2641},{"min":2649,"max":2652},{"min":2654,"max":2654},{"min":2662,"max":2678},{"min":43056,"max":43065}]'); -export const Han: readonly CharRange[] = JSON.parse('[{"min":11904,"max":11929},{"min":11931,"max":12019},{"min":12032,"max":12245},{"min":12289,"max":12291},{"min":12293,"max":12305},{"min":12307,"max":12319},{"min":12321,"max":12333},{"min":12336,"max":12336},{"min":12343,"max":12351},{"min":12539,"max":12539},{"min":12688,"max":12703},{"min":12736,"max":12771},{"min":12832,"max":12871},{"min":12928,"max":12976},{"min":12992,"max":13003},{"min":13055,"max":13055},{"min":13144,"max":13168},{"min":13179,"max":13183},{"min":13280,"max":13310},{"min":13312,"max":19903},{"min":19968,"max":40959},{"min":42752,"max":42759},{"min":63744,"max":64109},{"min":64112,"max":64217},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":94178,"max":94179},{"min":94192,"max":94193},{"min":119648,"max":119665},{"min":127568,"max":127569},{"min":131072,"max":173791},{"min":173824,"max":177977},{"min":177984,"max":178205},{"min":178208,"max":183969},{"min":183984,"max":191456},{"min":194560,"max":195101},{"min":196608,"max":201546},{"min":201552,"max":205743}]'); -export const Hangul: readonly CharRange[] = JSON.parse('[{"min":4352,"max":4607},{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12334,"max":12336},{"min":12343,"max":12343},{"min":12539,"max":12539},{"min":12593,"max":12686},{"min":12800,"max":12830},{"min":12896,"max":12926},{"min":43360,"max":43388},{"min":44032,"max":55203},{"min":55216,"max":55238},{"min":55243,"max":55291},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":65440,"max":65470},{"min":65474,"max":65479},{"min":65482,"max":65487},{"min":65490,"max":65495},{"min":65498,"max":65500}]'); -export const Hanifi_Rohingya: readonly CharRange[] = JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1748,"max":1748},{"min":68864,"max":68903},{"min":68912,"max":68921}]'); -export const Hanunoo: readonly CharRange[] = JSON.parse('[{"min":5920,"max":5942}]'); -export const Hatran: readonly CharRange[] = JSON.parse('[{"min":67808,"max":67826},{"min":67828,"max":67829},{"min":67835,"max":67839}]'); -export const Hebrew: readonly CharRange[] = JSON.parse('[{"min":1425,"max":1479},{"min":1488,"max":1514},{"min":1519,"max":1524},{"min":64285,"max":64310},{"min":64312,"max":64316},{"min":64318,"max":64318},{"min":64320,"max":64321},{"min":64323,"max":64324},{"min":64326,"max":64335}]'); -export const Hiragana: readonly CharRange[] = JSON.parse('[{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12336,"max":12341},{"min":12343,"max":12343},{"min":12348,"max":12349},{"min":12353,"max":12438},{"min":12441,"max":12448},{"min":12539,"max":12540},{"min":65093,"max":65094},{"min":65377,"max":65381},{"min":65392,"max":65392},{"min":65438,"max":65439},{"min":110593,"max":110879},{"min":110898,"max":110898},{"min":110928,"max":110930},{"min":127488,"max":127488}]'); -export const Imperial_Aramaic: readonly CharRange[] = JSON.parse('[{"min":67648,"max":67669},{"min":67671,"max":67679}]'); -export const Inherited: readonly CharRange[] = JSON.parse('[{"min":768,"max":833},{"min":835,"max":836},{"min":838,"max":866},{"min":2387,"max":2388},{"min":6832,"max":6862},{"min":7618,"max":7671},{"min":7673,"max":7673},{"min":7675,"max":7679},{"min":8204,"max":8205},{"min":8400,"max":8431},{"min":65024,"max":65039},{"min":65056,"max":65069},{"min":66045,"max":66045},{"min":118528,"max":118573},{"min":118576,"max":118598},{"min":119143,"max":119145},{"min":119163,"max":119170},{"min":119173,"max":119179},{"min":119210,"max":119213},{"min":917760,"max":917999}]'); -export const Inscriptional_Pahlavi: readonly CharRange[] = JSON.parse('[{"min":68448,"max":68466},{"min":68472,"max":68479}]'); -export const Inscriptional_Parthian: readonly CharRange[] = JSON.parse('[{"min":68416,"max":68437},{"min":68440,"max":68447}]'); -export const Javanese: readonly CharRange[] = JSON.parse('[{"min":43392,"max":43469},{"min":43471,"max":43481},{"min":43486,"max":43487}]'); -export const Kaithi: readonly CharRange[] = JSON.parse('[{"min":2406,"max":2415},{"min":43056,"max":43065},{"min":69760,"max":69826},{"min":69837,"max":69837}]'); -export const Kannada: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3200,"max":3212},{"min":3214,"max":3216},{"min":3218,"max":3240},{"min":3242,"max":3251},{"min":3253,"max":3257},{"min":3260,"max":3268},{"min":3270,"max":3272},{"min":3274,"max":3277},{"min":3285,"max":3286},{"min":3293,"max":3294},{"min":3296,"max":3299},{"min":3302,"max":3311},{"min":3313,"max":3315},{"min":7376,"max":7376},{"min":7378,"max":7378},{"min":7386,"max":7386},{"min":7410,"max":7410},{"min":7412,"max":7412},{"min":43056,"max":43061}]'); -export const Katakana: readonly CharRange[] = JSON.parse('[{"min":12289,"max":12291},{"min":12296,"max":12305},{"min":12307,"max":12319},{"min":12336,"max":12341},{"min":12343,"max":12343},{"min":12348,"max":12349},{"min":12441,"max":12444},{"min":12448,"max":12543},{"min":12784,"max":12799},{"min":13008,"max":13054},{"min":13056,"max":13143},{"min":65093,"max":65094},{"min":65377,"max":65439},{"min":110576,"max":110579},{"min":110581,"max":110587},{"min":110589,"max":110590},{"min":110592,"max":110592},{"min":110880,"max":110882},{"min":110933,"max":110933},{"min":110948,"max":110951}]'); -export const Kayah_Li: readonly CharRange[] = JSON.parse('[{"min":43264,"max":43311}]'); -export const Kharoshthi: readonly CharRange[] = JSON.parse('[{"min":68096,"max":68099},{"min":68101,"max":68102},{"min":68108,"max":68115},{"min":68117,"max":68119},{"min":68121,"max":68149},{"min":68152,"max":68154},{"min":68159,"max":68168},{"min":68176,"max":68184}]'); -export const Khmer: readonly CharRange[] = JSON.parse('[{"min":6016,"max":6109},{"min":6112,"max":6121},{"min":6128,"max":6137},{"min":6624,"max":6655}]'); -export const Khojki: readonly CharRange[] = JSON.parse('[{"min":2790,"max":2799},{"min":43056,"max":43065},{"min":70144,"max":70161},{"min":70163,"max":70209}]'); -export const Khudawadi: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":43056,"max":43065},{"min":70320,"max":70378},{"min":70384,"max":70393}]'); -export const Lao: readonly CharRange[] = JSON.parse('[{"min":3713,"max":3714},{"min":3716,"max":3716},{"min":3718,"max":3722},{"min":3724,"max":3747},{"min":3749,"max":3749},{"min":3751,"max":3773},{"min":3776,"max":3780},{"min":3782,"max":3782},{"min":3784,"max":3790},{"min":3792,"max":3801},{"min":3804,"max":3807}]'); -export const Latin: readonly CharRange[] = JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":170,"max":170},{"min":186,"max":186},{"min":192,"max":214},{"min":216,"max":246},{"min":248,"max":696},{"min":736,"max":740},{"min":867,"max":879},{"min":1157,"max":1158},{"min":2385,"max":2386},{"min":4347,"max":4347},{"min":7424,"max":7461},{"min":7468,"max":7516},{"min":7522,"max":7525},{"min":7531,"max":7543},{"min":7545,"max":7614},{"min":7680,"max":7935},{"min":8239,"max":8239},{"min":8305,"max":8305},{"min":8319,"max":8319},{"min":8336,"max":8348},{"min":8432,"max":8432},{"min":8490,"max":8491},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8584},{"min":11360,"max":11391},{"min":42752,"max":42759},{"min":42786,"max":42887},{"min":42891,"max":42954},{"min":42960,"max":42961},{"min":42963,"max":42963},{"min":42965,"max":42969},{"min":42994,"max":43007},{"min":43310,"max":43310},{"min":43824,"max":43866},{"min":43868,"max":43876},{"min":43878,"max":43881},{"min":64256,"max":64262},{"min":65313,"max":65338},{"min":65345,"max":65370},{"min":67456,"max":67461},{"min":67463,"max":67504},{"min":67506,"max":67514},{"min":122624,"max":122654},{"min":122661,"max":122666}]'); -export const Lepcha: readonly CharRange[] = JSON.parse('[{"min":7168,"max":7223},{"min":7227,"max":7241},{"min":7245,"max":7247}]'); -export const Limbu: readonly CharRange[] = JSON.parse('[{"min":2405,"max":2405},{"min":6400,"max":6430},{"min":6432,"max":6443},{"min":6448,"max":6459},{"min":6464,"max":6464},{"min":6468,"max":6479}]'); -export const Linear_A: readonly CharRange[] = JSON.parse('[{"min":65799,"max":65843},{"min":67072,"max":67382},{"min":67392,"max":67413},{"min":67424,"max":67431}]'); -export const Linear_B: readonly CharRange[] = JSON.parse('[{"min":65536,"max":65547},{"min":65549,"max":65574},{"min":65576,"max":65594},{"min":65596,"max":65597},{"min":65599,"max":65613},{"min":65616,"max":65629},{"min":65664,"max":65786},{"min":65792,"max":65794},{"min":65799,"max":65843},{"min":65847,"max":65855}]'); -export const Lisu: readonly CharRange[] = JSON.parse('[{"min":42192,"max":42239},{"min":73648,"max":73648}]'); -export const Lycian: readonly CharRange[] = JSON.parse('[{"min":66176,"max":66204}]'); -export const Lydian: readonly CharRange[] = JSON.parse('[{"min":67872,"max":67897},{"min":67903,"max":67903}]'); -export const Mahajani: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2415},{"min":43056,"max":43065},{"min":69968,"max":70006}]'); -export const Makasar: readonly CharRange[] = JSON.parse('[{"min":73440,"max":73464}]'); -export const Malayalam: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3328,"max":3340},{"min":3342,"max":3344},{"min":3346,"max":3396},{"min":3398,"max":3400},{"min":3402,"max":3407},{"min":3412,"max":3427},{"min":3430,"max":3455},{"min":7386,"max":7386},{"min":43056,"max":43058}]'); -export const Mandaic: readonly CharRange[] = JSON.parse('[{"min":1600,"max":1600},{"min":2112,"max":2139},{"min":2142,"max":2142}]'); -export const Manichaean: readonly CharRange[] = JSON.parse('[{"min":1600,"max":1600},{"min":68288,"max":68326},{"min":68331,"max":68342}]'); -export const Marchen: readonly CharRange[] = JSON.parse('[{"min":72816,"max":72847},{"min":72850,"max":72871},{"min":72873,"max":72886}]'); -export const Medefaidrin: readonly CharRange[] = JSON.parse('[{"min":93760,"max":93850}]'); -export const Masaram_Gondi: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":72960,"max":72966},{"min":72968,"max":72969},{"min":72971,"max":73014},{"min":73018,"max":73018},{"min":73020,"max":73021},{"min":73023,"max":73031},{"min":73040,"max":73049}]'); -export const Meetei_Mayek: readonly CharRange[] = JSON.parse('[{"min":43744,"max":43766},{"min":43968,"max":44013},{"min":44016,"max":44025}]'); -export const Mende_Kikakui: readonly CharRange[] = JSON.parse('[{"min":124928,"max":125124},{"min":125127,"max":125142}]'); -export const Meroitic_Cursive: readonly CharRange[] = JSON.parse('[{"min":68000,"max":68023},{"min":68028,"max":68047},{"min":68050,"max":68095}]'); -export const Meroitic_Hieroglyphs: readonly CharRange[] = JSON.parse('[{"min":67968,"max":67999}]'); -export const Miao: readonly CharRange[] = JSON.parse('[{"min":93952,"max":94026},{"min":94031,"max":94087},{"min":94095,"max":94111}]'); -export const Modi: readonly CharRange[] = JSON.parse('[{"min":43056,"max":43065},{"min":71168,"max":71236},{"min":71248,"max":71257}]'); -export const Mongolian: readonly CharRange[] = JSON.parse('[{"min":6144,"max":6169},{"min":6176,"max":6264},{"min":6272,"max":6314},{"min":8239,"max":8239},{"min":71264,"max":71276}]'); -export const Mro: readonly CharRange[] = JSON.parse('[{"min":92736,"max":92766},{"min":92768,"max":92777},{"min":92782,"max":92783}]'); -export const Multani: readonly CharRange[] = JSON.parse('[{"min":2662,"max":2671},{"min":70272,"max":70278},{"min":70280,"max":70280},{"min":70282,"max":70285},{"min":70287,"max":70301},{"min":70303,"max":70313}]'); -export const Myanmar: readonly CharRange[] = JSON.parse('[{"min":4096,"max":4255},{"min":43310,"max":43310},{"min":43488,"max":43518},{"min":43616,"max":43647}]'); -export const Nabataean: readonly CharRange[] = JSON.parse('[{"min":67712,"max":67742},{"min":67751,"max":67759}]'); -export const Nandinagari: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":3302,"max":3311},{"min":7401,"max":7401},{"min":7410,"max":7410},{"min":7418,"max":7418},{"min":43056,"max":43061},{"min":72096,"max":72103},{"min":72106,"max":72151},{"min":72154,"max":72164}]'); -export const New_Tai_Lue: readonly CharRange[] = JSON.parse('[{"min":6528,"max":6571},{"min":6576,"max":6601},{"min":6608,"max":6618},{"min":6622,"max":6623}]'); -export const Newa: readonly CharRange[] = JSON.parse('[{"min":70656,"max":70747},{"min":70749,"max":70753}]'); -export const Nko: readonly CharRange[] = JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1563},{"min":1567,"max":1567},{"min":1984,"max":2042},{"min":2045,"max":2047},{"min":64830,"max":64831}]'); -export const Nushu: readonly CharRange[] = JSON.parse('[{"min":94177,"max":94177},{"min":110960,"max":111355}]'); -export const Nyiakeng_Puachue_Hmong: readonly CharRange[] = JSON.parse('[{"min":123136,"max":123180},{"min":123184,"max":123197},{"min":123200,"max":123209},{"min":123214,"max":123215}]'); -export const Ogham: readonly CharRange[] = JSON.parse('[{"min":5760,"max":5788}]'); -export const Ol_Chiki: readonly CharRange[] = JSON.parse('[{"min":7248,"max":7295}]'); -export const Old_Hungarian: readonly CharRange[] = JSON.parse('[{"min":68736,"max":68786},{"min":68800,"max":68850},{"min":68858,"max":68863}]'); -export const Old_Italic: readonly CharRange[] = JSON.parse('[{"min":66304,"max":66339},{"min":66349,"max":66351}]'); -export const Old_North_Arabian: readonly CharRange[] = JSON.parse('[{"min":68224,"max":68255}]'); -export const Old_Permic: readonly CharRange[] = JSON.parse('[{"min":1155,"max":1155},{"min":66384,"max":66426}]'); -export const Old_Persian: readonly CharRange[] = JSON.parse('[{"min":66464,"max":66499},{"min":66504,"max":66517}]'); -export const Old_Sogdian: readonly CharRange[] = JSON.parse('[{"min":69376,"max":69415}]'); -export const Old_South_Arabian: readonly CharRange[] = JSON.parse('[{"min":68192,"max":68223}]'); -export const Old_Turkic: readonly CharRange[] = JSON.parse('[{"min":68608,"max":68680}]'); -export const Oriya: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2817,"max":2819},{"min":2821,"max":2828},{"min":2831,"max":2832},{"min":2835,"max":2856},{"min":2858,"max":2864},{"min":2866,"max":2867},{"min":2869,"max":2873},{"min":2876,"max":2884},{"min":2887,"max":2888},{"min":2891,"max":2893},{"min":2901,"max":2903},{"min":2908,"max":2909},{"min":2911,"max":2915},{"min":2918,"max":2935},{"min":7386,"max":7386},{"min":7410,"max":7410}]'); -export const Osage: readonly CharRange[] = JSON.parse('[{"min":66736,"max":66771},{"min":66776,"max":66811}]'); -export const Osmanya: readonly CharRange[] = JSON.parse('[{"min":66688,"max":66717},{"min":66720,"max":66729}]'); -export const Pahawh_Hmong: readonly CharRange[] = JSON.parse('[{"min":92928,"max":92997},{"min":93008,"max":93017},{"min":93019,"max":93025},{"min":93027,"max":93047},{"min":93053,"max":93071}]'); -export const Palmyrene: readonly CharRange[] = JSON.parse('[{"min":67680,"max":67711}]'); -export const Pau_Cin_Hau: readonly CharRange[] = JSON.parse('[{"min":72384,"max":72440}]'); -export const Phags_Pa: readonly CharRange[] = JSON.parse('[{"min":6146,"max":6147},{"min":6149,"max":6149},{"min":43072,"max":43127}]'); -export const Phoenician: readonly CharRange[] = JSON.parse('[{"min":67840,"max":67867},{"min":67871,"max":67871}]'); -export const Psalter_Pahlavi: readonly CharRange[] = JSON.parse('[{"min":1600,"max":1600},{"min":68480,"max":68497},{"min":68505,"max":68508},{"min":68521,"max":68527}]'); -export const Rejang: readonly CharRange[] = JSON.parse('[{"min":43312,"max":43347},{"min":43359,"max":43359}]'); -export const Runic: readonly CharRange[] = JSON.parse('[{"min":5792,"max":5866},{"min":5870,"max":5880}]'); -export const Samaritan: readonly CharRange[] = JSON.parse('[{"min":2048,"max":2093},{"min":2096,"max":2110}]'); -export const Saurashtra: readonly CharRange[] = JSON.parse('[{"min":43136,"max":43205},{"min":43214,"max":43225}]'); -export const Sharada: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2385},{"min":7383,"max":7383},{"min":7385,"max":7385},{"min":7388,"max":7389},{"min":7392,"max":7392},{"min":70016,"max":70111}]'); -export const Shavian: readonly CharRange[] = JSON.parse('[{"min":66640,"max":66687}]'); -export const Siddham: readonly CharRange[] = JSON.parse('[{"min":71040,"max":71093},{"min":71096,"max":71133}]'); -export const SignWriting: readonly CharRange[] = JSON.parse('[{"min":120832,"max":121483},{"min":121499,"max":121503},{"min":121505,"max":121519}]'); -export const Sinhala: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":3457,"max":3459},{"min":3461,"max":3478},{"min":3482,"max":3505},{"min":3507,"max":3515},{"min":3517,"max":3517},{"min":3520,"max":3526},{"min":3530,"max":3530},{"min":3535,"max":3540},{"min":3542,"max":3542},{"min":3544,"max":3551},{"min":3558,"max":3567},{"min":3570,"max":3572},{"min":70113,"max":70132}]'); -export const Sogdian: readonly CharRange[] = JSON.parse('[{"min":1600,"max":1600},{"min":69424,"max":69465}]'); -export const Sora_Sompeng: readonly CharRange[] = JSON.parse('[{"min":69840,"max":69864},{"min":69872,"max":69881}]'); -export const Soyombo: readonly CharRange[] = JSON.parse('[{"min":72272,"max":72354}]'); -export const Sundanese: readonly CharRange[] = JSON.parse('[{"min":7040,"max":7103},{"min":7360,"max":7367}]'); -export const Syloti_Nagri: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":2534,"max":2543},{"min":43008,"max":43052}]'); -export const Syriac: readonly CharRange[] = JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1564},{"min":1567,"max":1567},{"min":1600,"max":1600},{"min":1611,"max":1621},{"min":1648,"max":1648},{"min":1792,"max":1805},{"min":1807,"max":1866},{"min":1869,"max":1871},{"min":2144,"max":2154},{"min":7672,"max":7672},{"min":7674,"max":7674}]'); -export const Tagalog: readonly CharRange[] = JSON.parse('[{"min":5888,"max":5909},{"min":5919,"max":5919},{"min":5941,"max":5942}]'); -export const Tagbanwa: readonly CharRange[] = JSON.parse('[{"min":5941,"max":5942},{"min":5984,"max":5996},{"min":5998,"max":6000},{"min":6002,"max":6003}]'); -export const Tai_Le: readonly CharRange[] = JSON.parse('[{"min":4160,"max":4169},{"min":6480,"max":6509},{"min":6512,"max":6516}]'); -export const Tai_Tham: readonly CharRange[] = JSON.parse('[{"min":6688,"max":6750},{"min":6752,"max":6780},{"min":6783,"max":6793},{"min":6800,"max":6809},{"min":6816,"max":6829}]'); -export const Tai_Viet: readonly CharRange[] = JSON.parse('[{"min":43648,"max":43714},{"min":43739,"max":43743}]'); -export const Takri: readonly CharRange[] = JSON.parse('[{"min":2404,"max":2405},{"min":43056,"max":43065},{"min":71296,"max":71353},{"min":71360,"max":71369}]'); -export const Tamil: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":2946,"max":2947},{"min":2949,"max":2954},{"min":2958,"max":2960},{"min":2962,"max":2965},{"min":2969,"max":2970},{"min":2972,"max":2972},{"min":2974,"max":2975},{"min":2979,"max":2980},{"min":2984,"max":2986},{"min":2990,"max":3001},{"min":3006,"max":3010},{"min":3014,"max":3016},{"min":3018,"max":3021},{"min":3024,"max":3024},{"min":3031,"max":3031},{"min":3046,"max":3066},{"min":7386,"max":7386},{"min":43251,"max":43251},{"min":70401,"max":70401},{"min":70403,"max":70403},{"min":70459,"max":70460},{"min":73664,"max":73713},{"min":73727,"max":73727}]'); -export const Tangut: readonly CharRange[] = JSON.parse('[{"min":94176,"max":94176},{"min":94208,"max":100343},{"min":100352,"max":101119},{"min":101632,"max":101640}]'); -export const Telugu: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":3072,"max":3084},{"min":3086,"max":3088},{"min":3090,"max":3112},{"min":3114,"max":3129},{"min":3132,"max":3140},{"min":3142,"max":3144},{"min":3146,"max":3149},{"min":3157,"max":3158},{"min":3160,"max":3162},{"min":3165,"max":3165},{"min":3168,"max":3171},{"min":3174,"max":3183},{"min":3191,"max":3199},{"min":7386,"max":7386},{"min":7410,"max":7410}]'); -export const Thaana: readonly CharRange[] = JSON.parse('[{"min":1548,"max":1548},{"min":1563,"max":1564},{"min":1567,"max":1567},{"min":1632,"max":1641},{"min":1920,"max":1969},{"min":65010,"max":65010},{"min":65021,"max":65021}]'); -export const Thai: readonly CharRange[] = JSON.parse('[{"min":3585,"max":3642},{"min":3648,"max":3675}]'); -export const Tibetan: readonly CharRange[] = JSON.parse('[{"min":3840,"max":3911},{"min":3913,"max":3948},{"min":3953,"max":3991},{"min":3993,"max":4028},{"min":4030,"max":4044},{"min":4046,"max":4052},{"min":4057,"max":4058}]'); -export const Tifinagh: readonly CharRange[] = JSON.parse('[{"min":11568,"max":11623},{"min":11631,"max":11632},{"min":11647,"max":11647}]'); -export const Tirhuta: readonly CharRange[] = JSON.parse('[{"min":2385,"max":2386},{"min":2404,"max":2405},{"min":7410,"max":7410},{"min":43056,"max":43065},{"min":70784,"max":70855},{"min":70864,"max":70873}]'); -export const Ugaritic: readonly CharRange[] = JSON.parse('[{"min":66432,"max":66461},{"min":66463,"max":66463}]'); -export const Vai: readonly CharRange[] = JSON.parse('[{"min":42240,"max":42539}]'); -export const Wancho: readonly CharRange[] = JSON.parse('[{"min":123584,"max":123641},{"min":123647,"max":123647}]'); -export const Warang_Citi: readonly CharRange[] = JSON.parse('[{"min":71840,"max":71922},{"min":71935,"max":71935}]'); -export const Yi: readonly CharRange[] = JSON.parse('[{"min":12289,"max":12290},{"min":12296,"max":12305},{"min":12308,"max":12315},{"min":12539,"max":12539},{"min":40960,"max":42124},{"min":42128,"max":42182},{"min":65377,"max":65381}]'); -export const Zanabazar_Square: readonly CharRange[] = JSON.parse('[{"min":72192,"max":72263}]'); diff --git a/src/js/utf16-case-folding.ts b/src/js/utf16-case-folding.ts deleted file mode 100644 index b4a2cb5b..00000000 --- a/src/js/utf16-case-folding.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* eslint-disable */ - -// DO NOT EDIT! -// THIS FILE IS GENERATED BY scripts/create-case-folding.js - -import { CharSet } from "../char-set"; - - -/** - * A character set of all characters that have at least one case variation. - */ -export const UTF16CaseVarying: CharSet = CharSet.empty(65535).union(JSON.parse('[{"min":65,"max":90},{"min":97,"max":122},{"min":181,"max":181},{"min":192,"max":214},{"min":216,"max":222},{"min":224,"max":246},{"min":248,"max":303},{"min":306,"max":311},{"min":313,"max":328},{"min":330,"max":382},{"min":384,"max":396},{"min":398,"max":410},{"min":412,"max":425},{"min":428,"max":441},{"min":444,"max":445},{"min":447,"max":447},{"min":452,"max":495},{"min":497,"max":544},{"min":546,"max":563},{"min":570,"max":596},{"min":598,"max":599},{"min":601,"max":601},{"min":603,"max":604},{"min":608,"max":609},{"min":611,"max":611},{"min":613,"max":614},{"min":616,"max":620},{"min":623,"max":623},{"min":625,"max":626},{"min":629,"max":629},{"min":637,"max":637},{"min":640,"max":640},{"min":642,"max":643},{"min":647,"max":652},{"min":658,"max":658},{"min":669,"max":670},{"min":837,"max":837},{"min":880,"max":883},{"min":886,"max":887},{"min":891,"max":893},{"min":895,"max":895},{"min":902,"max":902},{"min":904,"max":906},{"min":908,"max":908},{"min":910,"max":911},{"min":913,"max":929},{"min":931,"max":943},{"min":945,"max":977},{"min":981,"max":1011},{"min":1013,"max":1013},{"min":1015,"max":1019},{"min":1021,"max":1153},{"min":1162,"max":1327},{"min":1329,"max":1366},{"min":1377,"max":1414},{"min":4256,"max":4293},{"min":4295,"max":4295},{"min":4301,"max":4301},{"min":4304,"max":4346},{"min":4349,"max":4351},{"min":5024,"max":5109},{"min":5112,"max":5117},{"min":7296,"max":7304},{"min":7312,"max":7354},{"min":7357,"max":7359},{"min":7545,"max":7545},{"min":7549,"max":7549},{"min":7566,"max":7566},{"min":7680,"max":7829},{"min":7835,"max":7835},{"min":7840,"max":7957},{"min":7960,"max":7965},{"min":7968,"max":8005},{"min":8008,"max":8013},{"min":8017,"max":8017},{"min":8019,"max":8019},{"min":8021,"max":8021},{"min":8023,"max":8023},{"min":8025,"max":8025},{"min":8027,"max":8027},{"min":8029,"max":8029},{"min":8031,"max":8061},{"min":8112,"max":8113},{"min":8120,"max":8123},{"min":8126,"max":8126},{"min":8136,"max":8139},{"min":8144,"max":8145},{"min":8152,"max":8155},{"min":8160,"max":8161},{"min":8165,"max":8165},{"min":8168,"max":8172},{"min":8184,"max":8187},{"min":8498,"max":8498},{"min":8526,"max":8526},{"min":8544,"max":8575},{"min":8579,"max":8580},{"min":9398,"max":9449},{"min":11264,"max":11376},{"min":11378,"max":11379},{"min":11381,"max":11382},{"min":11390,"max":11491},{"min":11499,"max":11502},{"min":11506,"max":11507},{"min":11520,"max":11557},{"min":11559,"max":11559},{"min":11565,"max":11565},{"min":42560,"max":42605},{"min":42624,"max":42651},{"min":42786,"max":42799},{"min":42802,"max":42863},{"min":42873,"max":42887},{"min":42891,"max":42893},{"min":42896,"max":42900},{"min":42902,"max":42926},{"min":42928,"max":42954},{"min":42960,"max":42961},{"min":42966,"max":42969},{"min":42997,"max":42998},{"min":43859,"max":43859},{"min":43888,"max":43967},{"min":65313,"max":65338},{"min":65345,"max":65370}]')); - -/** - * A map for a given character to all it case variations. The list of case variations also includes the key character - * itself. - * - * If the given character do not have case variations, it will not be part of this map. - */ -export const UTF16CaseFolding: Readonly>> = JSON.parse('{"65":[65,97],"66":[66,98],"67":[67,99],"68":[68,100],"69":[69,101],"70":[70,102],"71":[71,103],"72":[72,104],"73":[73,105],"74":[74,106],"75":[75,107],"76":[76,108],"77":[77,109],"78":[78,110],"79":[79,111],"80":[80,112],"81":[81,113],"82":[82,114],"83":[83,115],"84":[84,116],"85":[85,117],"86":[86,118],"87":[87,119],"88":[88,120],"89":[89,121],"90":[90,122],"97":[65,97],"98":[66,98],"99":[67,99],"100":[68,100],"101":[69,101],"102":[70,102],"103":[71,103],"104":[72,104],"105":[73,105],"106":[74,106],"107":[75,107],"108":[76,108],"109":[77,109],"110":[78,110],"111":[79,111],"112":[80,112],"113":[81,113],"114":[82,114],"115":[83,115],"116":[84,116],"117":[85,117],"118":[86,118],"119":[87,119],"120":[88,120],"121":[89,121],"122":[90,122],"181":[181,924,956],"192":[192,224],"193":[193,225],"194":[194,226],"195":[195,227],"196":[196,228],"197":[197,229],"198":[198,230],"199":[199,231],"200":[200,232],"201":[201,233],"202":[202,234],"203":[203,235],"204":[204,236],"205":[205,237],"206":[206,238],"207":[207,239],"208":[208,240],"209":[209,241],"210":[210,242],"211":[211,243],"212":[212,244],"213":[213,245],"214":[214,246],"216":[216,248],"217":[217,249],"218":[218,250],"219":[219,251],"220":[220,252],"221":[221,253],"222":[222,254],"224":[192,224],"225":[193,225],"226":[194,226],"227":[195,227],"228":[196,228],"229":[197,229],"230":[198,230],"231":[199,231],"232":[200,232],"233":[201,233],"234":[202,234],"235":[203,235],"236":[204,236],"237":[205,237],"238":[206,238],"239":[207,239],"240":[208,240],"241":[209,241],"242":[210,242],"243":[211,243],"244":[212,244],"245":[213,245],"246":[214,246],"248":[216,248],"249":[217,249],"250":[218,250],"251":[219,251],"252":[220,252],"253":[221,253],"254":[222,254],"255":[255,376],"256":[256,257],"257":[256,257],"258":[258,259],"259":[258,259],"260":[260,261],"261":[260,261],"262":[262,263],"263":[262,263],"264":[264,265],"265":[264,265],"266":[266,267],"267":[266,267],"268":[268,269],"269":[268,269],"270":[270,271],"271":[270,271],"272":[272,273],"273":[272,273],"274":[274,275],"275":[274,275],"276":[276,277],"277":[276,277],"278":[278,279],"279":[278,279],"280":[280,281],"281":[280,281],"282":[282,283],"283":[282,283],"284":[284,285],"285":[284,285],"286":[286,287],"287":[286,287],"288":[288,289],"289":[288,289],"290":[290,291],"291":[290,291],"292":[292,293],"293":[292,293],"294":[294,295],"295":[294,295],"296":[296,297],"297":[296,297],"298":[298,299],"299":[298,299],"300":[300,301],"301":[300,301],"302":[302,303],"303":[302,303],"306":[306,307],"307":[306,307],"308":[308,309],"309":[308,309],"310":[310,311],"311":[310,311],"313":[313,314],"314":[313,314],"315":[315,316],"316":[315,316],"317":[317,318],"318":[317,318],"319":[319,320],"320":[319,320],"321":[321,322],"322":[321,322],"323":[323,324],"324":[323,324],"325":[325,326],"326":[325,326],"327":[327,328],"328":[327,328],"330":[330,331],"331":[330,331],"332":[332,333],"333":[332,333],"334":[334,335],"335":[334,335],"336":[336,337],"337":[336,337],"338":[338,339],"339":[338,339],"340":[340,341],"341":[340,341],"342":[342,343],"343":[342,343],"344":[344,345],"345":[344,345],"346":[346,347],"347":[346,347],"348":[348,349],"349":[348,349],"350":[350,351],"351":[350,351],"352":[352,353],"353":[352,353],"354":[354,355],"355":[354,355],"356":[356,357],"357":[356,357],"358":[358,359],"359":[358,359],"360":[360,361],"361":[360,361],"362":[362,363],"363":[362,363],"364":[364,365],"365":[364,365],"366":[366,367],"367":[366,367],"368":[368,369],"369":[368,369],"370":[370,371],"371":[370,371],"372":[372,373],"373":[372,373],"374":[374,375],"375":[374,375],"376":[255,376],"377":[377,378],"378":[377,378],"379":[379,380],"380":[379,380],"381":[381,382],"382":[381,382],"384":[384,579],"385":[385,595],"386":[386,387],"387":[386,387],"388":[388,389],"389":[388,389],"390":[390,596],"391":[391,392],"392":[391,392],"393":[393,598],"394":[394,599],"395":[395,396],"396":[395,396],"398":[398,477],"399":[399,601],"400":[400,603],"401":[401,402],"402":[401,402],"403":[403,608],"404":[404,611],"405":[405,502],"406":[406,617],"407":[407,616],"408":[408,409],"409":[408,409],"410":[410,573],"412":[412,623],"413":[413,626],"414":[414,544],"415":[415,629],"416":[416,417],"417":[416,417],"418":[418,419],"419":[418,419],"420":[420,421],"421":[420,421],"422":[422,640],"423":[423,424],"424":[423,424],"425":[425,643],"428":[428,429],"429":[428,429],"430":[430,648],"431":[431,432],"432":[431,432],"433":[433,650],"434":[434,651],"435":[435,436],"436":[435,436],"437":[437,438],"438":[437,438],"439":[439,658],"440":[440,441],"441":[440,441],"444":[444,445],"445":[444,445],"447":[447,503],"452":[452,453,454],"453":[452,453,454],"454":[452,453,454],"455":[455,456,457],"456":[455,456,457],"457":[455,456,457],"458":[458,459,460],"459":[458,459,460],"460":[458,459,460],"461":[461,462],"462":[461,462],"463":[463,464],"464":[463,464],"465":[465,466],"466":[465,466],"467":[467,468],"468":[467,468],"469":[469,470],"470":[469,470],"471":[471,472],"472":[471,472],"473":[473,474],"474":[473,474],"475":[475,476],"476":[475,476],"477":[398,477],"478":[478,479],"479":[478,479],"480":[480,481],"481":[480,481],"482":[482,483],"483":[482,483],"484":[484,485],"485":[484,485],"486":[486,487],"487":[486,487],"488":[488,489],"489":[488,489],"490":[490,491],"491":[490,491],"492":[492,493],"493":[492,493],"494":[494,495],"495":[494,495],"497":[497,498,499],"498":[497,498,499],"499":[497,498,499],"500":[500,501],"501":[500,501],"502":[405,502],"503":[447,503],"504":[504,505],"505":[504,505],"506":[506,507],"507":[506,507],"508":[508,509],"509":[508,509],"510":[510,511],"511":[510,511],"512":[512,513],"513":[512,513],"514":[514,515],"515":[514,515],"516":[516,517],"517":[516,517],"518":[518,519],"519":[518,519],"520":[520,521],"521":[520,521],"522":[522,523],"523":[522,523],"524":[524,525],"525":[524,525],"526":[526,527],"527":[526,527],"528":[528,529],"529":[528,529],"530":[530,531],"531":[530,531],"532":[532,533],"533":[532,533],"534":[534,535],"535":[534,535],"536":[536,537],"537":[536,537],"538":[538,539],"539":[538,539],"540":[540,541],"541":[540,541],"542":[542,543],"543":[542,543],"544":[414,544],"546":[546,547],"547":[546,547],"548":[548,549],"549":[548,549],"550":[550,551],"551":[550,551],"552":[552,553],"553":[552,553],"554":[554,555],"555":[554,555],"556":[556,557],"557":[556,557],"558":[558,559],"559":[558,559],"560":[560,561],"561":[560,561],"562":[562,563],"563":[562,563],"570":[570,11365],"571":[571,572],"572":[571,572],"573":[410,573],"574":[574,11366],"575":[575,11390],"576":[576,11391],"577":[577,578],"578":[577,578],"579":[384,579],"580":[580,649],"581":[581,652],"582":[582,583],"583":[582,583],"584":[584,585],"585":[584,585],"586":[586,587],"587":[586,587],"588":[588,589],"589":[588,589],"590":[590,591],"591":[590,591],"592":[592,11375],"593":[593,11373],"594":[594,11376],"595":[385,595],"596":[390,596],"598":[393,598],"599":[394,599],"601":[399,601],"603":[400,603],"604":[604,42923],"608":[403,608],"609":[609,42924],"611":[404,611],"613":[613,42893],"614":[614,42922],"616":[407,616],"617":[406,617],"618":[618,42926],"619":[619,11362],"620":[620,42925],"623":[412,623],"625":[625,11374],"626":[413,626],"629":[415,629],"637":[637,11364],"640":[422,640],"642":[642,42949],"643":[425,643],"647":[647,42929],"648":[430,648],"649":[580,649],"650":[433,650],"651":[434,651],"652":[581,652],"658":[439,658],"669":[669,42930],"670":[670,42928],"837":[837,921,953,8126],"880":[880,881],"881":[880,881],"882":[882,883],"883":[882,883],"886":[886,887],"887":[886,887],"891":[891,1021],"892":[892,1022],"893":[893,1023],"895":[895,1011],"902":[902,940],"904":[904,941],"905":[905,942],"906":[906,943],"908":[908,972],"910":[910,973],"911":[911,974],"913":[913,945],"914":[914,946,976],"915":[915,947],"916":[916,948],"917":[917,949,1013],"918":[918,950],"919":[919,951],"920":[920,952,977],"921":[837,921,953,8126],"922":[922,954,1008],"923":[923,955],"924":[181,924,956],"925":[925,957],"926":[926,958],"927":[927,959],"928":[928,960,982],"929":[929,961,1009],"931":[931,962,963],"932":[932,964],"933":[933,965],"934":[934,966,981],"935":[935,967],"936":[936,968],"937":[937,969],"938":[938,970],"939":[939,971],"940":[902,940],"941":[904,941],"942":[905,942],"943":[906,943],"945":[913,945],"946":[914,946,976],"947":[915,947],"948":[916,948],"949":[917,949,1013],"950":[918,950],"951":[919,951],"952":[920,952,977],"953":[837,921,953,8126],"954":[922,954,1008],"955":[923,955],"956":[181,924,956],"957":[925,957],"958":[926,958],"959":[927,959],"960":[928,960,982],"961":[929,961,1009],"962":[931,962,963],"963":[931,962,963],"964":[932,964],"965":[933,965],"966":[934,966,981],"967":[935,967],"968":[936,968],"969":[937,969],"970":[938,970],"971":[939,971],"972":[908,972],"973":[910,973],"974":[911,974],"975":[975,983],"976":[914,946,976],"977":[920,952,977],"981":[934,966,981],"982":[928,960,982],"983":[975,983],"984":[984,985],"985":[984,985],"986":[986,987],"987":[986,987],"988":[988,989],"989":[988,989],"990":[990,991],"991":[990,991],"992":[992,993],"993":[992,993],"994":[994,995],"995":[994,995],"996":[996,997],"997":[996,997],"998":[998,999],"999":[998,999],"1000":[1000,1001],"1001":[1000,1001],"1002":[1002,1003],"1003":[1002,1003],"1004":[1004,1005],"1005":[1004,1005],"1006":[1006,1007],"1007":[1006,1007],"1008":[922,954,1008],"1009":[929,961,1009],"1010":[1010,1017],"1011":[895,1011],"1013":[917,949,1013],"1015":[1015,1016],"1016":[1015,1016],"1017":[1010,1017],"1018":[1018,1019],"1019":[1018,1019],"1021":[891,1021],"1022":[892,1022],"1023":[893,1023],"1024":[1024,1104],"1025":[1025,1105],"1026":[1026,1106],"1027":[1027,1107],"1028":[1028,1108],"1029":[1029,1109],"1030":[1030,1110],"1031":[1031,1111],"1032":[1032,1112],"1033":[1033,1113],"1034":[1034,1114],"1035":[1035,1115],"1036":[1036,1116],"1037":[1037,1117],"1038":[1038,1118],"1039":[1039,1119],"1040":[1040,1072],"1041":[1041,1073],"1042":[1042,1074,7296],"1043":[1043,1075],"1044":[1044,1076,7297],"1045":[1045,1077],"1046":[1046,1078],"1047":[1047,1079],"1048":[1048,1080],"1049":[1049,1081],"1050":[1050,1082],"1051":[1051,1083],"1052":[1052,1084],"1053":[1053,1085],"1054":[1054,1086,7298],"1055":[1055,1087],"1056":[1056,1088],"1057":[1057,1089,7299],"1058":[1058,1090,7300,7301],"1059":[1059,1091],"1060":[1060,1092],"1061":[1061,1093],"1062":[1062,1094],"1063":[1063,1095],"1064":[1064,1096],"1065":[1065,1097],"1066":[1066,1098,7302],"1067":[1067,1099],"1068":[1068,1100],"1069":[1069,1101],"1070":[1070,1102],"1071":[1071,1103],"1072":[1040,1072],"1073":[1041,1073],"1074":[1042,1074,7296],"1075":[1043,1075],"1076":[1044,1076,7297],"1077":[1045,1077],"1078":[1046,1078],"1079":[1047,1079],"1080":[1048,1080],"1081":[1049,1081],"1082":[1050,1082],"1083":[1051,1083],"1084":[1052,1084],"1085":[1053,1085],"1086":[1054,1086,7298],"1087":[1055,1087],"1088":[1056,1088],"1089":[1057,1089,7299],"1090":[1058,1090,7300,7301],"1091":[1059,1091],"1092":[1060,1092],"1093":[1061,1093],"1094":[1062,1094],"1095":[1063,1095],"1096":[1064,1096],"1097":[1065,1097],"1098":[1066,1098,7302],"1099":[1067,1099],"1100":[1068,1100],"1101":[1069,1101],"1102":[1070,1102],"1103":[1071,1103],"1104":[1024,1104],"1105":[1025,1105],"1106":[1026,1106],"1107":[1027,1107],"1108":[1028,1108],"1109":[1029,1109],"1110":[1030,1110],"1111":[1031,1111],"1112":[1032,1112],"1113":[1033,1113],"1114":[1034,1114],"1115":[1035,1115],"1116":[1036,1116],"1117":[1037,1117],"1118":[1038,1118],"1119":[1039,1119],"1120":[1120,1121],"1121":[1120,1121],"1122":[1122,1123,7303],"1123":[1122,1123,7303],"1124":[1124,1125],"1125":[1124,1125],"1126":[1126,1127],"1127":[1126,1127],"1128":[1128,1129],"1129":[1128,1129],"1130":[1130,1131],"1131":[1130,1131],"1132":[1132,1133],"1133":[1132,1133],"1134":[1134,1135],"1135":[1134,1135],"1136":[1136,1137],"1137":[1136,1137],"1138":[1138,1139],"1139":[1138,1139],"1140":[1140,1141],"1141":[1140,1141],"1142":[1142,1143],"1143":[1142,1143],"1144":[1144,1145],"1145":[1144,1145],"1146":[1146,1147],"1147":[1146,1147],"1148":[1148,1149],"1149":[1148,1149],"1150":[1150,1151],"1151":[1150,1151],"1152":[1152,1153],"1153":[1152,1153],"1162":[1162,1163],"1163":[1162,1163],"1164":[1164,1165],"1165":[1164,1165],"1166":[1166,1167],"1167":[1166,1167],"1168":[1168,1169],"1169":[1168,1169],"1170":[1170,1171],"1171":[1170,1171],"1172":[1172,1173],"1173":[1172,1173],"1174":[1174,1175],"1175":[1174,1175],"1176":[1176,1177],"1177":[1176,1177],"1178":[1178,1179],"1179":[1178,1179],"1180":[1180,1181],"1181":[1180,1181],"1182":[1182,1183],"1183":[1182,1183],"1184":[1184,1185],"1185":[1184,1185],"1186":[1186,1187],"1187":[1186,1187],"1188":[1188,1189],"1189":[1188,1189],"1190":[1190,1191],"1191":[1190,1191],"1192":[1192,1193],"1193":[1192,1193],"1194":[1194,1195],"1195":[1194,1195],"1196":[1196,1197],"1197":[1196,1197],"1198":[1198,1199],"1199":[1198,1199],"1200":[1200,1201],"1201":[1200,1201],"1202":[1202,1203],"1203":[1202,1203],"1204":[1204,1205],"1205":[1204,1205],"1206":[1206,1207],"1207":[1206,1207],"1208":[1208,1209],"1209":[1208,1209],"1210":[1210,1211],"1211":[1210,1211],"1212":[1212,1213],"1213":[1212,1213],"1214":[1214,1215],"1215":[1214,1215],"1216":[1216,1231],"1217":[1217,1218],"1218":[1217,1218],"1219":[1219,1220],"1220":[1219,1220],"1221":[1221,1222],"1222":[1221,1222],"1223":[1223,1224],"1224":[1223,1224],"1225":[1225,1226],"1226":[1225,1226],"1227":[1227,1228],"1228":[1227,1228],"1229":[1229,1230],"1230":[1229,1230],"1231":[1216,1231],"1232":[1232,1233],"1233":[1232,1233],"1234":[1234,1235],"1235":[1234,1235],"1236":[1236,1237],"1237":[1236,1237],"1238":[1238,1239],"1239":[1238,1239],"1240":[1240,1241],"1241":[1240,1241],"1242":[1242,1243],"1243":[1242,1243],"1244":[1244,1245],"1245":[1244,1245],"1246":[1246,1247],"1247":[1246,1247],"1248":[1248,1249],"1249":[1248,1249],"1250":[1250,1251],"1251":[1250,1251],"1252":[1252,1253],"1253":[1252,1253],"1254":[1254,1255],"1255":[1254,1255],"1256":[1256,1257],"1257":[1256,1257],"1258":[1258,1259],"1259":[1258,1259],"1260":[1260,1261],"1261":[1260,1261],"1262":[1262,1263],"1263":[1262,1263],"1264":[1264,1265],"1265":[1264,1265],"1266":[1266,1267],"1267":[1266,1267],"1268":[1268,1269],"1269":[1268,1269],"1270":[1270,1271],"1271":[1270,1271],"1272":[1272,1273],"1273":[1272,1273],"1274":[1274,1275],"1275":[1274,1275],"1276":[1276,1277],"1277":[1276,1277],"1278":[1278,1279],"1279":[1278,1279],"1280":[1280,1281],"1281":[1280,1281],"1282":[1282,1283],"1283":[1282,1283],"1284":[1284,1285],"1285":[1284,1285],"1286":[1286,1287],"1287":[1286,1287],"1288":[1288,1289],"1289":[1288,1289],"1290":[1290,1291],"1291":[1290,1291],"1292":[1292,1293],"1293":[1292,1293],"1294":[1294,1295],"1295":[1294,1295],"1296":[1296,1297],"1297":[1296,1297],"1298":[1298,1299],"1299":[1298,1299],"1300":[1300,1301],"1301":[1300,1301],"1302":[1302,1303],"1303":[1302,1303],"1304":[1304,1305],"1305":[1304,1305],"1306":[1306,1307],"1307":[1306,1307],"1308":[1308,1309],"1309":[1308,1309],"1310":[1310,1311],"1311":[1310,1311],"1312":[1312,1313],"1313":[1312,1313],"1314":[1314,1315],"1315":[1314,1315],"1316":[1316,1317],"1317":[1316,1317],"1318":[1318,1319],"1319":[1318,1319],"1320":[1320,1321],"1321":[1320,1321],"1322":[1322,1323],"1323":[1322,1323],"1324":[1324,1325],"1325":[1324,1325],"1326":[1326,1327],"1327":[1326,1327],"1329":[1329,1377],"1330":[1330,1378],"1331":[1331,1379],"1332":[1332,1380],"1333":[1333,1381],"1334":[1334,1382],"1335":[1335,1383],"1336":[1336,1384],"1337":[1337,1385],"1338":[1338,1386],"1339":[1339,1387],"1340":[1340,1388],"1341":[1341,1389],"1342":[1342,1390],"1343":[1343,1391],"1344":[1344,1392],"1345":[1345,1393],"1346":[1346,1394],"1347":[1347,1395],"1348":[1348,1396],"1349":[1349,1397],"1350":[1350,1398],"1351":[1351,1399],"1352":[1352,1400],"1353":[1353,1401],"1354":[1354,1402],"1355":[1355,1403],"1356":[1356,1404],"1357":[1357,1405],"1358":[1358,1406],"1359":[1359,1407],"1360":[1360,1408],"1361":[1361,1409],"1362":[1362,1410],"1363":[1363,1411],"1364":[1364,1412],"1365":[1365,1413],"1366":[1366,1414],"1377":[1329,1377],"1378":[1330,1378],"1379":[1331,1379],"1380":[1332,1380],"1381":[1333,1381],"1382":[1334,1382],"1383":[1335,1383],"1384":[1336,1384],"1385":[1337,1385],"1386":[1338,1386],"1387":[1339,1387],"1388":[1340,1388],"1389":[1341,1389],"1390":[1342,1390],"1391":[1343,1391],"1392":[1344,1392],"1393":[1345,1393],"1394":[1346,1394],"1395":[1347,1395],"1396":[1348,1396],"1397":[1349,1397],"1398":[1350,1398],"1399":[1351,1399],"1400":[1352,1400],"1401":[1353,1401],"1402":[1354,1402],"1403":[1355,1403],"1404":[1356,1404],"1405":[1357,1405],"1406":[1358,1406],"1407":[1359,1407],"1408":[1360,1408],"1409":[1361,1409],"1410":[1362,1410],"1411":[1363,1411],"1412":[1364,1412],"1413":[1365,1413],"1414":[1366,1414],"4256":[4256,11520],"4257":[4257,11521],"4258":[4258,11522],"4259":[4259,11523],"4260":[4260,11524],"4261":[4261,11525],"4262":[4262,11526],"4263":[4263,11527],"4264":[4264,11528],"4265":[4265,11529],"4266":[4266,11530],"4267":[4267,11531],"4268":[4268,11532],"4269":[4269,11533],"4270":[4270,11534],"4271":[4271,11535],"4272":[4272,11536],"4273":[4273,11537],"4274":[4274,11538],"4275":[4275,11539],"4276":[4276,11540],"4277":[4277,11541],"4278":[4278,11542],"4279":[4279,11543],"4280":[4280,11544],"4281":[4281,11545],"4282":[4282,11546],"4283":[4283,11547],"4284":[4284,11548],"4285":[4285,11549],"4286":[4286,11550],"4287":[4287,11551],"4288":[4288,11552],"4289":[4289,11553],"4290":[4290,11554],"4291":[4291,11555],"4292":[4292,11556],"4293":[4293,11557],"4295":[4295,11559],"4301":[4301,11565],"4304":[4304,7312],"4305":[4305,7313],"4306":[4306,7314],"4307":[4307,7315],"4308":[4308,7316],"4309":[4309,7317],"4310":[4310,7318],"4311":[4311,7319],"4312":[4312,7320],"4313":[4313,7321],"4314":[4314,7322],"4315":[4315,7323],"4316":[4316,7324],"4317":[4317,7325],"4318":[4318,7326],"4319":[4319,7327],"4320":[4320,7328],"4321":[4321,7329],"4322":[4322,7330],"4323":[4323,7331],"4324":[4324,7332],"4325":[4325,7333],"4326":[4326,7334],"4327":[4327,7335],"4328":[4328,7336],"4329":[4329,7337],"4330":[4330,7338],"4331":[4331,7339],"4332":[4332,7340],"4333":[4333,7341],"4334":[4334,7342],"4335":[4335,7343],"4336":[4336,7344],"4337":[4337,7345],"4338":[4338,7346],"4339":[4339,7347],"4340":[4340,7348],"4341":[4341,7349],"4342":[4342,7350],"4343":[4343,7351],"4344":[4344,7352],"4345":[4345,7353],"4346":[4346,7354],"4349":[4349,7357],"4350":[4350,7358],"4351":[4351,7359],"5024":[5024,43888],"5025":[5025,43889],"5026":[5026,43890],"5027":[5027,43891],"5028":[5028,43892],"5029":[5029,43893],"5030":[5030,43894],"5031":[5031,43895],"5032":[5032,43896],"5033":[5033,43897],"5034":[5034,43898],"5035":[5035,43899],"5036":[5036,43900],"5037":[5037,43901],"5038":[5038,43902],"5039":[5039,43903],"5040":[5040,43904],"5041":[5041,43905],"5042":[5042,43906],"5043":[5043,43907],"5044":[5044,43908],"5045":[5045,43909],"5046":[5046,43910],"5047":[5047,43911],"5048":[5048,43912],"5049":[5049,43913],"5050":[5050,43914],"5051":[5051,43915],"5052":[5052,43916],"5053":[5053,43917],"5054":[5054,43918],"5055":[5055,43919],"5056":[5056,43920],"5057":[5057,43921],"5058":[5058,43922],"5059":[5059,43923],"5060":[5060,43924],"5061":[5061,43925],"5062":[5062,43926],"5063":[5063,43927],"5064":[5064,43928],"5065":[5065,43929],"5066":[5066,43930],"5067":[5067,43931],"5068":[5068,43932],"5069":[5069,43933],"5070":[5070,43934],"5071":[5071,43935],"5072":[5072,43936],"5073":[5073,43937],"5074":[5074,43938],"5075":[5075,43939],"5076":[5076,43940],"5077":[5077,43941],"5078":[5078,43942],"5079":[5079,43943],"5080":[5080,43944],"5081":[5081,43945],"5082":[5082,43946],"5083":[5083,43947],"5084":[5084,43948],"5085":[5085,43949],"5086":[5086,43950],"5087":[5087,43951],"5088":[5088,43952],"5089":[5089,43953],"5090":[5090,43954],"5091":[5091,43955],"5092":[5092,43956],"5093":[5093,43957],"5094":[5094,43958],"5095":[5095,43959],"5096":[5096,43960],"5097":[5097,43961],"5098":[5098,43962],"5099":[5099,43963],"5100":[5100,43964],"5101":[5101,43965],"5102":[5102,43966],"5103":[5103,43967],"5104":[5104,5112],"5105":[5105,5113],"5106":[5106,5114],"5107":[5107,5115],"5108":[5108,5116],"5109":[5109,5117],"5112":[5104,5112],"5113":[5105,5113],"5114":[5106,5114],"5115":[5107,5115],"5116":[5108,5116],"5117":[5109,5117],"7296":[1042,1074,7296],"7297":[1044,1076,7297],"7298":[1054,1086,7298],"7299":[1057,1089,7299],"7300":[1058,1090,7300,7301],"7301":[1058,1090,7300,7301],"7302":[1066,1098,7302],"7303":[1122,1123,7303],"7304":[7304,42570,42571],"7312":[4304,7312],"7313":[4305,7313],"7314":[4306,7314],"7315":[4307,7315],"7316":[4308,7316],"7317":[4309,7317],"7318":[4310,7318],"7319":[4311,7319],"7320":[4312,7320],"7321":[4313,7321],"7322":[4314,7322],"7323":[4315,7323],"7324":[4316,7324],"7325":[4317,7325],"7326":[4318,7326],"7327":[4319,7327],"7328":[4320,7328],"7329":[4321,7329],"7330":[4322,7330],"7331":[4323,7331],"7332":[4324,7332],"7333":[4325,7333],"7334":[4326,7334],"7335":[4327,7335],"7336":[4328,7336],"7337":[4329,7337],"7338":[4330,7338],"7339":[4331,7339],"7340":[4332,7340],"7341":[4333,7341],"7342":[4334,7342],"7343":[4335,7343],"7344":[4336,7344],"7345":[4337,7345],"7346":[4338,7346],"7347":[4339,7347],"7348":[4340,7348],"7349":[4341,7349],"7350":[4342,7350],"7351":[4343,7351],"7352":[4344,7352],"7353":[4345,7353],"7354":[4346,7354],"7357":[4349,7357],"7358":[4350,7358],"7359":[4351,7359],"7545":[7545,42877],"7549":[7549,11363],"7566":[7566,42950],"7680":[7680,7681],"7681":[7680,7681],"7682":[7682,7683],"7683":[7682,7683],"7684":[7684,7685],"7685":[7684,7685],"7686":[7686,7687],"7687":[7686,7687],"7688":[7688,7689],"7689":[7688,7689],"7690":[7690,7691],"7691":[7690,7691],"7692":[7692,7693],"7693":[7692,7693],"7694":[7694,7695],"7695":[7694,7695],"7696":[7696,7697],"7697":[7696,7697],"7698":[7698,7699],"7699":[7698,7699],"7700":[7700,7701],"7701":[7700,7701],"7702":[7702,7703],"7703":[7702,7703],"7704":[7704,7705],"7705":[7704,7705],"7706":[7706,7707],"7707":[7706,7707],"7708":[7708,7709],"7709":[7708,7709],"7710":[7710,7711],"7711":[7710,7711],"7712":[7712,7713],"7713":[7712,7713],"7714":[7714,7715],"7715":[7714,7715],"7716":[7716,7717],"7717":[7716,7717],"7718":[7718,7719],"7719":[7718,7719],"7720":[7720,7721],"7721":[7720,7721],"7722":[7722,7723],"7723":[7722,7723],"7724":[7724,7725],"7725":[7724,7725],"7726":[7726,7727],"7727":[7726,7727],"7728":[7728,7729],"7729":[7728,7729],"7730":[7730,7731],"7731":[7730,7731],"7732":[7732,7733],"7733":[7732,7733],"7734":[7734,7735],"7735":[7734,7735],"7736":[7736,7737],"7737":[7736,7737],"7738":[7738,7739],"7739":[7738,7739],"7740":[7740,7741],"7741":[7740,7741],"7742":[7742,7743],"7743":[7742,7743],"7744":[7744,7745],"7745":[7744,7745],"7746":[7746,7747],"7747":[7746,7747],"7748":[7748,7749],"7749":[7748,7749],"7750":[7750,7751],"7751":[7750,7751],"7752":[7752,7753],"7753":[7752,7753],"7754":[7754,7755],"7755":[7754,7755],"7756":[7756,7757],"7757":[7756,7757],"7758":[7758,7759],"7759":[7758,7759],"7760":[7760,7761],"7761":[7760,7761],"7762":[7762,7763],"7763":[7762,7763],"7764":[7764,7765],"7765":[7764,7765],"7766":[7766,7767],"7767":[7766,7767],"7768":[7768,7769],"7769":[7768,7769],"7770":[7770,7771],"7771":[7770,7771],"7772":[7772,7773],"7773":[7772,7773],"7774":[7774,7775],"7775":[7774,7775],"7776":[7776,7777,7835],"7777":[7776,7777,7835],"7778":[7778,7779],"7779":[7778,7779],"7780":[7780,7781],"7781":[7780,7781],"7782":[7782,7783],"7783":[7782,7783],"7784":[7784,7785],"7785":[7784,7785],"7786":[7786,7787],"7787":[7786,7787],"7788":[7788,7789],"7789":[7788,7789],"7790":[7790,7791],"7791":[7790,7791],"7792":[7792,7793],"7793":[7792,7793],"7794":[7794,7795],"7795":[7794,7795],"7796":[7796,7797],"7797":[7796,7797],"7798":[7798,7799],"7799":[7798,7799],"7800":[7800,7801],"7801":[7800,7801],"7802":[7802,7803],"7803":[7802,7803],"7804":[7804,7805],"7805":[7804,7805],"7806":[7806,7807],"7807":[7806,7807],"7808":[7808,7809],"7809":[7808,7809],"7810":[7810,7811],"7811":[7810,7811],"7812":[7812,7813],"7813":[7812,7813],"7814":[7814,7815],"7815":[7814,7815],"7816":[7816,7817],"7817":[7816,7817],"7818":[7818,7819],"7819":[7818,7819],"7820":[7820,7821],"7821":[7820,7821],"7822":[7822,7823],"7823":[7822,7823],"7824":[7824,7825],"7825":[7824,7825],"7826":[7826,7827],"7827":[7826,7827],"7828":[7828,7829],"7829":[7828,7829],"7835":[7776,7777,7835],"7840":[7840,7841],"7841":[7840,7841],"7842":[7842,7843],"7843":[7842,7843],"7844":[7844,7845],"7845":[7844,7845],"7846":[7846,7847],"7847":[7846,7847],"7848":[7848,7849],"7849":[7848,7849],"7850":[7850,7851],"7851":[7850,7851],"7852":[7852,7853],"7853":[7852,7853],"7854":[7854,7855],"7855":[7854,7855],"7856":[7856,7857],"7857":[7856,7857],"7858":[7858,7859],"7859":[7858,7859],"7860":[7860,7861],"7861":[7860,7861],"7862":[7862,7863],"7863":[7862,7863],"7864":[7864,7865],"7865":[7864,7865],"7866":[7866,7867],"7867":[7866,7867],"7868":[7868,7869],"7869":[7868,7869],"7870":[7870,7871],"7871":[7870,7871],"7872":[7872,7873],"7873":[7872,7873],"7874":[7874,7875],"7875":[7874,7875],"7876":[7876,7877],"7877":[7876,7877],"7878":[7878,7879],"7879":[7878,7879],"7880":[7880,7881],"7881":[7880,7881],"7882":[7882,7883],"7883":[7882,7883],"7884":[7884,7885],"7885":[7884,7885],"7886":[7886,7887],"7887":[7886,7887],"7888":[7888,7889],"7889":[7888,7889],"7890":[7890,7891],"7891":[7890,7891],"7892":[7892,7893],"7893":[7892,7893],"7894":[7894,7895],"7895":[7894,7895],"7896":[7896,7897],"7897":[7896,7897],"7898":[7898,7899],"7899":[7898,7899],"7900":[7900,7901],"7901":[7900,7901],"7902":[7902,7903],"7903":[7902,7903],"7904":[7904,7905],"7905":[7904,7905],"7906":[7906,7907],"7907":[7906,7907],"7908":[7908,7909],"7909":[7908,7909],"7910":[7910,7911],"7911":[7910,7911],"7912":[7912,7913],"7913":[7912,7913],"7914":[7914,7915],"7915":[7914,7915],"7916":[7916,7917],"7917":[7916,7917],"7918":[7918,7919],"7919":[7918,7919],"7920":[7920,7921],"7921":[7920,7921],"7922":[7922,7923],"7923":[7922,7923],"7924":[7924,7925],"7925":[7924,7925],"7926":[7926,7927],"7927":[7926,7927],"7928":[7928,7929],"7929":[7928,7929],"7930":[7930,7931],"7931":[7930,7931],"7932":[7932,7933],"7933":[7932,7933],"7934":[7934,7935],"7935":[7934,7935],"7936":[7936,7944],"7937":[7937,7945],"7938":[7938,7946],"7939":[7939,7947],"7940":[7940,7948],"7941":[7941,7949],"7942":[7942,7950],"7943":[7943,7951],"7944":[7936,7944],"7945":[7937,7945],"7946":[7938,7946],"7947":[7939,7947],"7948":[7940,7948],"7949":[7941,7949],"7950":[7942,7950],"7951":[7943,7951],"7952":[7952,7960],"7953":[7953,7961],"7954":[7954,7962],"7955":[7955,7963],"7956":[7956,7964],"7957":[7957,7965],"7960":[7952,7960],"7961":[7953,7961],"7962":[7954,7962],"7963":[7955,7963],"7964":[7956,7964],"7965":[7957,7965],"7968":[7968,7976],"7969":[7969,7977],"7970":[7970,7978],"7971":[7971,7979],"7972":[7972,7980],"7973":[7973,7981],"7974":[7974,7982],"7975":[7975,7983],"7976":[7968,7976],"7977":[7969,7977],"7978":[7970,7978],"7979":[7971,7979],"7980":[7972,7980],"7981":[7973,7981],"7982":[7974,7982],"7983":[7975,7983],"7984":[7984,7992],"7985":[7985,7993],"7986":[7986,7994],"7987":[7987,7995],"7988":[7988,7996],"7989":[7989,7997],"7990":[7990,7998],"7991":[7991,7999],"7992":[7984,7992],"7993":[7985,7993],"7994":[7986,7994],"7995":[7987,7995],"7996":[7988,7996],"7997":[7989,7997],"7998":[7990,7998],"7999":[7991,7999],"8000":[8000,8008],"8001":[8001,8009],"8002":[8002,8010],"8003":[8003,8011],"8004":[8004,8012],"8005":[8005,8013],"8008":[8000,8008],"8009":[8001,8009],"8010":[8002,8010],"8011":[8003,8011],"8012":[8004,8012],"8013":[8005,8013],"8017":[8017,8025],"8019":[8019,8027],"8021":[8021,8029],"8023":[8023,8031],"8025":[8017,8025],"8027":[8019,8027],"8029":[8021,8029],"8031":[8023,8031],"8032":[8032,8040],"8033":[8033,8041],"8034":[8034,8042],"8035":[8035,8043],"8036":[8036,8044],"8037":[8037,8045],"8038":[8038,8046],"8039":[8039,8047],"8040":[8032,8040],"8041":[8033,8041],"8042":[8034,8042],"8043":[8035,8043],"8044":[8036,8044],"8045":[8037,8045],"8046":[8038,8046],"8047":[8039,8047],"8048":[8048,8122],"8049":[8049,8123],"8050":[8050,8136],"8051":[8051,8137],"8052":[8052,8138],"8053":[8053,8139],"8054":[8054,8154],"8055":[8055,8155],"8056":[8056,8184],"8057":[8057,8185],"8058":[8058,8170],"8059":[8059,8171],"8060":[8060,8186],"8061":[8061,8187],"8112":[8112,8120],"8113":[8113,8121],"8120":[8112,8120],"8121":[8113,8121],"8122":[8048,8122],"8123":[8049,8123],"8126":[837,921,953,8126],"8136":[8050,8136],"8137":[8051,8137],"8138":[8052,8138],"8139":[8053,8139],"8144":[8144,8152],"8145":[8145,8153],"8152":[8144,8152],"8153":[8145,8153],"8154":[8054,8154],"8155":[8055,8155],"8160":[8160,8168],"8161":[8161,8169],"8165":[8165,8172],"8168":[8160,8168],"8169":[8161,8169],"8170":[8058,8170],"8171":[8059,8171],"8172":[8165,8172],"8184":[8056,8184],"8185":[8057,8185],"8186":[8060,8186],"8187":[8061,8187],"8498":[8498,8526],"8526":[8498,8526],"8544":[8544,8560],"8545":[8545,8561],"8546":[8546,8562],"8547":[8547,8563],"8548":[8548,8564],"8549":[8549,8565],"8550":[8550,8566],"8551":[8551,8567],"8552":[8552,8568],"8553":[8553,8569],"8554":[8554,8570],"8555":[8555,8571],"8556":[8556,8572],"8557":[8557,8573],"8558":[8558,8574],"8559":[8559,8575],"8560":[8544,8560],"8561":[8545,8561],"8562":[8546,8562],"8563":[8547,8563],"8564":[8548,8564],"8565":[8549,8565],"8566":[8550,8566],"8567":[8551,8567],"8568":[8552,8568],"8569":[8553,8569],"8570":[8554,8570],"8571":[8555,8571],"8572":[8556,8572],"8573":[8557,8573],"8574":[8558,8574],"8575":[8559,8575],"8579":[8579,8580],"8580":[8579,8580],"9398":[9398,9424],"9399":[9399,9425],"9400":[9400,9426],"9401":[9401,9427],"9402":[9402,9428],"9403":[9403,9429],"9404":[9404,9430],"9405":[9405,9431],"9406":[9406,9432],"9407":[9407,9433],"9408":[9408,9434],"9409":[9409,9435],"9410":[9410,9436],"9411":[9411,9437],"9412":[9412,9438],"9413":[9413,9439],"9414":[9414,9440],"9415":[9415,9441],"9416":[9416,9442],"9417":[9417,9443],"9418":[9418,9444],"9419":[9419,9445],"9420":[9420,9446],"9421":[9421,9447],"9422":[9422,9448],"9423":[9423,9449],"9424":[9398,9424],"9425":[9399,9425],"9426":[9400,9426],"9427":[9401,9427],"9428":[9402,9428],"9429":[9403,9429],"9430":[9404,9430],"9431":[9405,9431],"9432":[9406,9432],"9433":[9407,9433],"9434":[9408,9434],"9435":[9409,9435],"9436":[9410,9436],"9437":[9411,9437],"9438":[9412,9438],"9439":[9413,9439],"9440":[9414,9440],"9441":[9415,9441],"9442":[9416,9442],"9443":[9417,9443],"9444":[9418,9444],"9445":[9419,9445],"9446":[9420,9446],"9447":[9421,9447],"9448":[9422,9448],"9449":[9423,9449],"11264":[11264,11312],"11265":[11265,11313],"11266":[11266,11314],"11267":[11267,11315],"11268":[11268,11316],"11269":[11269,11317],"11270":[11270,11318],"11271":[11271,11319],"11272":[11272,11320],"11273":[11273,11321],"11274":[11274,11322],"11275":[11275,11323],"11276":[11276,11324],"11277":[11277,11325],"11278":[11278,11326],"11279":[11279,11327],"11280":[11280,11328],"11281":[11281,11329],"11282":[11282,11330],"11283":[11283,11331],"11284":[11284,11332],"11285":[11285,11333],"11286":[11286,11334],"11287":[11287,11335],"11288":[11288,11336],"11289":[11289,11337],"11290":[11290,11338],"11291":[11291,11339],"11292":[11292,11340],"11293":[11293,11341],"11294":[11294,11342],"11295":[11295,11343],"11296":[11296,11344],"11297":[11297,11345],"11298":[11298,11346],"11299":[11299,11347],"11300":[11300,11348],"11301":[11301,11349],"11302":[11302,11350],"11303":[11303,11351],"11304":[11304,11352],"11305":[11305,11353],"11306":[11306,11354],"11307":[11307,11355],"11308":[11308,11356],"11309":[11309,11357],"11310":[11310,11358],"11311":[11311,11359],"11312":[11264,11312],"11313":[11265,11313],"11314":[11266,11314],"11315":[11267,11315],"11316":[11268,11316],"11317":[11269,11317],"11318":[11270,11318],"11319":[11271,11319],"11320":[11272,11320],"11321":[11273,11321],"11322":[11274,11322],"11323":[11275,11323],"11324":[11276,11324],"11325":[11277,11325],"11326":[11278,11326],"11327":[11279,11327],"11328":[11280,11328],"11329":[11281,11329],"11330":[11282,11330],"11331":[11283,11331],"11332":[11284,11332],"11333":[11285,11333],"11334":[11286,11334],"11335":[11287,11335],"11336":[11288,11336],"11337":[11289,11337],"11338":[11290,11338],"11339":[11291,11339],"11340":[11292,11340],"11341":[11293,11341],"11342":[11294,11342],"11343":[11295,11343],"11344":[11296,11344],"11345":[11297,11345],"11346":[11298,11346],"11347":[11299,11347],"11348":[11300,11348],"11349":[11301,11349],"11350":[11302,11350],"11351":[11303,11351],"11352":[11304,11352],"11353":[11305,11353],"11354":[11306,11354],"11355":[11307,11355],"11356":[11308,11356],"11357":[11309,11357],"11358":[11310,11358],"11359":[11311,11359],"11360":[11360,11361],"11361":[11360,11361],"11362":[619,11362],"11363":[7549,11363],"11364":[637,11364],"11365":[570,11365],"11366":[574,11366],"11367":[11367,11368],"11368":[11367,11368],"11369":[11369,11370],"11370":[11369,11370],"11371":[11371,11372],"11372":[11371,11372],"11373":[593,11373],"11374":[625,11374],"11375":[592,11375],"11376":[594,11376],"11378":[11378,11379],"11379":[11378,11379],"11381":[11381,11382],"11382":[11381,11382],"11390":[575,11390],"11391":[576,11391],"11392":[11392,11393],"11393":[11392,11393],"11394":[11394,11395],"11395":[11394,11395],"11396":[11396,11397],"11397":[11396,11397],"11398":[11398,11399],"11399":[11398,11399],"11400":[11400,11401],"11401":[11400,11401],"11402":[11402,11403],"11403":[11402,11403],"11404":[11404,11405],"11405":[11404,11405],"11406":[11406,11407],"11407":[11406,11407],"11408":[11408,11409],"11409":[11408,11409],"11410":[11410,11411],"11411":[11410,11411],"11412":[11412,11413],"11413":[11412,11413],"11414":[11414,11415],"11415":[11414,11415],"11416":[11416,11417],"11417":[11416,11417],"11418":[11418,11419],"11419":[11418,11419],"11420":[11420,11421],"11421":[11420,11421],"11422":[11422,11423],"11423":[11422,11423],"11424":[11424,11425],"11425":[11424,11425],"11426":[11426,11427],"11427":[11426,11427],"11428":[11428,11429],"11429":[11428,11429],"11430":[11430,11431],"11431":[11430,11431],"11432":[11432,11433],"11433":[11432,11433],"11434":[11434,11435],"11435":[11434,11435],"11436":[11436,11437],"11437":[11436,11437],"11438":[11438,11439],"11439":[11438,11439],"11440":[11440,11441],"11441":[11440,11441],"11442":[11442,11443],"11443":[11442,11443],"11444":[11444,11445],"11445":[11444,11445],"11446":[11446,11447],"11447":[11446,11447],"11448":[11448,11449],"11449":[11448,11449],"11450":[11450,11451],"11451":[11450,11451],"11452":[11452,11453],"11453":[11452,11453],"11454":[11454,11455],"11455":[11454,11455],"11456":[11456,11457],"11457":[11456,11457],"11458":[11458,11459],"11459":[11458,11459],"11460":[11460,11461],"11461":[11460,11461],"11462":[11462,11463],"11463":[11462,11463],"11464":[11464,11465],"11465":[11464,11465],"11466":[11466,11467],"11467":[11466,11467],"11468":[11468,11469],"11469":[11468,11469],"11470":[11470,11471],"11471":[11470,11471],"11472":[11472,11473],"11473":[11472,11473],"11474":[11474,11475],"11475":[11474,11475],"11476":[11476,11477],"11477":[11476,11477],"11478":[11478,11479],"11479":[11478,11479],"11480":[11480,11481],"11481":[11480,11481],"11482":[11482,11483],"11483":[11482,11483],"11484":[11484,11485],"11485":[11484,11485],"11486":[11486,11487],"11487":[11486,11487],"11488":[11488,11489],"11489":[11488,11489],"11490":[11490,11491],"11491":[11490,11491],"11499":[11499,11500],"11500":[11499,11500],"11501":[11501,11502],"11502":[11501,11502],"11506":[11506,11507],"11507":[11506,11507],"11520":[4256,11520],"11521":[4257,11521],"11522":[4258,11522],"11523":[4259,11523],"11524":[4260,11524],"11525":[4261,11525],"11526":[4262,11526],"11527":[4263,11527],"11528":[4264,11528],"11529":[4265,11529],"11530":[4266,11530],"11531":[4267,11531],"11532":[4268,11532],"11533":[4269,11533],"11534":[4270,11534],"11535":[4271,11535],"11536":[4272,11536],"11537":[4273,11537],"11538":[4274,11538],"11539":[4275,11539],"11540":[4276,11540],"11541":[4277,11541],"11542":[4278,11542],"11543":[4279,11543],"11544":[4280,11544],"11545":[4281,11545],"11546":[4282,11546],"11547":[4283,11547],"11548":[4284,11548],"11549":[4285,11549],"11550":[4286,11550],"11551":[4287,11551],"11552":[4288,11552],"11553":[4289,11553],"11554":[4290,11554],"11555":[4291,11555],"11556":[4292,11556],"11557":[4293,11557],"11559":[4295,11559],"11565":[4301,11565],"42560":[42560,42561],"42561":[42560,42561],"42562":[42562,42563],"42563":[42562,42563],"42564":[42564,42565],"42565":[42564,42565],"42566":[42566,42567],"42567":[42566,42567],"42568":[42568,42569],"42569":[42568,42569],"42570":[7304,42570,42571],"42571":[7304,42570,42571],"42572":[42572,42573],"42573":[42572,42573],"42574":[42574,42575],"42575":[42574,42575],"42576":[42576,42577],"42577":[42576,42577],"42578":[42578,42579],"42579":[42578,42579],"42580":[42580,42581],"42581":[42580,42581],"42582":[42582,42583],"42583":[42582,42583],"42584":[42584,42585],"42585":[42584,42585],"42586":[42586,42587],"42587":[42586,42587],"42588":[42588,42589],"42589":[42588,42589],"42590":[42590,42591],"42591":[42590,42591],"42592":[42592,42593],"42593":[42592,42593],"42594":[42594,42595],"42595":[42594,42595],"42596":[42596,42597],"42597":[42596,42597],"42598":[42598,42599],"42599":[42598,42599],"42600":[42600,42601],"42601":[42600,42601],"42602":[42602,42603],"42603":[42602,42603],"42604":[42604,42605],"42605":[42604,42605],"42624":[42624,42625],"42625":[42624,42625],"42626":[42626,42627],"42627":[42626,42627],"42628":[42628,42629],"42629":[42628,42629],"42630":[42630,42631],"42631":[42630,42631],"42632":[42632,42633],"42633":[42632,42633],"42634":[42634,42635],"42635":[42634,42635],"42636":[42636,42637],"42637":[42636,42637],"42638":[42638,42639],"42639":[42638,42639],"42640":[42640,42641],"42641":[42640,42641],"42642":[42642,42643],"42643":[42642,42643],"42644":[42644,42645],"42645":[42644,42645],"42646":[42646,42647],"42647":[42646,42647],"42648":[42648,42649],"42649":[42648,42649],"42650":[42650,42651],"42651":[42650,42651],"42786":[42786,42787],"42787":[42786,42787],"42788":[42788,42789],"42789":[42788,42789],"42790":[42790,42791],"42791":[42790,42791],"42792":[42792,42793],"42793":[42792,42793],"42794":[42794,42795],"42795":[42794,42795],"42796":[42796,42797],"42797":[42796,42797],"42798":[42798,42799],"42799":[42798,42799],"42802":[42802,42803],"42803":[42802,42803],"42804":[42804,42805],"42805":[42804,42805],"42806":[42806,42807],"42807":[42806,42807],"42808":[42808,42809],"42809":[42808,42809],"42810":[42810,42811],"42811":[42810,42811],"42812":[42812,42813],"42813":[42812,42813],"42814":[42814,42815],"42815":[42814,42815],"42816":[42816,42817],"42817":[42816,42817],"42818":[42818,42819],"42819":[42818,42819],"42820":[42820,42821],"42821":[42820,42821],"42822":[42822,42823],"42823":[42822,42823],"42824":[42824,42825],"42825":[42824,42825],"42826":[42826,42827],"42827":[42826,42827],"42828":[42828,42829],"42829":[42828,42829],"42830":[42830,42831],"42831":[42830,42831],"42832":[42832,42833],"42833":[42832,42833],"42834":[42834,42835],"42835":[42834,42835],"42836":[42836,42837],"42837":[42836,42837],"42838":[42838,42839],"42839":[42838,42839],"42840":[42840,42841],"42841":[42840,42841],"42842":[42842,42843],"42843":[42842,42843],"42844":[42844,42845],"42845":[42844,42845],"42846":[42846,42847],"42847":[42846,42847],"42848":[42848,42849],"42849":[42848,42849],"42850":[42850,42851],"42851":[42850,42851],"42852":[42852,42853],"42853":[42852,42853],"42854":[42854,42855],"42855":[42854,42855],"42856":[42856,42857],"42857":[42856,42857],"42858":[42858,42859],"42859":[42858,42859],"42860":[42860,42861],"42861":[42860,42861],"42862":[42862,42863],"42863":[42862,42863],"42873":[42873,42874],"42874":[42873,42874],"42875":[42875,42876],"42876":[42875,42876],"42877":[7545,42877],"42878":[42878,42879],"42879":[42878,42879],"42880":[42880,42881],"42881":[42880,42881],"42882":[42882,42883],"42883":[42882,42883],"42884":[42884,42885],"42885":[42884,42885],"42886":[42886,42887],"42887":[42886,42887],"42891":[42891,42892],"42892":[42891,42892],"42893":[613,42893],"42896":[42896,42897],"42897":[42896,42897],"42898":[42898,42899],"42899":[42898,42899],"42900":[42900,42948],"42902":[42902,42903],"42903":[42902,42903],"42904":[42904,42905],"42905":[42904,42905],"42906":[42906,42907],"42907":[42906,42907],"42908":[42908,42909],"42909":[42908,42909],"42910":[42910,42911],"42911":[42910,42911],"42912":[42912,42913],"42913":[42912,42913],"42914":[42914,42915],"42915":[42914,42915],"42916":[42916,42917],"42917":[42916,42917],"42918":[42918,42919],"42919":[42918,42919],"42920":[42920,42921],"42921":[42920,42921],"42922":[614,42922],"42923":[604,42923],"42924":[609,42924],"42925":[620,42925],"42926":[618,42926],"42928":[670,42928],"42929":[647,42929],"42930":[669,42930],"42931":[42931,43859],"42932":[42932,42933],"42933":[42932,42933],"42934":[42934,42935],"42935":[42934,42935],"42936":[42936,42937],"42937":[42936,42937],"42938":[42938,42939],"42939":[42938,42939],"42940":[42940,42941],"42941":[42940,42941],"42942":[42942,42943],"42943":[42942,42943],"42944":[42944,42945],"42945":[42944,42945],"42946":[42946,42947],"42947":[42946,42947],"42948":[42900,42948],"42949":[642,42949],"42950":[7566,42950],"42951":[42951,42952],"42952":[42951,42952],"42953":[42953,42954],"42954":[42953,42954],"42960":[42960,42961],"42961":[42960,42961],"42966":[42966,42967],"42967":[42966,42967],"42968":[42968,42969],"42969":[42968,42969],"42997":[42997,42998],"42998":[42997,42998],"43859":[42931,43859],"43888":[5024,43888],"43889":[5025,43889],"43890":[5026,43890],"43891":[5027,43891],"43892":[5028,43892],"43893":[5029,43893],"43894":[5030,43894],"43895":[5031,43895],"43896":[5032,43896],"43897":[5033,43897],"43898":[5034,43898],"43899":[5035,43899],"43900":[5036,43900],"43901":[5037,43901],"43902":[5038,43902],"43903":[5039,43903],"43904":[5040,43904],"43905":[5041,43905],"43906":[5042,43906],"43907":[5043,43907],"43908":[5044,43908],"43909":[5045,43909],"43910":[5046,43910],"43911":[5047,43911],"43912":[5048,43912],"43913":[5049,43913],"43914":[5050,43914],"43915":[5051,43915],"43916":[5052,43916],"43917":[5053,43917],"43918":[5054,43918],"43919":[5055,43919],"43920":[5056,43920],"43921":[5057,43921],"43922":[5058,43922],"43923":[5059,43923],"43924":[5060,43924],"43925":[5061,43925],"43926":[5062,43926],"43927":[5063,43927],"43928":[5064,43928],"43929":[5065,43929],"43930":[5066,43930],"43931":[5067,43931],"43932":[5068,43932],"43933":[5069,43933],"43934":[5070,43934],"43935":[5071,43935],"43936":[5072,43936],"43937":[5073,43937],"43938":[5074,43938],"43939":[5075,43939],"43940":[5076,43940],"43941":[5077,43941],"43942":[5078,43942],"43943":[5079,43943],"43944":[5080,43944],"43945":[5081,43945],"43946":[5082,43946],"43947":[5083,43947],"43948":[5084,43948],"43949":[5085,43949],"43950":[5086,43950],"43951":[5087,43951],"43952":[5088,43952],"43953":[5089,43953],"43954":[5090,43954],"43955":[5091,43955],"43956":[5092,43956],"43957":[5093,43957],"43958":[5094,43958],"43959":[5095,43959],"43960":[5096,43960],"43961":[5097,43961],"43962":[5098,43962],"43963":[5099,43963],"43964":[5100,43964],"43965":[5101,43965],"43966":[5102,43966],"43967":[5103,43967],"65313":[65313,65345],"65314":[65314,65346],"65315":[65315,65347],"65316":[65316,65348],"65317":[65317,65349],"65318":[65318,65350],"65319":[65319,65351],"65320":[65320,65352],"65321":[65321,65353],"65322":[65322,65354],"65323":[65323,65355],"65324":[65324,65356],"65325":[65325,65357],"65326":[65326,65358],"65327":[65327,65359],"65328":[65328,65360],"65329":[65329,65361],"65330":[65330,65362],"65331":[65331,65363],"65332":[65332,65364],"65333":[65333,65365],"65334":[65334,65366],"65335":[65335,65367],"65336":[65336,65368],"65337":[65337,65369],"65338":[65338,65370],"65345":[65313,65345],"65346":[65314,65346],"65347":[65315,65347],"65348":[65316,65348],"65349":[65317,65349],"65350":[65318,65350],"65351":[65319,65351],"65352":[65320,65352],"65353":[65321,65353],"65354":[65322,65354],"65355":[65323,65355],"65356":[65324,65356],"65357":[65325,65357],"65358":[65326,65358],"65359":[65327,65359],"65360":[65328,65360],"65361":[65329,65361],"65362":[65330,65362],"65363":[65331,65363],"65364":[65332,65364],"65365":[65333,65365],"65366":[65334,65366],"65367":[65335,65367],"65368":[65336,65368],"65369":[65337,65369],"65370":[65338,65370]}'); diff --git a/src/nfa.ts b/src/nfa.ts deleted file mode 100644 index f520ef65..00000000 --- a/src/nfa.ts +++ /dev/null @@ -1,1658 +0,0 @@ -import { Concatenation, Element, Expression, NoParent, Node, Quantifier } from "./ast"; -import { CharSet } from "./char-set"; -import { assertNever, cachedFunc, debugAssert, swapRemove, traverse, traverseMultiRoot } from "./util"; -import { - FABuilder, - FAIterator, - FiniteAutomaton, - NodeFactory, - ToRegexOptions, - TransitionIterable, - TransitionIterator, -} from "./fa-types"; -import * as Iter from "./iter"; -import { Char, ReadonlyWord, Word } from "./char-types"; -import { ReadonlyWordSet, WordSet } from "./word-set"; -import { MaxCharacterError, TooManyNodesError } from "./errors"; -import { wordSetsToWords } from "./words"; -import { toAlternatives } from "./ast-analysis"; - -/** - * A readonly {@link NFA}. - */ -export interface ReadonlyNFA extends FiniteAutomaton, TransitionIterable { - /** - * The initial state of the NFA. - */ - readonly initial: NFA.ReadonlyNode; - /** - * The set of final states of the NFA. - * - * This set may be empty or contain nodes not reachable from the initial state. - */ - readonly finals: ReadonlySet; - - /** - * Whether this NFA is in its normal form. - * - * @see {@link NFA} - */ - readonly isNormalized: boolean; - - stateIterator(): FAIterator; - /** - * Yields all nodes reachable from the initial state including the initial state. - * - * This may include trap states, but it will not include unreachable final states. - * - * The order in which nodes will be returned is implementation defined and may change after any operation that - * modifies the NFA. - * - * Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the - * iteration or yield an nodes. - * - * This operation runs in _O(E + V)_ where _E_ is the number of nodes reachable from the initial state and _V_ is - * the number of transitions. - */ - nodes(): Iterable; - - /** - * Returns the number of nodes reachable from the initial state including the initial state. - * - * This returns the number of nodes returned by {@link nodes}. - */ - countNodes(): number; - - /** - * Create a mutable copy of this NFA. - * - * @param factory - */ - copy(factory?: NodeFactory): NFA; -} - -/** - * A [nondeterministic finite automaton](https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton). - * - * This class implements NFAs with the following properties: - * - * - There is exactly one initial state. - * - * - There may be any number of final states. - * - * This is implemented using a `Set` of states. - * - * - No epsilon transitions. - * - * - A transitions always consumes a character. - * - * (All character sets are guaranteed to be non-empty.) - * - * - Transitions are unordered. - * - * As a consequence, `/aa|bb/` and `/bb|aa/` have the same state machine in this NFA implementation. - * - * (The underlying data structure may be a JavaScript `Map` but the key order is ignored.) - * - * - Between any two states, there can at most be one transition. - * - * This means that all transitions between two nodes will be merged into one. This is implemented as a simple - * {@link CharSet.union}. As a consequence, `/a|a/` and `/a/` have the same state machine in this NFA implementation. - * - * ## Normal form - * - * The normal form of this NFA implementation has the following restriction: - * - * - The initial state must not have incoming transitions. - * - * Non-normalized NFAs will either be tolerated or normalized by operations. - */ -export class NFA implements ReadonlyNFA { - readonly initial: NFA.Node; - readonly finals: Set; - readonly maxCharacter: Char; - - private constructor(initial: NFA.Node, finals: Set, maxCharacter: Char) { - this.initial = initial; - this.finals = finals; - this.maxCharacter = maxCharacter; - } - - get isEmpty(): boolean { - return this.finals.size === 0; - } - get isFinite(): boolean { - return this.isEmpty || Iter.languageIsFinite(this.stateIterator()); - } - get isNormalized(): boolean { - return this.initial.in.size === 0; - } - - /** - * Brings this NFA is in its normal form. - * - * This operation will create at most 1 node with the given factory. - * - * @param factory - * @see {@link NFA} - */ - normalize(factory: NodeFactory = NFA.nodeFactory): void { - baseNormalize(factory, this); - } - - stateIterator(): FAIterator { - const initial: NFA.ReadonlyNode = this.initial; - const finals: ReadonlySet = this.finals; - return { - initial, - getOut: n => n.out.keys(), - stableOut: true, - isFinal: n => finals.has(n), - }; - } - transitionIterator(): TransitionIterator { - const initial: NFA.ReadonlyNode = this.initial; - const finals: ReadonlySet = this.finals; - return { - initial, - getOut: n => n.out, - stableOut: true, - isFinal: n => finals.has(n), - }; - } - nodes(): Iterable { - return Iter.iterateStates({ - initial: this.initial, - getOut: state => state.out.keys(), - isFinal: state => this.finals.has(state), - }); - } - - countNodes(): number { - let c = 0; - traverse(this.initial, (n, queue) => { - c++; - queue.push(...n.out.keys()); - }); - return c; - } - - copy(factory: NodeFactory = new NFA.LimitedNodeFactory()): NFA { - const copy = factoryCopy(factory, this.transitionIterator()); - - return new NFA(copy.initial, copy.finals, this.maxCharacter); - } - - test(word: ReadonlyWord): boolean { - // An implementation of Thompson's algorithm as described by Russ Cox - // https://swtch.com/~rsc/regexp/regexp1.html - let currentStates = [this.initial]; - const newStatesSet = new Set(); - - for (const char of word) { - const newStates: NFA.Node[] = []; - newStatesSet.clear(); - - for (const state of currentStates) { - state.out.forEach((charSet, to) => { - if (charSet.has(char) && !newStatesSet.has(to)) { - newStates.push(to); - newStatesSet.add(to); - } - }); - } - - currentStates = newStates; - } - - return currentStates.some(state => this.finals.has(state)); - } - - wordSets(): Iterable { - return Iter.iterateWordSets(this.transitionIterator()); - } - words(): Iterable { - return wordSetsToWords(this.wordSets()); - } - - toString(): string { - return Iter.toString(this.transitionIterator(), cs => cs.toUnicodeString()); - } - - toRegex(options?: Readonly): NoParent { - return Iter.toRegex(this.transitionIterator(), options); - } - - toDot(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toDot(this.transitionIterator(), { - transitionToString: charSetToString || (cs => cs.toUnicodeString()), - }); - } - toMermaid(charSetToString?: (charSet: CharSet) => string): string { - return Iter.toMermaid(this.transitionIterator(), { - transitionToString: charSetToString || (cs => cs.toUnicodeString()), - }); - } - - /** - * Modifies this NFA to accept all words from this NFA and the given FA. - * - * @param other - * @param factory - */ - union(other: TransitionIterable, factory: NodeFactory = new NFA.LimitedNodeFactory()): void { - MaxCharacterError.assert(this, other); - - if (this === (other as unknown)) { - // do nothing - } else { - this.normalize(factory); - baseUnion(this, factoryCopy(factory, other.transitionIterator())); - } - } - - /** - * Modifies this NFA to accept all words from this NFA and the given NFA. - * - * This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty - * after this operation as nodes are moved, not shared. - * - * @param other - * @param factory - */ - unionInto(other: NFA, factory: NodeFactory = NFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot union an NFA into itself."); - } - - this.normalize(factory); - other.normalize(factory); - baseUnion(this, other); - baseMakeEmpty(other); - } - - /** - * Modifies this NFA to accept the concatenation of this NFA and the given FA. - * - * @param other - * @param factory - */ - append(other: TransitionIterable, factory: NodeFactory = new NFA.LimitedNodeFactory()): void { - MaxCharacterError.assert(this, other); - - if (this === (other as unknown)) { - this.quantify(2, 2, factory); - } else { - this.normalize(factory); - baseAppend(this, factoryCopy(factory, other.transitionIterator())); - } - } - - /** - * Modifies this NFA to accept the concatenation of this NFA and the given FA. - * - * This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty - * after this operation as nodes are moved, not shared. - * - * @param other - * @param factory - */ - appendInto(other: NFA, factory: NodeFactory = NFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot append an NFA into itself."); - } - - this.normalize(factory); - other.normalize(factory); - baseAppend(this, other); - baseMakeEmpty(other); - } - - /** - * Modifies this NFA to accept the concatenation of the given NFA and this FA. - * - * @param other - * @param factory - */ - prepend(other: TransitionIterable, factory: NodeFactory = new NFA.LimitedNodeFactory()): void { - MaxCharacterError.assert(this, other); - - if (this === (other as unknown)) { - this.quantify(2, 2, factory); - } else { - this.normalize(factory); - basePrepend(this, factoryCopy(factory, other.transitionIterator())); - } - } - - /** - * Modifies this NFA to accept the concatenation of the given NFA and this FA. - * - * This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty - * after this operation as nodes are moved, not shared. - * - * @param other - * @param factory - */ - prependInto(other: NFA, factory: NodeFactory = NFA.nodeFactory): void { - MaxCharacterError.assert(this, other); - - if (this === other) { - throw new Error("Cannot prepend an NFA into itself."); - } - - this.normalize(factory); - other.normalize(factory); - basePrepend(this, other); - baseMakeEmpty(other); - } - - /** - * Modifies this NFA to accept at least `min` and at most `max` concatenations of itself. - * - * Both `min` and `max` both have to be non-negative integers with `min <= max`. - * `max` is also allowed to be `Infinity`. - * - * @param min - * @param max - * @param factory - */ - quantify(min: number, max: number, factory: NodeFactory = new NFA.LimitedNodeFactory()): void { - if (!Number.isInteger(min) || !(Number.isInteger(max) || max === Infinity) || min < 0 || min > max) { - throw new RangeError("min and max both have to be non-negative integers with min <= max."); - } - - this.normalize(factory); - baseQuantify(factory, this, min, max); - } - - /** - * Removes the empty word from the accepted languages of this NFA. - */ - withoutEmptyWord(): void { - this.normalize(); - - this.finals.delete(this.initial); - } - - /** - * Removes all states that are unreachable. - * - * Only the following states will remain after this operation: - * - * 1. The initial state. - * 2. All states that are reachable from the initial state and can reach one of the final states. - */ - removeUnreachable(): void { - baseRemoveUnreachable(this); - } - - /** - * Modifies this NFA such that all prefixes of all accepted words are also accepted. - * - * If the language of this NFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - */ - prefixes(): void { - this.removeUnreachable(); - - if (this.isEmpty) { - return; - } - - for (const node of this.nodes()) { - this.finals.add(node); - } - } - - /** - * Modifies this NFA such that all suffixes of all accepted words are also accepted. - * - * If the language of this NFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - */ - suffixes(): void { - this.removeUnreachable(); - this.normalize(); - - if (this.isEmpty) { - return; - } - - for (const node of this.nodes()) { - if (node !== this.initial) { - let total: CharSet | undefined = undefined; - - node.in.forEach(set => { - if (total === undefined) { - total = set; - } else { - total = total.union(set); - } - }); - - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - debugAssert(total !== undefined, "The node doesn't have incoming transitions."); - - this.initial.link(node, total); - } - } - this.finals.add(this.initial); - } - - /** - * Modifies this NFA such that it accepts the reverse of all words it currently accepts. - * - * If the language of this NFA is empty, then it will remain empty. - * - * Unreachable states will be removed by this operation. - */ - reverse(): void { - this.removeUnreachable(); - this.normalize(); - - baseReverse(NFA.nodeFactory, this); - } - - /** - * Creates a new NFA which matches no words. The language of the returned NFA is empty. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static empty(options: Readonly, factory: NodeFactory = NFA.nodeFactory): NFA { - return new NFA(factory.createNode(), new Set(), options.maxCharacter); - } - - /** - * Creates a new NFA which matches only the empty word. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static emptyWord(options: Readonly, factory: NodeFactory = NFA.nodeFactory): NFA { - const initial = factory.createNode(); - return new NFA(initial, new Set([initial]), options.maxCharacter); - } - - /** - * Creates a new NFA which matches all words. - * - * This operation will create exactly 1 node with the given factory. - * - * @param options - * @param factory - */ - static all(options: Readonly, factory: NodeFactory = NFA.nodeFactory): NFA { - const initial = factory.createNode(); - initial.link(initial, CharSet.all(options.maxCharacter)); - return new NFA(initial, new Set([initial]), options.maxCharacter); - } - - /** - * Creates a new NFA which matches the given characters. - * - * This operation will create at most 2 nodes with the given factory. - * - * @param charSet - * @param factory - */ - static fromCharSet(charSet: CharSet, factory: NodeFactory = NFA.nodeFactory): NFA { - const initial = factory.createNode(); - - if (charSet.isEmpty) { - return new NFA(initial, new Set(), charSet.maximum); - } - - const final = factory.createNode(); - initial.link(final, charSet); - - return new NFA(initial, new Set([final]), charSet.maximum); - } - - /** - * Returns a new NFA which is equivalent to the intersection of the two given FA. - * - * @param left - * @param right - * @param factory - */ - static fromIntersection( - left: TransitionIterable, - right: TransitionIterable, - factory: NodeFactory = new NFA.LimitedNodeFactory() - ): NFA { - MaxCharacterError.assert(left, right, "TransitionIterable"); - - const builder = new NFA.Builder(factory); - - const iter = Iter.intersection(builder, left.transitionIterator(), right.transitionIterator()); - Iter.forEach(Iter.mapOut(iter, n => n.out.keys())); - - // A cleanup still has to be performed because while all states are connected to the initial state, they might - // not be able to reach a final state. This will remove such trap states. - baseRemoveUnreachable(builder); - - baseNormalize(factory, builder); - - // Try to merge as many final states as possible. This won't greatly reduce the overall number of states but - // having less final states will make a lot of the NFA operations more efficient. - baseOptimizationReuseFinalStates(builder); - - return NFA.fromBuilder(builder, left); - } - - static fromRegex( - concat: NoParent, - options: Readonly, - creationOptions?: Readonly, - factory?: NodeFactory - ): NFA; - static fromRegex( - alternatives: readonly NoParent[], - options: Readonly, - creationOptions?: Readonly, - factory?: NodeFactory - ): NFA; - static fromRegex( - value: NoParent | readonly NoParent[], - options: Readonly, - creationOptions: Readonly = {}, - factory: NodeFactory = new NFA.LimitedNodeFactory() - ): NFA { - const { initial, finals } = createGraphFromRegex(toAlternatives(value), options, creationOptions, factory); - return new NFA(initial, finals, options.maxCharacter); - } - - /** - * Creates a new NFA which matches all and only all of the given words. - * - * @param words - * @param options - * @param factory - */ - static fromWords( - words: Iterable, - options: Readonly, - factory: NodeFactory = new NFA.LimitedNodeFactory() - ): NFA { - const { maxCharacter } = options; - - const builder = new NFA.Builder(factory); - - Iter.fromWords( - builder, - (node, char) => { - for (const [to, chars] of node.out) { - if (chars.has(char)) { - return to; - } - } - return undefined; - }, - words, - maxCharacter - ); - - baseOptimizationReuseFinalStates(builder); - baseOptimizationMergeSuffixes(builder); - - return NFA.fromBuilder(builder, options); - } - - /** - * Creates a new NFA which matches all and only all of the given word sets. - * - * @param wordSets - * @param options - * @param factory - */ - static fromWordSets( - wordSets: Iterable, - options: Readonly, - factory: NodeFactory = new NFA.LimitedNodeFactory() - ): NFA { - const { maxCharacter } = options; - - const builder = new NFA.Builder(factory); - - Iter.fromWordSets(builder, wordSets, maxCharacter); - - baseOptimizationReuseFinalStates(builder); - baseOptimizationMergeSuffixes(builder); - - return NFA.fromBuilder(builder, options); - } - - static fromFA(fa: TransitionIterable, factory?: NodeFactory): NFA { - return NFA.fromTransitionIterator(fa.transitionIterator(), fa, factory); - } - - static fromTransitionIterator( - iter: TransitionIterator, - options: Readonly, - factory: NodeFactory = new NFA.LimitedNodeFactory() - ): NFA { - const { maxCharacter } = options; - - const initial = factory.createNode(); - const finals = new Set(); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(iter.initial, initial); - - traverse(iter.initial, (node, queue) => { - const transNode = translate(node); - - if (iter.isFinal(node)) { - finals.add(transNode); - } - - const out = iter.getOut(node); - out.forEach((charSet, outDfaNode) => { - if (charSet.maximum !== maxCharacter) { - throw new Error("Some character sets do not conform to the given maximum."); - } - queue.push(outDfaNode); - transNode.link(translate(outDfaNode), charSet); - }); - }); - - return new NFA(initial, finals, maxCharacter); - } - - static fromBuilder(builder: NFA.Builder, options: Readonly): NFA { - return new NFA(builder.initial, builder.finals, options.maxCharacter); - } -} - -/** - * A namespace for NFA-specific classes and interfaces. - * - * @see {@link NFA} (class) - */ -// eslint-disable-next-line @typescript-eslint/no-namespace -export namespace NFA { - export interface ReadonlyNode { - readonly out: ReadonlyMap; - readonly in: ReadonlyMap; - } - - export class Node implements ReadonlyNode { - readonly out = new Map(); - readonly in = new Map(); - - link(to: Node, via: CharSet): void { - if (via.isEmpty) { - throw new Error("You can't link nodes with the empty character set."); - } - - this._linkNodesAddImpl(this.out, to, via); - this._linkNodesAddImpl(to.in, this, via); - } - private _linkNodesAddImpl(map: Map, to: NFA.Node, characters: CharSet): void { - const current = map.get(to); - if (current === undefined) { - map.set(to, characters); - } else { - map.set(to, current.union(characters)); - } - } - - unlink(to: Node): void { - this.out.delete(to); - to.in.delete(this); - } - - /** - * Unlinks all outgoing and incoming transitions of this node. - */ - unlinkAll(): void { - this.unlinkAllIn(); - this.unlinkAllOut(); - } - /** - * Unlinks all outgoing transitions of this node. - */ - unlinkAllOut(): void { - this.out.forEach((_, to) => { - to.in.delete(this); - }); - this.out.clear(); - } - /** - * Unlinks all incoming transitions of this node. - */ - unlinkAllIn(): void { - this.in.forEach((_, from) => { - from.out.delete(this); - }); - this.in.clear(); - } - } - - /** - * An unlimited node factory that will simply call the {@link Node} constructor. - */ - export const nodeFactory: NodeFactory = { - createNode() { - return new Node(); - }, - }; - - export class LimitedNodeFactory implements NodeFactory { - private _counter = 0; - readonly limit: number; - - constructor(limit: number = 10_000) { - this.limit = limit; - } - - createNode(): Node { - TooManyNodesError.assert(++this._counter, this.limit, "NFA"); - return new Node(); - } - } - - export class Builder implements FABuilder { - readonly initial: Node; - readonly finals = new Set(); - readonly factory: NodeFactory; - - constructor(factory: NodeFactory) { - this.factory = factory; - this.initial = factory.createNode(); - } - - makeFinal(state: Node): void { - this.finals.add(state); - } - isFinal(state: Node): boolean { - return this.finals.has(state); - } - linkNodes(from: Node, to: Node, transition: CharSet): void { - from.link(to, transition); - } - createNode(): Node { - return this.factory.createNode(); - } - } - - export interface Options { - /** - * The maximum numerical value any character can have. - * - * This will be the maximum of all underlying {@link CharSet}s. - */ - maxCharacter: Char; - } - export interface FromRegexOptions { - /** - * How to handle assertions when construction the NFA. - * - * - `"throw"` - * - * This method will throw an error when encountering an assertion. - * - * - `"disable"` - * - * This method will replace any assertion with an empty character class, effectively removing it. - * - * - `"ignore"` - * - * This method will replace any assertion with an empty group. - * - * @default "throw" - */ - assertions?: "disable" | "ignore" | "throw"; - /** - * How to handle unknowns when construction the NFA. - * - * - `"throw"` - * - * This method will throw an error when encountering an unknown. - * - * - `"disable"` - * - * This method will replace any unknown with an empty character class, effectively removing it. - * - * @default "throw" - */ - unknowns?: "disable" | "throw"; - /** - * The number at which the maximum of a quantifier will be assumed to be infinity. - * - * Quantifiers with a large finite maximum (e.g. `a{1,10000}`) can create huge NFAs with thousands of states. - * Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite. - * - * @default Infinity - */ - infinityThreshold?: number; - } -} - -interface NonNormalSubGraph { - readonly initial: NFA.Node; - readonly finals: Set; -} -/** - * This interface guarantees that the initial state does not have incoming transitions. - */ -interface SubGraph { - readonly initial: NFA.Node; - readonly finals: Set; -} -interface ReadonlySubGraph { - readonly initial: NFA.ReadonlyNode; - readonly finals: ReadonlySet; -} - -function createGraphFromRegex( - expression: readonly NoParent[], - options: Readonly, - creationOptions: Readonly, - factory: NodeFactory -): SubGraph { - const infinityThreshold = creationOptions.infinityThreshold ?? Infinity; - const assertions = creationOptions.assertions ?? "throw"; - const unknowns = creationOptions.unknowns ?? "throw"; - - return handleAlternation(expression); - - // All sub graphs guarantee that the initial node has no incoming edges. - - function handleAlternation(alternatives: readonly NoParent[]): SubGraph { - if (alternatives.length === 0) { - return { initial: factory.createNode(), finals: new Set() }; - } - - const base = handleConcatenation(alternatives[0]); - for (let i = 1, l = alternatives.length; i < l; i++) { - baseUnion(base, handleConcatenation(alternatives[i])); - } - - return base; - } - - function handleConcatenation(concatenation: NoParent): SubGraph { - const elements = concatenation.elements; - - if (elements.length === 0) { - const base: SubGraph = { initial: factory.createNode(), finals: new Set() }; - base.finals.add(base.initial); - return base; - } - - const base = createElement(elements[0]); - if (base === null) { - return { initial: factory.createNode(), finals: new Set() }; - } - - for (let i = 1, l = elements.length; i < l; i++) { - if (base.finals.size === 0) { - // Since base is the empty language, concatenation has no effect, so let's stop early - break; - } - - appendElement(elements[i], base); - } - - return base; - } - - function handleQuantifier(quant: NoParent): SubGraph { - const base = handleAlternation(quant.alternatives); - let max = quant.max; - if (max >= infinityThreshold) { - max = Infinity; - } - baseQuantify(factory, base, quant.min, max); - return base; - } - - function appendElement(element: NoParent, base: SubGraph): void { - switch (element.type) { - case "CharacterClass": { - const chars = element.characters; - checkCharacters(chars); - - if (chars.isEmpty) { - // the whole concatenation can't go anywhere - baseMakeEmpty(base); - } else { - // we know that base.final isn't empty, so just link all former finals to a new final node - const s = factory.createNode(); - base.finals.forEach(f => f.link(s, chars)); - base.finals.clear(); - base.finals.add(s); - } - break; - } - - case "Quantifier": { - if (element.max > 0) { - baseAppend(base, handleQuantifier(element)); - } - break; - } - - default: { - const after = createElement(element); - if (after === null) { - baseMakeEmpty(base); - } else { - baseAppend(base, after); - } - } - } - } - function createElement(element: NoParent): SubGraph | null { - switch (element.type) { - case "Alternation": - return handleAlternation(element.alternatives); - - case "Assertion": - switch (assertions) { - case "disable": - return null; - case "ignore": { - const base: SubGraph = { initial: factory.createNode(), finals: new Set() }; - base.finals.add(base.initial); - return base; - } - case "throw": - throw new Error("Assertions are not supported yet."); - default: - throw assertNever(assertions); - } - - case "CharacterClass": { - const chars = element.characters; - checkCharacters(chars); - - if (chars.isEmpty) { - return null; - } else { - const i = factory.createNode(); - const f = factory.createNode(); - i.link(f, chars); - return { initial: i, finals: new Set([f]) }; - } - } - case "Quantifier": - return handleQuantifier(element); - - case "Unknown": - switch (unknowns) { - case "disable": - return null; - case "throw": - throw new Error("Unknowns are not supported."); - default: - throw assertNever(unknowns); - } - - default: - throw assertNever(element); - } - } - function checkCharacters(chars: CharSet): void { - if (chars.maximum !== options.maxCharacter) { - throw new Error(`The maximum of all character sets has to be ${options.maxCharacter}.`); - } - } -} - -/** - * Creates a copy of `toCopy` in the given nodes returning the created sub NFA. - * - * @param factory - * @param toCopy - */ -function factoryCopyOfSubGraph(factory: NodeFactory, toCopy: ReadonlySubGraph): SubGraph { - return factoryCopy(factory, { - initial: toCopy.initial, - getOut: n => n.out, - isFinal: n => toCopy.finals.has(n), - }); -} -function factoryCopy(factory: NodeFactory, iter: TransitionIterator): SubGraph { - const initial = factory.createNode(); - const finals = new Set(); - - const translate = cachedFunc(() => factory.createNode()); - translate.cache.set(iter.initial, initial); - - traverse(iter.initial, (node, queue) => { - const trans = translate(node); - - if (iter.isFinal(node)) { - finals.add(trans); - } - - const out = iter.getOut(node); - for (const [to, characters] of out) { - queue.push(to); - trans.link(translate(to), characters); - } - }); - - const result = { initial, finals }; - - // The initial state might be non-normalized - - baseNormalize(factory, result); - - return result; -} - -/** - * Alters `base` to end with the `after` expression. - * - * `after` will be in an invalid state after this operation but `baseMakeEmpty` can make it valid again. - * - * @param base - * @param after - */ -function baseAppend(base: SubGraph, after: SubGraph): void { - if (base.finals.size === 0) { - // concat(EMPTY_LANGUAGE, after) == EMPTY_LANGUAGE - return; - } - if (after.finals.size === 0) { - // concat(base, EMPTY_LANGUAGE) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - - // replace after initial with base finals - const initialEdges = [...after.initial.out]; - for (const baseFinal of base.finals) { - for (const [to, characters] of initialEdges) { - baseFinal.link(to, characters); - } - } - // unlink after initial - for (const [to] of initialEdges) { - after.initial.unlink(to); - } - - // If the initial of after isn't final, we have to clear the base finals - if (!after.finals.has(after.initial)) { - base.finals.clear(); - } - // transfer finals - after.finals.forEach(n => { - if (n !== after.initial) { - base.finals.add(n); - } - }); -} - -/** - * Alters `base` to start with the `before` expression. - * - * `before` will be in an invalid state after this operation but `baseMakeEmpty` can make it valid again. - * - * @param base - * @param before - */ -function basePrepend(base: SubGraph, before: SubGraph): void { - if (base.finals.size === 0) { - // concat(before, EMPTY_LANGUAGE) == EMPTY_LANGUAGE - return; - } - if (before.finals.size === 0) { - // concat(EMPTY_LANGUAGE, base) == EMPTY_LANGUAGE - baseMakeEmpty(base); - return; - } - - // replace base initial with before finals - const initialEdges = [...base.initial.out]; - for (const beforeFinal of before.finals) { - for (const [to, characters] of initialEdges) { - beforeFinal.link(to, characters); - } - } - // unlink base initial - for (const [to] of initialEdges) { - base.initial.unlink(to); - } - // link before initial out to base initial - for (const [to, characters] of before.initial.out) { - base.initial.link(to, characters); - // and unlink before before initial - before.initial.unlink(to); - } - - if (base.finals.has(base.initial)) { - base.finals.delete(base.initial); - - before.finals.forEach(n => { - if (n === before.initial) { - base.finals.add(base.initial); - } else { - base.finals.add(n); - } - }); - } -} - -/** - * Alters `base` to be the union of itself and the given alternative. - * - * `alternative` will be in an invalid state after this operation but `baseMakeEmpty` can make it valid again. - * - * @param base - * @param alternative - */ -function baseUnion(base: SubGraph, alternative: SubGraph): void { - // add finals - alternative.finals.forEach(n => { - base.finals.add(n === alternative.initial ? base.initial : n); - }); - - // transfer nodes to base - alternative.initial.out.forEach((via, to) => { - base.initial.link(to, via); - }); - alternative.initial.unlinkAllOut(); - - // optional optimization to reduce the number of nodes - baseOptimizationReuseFinalStates(base); - baseOptimizationMergePrefixes(base); - baseOptimizationMergeSuffixes(base); // suffixes should to be done after ReuseFinalStates -} - -function baseOptimizationReuseFinalStates(base: SubGraph): void { - if (base.finals.size < 2) { - return; - } - - const reusable: NFA.Node[] = []; - for (const f of base.finals) { - if (f !== base.initial && f.out.size === 0) { - reusable.push(f); - } - } - - if (reusable.length > 1) { - const masterFinal: NFA.Node = reusable.pop()!; - for (const toRemove of reusable) { - base.finals.delete(toRemove); - toRemove.in.forEach((via, from) => { - from.out.delete(toRemove); - from.link(masterFinal, via); - }); - } - } -} - -function baseOptimizationMergePrefixes(base: SubGraph): void { - /** - * The basic idea here to to merge suffixes and prefixes. - * So that e.g. /abc|abba/ will merged to /ab(c|ba)/ (similar to suffixes). - */ - - const prefixNodes: NFA.Node[] = [base.initial]; - // we can just do this because we know the initial node doesn't have any incoming transitions - - while (prefixNodes.length > 0) { - const node = prefixNodes.pop()!; - if (node.out.size < 2) { - continue; - } - - const candidateOutNodes: NFA.Node[] = []; - for (const outNode of node.out.keys()) { - // the only incoming node is the prefix node - if (outNode.in.size === 1) { - candidateOutNodes.push(outNode); - } - } - - while (candidateOutNodes.length >= 2) { - const current = candidateOutNodes.pop()!; - const currentCharSet = node.out.get(current)!; - - for (let i = 0, l = candidateOutNodes.length; i < l; i++) { - const other = candidateOutNodes[i]; - const otherIsFinal = base.finals.has(other); - const otherCharSet = node.out.get(other)!; - if (currentCharSet.equals(otherCharSet) && otherIsFinal == base.finals.has(current)) { - // found a match -> remove `other` - for (const [otherTo, otherToCharSet] of other.out) { - current.link(otherTo, otherToCharSet); - other.unlink(otherTo); - } - node.unlink(other); - if (otherIsFinal) { - base.finals.delete(other); - } - swapRemove(candidateOutNodes, i); - - // we might be able to merge prefixes on this one - prefixNodes.push(current); - - // there can be no other nodes with the same char set because if there were they would have been - // removed by this function in a previous union - break; - } - } - } - } -} -function baseOptimizationMergeSuffixes(base: SubGraph): void { - // this will basically be the same as the prefix optimization but in the other direction - - const suffixNodes: NFA.Node[] = []; - - for (const final of base.finals) { - if (final.out.size === 0) { - suffixNodes.push(final); - } - } - - while (suffixNodes.length > 0) { - const node = suffixNodes.pop()!; - if (node.in.size < 2) { - continue; - } - - const candidateInNodes: NFA.Node[] = []; - for (const inNode of node.in.keys()) { - // the only outgoing node is the suffix node - if (inNode.out.size === 1) { - candidateInNodes.push(inNode); - } - } - - while (candidateInNodes.length >= 2) { - const current = candidateInNodes.pop()!; - const currentCharSet = node.in.get(current)!; - - for (let i = 0, l = candidateInNodes.length; i < l; i++) { - const other = candidateInNodes[i]; - const otherIsFinal = base.finals.has(other); - const otherCharSet = node.in.get(other)!; - if (currentCharSet.equals(otherCharSet) && otherIsFinal == base.finals.has(current)) { - // found a match -> remove other - for (const [otherFrom, otherFromCharSet] of other.in) { - otherFrom.link(current, otherFromCharSet); - otherFrom.unlink(other); - } - other.unlink(node); - if (otherIsFinal) { - base.finals.delete(other); - } - swapRemove(candidateInNodes, i); - - // we might be able to merge prefixes on this one - suffixNodes.push(current); - - // there can be no other nodes with the same char set because if there were they would have been - // removed by this function in a previous union - break; - } - } - } - } -} - -/** - * Alters `base` to be repeated a certain number of times. - * - * @param factory - * @param base - * @param times - */ -function baseRepeat(factory: NodeFactory, base: SubGraph, times: number): void { - if (times === 0) { - // trivial - baseMakeEmpty(base); - base.finals.add(base.initial); - return; - } - if (times === 1) { - // trivial - return; - } - if (base.finals.size === 1 && base.finals.has(base.initial)) { - // base can only match the empty string - return; - } - if (base.finals.size === 0) { - // base can't match any word - return; - } - - if (!base.finals.has(base.initial)) { - const copy = factoryCopyOfSubGraph(factory, base); - for (let i = times; i > 2; i--) { - // use a copy of the original copy for concatenation - // do this `times - 2` times - baseAppend(base, factoryCopyOfSubGraph(factory, copy)); - } - // use the original copy - baseAppend(base, copy); - } else { - // We could use the above approach here as well but this would generate O(n^2) unnecessary transitions. - // To get rid of these unnecessary transitions, we remove the initial states from the set of final states - // and manually store the final states of each concatenation. - - const realFinal = new Set(base.finals); - base.finals.delete(base.initial); - - const copy = factoryCopyOfSubGraph(factory, base); - - for (let i = times; i > 2; i--) { - // use a copy of the original copy for concatenation - // do this `times - 2` times - baseAppend(base, factoryCopyOfSubGraph(factory, copy)); - base.finals.forEach(f => realFinal.add(f)); - } - // use the original copy - baseAppend(base, copy); - base.finals.forEach(f => realFinal.add(f)); - - // transfer the final states - base.finals.clear(); - realFinal.forEach(f => base.finals.add(f)); - - // NOTE: For this to be correct, it is assumed, that - // 1) concatenation doesn't replace the initial state of base - // 2) the final states of base aren't removed (they just have to be reachable from the initial state) - } -} - -/** - * Alters `base` to be equal to `/()+/`. - * - * @param base - */ -function basePlus(base: SubGraph): void { - // The basic idea here is that we copy all edges from the initial state state to every final state. This means that - // all final states will then behave like the initial state. - for (const f of base.finals) { - if (f !== base.initial) { - base.initial.out.forEach((characters, to) => { - f.link(to, characters); - }); - } - } -} - -/** - * Returns whether the given base can be expressed as `A+` for some A. - * - * @param base - */ -function baseIsPlusExpression(base: ReadonlySubGraph): boolean { - // The following condition have to be fulfilled: - // - // All Final states have to link to all and only to all directly outgoing states of the initial state. - - const initialOut = base.initial.out; - - // check condition - for (const final of base.finals) { - if (final === base.initial) { - // the initial state trivially fulfills the condition - continue; - } - if (final.out.size !== initialOut.size) { - return false; - } - for (const finalOut of final.out.keys()) { - if (!initialOut.has(finalOut)) { - return false; - } - } - } - - return true; -} - -function baseQuantify(factory: NodeFactory, base: SubGraph, min: number, max: number): void { - if (max === 0) { - // this is a special case, so handle it before everything else - // e.g. /a{0}/ - baseMakeEmpty(base); - base.finals.add(base.initial); - return; - } - - if (base.finals.has(base.initial)) { - // if the initial state is also final, then `min` is effectively 0 - // e.g. /(a|)+/ == /(a|)*/ - min = 0; - } else if (min === 0) { - // if `min` is 0, then the initial state has to be final - base.finals.add(base.initial); - } - - if (max === 1) { - // since min can either be 0 (in which case the initial state has be handled above) - // or 1 (in which case it's trivial). - // e.g. /a{1}/ - return; - } - - // if base can be expressed as A+ for some A, then we can do some optimization - if (baseIsPlusExpression(base)) { - if (min <= 1) { - // If min == 0, then we know that A+ matches, them empty string and is the same as A*. Since no quantifier - // (except {0} which is already handled above) can change A*, we can just return. - // if min == 1, then A+ == (A+){1,max} for any max. - return; - } - - // the base idea here is this: - // (A+){min,max} == (A+){min}(A+){0,max-min} == (A+){min}A* == A{min-1}A+A* == A{min-1}A+ - - // make a copy of A+ - const aPlus = factoryCopyOfSubGraph(factory, base); - - // remove the + from the current A+ - for (const final of base.finals) { - for (const finalOut of final.out.keys()) { - final.unlink(finalOut); - } - } - - baseRepeat(factory, base, min - 1); // repeat A min-1 many times - baseAppend(base, aPlus); // concat A{min-1} and A+ - return; - } - - if (min === max) { - // e.g. /a{4}/ - baseRepeat(factory, base, min); - } else if (max < Infinity) { - // e.g. /a{2,4}/ - // The basic idea here is that /a{m,n}/ == /a{m}(a|){n-m}/ - - // make a copy of base and include the empty string - const copy = factoryCopyOfSubGraph(factory, base); - copy.finals.add(copy.initial); - - baseRepeat(factory, copy, max - min); - baseRepeat(factory, base, min); - baseAppend(base, copy); - } else { - if (min > 1) { - // e.g. /a{4,}/ - // The basic idea here is that /a{4,}/ == /a{3}a+/ - - // the plus part (has to be done first because base will be modified by repeat) - const copy = factoryCopyOfSubGraph(factory, base); - basePlus(copy); - - // repeat - baseRepeat(factory, base, min - 1); - - baseAppend(base, copy); - } else { - // e.g. /a*/, /a+/ - // If `min` is 0 then the initial state will already be final because of the code above. - // We can use the plus operator for star as well because /()*/ == /()+|/ - basePlus(base); - } - } -} - -/** - * Alters `base` to accept no words. - * - * @param base - */ -function baseMakeEmpty(base: NonNormalSubGraph): void { - base.initial.unlinkAll(); - base.finals.clear(); -} - -function baseReverse(factory: NodeFactory, base: SubGraph): void { - const { initial, finals } = base; - - if (finals.size === 0 || (finals.size === 1 && finals.has(initial))) { - // either no finals (= empty language) - // or only the initial state is final (= language with only the empty word) - return; - } - - // reverse the direction of all transitions - const allNodes = [ - ...Iter.iterateStates({ - initial: base.initial, - getOut: n => n.out.keys(), - isFinal: n => base.finals.has(n), - }), - ]; - for (const node of allNodes) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const mutableNode = node as any; - const temp = mutableNode.out; - mutableNode.out = mutableNode.in; - mutableNode.in = temp; - } - - // replace the former initial with a new node and make it final - // this will make the initial "free" (no in/out transitions) - const mainFinal = factory.createNode(); - initial.in.forEach((trans, from) => { - from.unlink(initial); - from.link(mainFinal, trans); - }); - - const newFinals = new Set([mainFinal]); - if (finals.has(initial)) { - finals.delete(initial); - newFinals.add(initial); - } - - // make the former initial the new initial - for (const f of finals) { - f.out.forEach((trans, to) => { - initial.link(to, trans); - }); - if (f.in.size === 0) { - // remove f - f.out.forEach((_, to) => { - f.unlink(to); - }); - } - } - - // transfer finals - finals.clear(); - newFinals.forEach(f => finals.add(f)); -} - -function baseNormalize(factory: NodeFactory, base: NonNormalSubGraph): void { - if (base.initial.in.size === 0) { - // already normalized - return; - } - - const i = factory.createNode(); - - // make the new state equivalent to the initial state - base.initial.out.forEach((via, to) => { - i.link(to === base.initial ? i : to, via); - }); - base.initial.in.forEach((via, from) => { - from.link(i, via); - }); - - base.initial.unlinkAllIn(); - - if (base.finals.has(base.initial)) { - base.finals.add(i); - } -} - -/** - * All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be - * removed. - * - * @param base - */ -function baseRemoveUnreachable(base: NonNormalSubGraph): void { - if (base.finals.size === 0) { - baseMakeEmpty(base); - return; - } - - // 1) Get all nodes reachable from the initial state - const reachableFromInitial = new Set(); - traverse(base.initial, (node, queue) => { - reachableFromInitial.add(node); - queue.push(...node.out.keys()); - }); - - // 2) Get all nodes reachable state - const reachable = new Set(); - traverseMultiRoot(base.finals, (node, queue) => { - if (!reachableFromInitial.has(node)) { - return; - } - - reachable.add(node); - queue.push(...node.in.keys()); - }); - - if (reachable.size === 0 || !reachable.has(base.initial)) { - baseMakeEmpty(base); - return; - } - - // 3) Remove all unreachable states - for (const node of reachable) { - node.out.forEach((_, to) => { - if (!reachable.has(to)) { - to.unlinkAll(); - } - }); - node.in.forEach((_, from) => { - if (!reachable.has(from)) { - from.unlinkAll(); - } - }); - } - for (const f of [...base.finals]) { - if (!reachable.has(f)) { - base.finals.delete(f); - } - } -} diff --git a/src/transformers/apply-assertions.ts b/src/transformers/apply-assertions.ts deleted file mode 100644 index 5484fe69..00000000 --- a/src/transformers/apply-assertions.ts +++ /dev/null @@ -1,1301 +0,0 @@ -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Element, - NoParent, - Parent, - Quantifier, - SourceLocation, - TransformContext, - Transformer, -} from "../ast"; -import { - FirstLookChar, - MatchingDirection, - alwaysConsumesCharacters, - firstConsumedToLook, - getFirstCharAfter, - getFirstCharConsumedBy, - getLengthRange, - invertMatchingDirection, - isTriviallyAccepting, - isZeroLength, - stackPath, - toMatchingDirection, -} from "../ast-analysis"; -import { CharSet } from "../char-set"; -import { assertNever, cachedFunc, debugAssert, filterMut } from "../util"; -import { CreationOptions } from "./creation-options"; -import { - SingleCharacterParent, - at, - atInRange, - copyNode, - copySource, - countNodes, - firstIndexFor, - getMaxDepth, - inRange, - incrementFor, - isSingleCharacterParent, - lastIndexFor, - setAt, - tryRemoveRejectingAssertionBranches, -} from "./util"; - -function withDirection(direction: MatchingDirection, arr: T[]): T[] { - if (direction === "rtl") { - arr.reverse(); - } - return arr; -} -function pushBack(direction: MatchingDirection, arr: T[], value: T): void { - if (direction === "ltr") { - arr.push(value); - } else { - arr.unshift(value); - } -} -function pushFront(direction: MatchingDirection, arr: T[], value: T): void { - if (direction === "ltr") { - arr.unshift(value); - } else { - arr.push(value); - } -} - -/** - * This function is the meat of this transformer. - * - * Given an assertion and a character, this function will let the assertion assert the given character. If the function - * returns `true`, the character has been successfully asserted and the assertion and character have been adjusted - * accordingly. If `false` is returned, nothing has been changed. - * - * @param assertion - * @param char - * @param context - */ -function assertCharacter( - assertion: NoParent, - char: NoParent, - context: TransformContext -): NoParent[] | undefined { - const direction = toMatchingDirection(assertion.kind); - - // remove rejecting branches - if (tryRemoveRejectingAssertionBranches(assertion, char.characters, false, direction, context.maxCharacter)) { - context.signalMutation(); - } - - if (assertion.negate) { - // In general, it's not possible to apply negated assertions without negating the language of the assertion. - - // The key insight here is that (?!foo|bar) == (?!foo)(?!bar) == (?!bar)(?!foo). So we can apply the - // alternatives one by one. - const toRemove = new Set>(); - for (const alternative of assertion.alternatives) { - if (alternative.elements.length === 1) { - const single = alternative.elements[0]; - if (single.type === "CharacterClass") { - // e.g. (?!a)\w => [0-9A-Zb-z_] - char.characters = char.characters.without(single.characters); - context.signalMutation(); - toRemove.add(alternative); - } - } - } - - if (toRemove.size > 0) { - assertion.alternatives = assertion.alternatives.filter(alt => !toRemove.has(alt)); - context.signalMutation(); - return withDirection(toMatchingDirection(assertion.kind), [assertion, char]); - } - - for (const alt of assertion.alternatives) { - const { elements } = alt; - - const firstIndex = firstIndexFor(direction); - const first = at(elements, firstIndex); - - if (first && isCharConvertible(first)) { - const firstChar = toCharElement(first).characters; - - // remove char from assertion branch - context.signalMutation(); - if (first.type === "CharacterClass") { - elements.splice(firstIndex, 1); - } else { - first.min--; - first.max--; - } - - // This uses the same trick as before with (?!foo|bar) == (?!foo)(?!bar) == (?!bar)(?!foo). - // Since we found an alternative that we'd like to apply, we might have other alternatives that remain. - // This array contains an assertion for the remaining alternatives. - const remaining: NoParent[] = - assertion.alternatives.length === 1 - ? [] - : [ - { - type: "Assertion", - negate: assertion.negate, - kind: assertion.kind, - alternatives: assertion.alternatives.filter(a => a !== alt).map(copyNode), - source: copySource(assertion.source), - }, - ]; - - if (firstChar.isSupersetOf(char.characters)) { - // e.g. (?!\wbc)a => a(?!bc) - return withDirection(direction, [...remaining, char, assertion]); - } else { - // e.g. (?!foo)\w => (?:[a-eg-zA-Z0-9_]|f(?!oo)) - const intersection = firstChar.intersect(char.characters); - if (intersection.isEmpty) { - throw new Error("Rejecting branch wasn't removed properly."); - } - context.signalMutation(); - char.characters = char.characters.without(firstChar); - return withDirection(direction, [ - ...remaining, - { - type: "Alternation", - alternatives: [ - { type: "Concatenation", elements: [char] }, - { - type: "Concatenation", - elements: withDirection(direction, [ - { type: "CharacterClass", characters: intersection }, - assertion, - ]), - }, - ], - }, - ]); - } - } - } - - return undefined; - } else { - if (assertion.alternatives.length !== 1) { - // It's not possible to do the intersection with more than 1 branches without increasing the number of nodes in - // the regex. - // Example: /(?=\wa|\db)\w\w/ - return undefined; - } else { - const { elements } = assertion.alternatives[0]; - - const firstIndex = firstIndexFor(direction); - const first = at(elements, firstIndex); - - if (first && isCharConvertible(first)) { - const firstChar = toCharElement(first).characters; - - // remove char from assertion branch - context.signalMutation(); - if (first.type === "CharacterClass") { - elements.splice(firstIndex, 1); - } else { - first.min--; - first.max--; - } - - const intersection = firstChar.intersect(char.characters); - if (intersection.isEmpty) { - throw new Error("Rejecting branch wasn't removed properly."); - } - - context.signalMutation(); - char.characters = intersection; - return withDirection(toMatchingDirection(assertion.kind), [char, assertion]); - } - - return undefined; - } - } -} - -type CharConvertible = NoParent | SingleCharacterParent; -function isCharConvertible(element: NoParent): element is CharConvertible { - return ( - element.type === "CharacterClass" || - (element.type === "Quantifier" && element.min >= 1 && isSingleCharacterParent(element)) - ); -} -function findNextCharConvertible( - elements: readonly NoParent[], - start: number, - inc: 1 | -1 -): CharConvertible | undefined { - for (let j = start; inRange(elements, j); j += inc) { - const element = atInRange(elements, j); - if (isCharConvertible(element)) { - return element; - } else if (!isZeroLength(element)) { - break; - } - } - return undefined; -} -function getCharacters(convertible: CharConvertible): CharSet { - if (convertible.type === "CharacterClass") { - return convertible.characters; - } else { - return convertible.alternatives[0].elements[0].characters; - } -} -function toCharElement(convertible: CharConvertible): NoParent { - if (convertible.type === "CharacterClass") { - return convertible; - } else { - const char = convertible.alternatives[0].elements[0]; - return { - type: "CharacterClass", - characters: char.characters, - source: copySource(char.source), - }; - } -} - -type AssertionWithCharConvertible = NoParent & { - alternatives: [NoParent]; -}; -function startsWithCharConvertible(assertion: NoParent): assertion is AssertionWithCharConvertible { - if (assertion.alternatives.length !== 1) { - return false; - } - const alt = assertion.alternatives[0]; - const index = firstIndexFor(toMatchingDirection(assertion.kind)); - const first = at(alt.elements, index); - return first !== undefined && isCharConvertible(first); -} -function getFirstAssertedCharacter(assertion: AssertionWithCharConvertible): CharSet | undefined { - if (assertion.negate && !isSingleCharacterParent(assertion)) { - return undefined; - } - - const index = firstIndexFor(toMatchingDirection(assertion.kind)); - const first = at(assertion.alternatives[0].elements, index); - debugAssert(first !== undefined && isCharConvertible(first)); - const char = toCharElement(first); - return assertion.negate ? char.characters.negate() : char.characters; -} - -/** - * This will apply assertions one character at a time. E.g. `(?=\da)\w\w` => `\d(?=a)\w` => `\da`. - * - * @param elements - * @param kind - * @param context - */ -function applyOneCharacter(elements: NoParent[], kind: Assertion["kind"], context: TransformContext): void { - if (elements.length < 2) { - return; - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - for (let i = firstIndex; inRange(elements, i); i += inc) { - const assertion = atInRange(elements, i); - if (assertion.type !== "Assertion" || assertion.kind !== kind) { - continue; - } - - const charConvertible = findNextCharConvertible(elements, i + inc, inc); - if (charConvertible === undefined) { - continue; - } - - const char = toCharElement(charConvertible); - let result = assertCharacter(assertion, char, context); - - if (result === undefined) { - if (isTriviallyAccepting(assertion)) { - // remove the assertion - context.signalMutation(); - elements.splice(i, 1); - i -= inc; - } - } else { - // remove the assertion - context.signalMutation(); - elements.splice(i, 1); - i -= inc; - - // filter trivially accepting - result = result.filter(element => element.type !== "Assertion" || !isTriviallyAccepting(element)); - - if (charConvertible.type === "Quantifier") { - charConvertible.min--; - charConvertible.max--; - - pushBack(direction, result, charConvertible); - } - - elements.splice(elements.indexOf(charConvertible), 1, ...result); - } - } -} - -/** - * This will remove optional branches that are know to reject because of assertions. E.g. `(?=\d)\s*\w+` => `(?=\d)\w+`. - * - * @param parentConcatenation - * @param kind - * @param context - */ -function removeRejectedBranches( - parentConcatenation: NoParent, - kind: Assertion["kind"], - context: TransformContext -): void { - const { elements } = parentConcatenation; - if (elements.length < 2) { - return; - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - function findNextParent(startIndex: number): NoParent | undefined { - for (let j = startIndex; inRange(elements, j); j += inc) { - const element = atInRange(elements, j); - if (isZeroLength(element)) { - // continue - } else if (element.type === "Quantifier" || element.type === "Alternation") { - return element; - } else { - break; - } - } - return undefined; - } - - for (let i = firstIndex; inRange(elements, i); i += inc) { - const assertion = atInRange(elements, i); - if (assertion.type !== "Assertion" || assertion.kind !== kind) { - continue; - } - if (assertion.negate && !isSingleCharacterParent(assertion)) { - // Only single-character negated assertion can trivially negated - continue; - } - - const parentElement = findNextParent(i + inc); - if (parentElement === undefined) { - continue; - } - - const firstChar = getFirstCharConsumedBy(assertion.alternatives, direction, context.maxCharacter); - if (firstChar.empty) { - continue; - } - const char = assertion.negate ? firstChar.char.negate() : firstChar.char; - const edge = assertion.negate; - - if (parentElement.type === "Quantifier" && parentElement.min === 0 && parentElement.max >= 1) { - const parentElementFirst = getFirstCharConsumedBy( - parentElement.alternatives, - direction, - context.maxCharacter - ); - - if (!parentElementFirst.empty) { - if (parentElementFirst.char.isDisjointWith(char)) { - // e.g. (?=\d)\s*\w+ => (?=\d)\w+ - // remove element - context.signalMutation(); - elements.splice(elements.indexOf(parentElement), 1); - continue; - } - - // e.g. (?=\d)\w*\s+ => (?=\d)\w+\s+ - const after = getFirstCharAfter( - stackPath( - [{ type: "Expression", alternatives: [parentConcatenation] }, parentConcatenation], - parentElement - ), - direction, - context.maxCharacter - ); - const disjointWithAfter = after.char.isDisjointWith(char) && !(after.edge && edge); - if (disjointWithAfter) { - context.signalMutation(); - parentElement.min = 1; - continue; - } - } - } - - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (parentElement.type === "Alternation" || (parentElement.type === "Quantifier" && parentElement.max === 1)) { - if (tryRemoveRejectingAssertionBranches(parentElement, char, edge, direction, context.maxCharacter)) { - context.signalMutation(); - } - } - } -} - -/** - * This will transform `(?=a).*` => `(?:(?=a).+|(?=a))`. - * - * @param elements - * @param kind - * @param context - */ -function applySingleCharacterAssertion( - elements: NoParent[], - kind: Assertion["kind"], - context: TransformContext -): void { - if (elements.length < 2) { - return; - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - for (let i = firstIndex + inc; inRange(elements, i); i += inc) { - const assertionIndex = i - inc; - const assertion = atInRange(elements, assertionIndex); - if (assertion.type !== "Assertion" || assertion.kind !== kind || !isSingleCharacterParent(assertion)) { - continue; - } - - const quantifierIndex = i; - const quantifier = atInRange(elements, quantifierIndex); - if ( - quantifier.type !== "Quantifier" || - !(quantifier.min === 0 && quantifier.max > 0) || - !alwaysConsumesCharacters(quantifier.alternatives) - ) { - continue; - } - - // adjust quantifier - context.signalMutation(); - quantifier.min++; - - // `(?=a).*` => `(?:(?=a).+|(?=a))` - // `(?=a).*?` => `(?:(?=a)|(?=a).+?)` - const group: NoParent = { - type: "Alternation", - alternatives: [ - { type: "Concatenation", elements: withDirection(direction, [copyNode(assertion), quantifier]) }, - { type: "Concatenation", elements: [assertion] }, - ], - }; - if (quantifier.lazy) { - group.alternatives.reverse(); - } - - setAt(elements, assertionIndex, group); - elements.splice(quantifierIndex, 1); - } -} - -/** - * Converts an optional quantifier (min=0, max=1) into an alternation. The quantifier will be destroyed. - * - * @param quant - * @returns - */ -function optionalQuantifierIntoAlternation(quant: NoParent): NoParent { - debugAssert(quant.min === 0 && quant.max === 1); - - const alternation: NoParent = { - type: "Alternation", - alternatives: quant.alternatives, - source: copySource(quant.source), - }; - - const empty: NoParent = { - type: "Concatenation", - elements: [], - source: copySource(quant.source), - }; - if (quant.lazy) { - alternation.alternatives.unshift(empty); - } else { - alternation.alternatives.push(empty); - } - - return alternation; -} - -/** - * This will transform `(?:\S[^]*|(?!\s))a` => `(?:\S[^]*a|a)`. - * - * @param elements - * @param kind - * @param context - */ -function moveCharacterIntoAlternation( - elements: NoParent[], - kind: Assertion["kind"], - context: TransformContext -): void { - if (elements.length < 2) { - return; - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - const getAssertion = (alt: NoParent): AssertionWithCharConvertible | undefined => { - const assertionIndex = lastIndexFor(direction); - const assertion = at(alt.elements, assertionIndex); - if ( - assertion !== undefined && - assertion.type === "Assertion" && - assertion.kind === kind && - startsWithCharConvertible(assertion) - ) { - return assertion; - } else { - return undefined; - } - }; - - for (let i = firstIndex + inc; inRange(elements, i); i += inc) { - const charConvertibleIndex = i; - const nextElement = atInRange(elements, charConvertibleIndex); - let charConvertible: CharConvertible; - if (isCharConvertible(nextElement)) { - charConvertible = nextElement; - } else { - continue; - } - - const alternationIndex = i - inc; - const element = atInRange(elements, alternationIndex); - let alternation: NoParent; - if (element.type === "Alternation") { - alternation = element; - } else if ( - element.type === "Quantifier" && - element.min === 0 && - element.max === 1 && - element.alternatives.some(getAssertion) - ) { - // convert quantifier to alternation - alternation = optionalQuantifierIntoAlternation(element); - - context.signalMutation(); - setAt(elements, alternationIndex, alternation); - } else { - continue; - } - - const char = getCharacters(charConvertible); - const appendChars = new Map, CharSet>(); - filterMut(alternation.alternatives, alternative => { - const assertion = getAssertion(alternative); - if (assertion !== undefined) { - const assertionChar = getFirstAssertedCharacter(assertion); - if (assertionChar !== undefined) { - if (assertionChar.isDisjointWith(char)) { - // remove alternative (trivial reject) - context.signalMutation(); - return false; - } else if (isSingleCharacterParent(assertion)) { - if (char.isSubsetOf(assertionChar)) { - // remove assertion (trivial accept) - context.signalMutation(); - alternative.elements.splice(alternative.elements.indexOf(assertion), 1); - return true; - } else { - // append intersected character - context.signalMutation(); - alternative.elements.splice(alternative.elements.indexOf(assertion), 1); - appendChars.set(alternative, assertionChar.intersect(char)); - return true; - } - } - } - - appendChars.set(alternative, char); - return true; - } else { - return true; - } - }); - - if (appendChars.size > 0) { - context.signalMutation(); - - for (const alt of alternation.alternatives) { - pushBack>(direction, alt.elements, { - type: "CharacterClass", - characters: appendChars.get(alt) ?? char, - }); - } - - if (charConvertible.type === "CharacterClass") { - elements.splice(charConvertibleIndex, 1); - } else { - charConvertible.min--; - charConvertible.max--; - } - } - } -} - -/** - * This will transform `(?!\d)(?:\w+|:|123)` => `(?:(?!\d)\w+|:|[])` and - * `(?!\d)(?:\w+|:|123)+` => `(?:(?!\d)\w+|:|[])(?:\w+|:|123)*`. - * - * @param elements - * @param kind - * @param context - */ -function moveAssertionIntoAlternation( - elements: NoParent[], - kind: Assertion["kind"], - context: TransformContext -): void { - if (elements.length < 2) { - return; - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - for (let i = firstIndex + inc; inRange(elements, i); i += inc) { - const assertionIndex = i - inc; - const assertion = atInRange(elements, assertionIndex); - if (assertion.type !== "Assertion" || assertion.kind !== kind) { - continue; - } - - const alternationIndex = i; - const element = atInRange(elements, alternationIndex); - let alternation: NoParent; - if (element.type === "Alternation" && !isZeroLength(element)) { - alternation = element; - - // remove assertion - context.signalMutation(); - elements.splice(assertionIndex, 1); - } else if ( - element.type === "Quantifier" && - element.min >= 1 && - alwaysConsumesCharacters(element) && - // we already handle this simple case elsewhere - !isSingleCharacterParent(element) - ) { - // convert `(?:a|b)+` => `(?:(?:a|b)(?:a|b)*)` and then use the new alternation - const quant = element; - quant.min--; - quant.max--; - alternation = { - type: "Alternation", - alternatives: copyNode(quant).alternatives, - source: copySource(quant.source), - }; - const replacement = [alternation, quant]; - if (direction === "rtl") { - replacement.reverse(); - } - context.signalMutation(); - elements.splice(elements.indexOf(element), 1, ...replacement); - - // remove assertion - context.signalMutation(); - elements.splice(elements.indexOf(assertion), 1); - } else if ( - element.type === "Quantifier" && - element.min === 0 && - element.max === 1 && - // we already handle this simple case elsewhere - !isSingleCharacterParent(element) - ) { - // convert `(?:a|b)?` => `(?:a|b|)` and then use the new alternation - alternation = optionalQuantifierIntoAlternation(element); - - // replace quantifier and remove assertion - setAt(elements, alternationIndex, alternation); - context.signalMutation(); - elements.splice(assertionIndex, 1); - } else { - continue; - } - - let assertionChar: CharSet | undefined = undefined; - let assertionCharComplete = false; - if (isSingleCharacterParent(assertion)) { - const assertionRawChar = assertion.alternatives[0].elements[0].characters; - assertionChar = assertion.negate ? assertionRawChar.negate() : assertionRawChar; - assertionCharComplete = true; - } else if (!assertion.negate) { - const firstChar = firstConsumedToLook( - getFirstCharConsumedBy(assertion.alternatives, direction, context.maxCharacter) - ); - if (!firstChar.edge) { - assertionChar = firstChar.char; - assertionCharComplete = true; - } - } - - // move it into alternatives - filterMut(alternation.alternatives, alt => { - if (assertionChar) { - const firstChar = getFirstCharConsumedBy(alt, direction, context.maxCharacter); - if (!firstChar.empty) { - if (firstChar.char.isDisjointWith(assertionChar)) { - // trivial reject - return false; - } else if (assertionCharComplete && firstChar.char.isSubsetOf(assertionChar)) { - // trivial accept - return true; - } - } - } - - pushFront(direction, alt.elements, copyNode(assertion)); - return true; - }); - } -} - -/** - * This will transform `(a(?!b))+` => `a((?!b)a)*(?!b)` and - * `(a(?!b))*` => `(?:(a(?!b))+)?` => `(?:a((?!b)a)*(?!b))?`. - * - * Note that if `(?!b)` in `(?!b)a` trivially accepts, then an optimization kicks in and we get - * `(a(?!b))+` => `a+(?!b)` and `(a(?!b))*` => `(?:a+(?!b))?` instead. - * - * @param elements - * @param kind - * @param context - */ -function moveAssertionOutsideLoop( - elements: NoParent[], - kind: Assertion["kind"], - context: TransformContext -): void { - const direction = toMatchingDirection(kind); - - const getAssertion = (alt: NoParent): SingleCharacterParent | undefined => { - const inc = incrementFor(invertMatchingDirection(direction)); - for (let i = firstIndexFor(invertMatchingDirection(direction)); inRange(alt.elements, i); i += inc) { - const element = atInRange(alt.elements, i); - if (element.type === "Assertion" && element.kind === kind && isSingleCharacterParent(element)) { - return element; - } - if (!isZeroLength(element)) { - break; - } - } - return undefined; - }; - - const endsWithSingleCharAssertion = (e: NoParent): boolean => { - switch (e.type) { - case "Assertion": - return e.kind === kind && isSingleCharacterParent(e); - case "CharacterClass": - case "Unknown": - return false; - case "Alternation": - return e.alternatives.every(endsWithSingleCharAssertion); - case "Quantifier": - return e.max === 1 && e.alternatives.every(endsWithSingleCharAssertion); - case "Concatenation": { - if (e.elements.length === 0) { - return false; - } - const B = atInRange(e.elements, lastIndexFor(direction)); - return endsWithSingleCharAssertion(B); - } - default: - return assertNever(e); - } - }; - - /** - * Returns whether the given concatenation can be split into two parts A - * and B, such that B ends with a single-character assertion. - * - * @param alt - */ - const canSplit = (alt: NoParent): boolean => { - if (alt.elements.length < 2) { - return false; - } - return endsWithSingleCharAssertion(alt); - }; - - for (let i = 0; i < elements.length; i++) { - const quant = elements[i]; - if ( - quant.type !== "Quantifier" || - quant.alternatives.length !== 1 || - quant.max < 2 || - !alwaysConsumesCharacters(quant.alternatives) - ) { - continue; - } - - // find a fitting assertion - const alt = quant.alternatives[0]; - const assertion = getAssertion(alt); - if (assertion) { - // trivially accepting? - let assertionChar = assertion.alternatives[0].elements[0].characters; - assertionChar = assertion.negate ? assertionChar.negate() : assertionChar; - const firstChar = getFirstCharConsumedBy(alt, direction, context.maxCharacter); - const triviallyAccepting = !firstChar.empty && firstChar.char.isSubsetOf(assertionChar); - - // store the original quantifier min for later - const originalMin = quant.min; - if (quant.min === 0) { - quant.min = 1; - } - - // remove the assertion - context.signalMutation(); - alt.elements.splice(alt.elements.indexOf(assertion), 1); - - let replacement: NoParent[]; - if (triviallyAccepting) { - // `(a(?!b))+` => `a+(?!b)` - // the assertion has already been removed - replacement = withDirection(direction, [quant, assertion]); - } else { - // `(a(?!b))+` => `a((?!b)a)*(?!b)` - const prefix = copyNode(alt).elements; - const innerAssertion = copyNode(assertion); - pushFront(direction, alt.elements, innerAssertion); - quant.min--; - quant.max--; - if (direction === "ltr") { - replacement = [...prefix, quant, assertion]; - } else { - replacement = [assertion, quant, ...prefix]; - } - } - - if (originalMin === 0) { - // we need to wrap it in an optional group - replacement = [ - { - type: "Quantifier", - min: 0, - max: 1, - lazy: quant.lazy, - alternatives: [ - { - type: "Concatenation", - elements: replacement, - source: copySource(quant.source), - }, - ], - source: copySource(quant.source), - }, - ]; - } - - elements.splice(i, 1, ...replacement); - - continue; - } - - if (canSplit(alt)) { - if (getMaxDepth(quant) > 20 || countNodes(quant) > 100) { - continue; - } - - // we can split the concatenation into two parts A and B, such - // that B ends with a single-character assertion - let b = [atInRange(alt.elements, lastIndexFor(direction))]; - let a = alt.elements.filter(e => e !== b[0]); - if (direction === "rtl") { - [a, b] = [b, a]; - } - - // The goal is to transform `(AB)+` => `A(BA)*B`. This should give - // us a better chance at removing assertions - let replacement: NoParent[] = [ - ...a.map(copyNode), - { - type: "Quantifier", - min: Math.max(0, quant.min - 1), - max: quant.max - 1, - lazy: quant.lazy, - alternatives: [ - { - type: "Concatenation", - elements: [...b, ...a], - source: copySource(alt.source), - }, - ], - source: copySource(quant.source), - }, - ...b.map(copyNode), - ]; - - if (quant.min === 0) { - // we need to wrap it in an optional group - replacement = [ - { - type: "Quantifier", - min: 0, - max: 1, - lazy: quant.lazy, - alternatives: [ - { - type: "Concatenation", - elements: replacement, - source: copySource(quant.source), - }, - ], - source: copySource(quant.source), - }, - ]; - } - - context.signalMutation(); - elements.splice(i, 1, ...replacement); - continue; - } - } -} - -/** - * This will apply an assertion at the end of a loop. This is a generalization of `moveAssertionOutsideLoop` for `*` - * quantifiers. - * - * The general transformations is this: `(?:a|b(?=c))*` => `/(?:a|bB*A)*(?:bB*(?=c))?/` where `A=(?=c)a` and `B=(?=c)b`. - * - * Note that this transformation does not actually apply the assertion. It only rewrites the loop to make it easier to - * apply the assertion. - * - * @param elements - * @param kind - * @param context - */ -function rewriteLoopAssertion(elements: NoParent[], kind: Assertion["kind"], context: TransformContext): void { - const direction = toMatchingDirection(kind); - - const isSingleWordParent = (parent: NoParent): boolean => { - return ( - parent.alternatives.length === 1 && - parent.alternatives[0].elements.length >= 2 && - parent.alternatives[0].elements.every(e => e.type === "CharacterClass") - ); - }; - - const getAssertion = (alt: NoParent): NoParent | undefined => { - const inc = incrementFor(invertMatchingDirection(direction)); - for (let i = firstIndexFor(invertMatchingDirection(direction)); inRange(alt.elements, i); i += inc) { - const element = atInRange(alt.elements, i); - if ( - element.type === "Assertion" && - element.kind === kind && - (isSingleCharacterParent(element) || isSingleWordParent(element)) - ) { - return element; - } - if (!isZeroLength(element)) { - break; - } - } - return undefined; - }; - - const alternativesToElement = ( - alternatives: NoParent[], - source?: SourceLocation - ): NoParent => { - if (alternatives.length === 1 && alternatives[0].elements.length === 1) { - return alternatives[0].elements[0]; - } else { - return { - type: "Alternation", - alternatives: alternatives, - source, - }; - } - }; - const concatToElement = (concat: NoParent): NoParent => { - if (concat.elements.length === 1) { - return concat.elements[0]; - } else { - return { - type: "Alternation", - alternatives: [concat], - source: copySource(concat.source), - }; - } - }; - - interface Prefix { - readonly chars: readonly CharSet[]; - readonly after: FirstLookChar; - } - const getLtrPrefix = cachedFunc((alt: NoParent): Prefix => { - const chars: CharSet[] = []; - for (const e of alt.elements) { - if (e.type === "CharacterClass") { - chars.push(e.characters); - } else { - break; - } - } - if (chars.length > 0) { - alt = { - type: "Concatenation", - elements: alt.elements.slice(chars.length), - }; - } - const after = firstConsumedToLook(getFirstCharConsumedBy(alt, "ltr", context.maxCharacter)); - return { chars, after }; - }); - const getRtlPrefix = cachedFunc((alt: NoParent): Prefix => { - const chars: CharSet[] = []; - for (let i = 0; i < alt.elements.length; i++) { - const e = alt.elements[alt.elements.length - i - 1]; - if (e.type === "CharacterClass") { - chars.push(e.characters); - } else { - break; - } - } - if (chars.length > 0) { - alt = { - type: "Concatenation", - elements: alt.elements.slice(0, alt.elements.length - chars.length), - }; - } - const after = firstConsumedToLook(getFirstCharConsumedBy(alt, "rtl", context.maxCharacter)); - return { chars, after }; - }); - const areDisjoint = (a: Prefix, b: Prefix): boolean => { - const l = Math.min(a.chars.length, b.chars.length); - for (let i = 0; i < l; i++) { - if (a.chars[i].isDisjointWith(b.chars[i])) { - return true; - } - } - - let aLook: FirstLookChar; - if (l < a.chars.length) { - aLook = { - char: a.chars[l], - edge: false, - exact: true, - }; - } else { - aLook = a.after; - } - - let bLook: FirstLookChar; - if (l < b.chars.length) { - bLook = { - char: b.chars[l], - edge: false, - exact: true, - }; - } else { - bLook = b.after; - } - - return lookAreDisjoint(aLook, bLook); - }; - const lookAreDisjoint = (a: FirstLookChar, b: FirstLookChar): boolean => { - return !(a.edge && b.edge) && a.char.isDisjointWith(b.char); - }; - const canReorder = (alt: NoParent, others: readonly NoParent[]): boolean => { - const lengthRange = getLengthRange(alt); - return others.every(o => { - // we can reorder alternatives with the same constant length. E.g. `abc|foo|bar` == `bar|foo|abc` - if (lengthRange && lengthRange.min === lengthRange.max) { - const otherRange = getLengthRange(o); - if (otherRange && otherRange.min === otherRange.max && lengthRange.min === otherRange.min) { - return true; - } - } - - // check whether the first characters are disjoint - // since we don't want to assume a matching direction, we need to check both directions - return areDisjoint(getLtrPrefix(alt), getLtrPrefix(o)) && areDisjoint(getRtlPrefix(alt), getRtlPrefix(o)); - }); - }; - - for (let i = 0; i < elements.length; i++) { - const quant = elements[i]; - if ( - quant.type !== "Quantifier" || - quant.alternatives.length < 2 || - quant.max !== Infinity || - !alwaysConsumesCharacters(quant.alternatives) - ) { - continue; - } - - // Since this operation copies a lot of nodes, we want to make sure that we don't blow up the AST. - if (getMaxDepth(quant) > 20 || countNodes(quant) > 100) { - continue; - } - - // in order to preserve order, we can only use the first or last alternative - let alternative = quant.alternatives[0]; - let isFirst = true; - let assertion = getAssertion(alternative); - if (!assertion) { - alternative = quant.alternatives[quant.alternatives.length - 1]; - isFirst = false; - assertion = getAssertion(alternative); - } - if (!assertion) { - // see if we can reorder an inner alternative to make the first/last alternative - for (let j = 1; j < quant.alternatives.length - 1; j++) { - const alt = quant.alternatives[j]; - const asr = getAssertion(alt); - if (asr) { - if (canReorder(alt, quant.alternatives.slice(0, j))) { - alternative = alt; - isFirst = true; - assertion = asr; - break; - } - if (canReorder(alt, quant.alternatives.slice(j + 1))) { - alternative = alt; - isFirst = false; - assertion = asr; - break; - } - } - } - } - if (!assertion) { - // we couldn't find a fitting assertion - continue; - } - - // From this point onwards, we know that we are going to apply the transformation. There is no backing out now. - context.signalMutation(); - - // make the quantifier a star by unrolling `min` iterations - const quantifierMinUnroll: NoParent[] = []; - if (quant.min > 0) { - const unrolled = copyNode(quant); - unrolled.max = unrolled.min; - unrolled.lazy = false; - quantifierMinUnroll.push(unrolled); - quant.min = 0; - } - - // we already have our assertion, so let's assemble the other pieces as well. - const a = quant.alternatives.filter(alt => alt !== alternative); - const b = alternative; - b.elements.splice(b.elements.indexOf(assertion), 1); - - // `(?=c)a` - const A: NoParent = { - type: "Concatenation", - elements: withDirection(direction, [ - copyNode(assertion), - alternativesToElement(a.map(copyNode), copySource(quant.source)), - ]), - source: copySource(quant.source), - }; - const B = copyNode(b); - pushFront(direction, B.elements, copyNode(assertion)); - - // `B*` - // eslint-disable-next-line @typescript-eslint/naming-convention - const BStar: NoParent = { - type: "Quantifier", - min: 0, - max: Infinity, - lazy: quant.lazy, - alternatives: [copyNode(B)], - source: copySource(quant.source), - }; - // `bB*A` - const prefixInner: NoParent = { - type: "Concatenation", - elements: withDirection(direction, [copyNode(concatToElement(b)), copyNode(BStar), concatToElement(A)]), - source: copySource(quant.source), - }; - // `(?:a|bB*A)*` - const prefix: NoParent = { - type: "Quantifier", - min: 0, - max: Infinity, - lazy: quant.lazy, - alternatives: isFirst ? [prefixInner, ...a] : [...a, prefixInner], - source: copySource(quant.source), - }; - // `(?:bB*(?=c))?` - const suffix: NoParent = { - type: "Quantifier", - min: 0, - max: 1, - lazy: quant.lazy, - alternatives: [ - { - type: "Concatenation", - elements: withDirection(direction, [concatToElement(b), BStar, assertion]), - source: copySource(quant.source), - }, - ], - source: copySource(quant.source), - }; - - elements.splice(i, 1, ...withDirection(direction, [...quantifierMinUnroll, prefix, suffix])); - } -} - -/** - * This transformer will apply all trivial assertion (e.g. `/(?!0)\d/` => `/[1-9]/`) and remove all branches in - * assertions that are guaranteed to reject (e.g. `(?=\d+=|-)\w` => `(?=\d+=)\w`). - * - * @param _options - */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function applyAssertions(_options?: Readonly): Transformer { - return { - name: "applyAssertions", - onConcatenation(node: NoParent, context: TransformContext) { - const elements = node.elements; - - applySingleCharacterAssertion(elements, "ahead", context); - applySingleCharacterAssertion(elements, "behind", context); - - moveAssertionOutsideLoop(elements, "ahead", context); - moveAssertionOutsideLoop(elements, "behind", context); - - rewriteLoopAssertion(elements, "ahead", context); - rewriteLoopAssertion(elements, "behind", context); - - moveAssertionIntoAlternation(elements, "ahead", context); - moveAssertionIntoAlternation(elements, "behind", context); - - applyOneCharacter(elements, "ahead", context); - applyOneCharacter(elements, "behind", context); - - removeRejectedBranches(node, "ahead", context); - removeRejectedBranches(node, "behind", context); - - moveCharacterIntoAlternation(elements, "ahead", context); - moveCharacterIntoAlternation(elements, "behind", context); - }, - }; -} diff --git a/src/transformers/creation-options.ts b/src/transformers/creation-options.ts deleted file mode 100644 index ccb681c0..00000000 --- a/src/transformers/creation-options.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface CreationOptions { - /** - * If `true`, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. - * This may cause the behavior of the regex to change. - * - * @default false - */ - ignoreOrder?: boolean; - /** - * If `true`, transformers are allowed to reduce or increase the ambiguity of the regular expression. - * - * @default false - */ - ignoreAmbiguity?: boolean; -} diff --git a/src/transformers/factor-out.ts b/src/transformers/factor-out.ts deleted file mode 100644 index 41cf2ae4..00000000 --- a/src/transformers/factor-out.ts +++ /dev/null @@ -1,442 +0,0 @@ -import { - Alternation, - Concatenation, - Element, - NoParent, - Parent, - Quantifier, - TransformContext, - Transformer, -} from "../ast"; -import { MatchingDirection, structurallyEqual } from "../ast-analysis"; -import { CharSet } from "../char-set"; -import { debugAssert, filterMut, minOf } from "../util"; -import { CreationOptions } from "./creation-options"; -import { at, atInRange, copySource, firstIndexFor } from "./util"; - -function getPrefixAndSuffix(node: NoParent): { prefix: NoParent[]; suffix: NoParent[] } { - let prefixLength = 0; - let suffixLength = 0; - const shortest = minOf(node.alternatives, a => a.elements.length)!.elements; - - // find prefix length - for (let i = 0; i < shortest.length; i++) { - const e = shortest[i]; - if (node.alternatives.every(c => structurallyEqual(e, c.elements[i]))) { - prefixLength++; - } else { - break; - } - } - // find suffix length - for (let i = 0; i < shortest.length - prefixLength; i++) { - const e = shortest[shortest.length - 1 - i]; - if (node.alternatives.every(c => structurallyEqual(e, c.elements[c.elements.length - 1 - i]))) { - suffixLength++; - } else { - break; - } - } - - const prefix = shortest.slice(0, prefixLength); - const suffix = shortest.slice(shortest.length - suffixLength, shortest.length); - return { prefix, suffix }; -} - -interface CharPrefix { - readonly char: CharSet; - readonly constant: number; - readonly star: boolean; -} -function getConcatenationCharPrefix( - alternative: NoParent, - direction: MatchingDirection, - noLazyStar: boolean -): CharPrefix | undefined { - if (alternative.elements.length === 0) { - return undefined; - } - - const firstIndex = direction === "ltr" ? 0 : alternative.elements.length - 1; - const first = alternative.elements[firstIndex]; - if (first.type === "CharacterClass") { - return { - char: first.characters, - constant: 1, - star: false, - }; - } else if (first.type === "Quantifier") { - if (first.alternatives.length === 1 && first.alternatives[0].elements.length === 1) { - const single = first.alternatives[0].elements[0]; - if (single.type === "CharacterClass") { - return { - char: single.characters, - constant: first.min, - star: !(first.lazy && noLazyStar) && first.max === Infinity, - }; - } - } - } - - return undefined; -} -function unionCharPrefixes(a: CharPrefix | undefined, b: CharPrefix | undefined): CharPrefix | undefined { - if (a !== undefined && b !== undefined && a.char.equals(b.char)) { - const constant = Math.min(a.constant, b.constant); - const star = a.star && b.star; - if (star || constant > 0) { - return { char: a.char, constant, star }; - } - } - return undefined; -} -function getCharPrefix( - alternatives: NoParent[], - direction: MatchingDirection, - noLazyStar: boolean -): CharPrefix | undefined { - if (alternatives.length === 0) { - return undefined; - } - - let prefix: CharPrefix | undefined = getConcatenationCharPrefix(alternatives[0], direction, noLazyStar); - for (let i = 1; i < alternatives.length && prefix !== undefined; i++) { - const alternative = alternatives[i]; - prefix = unionCharPrefixes(prefix, getConcatenationCharPrefix(alternative, direction, noLazyStar)); - } - return prefix; -} -function subtractConcatenationCharPrefix( - alternative: NoParent, - prefix: CharPrefix, - direction: MatchingDirection -): void { - const firstIndex = direction === "ltr" ? 0 : alternative.elements.length - 1; - const first = alternative.elements[firstIndex]; - if (first.type === "CharacterClass") { - if (prefix.star || prefix.constant !== 1) { - throw Error("Invalid prefix"); - } - - alternative.elements.splice(firstIndex, 1); - } else if (first.type === "Quantifier") { - if (prefix.constant > first.min || (prefix.star && first.max !== Infinity)) { - throw Error("Invalid prefix"); - } - - first.min -= prefix.constant; - if (prefix.star) { - first.max = first.min; - } else { - first.max -= prefix.constant; - } - - if (first.max === 0) { - alternative.elements.splice(firstIndex, 1); - } else if (first.min === 1 && first.max === 1) { - // we know that it's a single-character quantifier - alternative.elements[firstIndex] = first.alternatives[0].elements[0]; - } - } -} -function subtractCharPrefix( - alternatives: NoParent[], - prefix: CharPrefix, - direction: MatchingDirection -): void { - for (const alt of alternatives) { - subtractConcatenationCharPrefix(alt, prefix, direction); - } -} -function tryFactorOutQuantifiedCharacter( - node: NoParent, - direction: MatchingDirection, - noLazyStar: boolean -): boolean { - const prefix = getCharPrefix(node.alternatives, direction, noLazyStar); - if (prefix && (prefix.constant > 0 || prefix.star)) { - subtractCharPrefix(node.alternatives, prefix, direction); - let char: NoParent; - if (prefix.star || prefix.constant !== 1) { - char = { - type: "Quantifier", - lazy: false, - min: prefix.constant, - max: prefix.star ? Infinity : prefix.constant, - alternatives: [ - { type: "Concatenation", elements: [{ type: "CharacterClass", characters: prefix.char }] }, - ], - }; - } else { - char = { type: "CharacterClass", characters: prefix.char }; - } - - const rest: NoParent = { type: "Alternation", alternatives: node.alternatives }; - - const elements = direction === "ltr" ? [char, rest] : [rest, char]; - node.alternatives = [{ type: "Concatenation", source: copySource(node.source), elements }]; - return true; - } - return false; -} - -/** - * Assertions are a huge problem when converting a regex to an NFA, so we want as few of them as possible. - * - * @param node - * @param direction - * @param root0 - * @param root0.signalMutation - */ -function tryFactorOutAssertion( - node: NoParent, - direction: MatchingDirection, - { signalMutation }: TransformContext -): void { - if (node.alternatives.length < 2) { - return; - } - - const firstIndex = firstIndexFor(direction); - - for (let i = 0; i < node.alternatives.length; i++) { - const alt = node.alternatives[i]; - - const assertion = at(alt.elements, firstIndex); - if (!assertion || assertion.type !== "Assertion") { - continue; - } - - let same = 0; - for (let j = i + 1; j < node.alternatives.length; j++) { - const a = node.alternatives[j]; - if (a.elements.length > 0 && structurallyEqual(assertion, atInRange(a.elements, firstIndex))) { - same++; - } else { - break; - } - } - - if (same > 0) { - signalMutation(); - - // remove assertion from alternatives - for (let j = 0; j <= same; j++) { - const a = node.alternatives[i + j]; - a.elements.splice(firstIndex, 1); - } - - // replace old alternatives with new alternative - const newAlt: NoParent = { - type: "Concatenation", - elements: [assertion], - source: copySource(alt.source), - }; - const oldAlternatives = node.alternatives.splice(i, same + 1, newAlt); - - const prefix: NoParent = { - type: "Alternation", - alternatives: oldAlternatives, - source: copySource(alt.source), - }; - if (direction === "ltr") { - newAlt.elements.push(prefix); - } else { - newAlt.elements.unshift(prefix); - } - } - } -} - -/** - * We have already factored out something previously leaving us in a state like this: `(?:a(?:b|c)|b|c|d)`. - * This function to factor out the common suffix `b|c` leaving us with `a?(b|c)|d`. - * - * @param node - * @param context - * @param ignoreOrder - */ -function tryFactorOutGroup(node: NoParent, context: TransformContext, ignoreOrder: boolean): void { - if (node.alternatives.length < 3) { - return; - } - - impl("ltr"); - impl("rtl"); - - function impl(direction: MatchingDirection): void { - const firstIndex = firstIndexFor(direction); - for (let i = 0; i < node.alternatives.length; i++) { - const alt = node.alternatives[i]; - if (alt.elements.length < 2) { - continue; - } - - // search for a candidate nested group - const candidate = atInRange(alt.elements, firstIndex); - if ( - candidate.type !== "Alternation" || - candidate.alternatives.length < 2 || - node.alternatives.length < candidate.alternatives.length + 1 - ) { - continue; - } - - const parentAlternatives = new Set>(); - let beforeCandidateAlternative = false; - - if (ignoreOrder) { - // check that all alternatives are in the parent as well - for (const a of candidate.alternatives) { - const match = node.alternatives.find(c => structurallyEqual(a, c)); - if (!match) { - break; - } - parentAlternatives.add(match); - } - } else { - // the alternatives must all occur either directly before or after the candidate alternative - - // before - if (candidate.alternatives.length <= i) { - beforeCandidateAlternative = true; - for (let j = 0; j < candidate.alternatives.length; j++) { - const match = node.alternatives[i - candidate.alternatives.length + j]; - if (!structurallyEqual(candidate.alternatives[j], match)) { - break; - } - parentAlternatives.add(match); - } - } - - // after - if ( - i + candidate.alternatives.length < node.alternatives.length && - parentAlternatives.size !== candidate.alternatives.length - ) { - beforeCandidateAlternative = false; - parentAlternatives.clear(); - for (let j = 0; j < candidate.alternatives.length; j++) { - const match = node.alternatives[i + 1 + j]; - if (!structurallyEqual(candidate.alternatives[j], match)) { - break; - } - parentAlternatives.add(match); - } - } - } - - if (parentAlternatives.size !== candidate.alternatives.length) { - // we couldn't find all corresponding alternatives in the parent - continue; - } - debugAssert(!parentAlternatives.has(alt)); - - // remove the parent alternatives - // e.g. `(?:a(?:b|c)|b|c|d)` => `(?:a(?:b|c)|d)` - context.signalMutation(); - filterMut(node.alternatives, a => !parentAlternatives.has(a)); - - // make the prefix optional - // e.g. `(?:a(?:b|c)|d)` => `(?:a?(?:b|c)|d)` - const prefixElements = alt.elements.filter(e => e !== candidate); - const prefixQuant: NoParent = { - type: "Quantifier", - lazy: beforeCandidateAlternative, - min: 0, - max: 1, - alternatives: [{ type: "Concatenation", elements: prefixElements, source: copySource(alt.source) }], - source: copySource(alt.source), - }; - - // keep only the candidate - filterMut(alt.elements, e => e === candidate); - // add new prefix - if (direction === "ltr") { - alt.elements.push(prefixQuant); - } else { - alt.elements.unshift(prefixQuant); - } - } - } -} - -/** - * This will factor out common prefixes and suffixes in parent nodes. - * - * Examples: - * - * - `(?:abc|aba)` => `(?:ab(?:c|a))` - * - `(? `(? `(?:abc(?:||))` - * - * @param options - */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function factorOut(options?: Readonly): Transformer { - const { ignoreOrder = false } = options ?? {}; - - function onParent(node: NoParent, context: TransformContext): void { - const { signalMutation } = context; - if (node.alternatives.length < 2) { - return; - } - - // try to find a common prefix/suffix for all alternatives - const { prefix, suffix } = getPrefixAndSuffix(node); - if (prefix.length > 0 || suffix.length > 0) { - signalMutation(); - - // remove prefix and suffix - const alternatives = node.alternatives; - for (const alt of alternatives) { - alt.elements.splice(0, prefix.length); - alt.elements.splice(alt.elements.length - suffix.length, suffix.length); - } - - node.alternatives = [ - { - type: "Concatenation", - elements: [ - ...prefix, - { - type: "Alternation", - alternatives, - source: copySource(node.source), - }, - ...suffix, - ], - source: copySource(node.source), - }, - ]; - return; - } - - // try to find a common prefix/suffix for all alternatives by unrolling a quantifier - const noLazyStar = !ignoreOrder; - if (tryFactorOutQuantifiedCharacter(node, "ltr", noLazyStar)) { - signalMutation(); - } - if (tryFactorOutQuantifiedCharacter(node, "rtl", noLazyStar)) { - signalMutation(); - } - - tryFactorOutGroup(node, context, ignoreOrder); - - tryFactorOutAssertion(node, "ltr", context); - tryFactorOutAssertion(node, "rtl", context); - } - - return { - name: "factorOut", - onAlternation: onParent, - onAssertion: onParent, - onExpression: onParent, - onQuantifier: onParent, - }; -} diff --git a/src/transformers/index.ts b/src/transformers/index.ts deleted file mode 100644 index 7393f14a..00000000 --- a/src/transformers/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Contains all AST transformer implementations of refa. - * - * All transformer factory functions implemented here will optionally take {@link CreationOptions} or a sub-class of it. - * This can be used to control the behavior of the created transformers. - * - * For a simple transformer that applies most transformers while preserving the semantic of the given AST, - * see {@link simplify}. - * - * @module - */ - -export * from "./creation-options"; - -export * from "./apply-assertions"; -export * from "./factor-out"; -export * from "./inline"; -export * from "./make-greedy"; -export * from "./merge-with-quantifier"; -export * from "./move-up-empty"; -export * from "./nested-quantifiers"; -export * from "./pattern-edge-assertions"; -export * from "./remove-dead-branches"; -export * from "./remove-unnecessary-assertions"; -export * from "./replace-assertions"; -export * from "./sort-assertions"; -export * from "./union-characters"; - -export * from "./simplify"; diff --git a/src/transformers/inline.ts b/src/transformers/inline.ts deleted file mode 100644 index bb1879f9..00000000 --- a/src/transformers/inline.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { Assertion, Concatenation, NoParent, Parent, TransformContext, Transformer } from "../ast"; -import { CreationOptions } from "./creation-options"; -import { tryInlineAssertions } from "./util"; - -function onConcatenation(node: NoParent, { signalMutation }: TransformContext): void { - for (let i = 0; i < node.elements.length; i++) { - const current = node.elements[i]; - - if (current.type === "Alternation") { - if (current.alternatives.length === 1) { - // inline alternatives with only a single alternative (e.g. a(?:bc)d == abcd) - node.elements.splice(i, 1, ...current.alternatives[0].elements); - signalMutation(); - i--; - } - } else if (current.type === "Quantifier") { - if (current.max === 0) { - // remove 0 quantifiers (e.g. ab{0}c == ac) - node.elements.splice(i, 1); - signalMutation(); - i--; - } else if (current.min === 1 && current.max === 1) { - // inline constant-one quantifiers (e.g. ab{1}c == abc) - if (current.alternatives.length === 1) { - node.elements.splice(i, 1, ...current.alternatives[0].elements); - signalMutation(); - i--; - } else { - node.elements[i] = { - type: "Alternation", - alternatives: current.alternatives, - source: current.source, - }; - signalMutation(); - } - } - } - } -} -function onParent(node: NoParent, { signalMutation }: TransformContext): void { - for (let i = 0; i < node.alternatives.length; i++) { - const { elements } = node.alternatives[i]; - if (elements.length === 1) { - const first = elements[0]; - if (first.type === "Alternation") { - node.alternatives.splice(i, 1, ...first.alternatives); - signalMutation(); - i--; - } - } - } -} -function onAssertion(node: NoParent, context: TransformContext): void { - onParent(node, context); - - if (node.alternatives.length === 1 && node.alternatives[0].elements.length === 1) { - const single = node.alternatives[0].elements[0]; - if (single.type === "Assertion") { - // inline simple nested assertions (e.g. (?!(?<=a)) == (? `abc`). - * 2. Inline single-alternation concatenations (e.g. `(?:(?:a|b)|c)` => `(?:a|b|c)`). - * 3. Inline constant-one quantifiers (e.g. `ab{1}c` => `abc`). - * 4. Remove constant-zero quantifiers (e.g. `ab{0}c` => `ac`). - * 5. Inline trivially nested assertions (e.g. `(?!(? `(?<=a)`). - * 6. Inline nested assertions at the end of the expression tree (e.g. `(?!a(?=b))` => `(?!ab)`). - * - * --- - * - * This transformer should be used in combination with {@link removeDeadBranches} to handle trivial simplifications. - * - * @param _options - */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function inline(_options?: Readonly): Transformer { - // we can safely ignore the options as order and ambiguity are guaranteed to be preserved - return { - name: "inline", - onConcatenation, - onAssertion, - - onAlternation: onParent, - onExpression: onParent, - onQuantifier: onParent, - }; -} diff --git a/src/transformers/make-greedy.ts b/src/transformers/make-greedy.ts deleted file mode 100644 index 04668305..00000000 --- a/src/transformers/make-greedy.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { NoParent, Node, Quantifier, TransformContext, Transformer, visitAst } from "../ast"; -import { - MatchingDirection, - getFirstCharAfter, - getFirstCharConsumedBy, - stackPath, - toMatchingDirection, -} from "../ast-analysis"; -import { CreationOptions } from "./creation-options"; - -function tryMakeGreedy( - quant: NoParent, - parents: readonly NoParent[], - context: TransformContext -): void { - if (!quant.lazy) { - return; - } - - let direction: MatchingDirection = "ltr"; - for (let i = parents.length - 1; i >= 0; i--) { - const p = parents[i]; - if (p.type === "Assertion") { - direction = toMatchingDirection(p.kind); - break; - } - } - - const consumed = getFirstCharConsumedBy(quant.alternatives, direction, context.maxCharacter); - if (consumed.empty) { - return; - } - - const after = getFirstCharAfter(stackPath(parents, quant), direction, context.maxCharacter); - - if (after.char.isDisjointWith(consumed.char)) { - context.signalMutation(); - quant.lazy = false; - } -} -/** - * This transformer will try to make quantifiers greedy whenever possible. - * - * Note: If `ignoreOrder` is `true`, then quantifiers will always be made greedy. - * - * @param options - */ -export function makeGreedy(options?: Readonly): Transformer { - const { ignoreOrder = false } = options ?? {}; - - if (ignoreOrder) { - return { - name: "makeGreedy", - onQuantifier(node, { signalMutation }) { - if (node.lazy) { - signalMutation(); - node.lazy = false; - } - }, - }; - } - - // we can safely ignore the options as order and ambiguity are guaranteed to be preserved - return { - name: "makeGreedy", - - onQuantifier(node, { signalMutation }) { - if (node.lazy && node.min === node.max) { - signalMutation(); - node.lazy = false; - } - }, - - onExpression(node, context) { - const stack: NoParent[] = []; - function enter(node: never): void { - stack.push(node); - } - function leave(): void { - stack.pop(); - } - - visitAst(node, { - onAlternationEnter: enter, - onAssertionEnter: enter, - onConcatenationEnter: enter, - onExpressionEnter: enter, - onQuantifierEnter: enter, - - onAlternationLeave: leave, - onAssertionLeave: leave, - onConcatenationLeave: leave, - onExpressionLeave: leave, - onQuantifierLeave(quant) { - leave(); - - tryMakeGreedy(quant, stack, context); - }, - }); - }, - }; -} diff --git a/src/transformers/merge-with-quantifier.ts b/src/transformers/merge-with-quantifier.ts deleted file mode 100644 index cffb49fd..00000000 --- a/src/transformers/merge-with-quantifier.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { Element, NoParent, Quantifier, TransformContext, Transformer } from "../ast"; -import { MatchingDirection, structurallyEqual, structurallyEqualToQuantifiedElement } from "../ast-analysis"; -import { filterMut } from "../util"; -import { CreationOptions } from "./creation-options"; - -function consumeUsingInfiniteQuantifier( - quant: Readonly>, - after: NoParent, - direction: MatchingDirection, - context: TransformContext -): void { - const { signalMutation } = context; - - if ( - // quant = a{n,} - quant.max === Infinity && - // after = (a|b) or (a|b){0,1} - (after.type === "Alternation" || (after.type === "Quantifier" && after.max === 1)) - ) { - for (const alt of after.alternatives) { - const firstIndex = direction === "ltr" ? 0 : alt.elements.length - 1; - const first = alt.elements[firstIndex] as NoParent | undefined; - if (first) { - if ( - first.type === "Quantifier" && - first.max !== first.min && - structurallyEqual(quant.alternatives, first.alternatives) - ) { - // we found a nested quantifier we can (partially) consume - first.max = first.min; - if (first.max === 0) { - // remove the quantifier - alt.elements.splice(firstIndex, 1); - } - signalMutation(); - } else if (first.type === "Alternation" || (first.type === "Quantifier" && first.max === 1)) { - // go into - // e.g. /a*((a*|b)c|d)/, here we go from ((a*|b)c|d) into (a*|b) - consumeUsingInfiniteQuantifier(quant, first, direction, context); - } - } - } - } -} - -/** - * This operation tries to merge as many elements as possible with existing quantifiers. - * - * Examples: - * - * - `/a*a/` => `/a+/` - * - `/a*(?:a+|c)/` => `/a*(?:a|c)/` - * - * @param options - */ -export function mergeWithQuantifier(options?: Readonly): Transformer { - // This will preserve the order of alternatives ASSUMING that there are no greedy vs lazy quantifiers. - // This has to be changed as soon as lazy/greedy quantifiers are added. - - const { ignoreAmbiguity = false, ignoreOrder = false } = options ?? {}; - - function consumeNonQuantifier( - elements: NoParent[], - direction: MatchingDirection, - context: TransformContext - ): void { - if (direction === "rtl") { - elements.reverse(); - } - - // make e.g. a*a -> a+ - filterMut(elements, (after, before) => { - if (before && before.type === "Quantifier" && structurallyEqualToQuantifiedElement(before, after)) { - // e.g. a*a - before.min++; - before.max++; - context.signalMutation(); - return false; - } else { - return true; - } - }); - - // make e.g. ab(ab)* -> (ab)+ - for (let i = 0; i < elements.length; i++) { - const current = elements[i]; - if (current.type === "Quantifier" && current.alternatives.length === 1) { - const alt = current.alternatives[0]; - if ( - alt.elements.length >= 2 && - i + 1 + alt.elements.length <= elements.length && - alt.elements.every((e, j) => { - if (direction === "rtl") { - j = alt.elements.length - 1 - j; - } - return structurallyEqual(e, elements[i + 1 + j]); - }) - ) { - context.signalMutation(); - current.min++; - current.max++; - elements.splice(i + 1, alt.elements.length); - i--; - } - } - } - // make e.g. a*(a+|b*)? -> a*(a|b*) - if (ignoreAmbiguity) { - for (let i = 1; i < elements.length; i++) { - const quant = elements[i - 1]; - const after = elements[i]; - if (quant.type === "Quantifier" && (ignoreOrder || (!quant.lazy && quant.max === Infinity))) { - consumeUsingInfiniteQuantifier(quant, after, direction, context); - } - } - } - - if (direction === "rtl") { - elements.reverse(); - } - } - - return { - name: "mergeWithQuantifier", - onConcatenation(node, context) { - const elements = node.elements; - const { signalMutation } = context; - - consumeNonQuantifier(elements, "ltr", context); - consumeNonQuantifier(elements, "rtl", context); - - // make e.g. a*a+ -> a+ - filterMut(elements, (after, before) => { - if (before && before.type === "Quantifier" && after.type === "Quantifier") { - const beforeConst = before.min === before.max; - const afterConst = after.min === after.max; - - if (!ignoreAmbiguity && !(beforeConst || afterConst)) { - // If ambiguity can't be ignored, at least one of the two quantifiers has to be constant - return true; - } - if ( - !ignoreOrder && - !( - beforeConst || - afterConst || - before.lazy === after.lazy || - (!before.lazy && before.max === Infinity) || - (!after.lazy && after.max === Infinity) - ) - ) { - // If order can't be ignored, at least one of the two quantifiers has to be constant or both - // have to have the same laziness or at least one of them is greedy and is unbounded - return true; - } - - if (structurallyEqual(before.alternatives, after.alternatives)) { - // e.g. a+a* -> a+ , a{2,6}a{1,3} -> a{3,9} - before.min += after.min; - before.max += after.max; - signalMutation(); - return false; - } - } - return true; - }); - }, - }; -} diff --git a/src/transformers/move-up-empty.ts b/src/transformers/move-up-empty.ts deleted file mode 100644 index f7d1c1b1..00000000 --- a/src/transformers/move-up-empty.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { Concatenation, NoParent, Parent, Quantifier, SourceLocation, TransformContext, Transformer } from "../ast"; -import { isEmpty, isPotentiallyEmpty } from "../ast-analysis"; -import { filterMut } from "../util"; -import { CreationOptions } from "./creation-options"; -import { copySource } from "./util"; - -function makeContentOptional( - alternatives: NoParent[], - source: Readonly | undefined -): void { - if (alternatives.length === 0) { - // `[]?` == `ε` - alternatives.push({ - type: "Concatenation", - elements: [], - source: copySource(source), - }); - return; - } - - if (alternatives.length === 1 && alternatives[0].elements.length === 1) { - const single = alternatives[0].elements[0]; - if (single.type === "Quantifier" && single.min === 1) { - single.min = 0; - return; - } - } - - const copy = [...alternatives]; - alternatives.length = 0; - alternatives.push({ - type: "Concatenation", - elements: [ - { - type: "Quantifier", - lazy: false, - min: 0, - max: 1, - alternatives: copy, - source: copySource(source), - }, - ], - source: copySource(source), - }); -} - -function onParent(node: NoParent, { signalMutation }: TransformContext): void { - if (node.alternatives.length < 2) { - return; - } - - let mutated = false; - let needQuantifier = true; - filterMut(node.alternatives, alt => { - if (isEmpty(alt)) { - signalMutation(); - mutated = true; - return false; - } - - if (alt.elements.length === 1) { - const first = alt.elements[0]; - if (first.type === "Quantifier" && first.min === 0 && first.max > 0) { - signalMutation(); - mutated = true; - first.min = 1; - if (first.max === 1 && first.alternatives.length === 1) { - // trivial inlining - alt.elements = first.alternatives[0].elements; - } - return true; - } - } - - if (isPotentiallyEmpty(alt)) { - needQuantifier = false; - } - return true; - }); - - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (mutated && needQuantifier) { - makeContentOptional(node.alternatives, node.source); - } -} - -function onParentSafe(node: NoParent, { signalMutation }: TransformContext): void { - if (node.alternatives.length < 2) { - return; - } - - if (node.alternatives[0].elements.length === 0) { - // e.g. `(?:|a|b)` => `(?:a|b)??` - const quant: NoParent = { - type: "Quantifier", - lazy: true, - min: 0, - max: 1, - alternatives: node.alternatives.slice(1), - source: copySource(node.source), - }; - node.alternatives = [ - { - type: "Concatenation", - elements: [quant], - source: copySource(node.source), - }, - ]; - signalMutation(); - return; - } - - if (node.alternatives[node.alternatives.length - 1].elements.length === 0) { - // e.g. `(?:a|b|)` => `(?:a|b)?` - const quant: NoParent = { - type: "Quantifier", - lazy: false, - min: 0, - max: 1, - alternatives: node.alternatives.slice(0, -1), - source: copySource(node.source), - }; - node.alternatives = [ - { - type: "Concatenation", - elements: [quant], - source: copySource(node.source), - }, - ]; - signalMutation(); - return; - } -} - -/** - * This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression - * such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the - * sub-expression to accept the empty string moves closer to the root of the tree. - * - * Examples: - * - * - `a(?:b*|d?)` => `a(?:b+|d)?` - * - `||a*|b` => `(?:a+|b)?` - * - * This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If - * order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced. - * - * @param options - */ -export function moveUpEmpty(options?: Readonly): Transformer { - let on: (node: NoParent, context: TransformContext) => void; - if (!options?.ignoreOrder || !options.ignoreAmbiguity) { - on = onParentSafe; - } else { - on = onParent; - } - - return { - name: "moveUpEmpty", - onAlternation: on, - onAssertion: on, - onExpression: on, - onQuantifier: on, - }; -} diff --git a/src/transformers/nested-quantifiers.ts b/src/transformers/nested-quantifiers.ts deleted file mode 100644 index 698f0e91..00000000 --- a/src/transformers/nested-quantifiers.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { NoParent, Quantifier, TransformContext, Transformer } from "../ast"; -import { CreationOptions } from "./creation-options"; - -function combineNestedQuantifiers( - parent: NoParent, - child: Readonly>, - signalMutation: () => void -): void { - if (parent.max === 0 || child.max === 0) { - // This rule doesn't deal with inlining - return; - } - - // Explanation of the following condition: - // - // We are currently given a regular expression of the form `(R{a,b}){c,d}` with a<=b, c<=d, b>0, and d>0. The - // question is: For what numbers a,b,c,d is `(R{a,b}){c,d}` == `R{a*c,b*d}`? - // - // Let's reformulate the question in terms of integer intervals. First, some definitions: - // x∈[a,b] ⇔ a <= x <= b - // [a,b]*x = [a*x, b*x] for x != 0 - // = [0, 0] for x == 0 - // - // The question: For what intervals [a, b] and [c, d] is X=Y for - // X = [a*c, b*d] and - // Y = { x | x ∈ [a,b]*i where i∈[c,d] } ? - // - // The first thing to note is that X ⊇ Y, so we only have to show X\Y = ∅. We can think of the elements X\Y as - // holes in Y. Holes can only appear between intervals [a,b]*j and [a,b]*(j+1), so let's look at a hole h - // between [a,b]*c and [a,b]*(c+1): - // - // 1. We can see that [a,b]*(c+1) ⊆ Y iff c+1 <= d ⇔ c != d since we are dealing with integers only and know that - // c<=d. - // 2. h > b*c and h < a*(c+1). Let's just pick h=b*c+1, then we'll get b*c+1 < a*(c+1). - // - // The condition for _no_ hole between [a,b]*c and [a,b]*(c+1) is: - // c=d or b*c+1 >= a*(c+1) - // - // However, this condition is not defined for b=∞ and c=0. Since [a,b]*x = [0, 0] for x == 0, we will just define - // 0*∞ = 0. It makes sense for our problem, so the condition for b=∞ and c=0 is: - // a <= 1 - // - // Now to proof that it's sufficient to only check for a hole between the first two intervals. We want to show - // that if h=b*c+1 is not a hole then there will be no j, c= a*(c+1). - // - // 1) b=∞ and c=0: - // b*c+1 >= a*(c+1) ⇔ 1 >= a ⇔ a <= 1. If a <= 1, then h does not exist but since b=∞, we know that the - // union of the next interval [a, ∞]*1 = [a, ∞] and [0, 0] = [a, ∞]*0 is [0, ∞]. [0, ∞] is the largest - // possible interval meaning that there could not possibly be any holes after it. Therefore, a j, c0: - // b*c+1 >= a*(c+1) ⇔ ∞ >= a*(c+1) is trivially true, so the hole h between [a,b]*c and [a,b]*(c+1) cannot - // exist. There can also be no other holes because [a,b]*c = [a*c,∞] ⊇ [a,b]*i = [a*i,∞] for all i>c. - // 3) b<∞: - // b*c+1 >= a*(c+1). If c+x is also not a hole for any x >= 0, then there can be no holes. - // b*(c+x)+1 >= a*(c+x+1) ⇔ b >= a + (a-1)/(c+x). We know that this is true for x=0 and increasing x will - // only make (a-1)/(c+x) smaller, so it is always true. Therefore, there can be no j c= a * (c + 1); - - if (condition) { - signalMutation(); - parent.min = a * c; - parent.max = b * d; - parent.alternatives = child.alternatives; - } -} - -function optimizeChildQuantifier( - parent: Readonly>, - child: NoParent, - signalMutation: () => void -): void { - if (parent.max === 0 || child.max === 0) { - // This rule doesn't deal with inlining - return; - } - - if (child.min === 0 && parent.min === 0) { - signalMutation(); - child.min = 1; - } - if (child.max > 1 && parent.max === Infinity && child.min <= 1) { - signalMutation(); - child.max = 1; - } -} - -/** - * This merges/optimizes nested quantifiers. - * - * Examples: - * - * - `(?:a+)*` => `a*` - * - `(?:a{2,4})+` => `a{2,}` - * - `(?:a{4}){8}` => `a{32}` - * - `(?:a*|b+c|f+)*` => `(?:a{1}|b+c|f{1})*` - * - * This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If - * order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced. - * - * @param options - */ -export function nestedQuantifiers(options?: Readonly): Transformer { - if (!options?.ignoreAmbiguity) { - return { - name: "nestedQuantifiers", - onQuantifier(node: NoParent, { signalMutation }: TransformContext): void { - if (node.alternatives.length === 1 && node.alternatives[0].elements.length === 1) { - const nested = node.alternatives[0].elements[0]; - if (nested.type === "Quantifier") { - // (Almost) all changes will decrease the ambiguity of the regular expression - // and may change matching order. Pretty much the only safe transformation is - // `(?:a+)?` => `a*` and `(?:a+?)??` => `a*?`. - if (node.lazy === nested.lazy && node.min === 0 && node.max === 1 && nested.min === 1) { - signalMutation(); - node.max = nested.max; - node.alternatives = nested.alternatives; - } - } - } - }, - }; - } - - const { ignoreOrder } = options; - - return { - name: "nestedQuantifiers", - onQuantifier(node: NoParent, { signalMutation }: TransformContext): void { - if (node.max === 0) { - return; - } - - if (node.alternatives.length === 1) { - // try to go for the case of simple nested quantifiers (e.g. /(?:a*)+/) - const first = node.alternatives[0]; - if (first.elements.length === 1) { - const nested = first.elements[0]; - if (nested.type === "Quantifier") { - if (ignoreOrder || node.lazy === nested.lazy) { - combineNestedQuantifiers(node, nested, signalMutation); - } - } - } - } else { - // we might still be able to simplify some quantifiers. - if (ignoreOrder) { - for (const alt of node.alternatives) { - if (alt.elements.length === 1) { - const element = alt.elements[0]; - if (element.type === "Quantifier") { - optimizeChildQuantifier(node, element, signalMutation); - } - } - } - } - } - }, - }; -} diff --git a/src/transformers/pattern-edge-assertions.ts b/src/transformers/pattern-edge-assertions.ts deleted file mode 100644 index 2c5169f1..00000000 --- a/src/transformers/pattern-edge-assertions.ts +++ /dev/null @@ -1,207 +0,0 @@ -import { Assertion, Concatenation, NoParent, Node, Transformer } from "../ast"; -import { Path, followPaths, getAssertRange, invertMatchingDirection, isZeroLength, stackPath } from "../ast-analysis"; -import { CreationOptions } from "./creation-options"; -import { at, atInRange, inRange, tryInlineAssertions } from "./util"; - -/** - * Returns whether a previous assertion may also assert the same characters as the given assertion. - * - * @param path - */ -function influencedByPreviousAssertion(path: Path): boolean { - const { kind } = path.node; - - const INFLUENCE_FOUND = true; - const DEAD_BRANCH = false; - type MinConsumedCharacters = number; - type State = MinConsumedCharacters | typeof INFLUENCE_FOUND | typeof DEAD_BRANCH; - - const result = followPaths( - path, - "next", - 0, - { - fork: s => s, - join(states: State[]): State { - let min = Infinity; - for (const state of states) { - if (state === INFLUENCE_FOUND) { - return INFLUENCE_FOUND; - } else if (state === DEAD_BRANCH) { - // skip - } else { - min = Math.min(min, state); - } - } - return min === Infinity ? DEAD_BRANCH : min; - }, - - enter(element, state): State { - if (state === INFLUENCE_FOUND || state === DEAD_BRANCH) { - return state; - } - - if (element.type === "CharacterClass") { - if (element.characters.isEmpty) { - return DEAD_BRANCH; - } else { - return state + 1; - } - } - - if (element.type === "Assertion" && element.kind === kind) { - const range = getAssertRange(element.alternatives, kind); - if ((range?.assertMax ?? 0) > state) { - return INFLUENCE_FOUND; - } - } - - return state; - }, - leave(element, state, enterState): State { - if (element.type === "Quantifier" && element.min > 1) { - if (state === INFLUENCE_FOUND || state === DEAD_BRANCH) { - return state; - } - if (enterState === INFLUENCE_FOUND || enterState === DEAD_BRANCH || enterState > state) { - throw Error(); - } - - return enterState + (state - enterState) * element.min; - } - return state; - }, - - continueAfter(_, state): boolean { - return state !== INFLUENCE_FOUND && state !== DEAD_BRANCH; - }, - continueInto(element, state): boolean { - return state !== INFLUENCE_FOUND && state !== DEAD_BRANCH && element.type !== "Assertion"; - }, - }, - invertMatchingDirection(kind) - ); - - return result === INFLUENCE_FOUND; -} - -function tryRemoveAssertions( - alternatives: NoParent[], - stack: NoParent[], - kind: Assertion["kind"], - inline: boolean -): boolean { - let changed = false; - for (const alt of alternatives) { - stack.push(alt); - if (tryRemoveAssertionsConcat(alt, stack, kind, inline)) { - changed = true; - } - stack.pop(); - } - return changed; -} -function tryRemoveAssertionsConcat( - { elements }: NoParent, - stack: NoParent[], - kind: Assertion["kind"], - inline: boolean -): boolean { - if (elements.length === 0) { - return false; - } - - let changed = false; - - const increment = kind === "behind" ? +1 : -1; - const startIndex = kind === "behind" ? 0 : -1; - - for (let i = startIndex; inRange(elements, i); i += increment) { - const element = atInRange(elements, i); - if (element.type === "Assertion" && element.kind === kind) { - if (inline && influencedByPreviousAssertion(stackPath(stack, element))) { - // Some other assertion (that might be inlined later) also asserts characters beyond the patterns edge. - // This means that we can't just remove this or other assertions (in this concatenation). - return false; - } - - changed = true; - elements.splice(i, 1); - i -= increment; - } else if (isZeroLength(element)) { - // just continue - } else { - break; - } - } - - const element = at(elements, startIndex); - if (element && (element.type === "Alternation" || (element.type === "Quantifier" && element.max === 1))) { - stack.push(element); - if (tryRemoveAssertions(element.alternatives, stack, kind, inline)) { - changed = true; - } - stack.pop(); - } - - return changed; -} - -export interface PatternEdgeAssertionsCreationOptions extends CreationOptions { - /** - * @default true - */ - inline?: boolean; - /** - * @default false - */ - remove?: boolean; -} - -/** - * This transformer will only touch assertion that assert characters beyond the edge of the pattern. - * - * E.g. in `/(? `/(? `/(?!\d)\w+\s* `a(?!\d)\w`, which - * may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the `(?!\d)` - * in `(?=\w)a?(?!\d)` will not be removed because the pattern may be transformed to `(?:a|(?=\w))(?!\d)` => - * `a(?!\d)|(?=\w)(?!\d)` which can be inlined to `a(?!\d)|(?!\d)\w` and transformed to `a(?!\d)|[A-Z_a-z]`. - * - * If neither inlining nor removal are active, then this transformer won't do anything. - * - * @param options - */ -export function patternEdgeAssertions(options?: Readonly): Transformer { - const inline = options?.inline ?? true; - const remove = options?.remove ?? false; - - if (!inline && !remove) { - return { name: "patternEdgeAssertions" }; // noop - } else { - return { - name: "patternEdgeAssertions", - onExpression(node, context) { - if (inline) { - if ( - tryInlineAssertions(node.alternatives, "ahead") || - tryInlineAssertions(node.alternatives, "behind") - ) { - context.signalMutation(); - } - } - if (remove) { - if ( - tryRemoveAssertions(node.alternatives, [node], "ahead", inline) || - tryRemoveAssertions(node.alternatives, [node], "behind", inline) - ) { - context.signalMutation(); - } - } - }, - }; - } -} diff --git a/src/transformers/remove-dead-branches.ts b/src/transformers/remove-dead-branches.ts deleted file mode 100644 index cda514e6..00000000 --- a/src/transformers/remove-dead-branches.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { Concatenation, Element, NoParent, Node, Parent, TransformContext, Transformer } from "../ast"; -import { assertNever } from "../util"; -import { CreationOptions } from "./creation-options"; - -function isDead(node: NoParent): boolean { - switch (node.type) { - case "Alternation": - case "Expression": - return node.alternatives.every(a => isDead(a)); - - case "Assertion": - case "Unknown": - // this transformer doesn't deal with assertions and unknowns - return false; - - case "CharacterClass": - return node.characters.isEmpty; - - case "Concatenation": - // this is an optimization - // we will make sure that all dead concatenation have exactly one element, so we can ignore a lot of - // non-dead branches without having to look at their contents - return node.elements.length === 1 && isDead(node.elements[0]); - - case "Quantifier": - return node.min > 0 && node.alternatives.every(a => isDead(a)); - - default: - assertNever(node); - } -} - -function onConcatenation(node: NoParent, { signalMutation }: TransformContext): void { - let dead: NoParent | null = null; - - for (let i = 0; i < node.elements.length && !dead; i++) { - const current = node.elements[i]; - if (current.type === "Quantifier") { - if (current.alternatives.every(a => isDead(a))) { - // dead inside - if (current.min === 0) { - node.elements.splice(i, 1); - signalMutation(); - i--; - } else { - dead = current; - } - } - } else if (isDead(current)) { - dead = current; - } - } - - if (dead && node.elements.length > 1) { - // remove all elements except for the dead on - node.elements = [dead]; - signalMutation(); - } -} -function onParent(node: NoParent, { signalMutation }: TransformContext): void { - for (let i = 0; i < node.alternatives.length; i++) { - const current = node.alternatives[i]; - if (isDead(current)) { - node.alternatives.splice(i, 1); - signalMutation(); - i--; - } - } -} - -/** - * This removes dead branches in the AST. - * - * Dead branches are parts of the regex that can never accept on any given input string (e.g. `[]a|b` => `b`). - * - * This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will - * be replaced with the empty concatenation (e.g. `a(?:[]b)?c` => `ac`). - * - * --- - * - * This transformer should be used in combination with {@link inline} to handle trivial simplifications. - * - * @param _options - */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function removeDeadBranches(_options?: Readonly): Transformer { - return { - name: "removeDeadBranches", - onConcatenation, - - onAlternation: onParent, - onAssertion: onParent, - onExpression: onParent, - onQuantifier: onParent, - }; -} diff --git a/src/transformers/remove-unnecessary-assertions.ts b/src/transformers/remove-unnecessary-assertions.ts deleted file mode 100644 index 7476b6eb..00000000 --- a/src/transformers/remove-unnecessary-assertions.ts +++ /dev/null @@ -1,466 +0,0 @@ -import { - Assertion, - Concatenation, - Element, - Expression, - NoParent, - Node, - Parent, - TransformContext, - Transformer, - visitAst, -} from "../ast"; -import { - FirstLookChar, - MatchingDirection, - firstConsumedToLook, - getFirstCharAfter, - getFirstCharConsumedBy, - getLengthRange, - hasSomeDescendant, - invertMatchingDirection, - isPotentiallyEmpty, - stackPath, - toMatchingDirection, -} from "../ast-analysis"; -import { - SingleCharacterParent, - atInRange, - emptyAlternation, - firstIndexFor, - inRange, - incrementFor, - isSingleCharacterParent, - tryRemoveRejectingAssertionBranches, -} from "./util"; -import { CharSet } from "../char-set"; -import { CreationOptions } from "./creation-options"; -import { debugAssert } from "../util"; - -const enum Result { - ACCEPT, - REJECT, - DEPENDS, -} -/** - * Returns whether the assertion always trivially accepts/rejects no matter the input string and surrounding assertions. - * - * @param assertion - */ -function getTrivialResult(assertion: NoParent): Result { - // the idea here is that a negate assertion accepts when non-negated version reject and vise versa. - const ACCEPT = assertion.negate ? Result.REJECT : Result.ACCEPT; - const REJECT = assertion.negate ? Result.ACCEPT : Result.REJECT; - - if (assertion.alternatives.length === 0) { - // the body of the assertion can never accept any input string - return REJECT; - } else if (isPotentiallyEmpty(assertion.alternatives)) { - // the body of the assertion can always accept any input string - return ACCEPT; - } else { - return Result.DEPENDS; - } -} -/** - * Returns whether the assertion always trivially accepts/rejects because the next character after it is known. - * - * @param assertion - * @param after - * @param context - */ -function getTrivialResultWithAfter( - assertion: NoParent, - after: FirstLookChar, - context: TransformContext -): Result { - // the idea here is that a negate assertion accepts when non-negated version reject and vise versa. - const ACCEPT = assertion.negate ? Result.REJECT : Result.ACCEPT; - const REJECT = assertion.negate ? Result.ACCEPT : Result.REJECT; - - const direction = toMatchingDirection(assertion.kind); - - if (tryRemoveRejectingAssertionBranches(assertion, after.char, after.edge, direction, context.maxCharacter)) { - context.signalMutation(); - - if (assertion.alternatives.length === 0) { - // the body of the assertion can never accept any input string - return REJECT; - } - } - - if (after.edge) { - return Result.DEPENDS; - } - - const firstOf = getFirstCharConsumedBy(assertion.alternatives, direction, context.maxCharacter); - if (firstOf.empty) { - return Result.DEPENDS; - } - - // Careful now! If exact is false, we are only guaranteed to have a superset of the actual character. - // False negatives are fine but we can't have false positives. - - if (after.char.isDisjointWith(firstOf.char)) { - return REJECT; - } - - // accept is harder because that can't generally be decided by the first character - - // if this contains another assertion then that might reject. It's out of our control - if (!hasSomeDescendant(assertion, d => d !== assertion && d.type === "Assertion")) { - const range = getLengthRange(assertion.alternatives); - // we only check the first character, so it's only correct if the assertion requires only one - // character - if (range && range.max === 1) { - // require exactness - if (firstOf.exact && after.char.isSubsetOf(firstOf.char)) { - return ACCEPT; - } - } - } - - return Result.DEPENDS; -} -/** - * Returns whether the assertion always trivially accepts/rejects because of a single neighboring assertion - * no matter the input string. - * - * @param concatStack - * @param assertion - * @param context - */ -function getTrivialResultBecauseOfNeighbor( - concatStack: readonly NoParent[], - assertion: NoParent, - context: TransformContext -): Result { - const parent = concatStack[concatStack.length - 1]; - if (parent.type !== "Concatenation") { - throw new Error("Assertion is not a child of a concatenation"); - } - - const direction = toMatchingDirection(assertion.kind); - - const index = parent.elements.indexOf(assertion); - const inc = incrementFor(invertMatchingDirection(direction)); - - // the description of this function says "neighboring assertion", but we actually only need to check - // the neighbors in the opposite direction of the assertion. The other direction is check by the - // character check in `analyzeAssertion` - for (let i = index + inc; i >= 0 && i < parent.elements.length; i += inc) { - const element = parent.elements[i]; - if (element.type !== "Assertion") { - break; - } - if (element.kind !== assertion.kind || element.negate) { - continue; - } - - const after = firstConsumedToLook( - getFirstCharConsumedBy(element.alternatives, direction, context.maxCharacter) - ); - const result = getTrivialResultWithAfter(assertion, after, context); - if (result !== Result.DEPENDS) { - return result; - } - } - - return Result.DEPENDS; -} -function analyzeAssertion( - concatStack: readonly NoParent[], - assertion: NoParent, - context: TransformContext -): Result { - const trivial = getTrivialResult(assertion); - if (trivial !== Result.DEPENDS) { - return trivial; - } - const trivialNeighbor = getTrivialResultBecauseOfNeighbor(concatStack, assertion, context); - if (trivialNeighbor !== Result.DEPENDS) { - return trivialNeighbor; - } - - // Now that the easy trivial cases are over, we have to be a little more clever. The basic idea here is that we - // compare the first character that the regex consumes before/after the assertion can compare that character - // with the first character the assertion asserts. This will filter out a lot of trivial assertions. - - const direction = toMatchingDirection(assertion.kind); - const after = getFirstCharAfter(stackPath(concatStack, assertion), direction, context.maxCharacter); - return getTrivialResultWithAfter(assertion, after, context); -} - -function removeTrivialAssertions( - node: NoParent, - isTrivial: (assertion: NoParent) => Result, - { signalMutation }: TransformContext -): void { - for (let i = 0; i < node.elements.length; i++) { - const element = node.elements[i]; - if (element.type === "Assertion") { - const trivial = isTrivial(element); - if (trivial === Result.ACCEPT) { - // remove assertion - signalMutation(); - node.elements.splice(i, 1); - i--; - } else if (trivial === Result.REJECT) { - // remove branch - signalMutation(); - node.elements = [emptyAlternation()]; - break; - } - } - } -} -function isNegatedSingleCharAssertion( - element: NoParent -): element is SingleCharacterParent & { negate: true } { - return element.negate && isSingleCharacterParent(element); -} -/** - * Removes adjacent assertions that can trivially be removed (e.g. `^^` => `^^`, `(?!\w)(?!\d)` => `(?!\w)`). - * - * @param elements - * @param kind - * @param context - */ -function removeAdjacentAssertions( - elements: NoParent[], - kind: Assertion["kind"], - context: TransformContext -): void { - if (elements.length < 2) { - return; - } - - function removeNested(node: NoParent, direction: MatchingDirection, char: CharSet): void { - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - for (const { elements } of node.alternatives) { - for (let i = firstIndex; inRange(elements, i); i += inc) { - const element = atInRange(elements, i); - if (element.type === "Assertion") { - if (element.kind === kind && isNegatedSingleCharAssertion(element)) { - const elementChar = element.alternatives[0].elements[0].characters; - if (elementChar.isSubsetOf(char)) { - // remove - context.signalMutation(); - elements.splice(i, 1); - i -= inc; - } - } - } else if (element.type === "Alternation" || (element.type === "Quantifier" && element.max === 1)) { - removeNested(element, direction, char); - break; - } else { - break; - } - } - } - } - - const direction = toMatchingDirection(kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - for (let i = firstIndex; inRange(elements, i); i += inc) { - const assertion = atInRange(elements, i); - if (assertion.type !== "Assertion" || assertion.kind !== kind || !isNegatedSingleCharAssertion(assertion)) { - continue; - } - const assertionChar = assertion.alternatives[0].elements[0].characters; - - let assertionRemoved = false; - for (let j = i + inc; inRange(elements, j); j += inc) { - const other = atInRange(elements, j); - if (other.type === "Assertion") { - if (other.kind === kind && isNegatedSingleCharAssertion(other)) { - const otherChar = other.alternatives[0].elements[0].characters; - if (otherChar.isSubsetOf(assertionChar)) { - // remove the other assertion - context.signalMutation(); - elements.splice(j, 1); - j -= inc; - } else if (otherChar.isSupersetOf(assertionChar)) { - // remove the i assertion - context.signalMutation(); - assertionRemoved = true; - elements.splice(i, 1); - i -= inc; - break; - } - } else { - // move to the next element - } - } else { - break; - } - } - - if (!assertionRemoved) { - for (let j = i + inc; inRange(elements, j); j += inc) { - const other = atInRange(elements, j); - if (other.type === "Assertion") { - // move to the next element - } else if (other.type === "Alternation" || (other.type === "Quantifier" && other.max === 1)) { - removeNested(other, direction, assertionChar); - break; - } else { - break; - } - } - for (let j = i - inc; inRange(elements, j); j -= inc) { - const other = atInRange(elements, j); - if (other.type === "Assertion") { - // move to the next element - } else if (other.type === "Alternation" || (other.type === "Quantifier" && other.max === 1)) { - removeNested(other, invertMatchingDirection(direction), assertionChar); - break; - } else { - break; - } - } - } - } -} - -/** - * This removes optional breaches at the end of the expression tree of assertions. - * E.g. `(?!a+)` => `(?!a)`. - * - * @param assertion - * @param context - */ -function removeDeadBranches(assertion: NoParent, context: TransformContext): void { - const direction = invertMatchingDirection(assertion.kind); - - const firstIndex = firstIndexFor(direction); - const inc = incrementFor(direction); - - const remove = (concat: NoParent): void => { - const { elements } = concat; - - for (let i = firstIndex; inRange(elements, i); i += inc) { - const element = atInRange(elements, i); - - if (isPotentiallyEmpty(element)) { - // remove - context.signalMutation(); - elements.splice(i, 1); - i -= inc; - continue; - } - - if (element.type === "Quantifier" && element.min !== element.max) { - // e.g. `(?=a{2,})` => `(?=a{2})` - context.signalMutation(); - element.max = element.min; - element.lazy = false; - } - - if (element.type === "Alternation") { - element.alternatives.forEach(remove); - } - - break; - } - }; - - assertion.alternatives.forEach(remove); -} - -/** - * E.g. `(?!a|$)` => `(?=[^a])` and `(?=a|$)` => `(?![^a])`. - * - * @param assertion - * @param context - */ -function removeEdgeAssertion(assertion: NoParent, context: TransformContext): void { - if (assertion.alternatives.length !== 2) { - return; - } - - const hasCharacter = assertion.alternatives.findIndex(a => { - return a.elements.length === 1 && a.elements[0].type === "CharacterClass"; - }); - const hasEdgeAssertion = assertion.alternatives.findIndex(a => { - if (a.elements.length !== 1) { - return false; - } - const single = a.elements[0]; - return ( - single.type === "Assertion" && - single.kind === assertion.kind && - single.negate && - isSingleCharacterParent(single) && - single.alternatives[0].elements[0].characters.isAll - ); - }); - - if (hasCharacter === -1 || hasEdgeAssertion === -1) { - return; - } - - context.signalMutation(); - assertion.alternatives.splice(hasEdgeAssertion, 1); - debugAssert(isSingleCharacterParent(assertion)); - const char = assertion.alternatives[0].elements[0]; - char.characters = char.characters.negate(); - assertion.negate = !assertion.negate; -} - -/** - * This will remove all assertions that are known to always reject/accept no matter the input string. - * - * @param _options - */ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function removeUnnecessaryAssertions(_options?: Readonly): Transformer { - return { - name: "removeUnnecessaryAssertions", - - onAssertion(node, context) { - removeDeadBranches(node, context); - removeEdgeAssertion(node, context); - }, - - onConcatenation(node, context) { - removeTrivialAssertions(node, getTrivialResult, context); - - removeAdjacentAssertions(node.elements, "ahead", context); - removeAdjacentAssertions(node.elements, "behind", context); - }, - - onExpression(node: NoParent, context: TransformContext): void { - const stack: NoParent[] = []; - function enter(node: never): void { - stack.push(node); - } - function leave(): void { - stack.pop(); - } - - visitAst(node, { - onAlternationEnter: enter, - onAssertionEnter: enter, - onConcatenationEnter: enter, - onExpressionEnter: enter, - onQuantifierEnter: enter, - - onAlternationLeave: leave, - onAssertionLeave: leave, - onConcatenationLeave(node) { - removeTrivialAssertions(node, a => analyzeAssertion(stack, a, context), context); - - leave(); - }, - onExpressionLeave: leave, - onQuantifierLeave: leave, - }); - }, - }; -} diff --git a/src/transformers/replace-assertions.ts b/src/transformers/replace-assertions.ts deleted file mode 100644 index f7ed6268..00000000 --- a/src/transformers/replace-assertions.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { NoParent, Parent, TransformContext, Transformer } from "../ast"; -import { filterMut } from "../util"; -import { CreationOptions } from "./creation-options"; - -export interface RemoveAssertionsCreationOptions extends CreationOptions { - /** - * @default "empty-set" - */ - replacement?: "empty-set" | "empty-word"; -} - -function onParent(node: NoParent, context: TransformContext): void { - filterMut(node.alternatives, alternative => { - if (alternative.elements.some(e => e.type === "Assertion")) { - context.signalMutation(); - return false; - } - return true; - }); -} - -/** - * This transformer will all assertions with either the empty set or the empty word. - * - * @param options - */ -export function replaceAssertions(options?: Readonly): Transformer { - const replacement = options?.replacement ?? "empty-set"; - - if (replacement === "empty-word") { - return { - name: "replaceAssertions", - onConcatenation(node, { signalMutation }) { - filterMut(node.elements, element => { - if (element.type === "Assertion") { - signalMutation(); - return false; - } - return true; - }); - }, - }; - } else { - return { - name: "replaceAssertions", - onAlternation: onParent, - onExpression: onParent, - onQuantifier: onParent, - }; - } -} diff --git a/src/transformers/simplify.ts b/src/transformers/simplify.ts deleted file mode 100644 index f74ca8a5..00000000 --- a/src/transformers/simplify.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { CombinedTransformer } from "../ast"; -import { applyAssertions } from "./apply-assertions"; -import { CreationOptions } from "./creation-options"; -import { factorOut } from "./factor-out"; -import { inline } from "./inline"; -import { makeGreedy } from "./make-greedy"; -import { mergeWithQuantifier } from "./merge-with-quantifier"; -import { moveUpEmpty } from "./move-up-empty"; -import { nestedQuantifiers } from "./nested-quantifiers"; -import { removeDeadBranches } from "./remove-dead-branches"; -import { removeUnnecessaryAssertions } from "./remove-unnecessary-assertions"; -import { sortAssertions } from "./sort-assertions"; -import { unionCharacters } from "./union-characters"; - -/** - * This transformer is a combined transformer with the goal of simplifying the AST as much as possible without - * changing the semantics. - * - * The main purpose of this transformer is to provide a stable API. The specific functionality of individual - * transformers may change over time, and transformers may depend on each other. This transformer will always - * provide the same functionality. Namely, it will always simplify the AST. - * - * As with all transformers, creation option can be provided. Depending on the options, a different set of - * underlying transformers may be used. - * - * @param options - */ -export function simplify(options?: Readonly): CombinedTransformer { - return new CombinedTransformer([ - removeUnnecessaryAssertions(options), - applyAssertions(options), - sortAssertions(options), - factorOut(options), - makeGreedy(options), - removeUnnecessaryAssertions(options), - mergeWithQuantifier(options), - moveUpEmpty(options), - nestedQuantifiers(options), - inline(options), - removeDeadBranches(options), - unionCharacters(options), - ]); -} diff --git a/src/transformers/sort-assertions.ts b/src/transformers/sort-assertions.ts deleted file mode 100644 index f8b2ebcd..00000000 --- a/src/transformers/sort-assertions.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Assertion, NoParent, Transformer } from "../ast"; -import { CreationOptions } from "./creation-options"; - -function compare(a: NoParent, b: NoParent): number { - if (a.kind !== b.kind) { - return a.kind === "ahead" ? 1 : -1; - } else { - return 0; - } -} -/** - * A simple implementation of a stable sorting method - selection sort. - * - * Returns whether the given array was changed. - * - * @param array - * @param compareFn - */ -function stableSort(array: T[], compareFn: (a: T, b: T) => number): boolean { - const n = array.length; - let changed = false; - - for (let i = 0; i < n - 1; i++) { - let minIndex = i; - for (let j = i + 1; j < n; j++) { - if (compareFn(array[j], array[minIndex]) < 0) { - minIndex = j; - } - } - if (minIndex !== i) { - changed = true; - [array[minIndex], array[i]] = [array[i], array[minIndex]]; - } - } - - return changed; -} - -/** - * Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads. - * - * This is operation may be necessary for other transformers to pick up on certain patterns. - * - * E.g. `(?=a)(?!b)(? `(?): Transformer { - return { - name: "sortAssertions", - onConcatenation(node, { signalMutation }) { - let runStart = 0; - let runLength = 0; - function sort(): void { - const slice = node.elements.slice(runStart, runStart + runLength) as NoParent[]; - if (stableSort(slice, compare)) { - node.elements.splice(runStart, runLength, ...slice); - signalMutation(); - } - } - for (let i = 0; i < node.elements.length; i++) { - const current = node.elements[i]; - if (current.type === "Assertion") { - if (runLength === 0) { - runStart = i; - } - runLength++; - } else { - if (runLength > 1) { - sort(); - } - runLength = 0; - } - } - if (runLength > 1) { - sort(); - } - }, - }; -} diff --git a/src/transformers/union-characters.ts b/src/transformers/union-characters.ts deleted file mode 100644 index 9ac597df..00000000 --- a/src/transformers/union-characters.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { CharacterClass, Concatenation, NoParent, Parent, TransformContext, Transformer } from "../ast"; -import { filterMut } from "../util"; -import { CreationOptions } from "./creation-options"; - -function isSingleCharacterAlternative( - alt: NoParent -): alt is { type: "Concatenation"; elements: [NoParent] } { - return alt.elements.length === 1 && alt.elements[0].type === "CharacterClass"; -} - -/** - * Combines single-character alternatives. - * - * This rule will try to combine as many character classes as possible to simplify the regular expression. - * - * E.g. `a|b|c` => `[abc]`. - * - * @param options - */ -export function unionCharacters(options?: Readonly): Transformer { - const preserveOrder = !options?.ignoreOrder; - const preserveAmbiguity = !options?.ignoreAmbiguity; - - function onParent(node: NoParent, { signalMutation }: TransformContext): void { - const { alternatives } = node; - if (alternatives.length < 2) { - return; - } - - let mainCharacter: NoParent | undefined = undefined; - let adjacent = true; - filterMut(alternatives, alternative => { - if (isSingleCharacterAlternative(alternative)) { - const element: NoParent = alternative.elements[0]; - - if ( - mainCharacter === undefined || - // If order is to be preserved, character classes have to be adjacent. This works because we can - // safely ignore the order of adjacent single-character alternatives - // (e.g. /a|b/ == /b|a/ == /[ab]/). However, this is only true for single-character alternatives - // (e.g. /a|bb|b/ != /a|b|bb/ == /[ab]|bb/). - // - // There are also cases where we could reorder alternatives without changing the regex - // (e.g. /a|cc|b/ == /a|b|cc/ == /[ab]|cc/) but the current simple implementation seems to be good - // enough for now. - (!adjacent && preserveOrder) - ) { - // this is the first single character class found - mainCharacter = element; - return true; - } - - if (preserveAmbiguity) { - // find the common characters. The regex is ambiguous for all of them. E.g. /\w|[a-z-]/ - const ambiguousChars = mainCharacter.characters.intersect(element.characters); - if (element.characters.equals(ambiguousChars)) { - // This means that the current character set is a subset of the main character set. - // E.g. /\w|a/ - // In this case, we leave everything as is. - return true; - } else { - signalMutation(); - mainCharacter.characters = mainCharacter.characters.union(element.characters); - if (ambiguousChars.isEmpty) { - // The two character sets are disjoint, so we can just remove the second one. - // E.g. /a|b/ => /[ab]/ - return false; - } else { - // The two character sets are not disjoint. We will simplify the second one preserving - // ambiguity. E.g. /[ab]|[bc]/ => /[abc]|b/ - element.characters = ambiguousChars; - return true; - } - } - } else { - signalMutation(); - mainCharacter.characters = mainCharacter.characters.union(element.characters); - return false; - } - } else { - adjacent = false; - return true; - } - }); - } - - return { - name: "unionCharacters", - onAlternation: onParent, - onAssertion: onParent, - onExpression: onParent, - onQuantifier: onParent, - }; -} diff --git a/src/transformers/util.ts b/src/transformers/util.ts deleted file mode 100644 index 34de68ff..00000000 --- a/src/transformers/util.ts +++ /dev/null @@ -1,389 +0,0 @@ -import { - Alternation, - Assertion, - CharacterClass, - Concatenation, - Element, - NoParent, - Node, - Parent, - SourceLocation, -} from "../ast"; -import { - MatchingDirection, - getFirstCharConsumedBy, - getLengthRange, - hasSomeDescendant, - isPotentiallyEmpty, - isZeroLength, - toMatchingDirection, -} from "../ast-analysis"; -import { CharSet } from "../char-set"; -import { Char } from "../char-types"; -import { assertNever, filterMut } from "../util"; - -export function emptyAlternation(): NoParent { - return { - type: "Alternation", - alternatives: [], - }; -} - -export function copySource(source: Readonly | undefined): SourceLocation | undefined { - if (source) { - return { start: source.start, end: source.end }; - } else { - return undefined; - } -} -export function copyNode>(node: T): T { - return copyNodeImpl(node) as T; -} -function copyNodeImpl(node: NoParent): NoParent { - const n = node as NoParent; - switch (n.type) { - case "Alternation": - return { - type: "Alternation", - source: copySource(n.source), - alternatives: n.alternatives.map(e => copyNode(e)), - }; - case "Assertion": - return { - type: "Assertion", - kind: n.kind, - negate: n.negate, - source: copySource(n.source), - alternatives: n.alternatives.map(e => copyNode(e)), - }; - case "CharacterClass": - return { - type: "CharacterClass", - source: copySource(n.source), - characters: n.characters, - }; - case "Concatenation": - return { - type: "Concatenation", - source: copySource(n.source), - elements: n.elements.map(e => copyNode(e)), - }; - case "Expression": - return { - type: "Expression", - source: copySource(n.source), - alternatives: n.alternatives.map(e => copyNode(e)), - }; - case "Quantifier": - return { - type: "Quantifier", - lazy: n.lazy, - min: n.min, - max: n.max, - source: copySource(n.source), - alternatives: n.alternatives.map(e => copyNode(e)), - }; - case "Unknown": - return { - type: "Unknown", - id: n.id, - source: copySource(n.source), - }; - default: - assertNever(n); - } -} - -export function countNodes(node: NoParent): number { - switch (node.type) { - case "CharacterClass": - case "Unknown": - return 1; - case "Alternation": - case "Assertion": - case "Expression": - case "Quantifier": - return node.alternatives.reduce((sum, alt) => sum + countNodes(alt), 1); - case "Concatenation": - return node.elements.reduce((sum, el) => sum + countNodes(el), 1); - default: - return assertNever(node); - } -} - -export function getMaxDepth(node: NoParent): number { - switch (node.type) { - case "CharacterClass": - case "Unknown": - return 1; - case "Alternation": - case "Assertion": - case "Expression": - case "Quantifier": - return node.alternatives.reduce((sum, alt) => Math.max(sum, getMaxDepth(alt)), 0) + 1; - case "Concatenation": - return node.elements.reduce((sum, el) => Math.max(sum, getMaxDepth(el)), 0) + 1; - default: - return assertNever(node); - } -} - -export function at(arr: readonly T[], signedIndex: number): T | undefined { - if (signedIndex < 0) { - signedIndex += arr.length; - } - return arr[signedIndex]; -} -export function atInRange(arr: readonly T[], signedIndex: number): T { - if (signedIndex < 0) { - signedIndex += arr.length; - } - return arr[signedIndex]; -} -export function setAt(arr: T[], signedIndex: number, value: T): void { - if (signedIndex < 0) { - signedIndex += arr.length; - } - arr[signedIndex] = value; -} -export function inRange(arr: ReadonlyArray, signedIndex: number): boolean { - return signedIndex < arr.length && -signedIndex <= arr.length; -} -export function firstIndexFor(direction: MatchingDirection): 0 | -1 { - return direction === "ltr" ? 0 : -1; -} -export function lastIndexFor(direction: MatchingDirection): 0 | -1 { - return direction === "ltr" ? -1 : 0; -} -export function incrementFor(direction: MatchingDirection): 1 | -1 { - return direction === "ltr" ? +1 : -1; -} - -export type SingleCharacterParent = NoParent & { - alternatives: [{ elements: [NoParent] }]; -}; -export function isSingleCharacterParent(element: NoParent): element is SingleCharacterParent { - return ( - element.alternatives.length === 1 && - element.alternatives[0].elements.length === 1 && - element.alternatives[0].elements[0].type === "CharacterClass" - ); -} - -export function tryInlineAssertions(alternatives: NoParent[], kind: Assertion["kind"]): boolean { - let changed = false; - for (const alt of alternatives) { - if (tryInlineAssertionsConcat(alt, kind)) { - changed = true; - } - } - return changed; -} -function tryInlineAssertionsConcat({ elements }: NoParent, kind: Assertion["kind"]): boolean { - if (elements.length === 0) { - return false; - } - - const increment = kind === "behind" ? +1 : -1; - const startIndex = kind === "behind" ? 0 : -1; - - let assertion: NoParent | undefined = undefined; - let assertionIndex = NaN; - for (let i = startIndex; inRange(elements, i); i += increment) { - const element = atInRange(elements, i); - if (element.type === "Assertion" && !element.negate && element.kind === kind) { - assertion = element; - assertionIndex = i; - break; - } else if (!isZeroLength(element)) { - break; - } - } - - if (assertion) { - elements.splice(assertionIndex, 1); - - tryInlineAssertions(assertion.alternatives, kind); - - const inlineElements: NoParent[] = - assertion.alternatives.length === 1 - ? assertion.alternatives[0].elements - : [ - { - type: "Alternation", - alternatives: assertion.alternatives, - source: assertion.source, - }, - ]; - if (kind === "behind") { - elements.unshift(...inlineElements); - } else { - elements.push(...inlineElements); - } - - return true; - } else { - const element = at(elements, startIndex); - if (element && (element.type === "Alternation" || (element.type === "Quantifier" && element.max === 1))) { - return tryInlineAssertions(element.alternatives, kind); - } else { - return false; - } - } -} - -export function tryRemoveRejectingAssertionBranches( - parent: NoParent, - char: CharSet, - edge: boolean, - direction: MatchingDirection, - maxCharacter: Char -): boolean { - let changed = false; - - const enum EliminationResult { - REMOVE_BRANCH, - REMOVE_ELEMENT, - KEEP, - } - function eliminateElement(element: NoParent): EliminationResult { - switch (element.type) { - case "Assertion": { - if (!edge || !element.negate) { - const reject = element.negate ? EliminationResult.REMOVE_ELEMENT : EliminationResult.REMOVE_BRANCH; - const accept = element.negate ? EliminationResult.REMOVE_BRANCH : EliminationResult.REMOVE_ELEMENT; - - if (element.alternatives.length === 0) { - return reject; - } else if (isPotentiallyEmpty(element.alternatives)) { - return accept; - } - - if (toMatchingDirection(element.kind) === direction) { - if (tryRemoveRejectingAssertionBranches(element, char, edge, direction, maxCharacter)) { - changed = true; - - if (element.alternatives.length === 0) { - return reject; - } - } - - const firstOf = getFirstCharConsumedBy(element.alternatives, direction, maxCharacter); - if (firstOf.empty) { - return EliminationResult.KEEP; - } else if (char.isDisjointWith(firstOf.char)) { - return reject; - } - - // if this contains another assertion then that might reject. It's out of our control - if (!hasSomeDescendant(element, d => d !== element && d.type === "Assertion")) { - const range = getLengthRange(element.alternatives); - // we only check the first character, so it's only correct if the assertion requires only one - // character - if (range && range.max === 1) { - // require exactness - if (firstOf.exact && char.isSubsetOf(firstOf.char)) { - return accept; - } - } - } - } - } - - return EliminationResult.KEEP; - } - case "Alternation": { - if (tryRemoveRejectingAssertionBranches(element, char, edge, direction, maxCharacter)) { - changed = true; - } - - if (element.alternatives.length === 0) { - return EliminationResult.REMOVE_BRANCH; - } else { - return EliminationResult.KEEP; - } - } - case "CharacterClass": { - if (element.characters.isDisjointWith(char)) { - return EliminationResult.REMOVE_BRANCH; - } else { - return EliminationResult.KEEP; - } - } - case "Quantifier": { - if (element.max === 0) { - return EliminationResult.REMOVE_ELEMENT; - } else if (element.max === 1) { - if (tryRemoveRejectingAssertionBranches(element, char, edge, direction, maxCharacter)) { - changed = true; - } - - if (element.alternatives.length === 0) { - if (element.min === 0) { - return EliminationResult.REMOVE_ELEMENT; - } else { - return EliminationResult.REMOVE_BRANCH; - } - } else { - return EliminationResult.KEEP; - } - } else { - const firstChar = getFirstCharConsumedBy(element.alternatives, direction, maxCharacter); - if (!firstChar.empty && firstChar.char.isDisjointWith(char)) { - if (element.min === 0) { - return EliminationResult.REMOVE_ELEMENT; - } else { - return EliminationResult.REMOVE_BRANCH; - } - } else { - return EliminationResult.KEEP; - } - } - } - case "Unknown": { - return EliminationResult.KEEP; - } - default: - assertNever(element); - } - } - - filterMut(parent.alternatives, alt => { - const startIndex = direction === "ltr" ? 0 : -1; - const inc = direction === "ltr" ? +1 : -1; - - for (let i = startIndex; inRange(alt.elements, i); i += inc) { - const element = atInRange(alt.elements, i); - const result = eliminateElement(element); - - if (result === EliminationResult.REMOVE_ELEMENT) { - // remove & next round - changed = true; - alt.elements.splice(i, 1); - i -= inc; - } else if (result === EliminationResult.REMOVE_BRANCH) { - changed = true; - return false; - } else if (element.type === "Assertion") { - // just move on the the next element - } else { - if ( - (element.type === "Alternation" || - (element.type === "Quantifier" && element.min === 1 && element.max === 1)) && - element.alternatives.length === 1 - ) { - // inline & next round - changed = true; - alt.elements.splice(i, 1, ...element.alternatives[0].elements); - i -= inc; - } else { - return true; - } - } - } - - return true; - }); - - return changed; -} diff --git a/src/util.ts b/src/util.ts deleted file mode 100644 index 1200e443..00000000 --- a/src/util.ts +++ /dev/null @@ -1,388 +0,0 @@ -export interface CachedFunc { - (value: S): T; - readonly cache: Map; -} - -export function cachedFunc(func: (value: S) => T): CachedFunc { - function wrapper(value: S): T { - let cached = wrapper.cache.get(value); - if (cached === undefined) { - wrapper.cache.set(value, (cached = func(value))); - } - return cached; - } - wrapper.cache = new Map(); - - return wrapper; -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const isReadonlyArray: (value: unknown) => value is readonly any[] = Array.isArray; - -/** - * This is functionally equivalent to `Array.prototype.filter` but it mutates the given array. - * - * @param array - * @param filter - */ -export function filterMut(array: T[], filter: (arg: T, prev: T | undefined) => boolean): void { - let deleteCount = 0; - for (let i = 0; i < array.length; i++) { - const element = array[i]; - if (filter(element, array[i - deleteCount - 1])) { - array[i - deleteCount] = element; - } else { - deleteCount++; - } - } - array.splice(array.length - deleteCount, deleteCount); -} - -export function swapRemove(array: T[], index: number): void { - if (index === array.length - 1) { - array.pop(); - } else { - array[index] = array.pop()!; - } -} - -export function minOf(iter: Iterable, cost: (value: T) => number): T | undefined { - let min: T | undefined = undefined; - let minCost = Infinity; - for (const value of iter) { - const valueCost = cost(value); - if (valueCost < minCost) { - min = value; - minCost = valueCost; - } - } - return min; -} - -export function iterToArray(iter: Iterable): readonly T[] { - return Array.isArray(iter) ? iter : [...iter]; -} -export function iterToSet(iter: Iterable): ReadonlySet { - return iter instanceof Set ? iter : new Set(iter); -} - -export function firstOf(iter: Iterable): T | undefined { - for (const value of iter) { - return value; - } - return undefined; -} - -export function withoutSet(s1: Iterable, s2: ReadonlySet): Set { - const s = new Set(); - for (const x of s1) { - if (!s2.has(x)) { - s.add(x); - } - } - return s; -} -export function intersectSet(s1: Iterable, s2: ReadonlySet): Set { - const s = new Set(); - for (const x of s1) { - if (s2.has(x)) { - s.add(x); - } - } - return s; -} - -/** - * Performs a depth first search on the given root element. - * - * @param rootElement - * @param next - */ -// eslint-disable-next-line @typescript-eslint/naming-convention -export function DFS(rootElement: S, next: (element: S) => Iterable): void { - // It's important that this is implemented iteratively. - // A recursive implementation might cause a stack overflow. - - const visited = new Set(); - - interface StackFrame { - element: S; - nextElements?: readonly S[]; - nextIndex: number; - } - - const stack: StackFrame[] = [ - { - element: rootElement, - nextIndex: -1, - }, - ]; - - while (stack.length > 0) { - const top = stack[stack.length - 1]; - - if (top.nextIndex === -1) { - // first time seeing this stack frame - visited.add(top.element); - - top.nextElements = iterToArray(next(top.element)); - } - - const nextElements = top.nextElements; - - if (!nextElements) { - throw new Error("This should not happen."); - } - - // start with the first element - top.nextIndex++; - - if (top.nextIndex >= nextElements.length) { - stack.pop(); - continue; - } - - // add a new stack frame for the next element - const nextElement = nextElements[top.nextIndex]; - if (visited.has(nextElement)) { - // already processed the element - continue; - } - - stack.push({ - element: nextElement, - nextIndex: -1, - }); - } -} - -export function* iterateBFS(startElements: Iterable, next: (element: S) => Iterable): Iterable { - const visited = new Set(); - let visitNow: S[] = [...startElements]; - let visitNext: S[] = []; - - while (visitNow.length > 0) { - for (const node of visitNow) { - if (!visited.has(node)) { - visited.add(node); - yield node; - visitNext.push(...next(node)); - } - } - - // swap arrays - [visitNow, visitNext] = [visitNext, visitNow]; - // clear visitNext - visitNext.length = 0; - } -} - -/** - * An array that is only allowed to consume items. - * - * This is a write-only view of an array. - */ -export interface ConsumerArray { - push(...items: T[]): void; -} - -/** - * Traverses the given graph in any order. All elements will be visited exactly once. - * - * @param root - * @param next - */ -export function traverse(root: S, next: (element: S, queue: ConsumerArray) => void): void { - const visited = new Set(); - const toCheck: S[] = [root]; - - let element; - while (toCheck.length) { - element = toCheck.pop() as S; - if (!visited.has(element)) { - visited.add(element); - next(element, toCheck); - } - } -} -/** - * Traverses the given graph in any order. All elements will be visited exactly once. - * - * @param roots - * @param next - */ -export function traverseMultiRoot(roots: Iterable, next: (element: S, queue: ConsumerArray) => void): void { - const visited = new Set(); - const toCheck: S[] = [...roots]; - - let element; - while (toCheck.length) { - element = toCheck.pop() as S; - if (!visited.has(element)) { - visited.add(element); - next(element, toCheck); - } - } -} - -export function assertNever(value: never, message?: string): never { - const error = new Error(message); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (error as any).data = value; - throw error; -} - -export function debugAssert(condition: boolean, message?: string): asserts condition { - if (!condition) { - throw new Error("Debug assertion failed." + (message !== undefined ? "Message: " + message : "")); - } -} - -export type UnionIterable = Iterable & { __unionIterable?: never }; -export type ConcatIterable = Iterable & { __concatIterable?: never }; - -export function* unionSequences(sequencesSet: UnionIterable>): UnionIterable { - for (const sequences of sequencesSet) { - yield* sequences; - } -} -export function* flatConcatSequences( - sequencesList: ConcatIterable> -): UnionIterable { - for (const combination of iterateCombinations(sequencesList)) { - const wordSet: T[] = []; - for (const item of combination) { - wordSet.push(...item); - } - yield wordSet; - } -} -export function* concatSequences(sequencesList: ConcatIterable>): UnionIterable { - for (const combination of iterateCombinations(sequencesList)) { - yield [...combination]; - } -} -export function* repeatSequences( - counts: UnionIterable, - sequences: UnionIterable, - concat: (list: ConcatIterable>) => UnionIterable -): UnionIterable { - sequences = toStableIter(sequences); - - for (const count of counts) { - const concatSeq: UnionIterable[] = []; - for (let i = 0; i < count; i++) { - concatSeq.push(sequences); - } - yield* concat(concatSeq); - } -} - -class LazyStableIterable implements Iterable { - private readonly _iterator: Iterator; - private readonly _cache: T[] = []; - private _fullyCached = false; - constructor(iter: Iterable) { - this._iterator = iter[Symbol.iterator](); - } - [Symbol.iterator](): Iterator { - if (this._fullyCached) { - return this._cache[Symbol.iterator](); - } else { - return (function* (instance: LazyStableIterable) { - const { _cache: cache, _iterator: iterator } = instance; - - let i = 0; - while (!instance._fullyCached) { - if (i < cache.length) { - yield cache[i]; - i++; - } else { - const next = iterator.next(); - if (next.done) { - instance._fullyCached = true; - } else { - const { value } = next; - cache.push(value); - yield value; - i++; - } - } - } - - for (; i < cache.length; i++) { - yield cache[i]; - } - })(this); - } - } -} - -/** - * Returns an iterable that can be iterated multiple times. - * - * If the given iterable is already stable, the given parameter will be returned. - * - * @param iter - * @returns - */ -function toStableIter(iter: Iterable): Iterable { - if (Array.isArray(iter) || iter instanceof Set || iter instanceof LazyStableIterable) { - return iter as Iterable; - } else { - return new LazyStableIterable(iter); - } -} - -/** - * This function only yields one array. You are not allowed to modify the yielded array and you have to make a copy of - * it before this iterator yields the next value. - * - * @param sequences - */ -function* iterateCombinations(sequences: ConcatIterable>): Iterable> { - const iterables = iterToArray(sequences).map(toStableIter); - const iterators = iterables.map(iter => iter[Symbol.iterator]()); - const values: T[] = []; - - for (const iter of iterators) { - const result = iter.next(); - if (result.done) { - // one of the iterators is empty - return; - } - values.push(result.value); - } - - yield values; - - if (iterators.length === 0) { - return; - } - - for (;;) { - for (let i = iterators.length - 1; i >= 0; i--) { - const result = iterators[i].next(); - if (result.done) { - if (i === 0) { - // finished iterating all combinations - return; - } else { - // restart - iterators[i] = iterables[i][Symbol.iterator](); - const restartResult = iterators[i].next(); - if (restartResult.done) { - throw new Error(); - } else { - values[i] = restartResult.value; - } - } - } else { - values[i] = result.value; - break; - } - } - - yield values; - } -} diff --git a/src/word-set.ts b/src/word-set.ts deleted file mode 100644 index 608592f7..00000000 --- a/src/word-set.ts +++ /dev/null @@ -1,22 +0,0 @@ -import type { CharSet } from "./char-set"; - -/** - * A word set is finite sequence of non-empty {@link CharSet}s. - * - * All {@link CharSet}s are guaranteed to be non-empty and to have the same maximum. - * - * All FA and regex implementations are based on either {@link CharSet}s or {@link CharRange}s. This is necessary - * because it's not practical to represent the large character sets used in every-day regexes using single characters. - * Consequently, it is more efficient to work with {@link CharSet}s for them, so operations that yield the words of an - * FA or regex typically yield {@link WordSet}s instead of {@link Word}s. - * - * This type serves as a way to document word sets. It should _not_ be used interchangeably with `CharSet[]`. - */ -export type WordSet = CharSet[]; - -/** - * An immutable finite sequence of non-empty {@link CharSet}s. - * - * This is an immutable view on a {@link WordSet}. - */ -export type ReadonlyWordSet = readonly CharSet[]; diff --git a/src/words/conversion.ts b/src/words/conversion.ts deleted file mode 100644 index 561f27fa..00000000 --- a/src/words/conversion.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { ReadonlyWord, Word } from "../char-types"; - -/** - * Converts the given array of UTF16 character codes into a string. - * - * All numbers in the given array must be between 0 (inclusive) and 65535 = 0xFFFF (inclusive). - * - * @param word - */ -export function fromUTF16ToString(word: ReadonlyWord): string { - return String.fromCharCode(...word); -} - -/** - * Converts the given array of Unicode code points into a string. - * - * All numbers in the given array must be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive). - * - * @param word - */ -export function fromUnicodeToString(word: ReadonlyWord): string { - return String.fromCodePoint(...word); -} - -/** - * Converts the given string into an array of UTF16 character codes. - * - * All numbers in the returned array are guaranteed to be between 0 (inclusive) and 65535 = 0xFFFF (inclusive). - * - * @param string - */ -export function fromStringToUTF16(string: string): Word { - const word: Word = []; - - for (let i = 0, l = string.length; i < l; i++) { - word.push(string.charCodeAt(i)); - } - - return word; -} - -/** - * Converts the given string into an array of Unicode code points. - * - * All numbers in the returned array are guaranteed to be between 0 (inclusive) and 1114111 = 0x10FFFF (inclusive). - * - * @param string - */ -export function fromStringToUnicode(string: string): Word { - // https://stackoverflow.com/a/21409165/7595472 - - const word: Word = []; - - for (let i = 0, l = string.length; i < l; i++) { - const c1 = string.charCodeAt(i); - if (c1 >= 0xd800 && c1 < 0xdc00 && i + 1 < l) { - const c2 = string.charCodeAt(i + 1); - if (c2 >= 0xdc00 && c2 < 0xe000) { - word.push(0x10000 + ((c1 - 0xd800) << 10) + (c2 - 0xdc00)); - i++; - continue; - } - } - word.push(c1); - } - - return word; -} diff --git a/src/words/index.ts b/src/words/index.ts deleted file mode 100644 index 19f83e42..00000000 --- a/src/words/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./conversion"; -export * from "./readable"; -export * from "./word-set"; diff --git a/src/words/readable.ts b/src/words/readable.ts deleted file mode 100644 index a23a89c9..00000000 --- a/src/words/readable.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { CharRange, CharSet } from "../char-set"; -import { Char, Word } from "../char-types"; -import { ReadonlyWordSet } from "../word-set"; - -const READABILITY_ASCII_PRIORITY: readonly CharRange[] = [ - // A-Z - { min: 0x41, max: 0x5a }, - // a-z - { min: 0x61, max: 0x7a }, - // 0-9 - { min: 0x30, max: 0x39 }, - // - - { min: 0x2d, max: 0x2d }, - // _ - { min: 0x5f, max: 0x5f }, - // space - { min: 0x20, max: 0x20 }, - // printable ASCII - { min: 0x20, max: 0x7e }, - // tab - { min: 0x09, max: 0x09 }, - // \n - { min: 0x0a, max: 0x0a }, - // \r - { min: 0x0d, max: 0x0d }, -]; - -/** - * Returns the most humanly readable character in the given character set. Which character is picked is entirely - * implementation-defined but, generally, word characters will be picked over non-word characters and printable - * characters will be picked over non-printable characters. - * - * If the given character set is empty, `undefined` will be returned. - * - * @param set - */ -export function pickMostReadableCharacter(set: CharSet): Char | undefined { - if (set.ranges.length === 0) { - // empty - return undefined; - } else if (set.ranges.length === 1) { - const { min, max } = set.ranges[0]; - if (min === max) { - // we don't have any choice - return min; - } - } - - // search in ASCII range - for (const range of READABILITY_ASCII_PRIORITY) { - const c = set.commonCharacter(range); - if (c !== undefined) { - return c; - } - } - - // choose any character - return set.ranges[0].min; -} - -/** - * Returns a word of the given word set that is the most humanly readable. - * - * @param wordSet - */ -export function pickMostReadableWord(wordSet: ReadonlyWordSet): Word { - const word: Word = []; - for (const set of wordSet) { - const c = pickMostReadableCharacter(set); - if (c === undefined) { - throw new Error("Word sets are not allowed to contain empty character sets."); - } else { - word.push(c); - } - } - return word; -} diff --git a/src/words/word-set.ts b/src/words/word-set.ts deleted file mode 100644 index a0996ee7..00000000 --- a/src/words/word-set.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { CharSet } from "../char-set"; -import { Word } from "../char-types"; -import { concatSequences } from "../util"; -import { ReadonlyWordSet } from "../word-set"; - -function wordSetToWordsImpl(wordSet: ReadonlyWordSet): Iterable { - if (wordSet.length === 0) { - // simple base case - return [[]]; - } else if (wordSet.length === 1) { - // This is about twice as fast as calling `concatSequences`. - return charSetToWords(wordSet[0]); - } - - // The overhead of `concatSequences` can be **really** high for single-character char sets. - // So we will try to find and subtract a non-empty suffix of single-character char sets. - const suffix: Word = []; - for (let i = wordSet.length - 1; i >= 0; i--) { - const ranges = wordSet[i].ranges; - if (ranges.length === 1 && ranges[0].min === ranges[0].max) { - suffix.push(ranges[0].min); - } else { - break; - } - } - - if (suffix.length > 0) { - suffix.reverse(); - if (suffix.length === wordSet.length) { - return [suffix]; - } - - wordSet = wordSet.slice(0, wordSet.length - suffix.length); - - return (function* (): Iterable { - for (const word of wordSetToWordsImpl(wordSet)) { - word.push(...suffix); - yield word; - } - })(); - } - - return concatSequences(wordSet.map(cs => cs.characters())); -} -function* charSetToWords(set: CharSet): Iterable { - for (const c of set.characters()) { - yield [c]; - } -} - -/** - * Returns an iterable yielding all words that can be constructed from the given word sets. - * - * @param wordSets - */ -export function* wordSetsToWords(wordSets: Iterable): Iterable { - for (const wordSet of wordSets) { - yield* wordSetToWordsImpl(wordSet); - } -} - -/** - * Returns an iterable yielding all words that can be constructed from the given word set. - * - * @param wordSet - * @deprecated Use {@link wordSetsToWords} instead. - */ -export function wordSetToWords(wordSet: ReadonlyWordSet): Iterable { - return wordSetToWordsImpl(wordSet); -} diff --git a/tests/__snapshots__/char-base.ts b/tests/__snapshots__/char-base.ts deleted file mode 100644 index de3d3b87..00000000 --- a/tests/__snapshots__/char-base.ts +++ /dev/null @@ -1,2658 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`CharBase >> /a/u /[^a]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /b/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /c/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[]/u `] = lit` -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -`; - -module.exports[n`CharBase >> /[^a]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^a]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /c/u `] = lit` -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[]/u `] = lit` -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -`; - -module.exports[n`CharBase >> /[^b]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^b]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u `] = lit` -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[]/u `] = lit` -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -`; - -module.exports[n`CharBase >> /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[]/u `] = lit` -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -`; - -module.exports[n`CharBase >> /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -`; - -module.exports[n`CharBase >> /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /[]/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -`; - -module.exports[n`CharBase >> /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -`; - -module.exports[n`CharBase >> /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..10ffff] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /b/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[^b]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /c/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^a]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /b/u /[^b]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /c/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /b/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /[ab]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /b/u /[]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /c/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^b]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /c/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /[ab]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /c/u /[]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /a/u /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /a/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\w/u /[]/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /a/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[^b]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /c/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /b/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /c/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^b]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /[^c]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /c/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62, 64..7a] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\w/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -`; - -module.exports[n`CharBase >> /[^a]/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 62..7a] -`; - -module.exports[n`CharBase >> /[^a]/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\d/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^a]/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 62..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^a]/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 62..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /c/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /[^c]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^b]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /c/u /[^c]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /[ab]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /c/u /[]/u `] = lit` -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /b/u /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\w/u /[]/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /b/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /[^c]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /c/u /[]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 64..7a] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 64..10ffff] -CharSet (1114111) [62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\w/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -`; - -module.exports[n`CharBase >> /[^b]/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61, 63..7a] -`; - -module.exports[n`CharBase >> /[^b]/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\d/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^b]/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..61, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /[^b]/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..61, 63..10ffff] -CharSet (1114111) [62] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /[ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /[^]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^c]/u /[]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\w/u /[]/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /c/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /[^ab]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 64..7a] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 64..10ffff] -CharSet (1114111) [61..62] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\w/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -`; - -module.exports[n`CharBase >> /[^c]/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..62, 64..7a] -`; - -module.exports[n`CharBase >> /[^c]/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\d/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^c]/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..62, 64..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[^c]/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..62, 64..10ffff] -CharSet (1114111) [63] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /\w/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /[^]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^ab]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u /\d/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\w/u /[]/u `] = lit` -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[ab]/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u /\W/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\w/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -`; - -module.exports[n`CharBase >> /[^ab]/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 63..7a] -`; - -module.exports[n`CharBase >> /[^ab]/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\d/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /[^ab]/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..60, 63..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /[^ab]/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..60, 63..10ffff] -CharSet (1114111) [61..62] -`; - -module.exports[n`CharBase >> /\w/u /\W/u /\d/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\W/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\W/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\W/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\d/u /[]/u `] = lit` -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\w/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /\d/u /\D/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /\d/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /\d/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\W/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\W/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -CharSet (1114111) [30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`CharBase >> /\d/u /\D/u /[^]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\d/u /\D/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\d/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; - -module.exports[n`CharBase >> /\D/u /[^]/u /[]/u `] = lit` -CharSet (1114111) [0..2f, 3a..10ffff] -CharSet (1114111) [30..39] -`; diff --git a/tests/__snapshots__/dfa-min.ts b/tests/__snapshots__/dfa-min.ts deleted file mode 100644 index abd31e14..00000000 --- a/tests/__snapshots__/dfa-min.ts +++ /dev/null @@ -1,9829 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`DFA minimization >> 0: // `] = lit` -Pj2XNiUh2RAKJIx1+UfXBSfctIdaGuGl5/VxhoQo0EE= -`; - -module.exports[n`DFA minimization >> 1: /<\?[\s\S]+?\?>/ `] = lit` -5/BSkQvMJ7jFlEYaUhyQSWDEi52ve0HWeZ1qH+3bZE4= -`; - -module.exports[n`DFA minimization >> 2: //i `] = lit` -RSDOoVta4/01XJw8LiVAp64QRt3w2HuhnFfzEH7JBCE= -`; - -module.exports[n`DFA minimization >> 3: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--... `] = lit` -lxSlft2u+h4ADTgSXDFPu4u4m+63WSNBp0lE11ltAns= -`; - -module.exports[n`DFA minimization >> 4: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"... `] = lit` -i9AXU7FEHDH8AW+yp3T7egcPjoadjIYKh5v/5VSQzB8= -`; - -module.exports[n`DFA minimization >> 5: /&#x?[\da-f]{1,8};/i `] = lit` -tfySmZtBT6BqNJ2zTeu+FIJX9Hb7seqLsYAPbPIgXqA= -`; - -module.exports[n`DFA minimization >> 6: /^$|[[\]]/ `] = lit` -2DASRJ8g4XT7p7+jLXL+iz8UF2VauP7abSOyJMVt1ps= -`; - -module.exports[n`DFA minimization >> 7: /^DOCTYPE/ `] = lit` -x14YUfI6AK62FSMsrBF9xUTywhs/HZ1NVMJ97Dmynu8= -`; - -module.exports[n`DFA minimization >> 8: /[^\s<>'"]+/ `] = lit` -D5xs4mw8ckN6mcr4Bj/5VgxbTyQ0AP8CwLGrawNW5hE= -`; - -module.exports[n`DFA minimization >> 9: /\/?>/ `] = lit` -+fVFzMDWEvr8fmlpdvRqM/8xlsng4MOfD6CrYL97mSc= -`; - -module.exports[n`DFA minimization >> 10: /&[\da-z]{1,8};/i `] = lit` -b8otTJ0l3vvwTEF5ByHwQ3d/iHCSuuj91FrG2AKgZnY= -`; - -module.exports[n`DFA minimization >> 11: /(\[)[\s\S]+(?=\]>$)/ `] = lit` -TjDXkFCwMJM6uZdVBxkMFsfYXxHS6jgbG0LkI1jLs+Y= -`; - -module.exports[n`DFA minimization >> 12: /"[^"]*"|'[^']*'/ `] = lit` -ZRpEwG/Wb2ql6peH48ZpaKjiLofTHQH48nhnY0aBM2M= -`; - -module.exports[n`DFA minimization >> 13: /^<\/?[^\s>\/]+/ `] = lit` -K4Td0yGmpHOVngTtNJ+9cXY6YbkucXOFruGrqEQgiKg= -`; - -module.exports[n`DFA minimization >> 14: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/ `] = lit` -0LoycgVpIgz+wm/w2YNNcHJgCycW+j5YQMAgns5xxfw= -`; - -module.exports[n`DFA minimization >> 15: /[^\s>\/]+/ `] = lit` -BQxHMPq3y4Qtq3p34ljnAvptANavUmGPB6edVZHCtaU= -`; - -module.exports[n`DFA minimization >> 16: /^<\/?/ `] = lit` -cVPeHFBVALAtgGK4NUV62WF/gzb+MpCP9GyVBDkuIj0= -`; - -module.exports[n`DFA minimization >> 17: /^[^\s>\/:]+:/ `] = lit` -ibhz2KrwCC5xXAAaDb/DClN4ILh3cBevb6ecibMvw4k= -`; - -module.exports[n`DFA minimization >> 18: /"|'/ `] = lit` -g6McrMH9hSG6PDcxY+s6WbLo0aQlCWFBNZyiHnazkFc= -`; - -module.exports[n`DFA minimization >> 19: /^=/ `] = lit` -4aMh4gnPQjcDMSEx3iJeyM08ndzynUUGu4GyE+j1fZY= -`; - -module.exports[n`DFA minimization >> 20: /\/\*[\s\S]*?\*\// `] = lit` -3/QnJVu/NaSTsyjzJIizqXhHW15xAsckn/miJLAUw2M= -`; - -module.exports[n`DFA minimization >> 21: /[^{}\s](?:[^{};"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*?(?=\s*\{)/ `] = lit` -S45zv4WD/Hp1eugKznlpQ5MHNXAsH6CcS+n5vk82EK8= -`; - -module.exports[n`DFA minimization >> 22: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i `] = lit` -fk4D6q6zfeYERYdfKKBXGamaXOnQDL76TiDInR/sGTY= -`; - -module.exports[n`DFA minimization >> 23: /!important\b/i `] = lit` -QVRWf6lY43X6zd9fSlD8YXOYBlXtpKh8n8KCM0Zl3PM= -`; - -module.exports[n`DFA minimization >> 24: /[-a-z0-9]+(?=\()/i `] = lit` -w8eIVm8CYquFrFShnyUpxHqK/VXyzQSJjYBp/MxI1ao= -`; - -module.exports[n`DFA minimization >> 25: /[(){};:,]/ `] = lit` -ZkZiLdOFTS5+qtb/TrUrW9BWRm12bb/+Nkjy3tX7GRw= -`; - -module.exports[n`DFA minimization >> 26: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/ `] = lit` -jBmN4hiUGUiiACXhrmIPJA4iFzjX5DoQ/bZVeJoY6+o= -`; - -module.exports[n`DFA minimization >> 27: /\burl\((?:("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?:[^\\\r\n()"']|\\[\s\... `] = lit` -GRhSdfznhnZWpzvhXRWJNRJuatVYtAvLEenWZUpe8Rg= -`; - -module.exports[n`DFA minimization >> 28: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ `] = lit` -Q5UebfbnC2qWVSIrnOyuIvXQv00m3dSvbFbNUeRgE6w= -`; - -module.exports[n`DFA minimization >> 29: /^@[\w-]+/ `] = lit` -UvVdAz28J9+suPHrEuu14CDXvIF+J4nik+TZnW0QQio= -`; - -module.exports[n`DFA minimization >> 30: /^url/i `] = lit` -U7f2g5KIvA470DMya4Zpds2V+LYL54rcX7iYlKNWnNU= -`; - -module.exports[n`DFA minimization >> 31: /^\(|\)$/ `] = lit` -iAI7/Su0bzosQ0vbEy+aXVSrow0ZALjLD4H9+bGxiKw= -`; - -module.exports[n`DFA minimization >> 32: /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 33: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/ `] = lit` -U8G3uRYATe/QWGRpEYxFpElQfaA4Xscq4y/uT1Ovg8Q= -`; - -module.exports[n`DFA minimization >> 34: /^("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1$/ `] = lit` -Q5UebfbnC2qWVSIrnOyuIvXQv00m3dSvbFbNUeRgE6w= -`; - -module.exports[n`DFA minimization >> 35: /()(?:))*\]\]>|(?!> 36: //i `] = lit` -RSDOoVta4/01XJw8LiVAp64QRt3w2HuhnFfzEH7JBCE= -`; - -module.exports[n`DFA minimization >> 37: /[\s\S]+/ `] = lit` -jaSRELIgS9Ix2MehB//+JgZzneU7n2hA/cvXMvg5QUw= -`; - -module.exports[n`DFA minimization >> 38: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i `] = lit` -UtwQb1Q4LurP3iKu9Hh0VkeRSQKuN30BqD64D2LJyz0= -`; - -module.exports[n`DFA minimization >> 39: /^$/i `] = lit` -95MmAS8cfbpOL0w5WzL+gYOrxkkTLDrJ9kLgI69pEMo= -`; - -module.exports[n`DFA minimization >> 40: /^\s*=\s*['"]|['"]\s*$/ `] = lit` -zkt0+AM4xva68f5/3Ewbznm8L10r6LAv+RKO2lwmZ6Y= -`; - -module.exports[n`DFA minimization >> 41: /(^$)/i `] = lit` -oNlddsrexPmC8fanma0DT/vu21n3gk/HkYC2nZgPC5c= -`; - -module.exports[n`DFA minimization >> 42: /^\s*style/i `] = lit` -KwCWClLYcDO8ILUlJgNcz3TRMk6SmZL0vSFc2A/denE= -`; - -module.exports[n`DFA minimization >> 43: /.+/i `] = lit` -rIhgRGY3kbL2VTfMGEqLkvsM/LV0ZOa8GsFYtkNr61w= -`; - -module.exports[n`DFA minimization >> 44: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|fin... `] = lit` -JL6ybFY9vE7xb8UQbvZTDfe1OGEKL6kiAIhyS1tOHQg= -`; - -module.exports[n`DFA minimization >> 45: /\b(?:true|false)\b/ `] = lit` -Y0ERb5x2lDpLVTFFKD4wZHkx7MNvFlYJJQCWPpf4OeI= -`; - -module.exports[n`DFA minimization >> 46: /\w+(?=\()/ `] = lit` -UAgPJf0Lc8wZiLiOJNtXuWpzaXIWtsQlZyWok5MgdEQ= -`; - -module.exports[n`DFA minimization >> 47: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i `] = lit` -vnm9KEc1j+lkhic0scUimNWlHobK9Ufk6ZCzoipLchY= -`; - -module.exports[n`DFA minimization >> 48: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*\/~^%]/ `] = lit` -fCV4oTilLWLSSMqRCwaSvVoTgFPV8USgKVzUwTBRRgQ= -`; - -module.exports[n`DFA minimization >> 49: /[{}[\];(),.:]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 50: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ `] = lit` -Q5UebfbnC2qWVSIrnOyuIvXQv00m3dSvbFbNUeRgE6w= -`; - -module.exports[n`DFA minimization >> 51: /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()... `] = lit` -R/VAXl0vDut64I7yeU61W/86BC/8pq4h1sLB0gnKR38= -`; - -module.exports[n`DFA minimization >> 52: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/ `] = lit` -OBfC+SARE7Az++Sju6vgdTmum/eoGFna2OUaeVmni7Q= -`; - -module.exports[n`DFA minimization >> 53: /(^|[^\\:])\/\/.*/ `] = lit` -/VNo7dkGBpbh1nRpyxZY09h9ICY57bTyVP6WuQu/Tuw= -`; - -module.exports[n`DFA minimization >> 54: /[.\\]/ `] = lit` -K+AYGahUqn4v99Nwq+GZ8ZQmU+sGjvO9TFTOhdYvwFE= -`; - -module.exports[n`DFA minimization >> 55: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ `] = lit` -SATPue1ZaksNYo2kUfGOzF4/20klUopvF6jogqEp/Zc= -`; - -module.exports[n`DFA minimization >> 56: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\... `] = lit` -NfYlwcutyWAS/zPxcEYnQBRdQFwXy0M1RKPLcwNHCkY= -`; - -module.exports[n`DFA minimization >> 57: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[... `] = lit` -D8ts4vT+6f2woFj/cVXqYRxAQEOO17il9b5msO3Jvzc= -`; - -module.exports[n`DFA minimization >> 58: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*\/%&|^!=<>]=?|\.{3}|\?\?=?... `] = lit` -gb/+RP8I5cnaY3KNvlLYRzG6TI1bWE4UHpBWxys8DhA= -`; - -module.exports[n`DFA minimization >> 59: /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/ `] = lit` -htCGxJFb+Kw5jqPcac4jaozDVkOSweVZ8Ijd5eHYw+o= -`; - -module.exports[n`DFA minimization >> 60: /\`(?:\\[\s\S]|\\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\\${)[^\\\\\`])*\`/ `] = lit` -M/WRI+FrBxlnyZHzCR3wkwJIwWlteTQph13CURFPlHM= -`; - -module.exports[n`DFA minimization >> 61: /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\... `] = lit` -Bu5njH9N1EWH02q8nIDrxsbOdkPtbmWF3U3YKQiUBhs= -`; - -module.exports[n`DFA minimization >> 62: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction... `] = lit` -prPL1fgVtvMHLnHGbG8x82ES7xkdsKXky/LGyi9ecqk= -`; - -module.exports[n`DFA minimization >> 63: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|const... `] = lit` -6pNIF6OclaoiTLh6JEr3aQGliISoV7aPgaY9DE8RVBE= -`; - -module.exports[n`DFA minimization >> 64: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|... `] = lit` -0KTaR5ot7Gh/nAqzdfUrm7r7xew430djOQIkT0cwvME= -`; - -module.exports[n`DFA minimization >> 65: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i `] = lit` -9eLCIOMf4sN1/i57hSSLygUUVQ5R3noqPBIK911tFKo= -`; - -module.exports[n`DFA minimization >> 66: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ `] = lit` -gthF1oF/g/9KI+2PcB+HrTr/dn7VaRN17sPIs+ci/pY= -`; - -module.exports[n`DFA minimization >> 67: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger... `] = lit` -6/SxgRv68LNsidecDaWA6L59I7jUTXaV73BrnfkdfaY= -`; - -module.exports[n`DFA minimization >> 68: /((?:^|})\s*)(?:catch|finally)\b/ `] = lit` -A0EKZZi+JrnBIDvLSHUHIie/BjXSk7Y1wvxiCNCng2A= -`; - -module.exports[n`DFA minimization >> 69: /(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|awai... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 70: /^\`|\`$/ `] = lit` -p7FHTHsk4i8OrXD2TLtQOWczKGLQTkhVODrqnTj/Yio= -`; - -module.exports[n`DFA minimization >> 71: /((?:^|[^\\])(?:\\{2})*)\\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/ `] = lit` -hqkMXgjpkqBJo7tuYyr8McEJLXFdFf/16MrElFWvLZQ= -`; - -module.exports[n`DFA minimization >> 72: /^\\\${|}$/ `] = lit` -1M59/tycAMO4/JORJr3jTgBMP1AstPG+Rn21YQNNcW0= -`; - -module.exports[n`DFA minimization >> 73: /()(?:))*\]\]>|(?!> 74: /^\*.*/m `] = lit` -XESUycysWeTghZq8Y+HLtj0H61vOQA1yUZdbQcnlpm4= -`; - -module.exports[n`DFA minimization >> 75: /(\`|')(?:\\.|(?!\1)[^\\\r\n])*\1/m `] = lit` -Bbx7o55KnVX08/XazVQtGQZXTgX/2SLHyNuVid2V9Ws= -`; - -module.exports[n`DFA minimization >> 76: /\b\d+\b/ `] = lit` -T1tiIJjbJgPlEh6hZSYJgpqFViePCmBeCxRBY6JwWD0= -`; - -module.exports[n`DFA minimization >> 77: /[,.:()]/ `] = lit` -UFK5iKxjqHmuC7mJGFgMUI3twmuK4J75oGUd+XSHLWY= -`; - -module.exports[n`DFA minimization >> 78: /([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/ `] = lit` -OCNRct0c3CjDqI8+KAYQMW32IEymnB/PEUThzjgzrG8= -`; - -module.exports[n`DFA minimization >> 79: /(^|\s)".*/m `] = lit` -v4Q4rjIeCI30rySs7rjR+gkLEA6Qz2eq0C1SvXTZGyg= -`; - -module.exports[n`DFA minimization >> 81: /(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/ `] = lit` -tsg3PGQGxCfDVrv5nyN/MCq1JJu0XJ8pQftJTwj+hOo= -`; - -module.exports[n`DFA minimization >> 82: /(\s)&&?(?=\s)/ `] = lit` -R+rGsXl6joiIbRoH07ZKCJM/QU1Go6kkswjiiwnxTrI= -`; - -module.exports[n`DFA minimization >> 83: /(\w)(?:->?|=>|[~|{}])(?=\w)/ `] = lit` -N5RntDF9JalXxk6litRAvo05OzD5wVtGG0hYtsCWX0E= -`; - -module.exports[n`DFA minimization >> 84: /[|{}]/ `] = lit` -jz26ixptUFYttxbtInuFZqxTa+T6Rs8Wrm+8GC5cqt8= -`; - -module.exports[n`DFA minimization >> 85: /;.*/ `] = lit` -/PoR6ZGPtYpU4SyeXidmnvJ6rhMHusfjHCA2g501ADM= -`; - -module.exports[n`DFA minimization >> 86: /=\/?|\// `] = lit` -jsdC3yEA8noGkAunRnjNiT1LKhOtham5upc2Dx/4J8s= -`; - -module.exports[n`DFA minimization >> 87: /[()\[\]]/ `] = lit` -Uw1iOUHxAKCfVL9YQwf5/+dHHFWXarYny8nZukmarNc= -`; - -module.exports[n`DFA minimization >> 88: /(?:%[is])?"[^"\n\r]*"/ `] = lit` -9H/1TPInA5zes5gONm1TuGsehZUaiHT57d+a8ujDYYg= -`; - -module.exports[n`DFA minimization >> 89: /%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i `] = lit` -cwhjacr3D5pItFaCiXW4txvCIZxy410KYDLim6x8v2A= -`; - -module.exports[n`DFA minimization >> 90: /%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i `] = lit` -cKGDnPMZVOuEgFvTEOCCYKky9wLjwPpTu+im8Nm6WUA= -`; - -module.exports[n`DFA minimization >> 91: /(^|[^\w-])(?:\d*\*\d*|\d+)/ `] = lit` -3gbZWiL5f6fOlUPui9QW5AN61z9Bz9tSsNs5ZeGsugw= -`; - -module.exports[n`DFA minimization >> 92: /(^[ \t]*)(?:[a-z][\w-]*|<[^>\r\n]*>)(?=\s*=)/m `] = lit` -Q2kLKRSAt1/bG0oYx6LVz36CnjYD7uy8GDpzYkB9a/c= -`; - -module.exports[n`DFA minimization >> 93: /(?:(^|[^<\w-])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OC... `] = lit` -fh6OVEPp8NZ9WnX2GDWk35HJ4lUNEqPjWD4vNvyzmKc= -`; - -module.exports[n`DFA minimization >> 94: /(^|[^<\w-])[a-z][\w-]*|<[^>\r\n]*>/i `] = lit` -gpYBkubNV7skzRqVJIht2RzAMqovNXlmavFlEeY0rBo= -`; - -module.exports[n`DFA minimization >> 95: /^%[is]/ `] = lit` -6qYqe+6b6Us+xxgxlCaAdo8IbsE/7zbfLWjayUnaHuE= -`; - -module.exports[n`DFA minimization >> 96: /<|>/ `] = lit` -lV3wbmWVnhQXvq3YGN0Hd+DsQ8tEFC0VLhPKTWIrf1g= -`; - -module.exports[n`DFA minimization >> 97: /\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for... `] = lit` -mHYInfDPJVP7gvrlkdycyIqFBRm0chhRzyouMlV8Z7k= -`; - -module.exports[n`DFA minimization >> 98: /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/ `] = lit` -Szpnb7o8nz7KwTmekdkGGtD5TwSGSY63xDccEfncspY= -`; - -module.exports[n`DFA minimization >> 99: /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/ `] = lit` -8iMhFbe3iyCTtra4Ju5NY6yqeE0oGzuj+bzpBic+T68= -`; - -module.exports[n`DFA minimization >> 100: /--.*/ `] = lit` -SscIXrnwT1CzkHHjSw2O7nNhh1mkL1h1JEM/ejmvrVU= -`; - -module.exports[n`DFA minimization >> 101: /"(?:""|[^"\r\f\n])*"/i `] = lit` -BZjDOQrUMaWtsxz4xJ+FJpQyrJEVFRThBEDDGsj0TVY= -`; - -module.exports[n`DFA minimization >> 102: /\b'\w+/i `] = lit` -wEEKTJWw9huUPRObWXBOE21HzX1Fe/ay+YeowJ2xZNE= -`; - -module.exports[n`DFA minimization >> 103: /\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|... `] = lit` -LmH6X4IZQMK4jjpKX/yXd66NuWJI9sOWd5iymOrPJgg= -`; - -module.exports[n`DFA minimization >> 104: /\b(?:true|false)\b/i `] = lit` -kPiBOQvqbACAoKWacUeiIbdyS5DG8ByS7p6jUbRTaMI= -`; - -module.exports[n`DFA minimization >> 105: /<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/ `] = lit` -ZN62r1I8H63kSEfsjmg6D92A2HoONFvC7EN0wk/3uuQ= -`; - -module.exports[n`DFA minimization >> 106: /\.\.?|[,;():]/ `] = lit` -XbGhbXG49yN/40+hk4Oxn5w1IHABJ92Amiy5YPt++8A= -`; - -module.exports[n`DFA minimization >> 107: /'.'/ `] = lit` -4/9Q+R0zvFSawFFAFJ+89K4ZOHbhviJiazsMDltotGg= -`; - -module.exports[n`DFA minimization >> 108: /\b[a-z](?:[_a-z\d])*\b/i `] = lit` -nQXGykkIH4U+y9Xl5CPghJ0lpUk4G5LNxvoKoZBxjFQ= -`; - -module.exports[n`DFA minimization >> 109: /\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_... `] = lit` -GO6CNNWsT20+VvP3xF9mhBBYB2nWD+nN2GK7vwCzSRk= -`; - -module.exports[n`DFA minimization >> 110: /\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i `] = lit` -2GmfyP+Sh/GqB9dAPxO6xgAbhdGu6dVLfTAxSLTUDdg= -`; - -module.exports[n`DFA minimization >> 111: /\{-[\s\S]*?(?:-\}|$)|--.*/ `] = lit` -cXUEkMSds8vYuSyb4gbNIT9xJ1He0kxedNtgjGq0nrA= -`; - -module.exports[n`DFA minimization >> 112: /[(){}⦃⦄.;@]/ `] = lit` -BSqnQdmsSBS1YS45f8G5uL086k4gVR0pN7TxYkm0mt8= -`; - -module.exports[n`DFA minimization >> 113: /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|impo... `] = lit` -7pZJN7UDBMg1+iH6JyyC/i+U9H+9dHRwepRakoi0dy4= -`; - -module.exports[n`DFA minimization >> 114: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/ `] = lit` -X/VsFRO+bZjM6c4Dxc8SFvJc2/Z2V+dkzimQc8HUz5E= -`; - -module.exports[n`DFA minimization >> 115: /((?:data|record) +)\S+/ `] = lit` -L+uC2XDG54ixXuWQpFQG70aC8Q+8J1suw1Jh8v8Q6Fs= -`; - -module.exports[n`DFA minimization >> 116: /(^[ \t]*)[^:\r\n]+?(?=:)/m `] = lit` -KQY9CWQOb8AG39h+9JaK7cNItaZpcT3Zb7wfPysYZqo= -`; - -module.exports[n`DFA minimization >> 117: /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/ `] = lit` -9fQ8weurQEEMbyNluMfCVi7e5OykpPfRQmTQl7ed+a4= -`; - -module.exports[n`DFA minimization >> 118: /\/\/.*|\/\*[\s\S]*?\*\// `] = lit` -H7ZJEYBnhxKwCUevQceWv4B/nrFP6Rw0PPwY3o9tRsQ= -`; - -module.exports[n`DFA minimization >> 119: /\b(?:0x[\da-f]+|(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 120: /\b(?:false|true)\b/i `] = lit` -kPiBOQvqbACAoKWacUeiIbdyS5DG8ByS7p6jUbRTaMI= -`; - -module.exports[n`DFA minimization >> 121: /\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ `] = lit` -YThURjOxBU+DHFtotHVPh0PkdcZfquSrPCnap7Nv1FI= -`; - -module.exports[n`DFA minimization >> 123: /\.\.|:[=:]|[-+*\/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i `] = lit` -5NcmfgvKhTyoKdSjjQi3ZTT9kRYe/YFekoWlwpEl/L0= -`; - -module.exports[n`DFA minimization >> 124: /[()\[\]{}:.;,]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 125: /'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/ `] = lit` -8E6VwCZI4xnqwWbCq1DfmE0JU8SWmJSn1J4a1Jhq8ss= -`; - -module.exports[n`DFA minimization >> 126: /(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i `] = lit` -RngMje5Jr66tBp81iLyUTjQbVub1OheswKg6z9IphTA= -`; - -module.exports[n`DFA minimization >> 127: /\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|forea... `] = lit` -VS92lTtzb/P9SkjqIpB3ho1PTWYR54VkqWtZm1w1EHU= -`; - -module.exports[n`DFA minimization >> 128: /\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart... `] = lit` -e3sellx+Sp/TZ44WmKYr8a4n8+B4o7IG2AqzugiexSw= -`; - -module.exports[n`DFA minimization >> 129: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/ `] = lit` -JDZdALH3mqqbFycM6PuijeVJ+CSzOXRhAlXjYWvEUWs= -`; - -module.exports[n`DFA minimization >> 130: /\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|p... `] = lit` -nXD+KfGmrwwOX1TAU/XgI2n8xT4bbfBFCYMAFZsCxy4= -`; - -module.exports[n`DFA minimization >> 131: /\b[A-Z][A-Z_]*\b/ `] = lit` -HGyK1JiUk/7sKETSlXCeAc2H9amCmfsvDU1+GNTc4nQ= -`; - -module.exports[n`DFA minimization >> 132: /\.\.|->|[|~]|[*+?]\??/ `] = lit` -Vf9mZ2Ad71u0fHpEBHZc+phYEnxG81snOJhTLXAhyGo= -`; - -module.exports[n`DFA minimization >> 133: /[;:()=]/ `] = lit` -Ly60sRgSExFHInKAaf5fKZTaIrQb2FtgwnS6s3sZzRs= -`; - -module.exports[n`DFA minimization >> 134: /'(?:\\.|[^\\'\r\n])*'/ `] = lit` -tJehzulrEzsAjHy3PS5oK30Fm7MRSmb5799H1g0dc34= -`; - -module.exports[n`DFA minimization >> 135: /\[(?:\\.|[^\\\]\r\n])*\]/ `] = lit` -N67agwgCsdEW+0hT1jYzWVcfcGyQCjouKzvFYvUeRQI= -`; - -module.exports[n`DFA minimization >> 136: /\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ `] = lit` -J/3nl82wKhDeTKU5sp3Cop394sPBXrOn971FH3Pqots= -`; - -module.exports[n`DFA minimization >> 137: /(->\s*)(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i `] = lit` -T/QEgaOvnJB1YD8EBGE0JeXf6j9QLQOow+oeECz88ZA= -`; - -module.exports[n`DFA minimization >> 138: /@\w+(?:::\w+)*/ `] = lit` -2amRjZ2KFT4TefdTjb9PL3fHK0sTI0c3QrkEeabfh9I= -`; - -module.exports[n`DFA minimization >> 139: /#[ \t]*\w+/ `] = lit` -N9Q6BGEhLTrfLRQiY5psHCgv2AIQpnm/DvcHfMR6T/U= -`; - -module.exports[n`DFA minimization >> 140: /\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/ `] = lit` -kI1hn0Y5Jqa3LKgjGgNmaO2dBvX7qpsbgQkvUlvM9PU= -`; - -module.exports[n`DFA minimization >> 141: /[\[\]]/ `] = lit` -h2hNyvq8E7GII+4Vx2B8al2oqPqB4oghiz6rLKBHsrY= -`; - -module.exports[n`DFA minimization >> 142: /[{}]/ `] = lit` -W4AY52cBoSQcGVz0+lDanHZsFAo9JSCbKL809xmRCVc= -`; - -module.exports[n`DFA minimization >> 143: /\b\w+(?=\s*(?:[,(]|$))/ `] = lit` -rEynkVTjmvHMzITJt7OQ0AASWn7DFZdffxDx1OZvTt4= -`; - -module.exports[n`DFA minimization >> 144: /[,()]/ `] = lit` -TWrJo+kPSRUdjngo30EkkcLjbUydEbPRs7HPeRs0vCM= -`; - -module.exports[n`DFA minimization >> 145: /\b[a-z]\w*(?=\s*:)/ `] = lit` -CcRblFCwZwz+UUj2l4IKyjhTCB5IdzXtFZ4GVi6t4to= -`; - -module.exports[n`DFA minimization >> 146: /\b[A-Z]\w*(?=\s*:)/ `] = lit` -iG9MrJ9UQL/UPTpcF/Z9XF+pLoEC8jpqaZ6BbC4MMd0= -`; - -module.exports[n`DFA minimization >> 147: /([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ `] = lit` -/4tv15z5oZmg/49zQGaSPif8X784WQkO7d2iYKYnucs= -`; - -module.exports[n`DFA minimization >> 148: /(\{)[\s\S]+(?=\})/ `] = lit` -MuTQ8xtrscFhkgzH8zUaeJqz5z26gkVD8jcjm0PkDLA= -`; - -module.exports[n`DFA minimization >> 149: /#.*/ `] = lit` -b/uLXXb070yRLX6+0FI02AevcjQLDBY4msyLeMN7nBk= -`; - -module.exports[n`DFA minimization >> 150: /[$%]\{?(?:\w\.?[-+:]?)+\}?/ `] = lit` -nKEuq7+I0gUyYA9FaaBisCpGGCndf76zRj+fK/zHet8= -`; - -module.exports[n`DFA minimization >> 151: /\^?.*\$|\^.*\$?/ `] = lit` -0EFvj5+MkyHAUbGZPahTVMeorxIMvbXoZ4mFyxFgckc= -`; - -module.exports[n`DFA minimization >> 153: /<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|Files... `] = lit` -M5fPp1WV59fXygUcryfEylVlUUaED//KQ5ftIPpcZMc= -`; - -module.exports[n`DFA minimization >> 154: /\[(?:\w,?)+\]/ `] = lit` -S7g/pxi+B1RtxDmCZMK6NzgoQtv2AuOhFbtIVRe6eWs= -`; - -module.exports[n`DFA minimization >> 155: /("|').*\1/ `] = lit` -dibihUd8PEklcwa5an6OxIjliH+vFT7mMaCxP8VyLrQ= -`; - -module.exports[n`DFA minimization >> 156: />/ `] = lit` -iR25j2af2vUSCU8wve5sz9XONgTTSSz7qWFqe7SfQSI= -`; - -module.exports[n`DFA minimization >> 157: /^<\/?\w+/ `] = lit` -ckA46cB6sK0h5v/kazb/Tcb9pEodHCUdSsYVwvamRSg= -`; - -module.exports[n`DFA minimization >> 158: /.*[^>]/ `] = lit` -xUsPZrRNBJea72F34T9z0wngycnPgWesfLSd85CIok4= -`; - -module.exports[n`DFA minimization >> 159: /:/ `] = lit` -gwaQCkXxPWUSEYeW+09l3l+4TOJc1EmyLFMyRC6rH5I= -`; - -module.exports[n`DFA minimization >> 160: /(?:⍝|#[! ]).*$/m `] = lit` -CC9JVqldZ3bdktiPaoGm27Tar1KTCvZBFZQvgvVffOk= -`; - -module.exports[n`DFA minimization >> 161: /¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞))?/i `] = lit` -2vmHoZIuI3hD5HJ/uK3p/kpePi8hrt2HspgZwy8G2aM= -`; - -module.exports[n`DFA minimization >> 162: /:[A-Z][a-z][A-Za-z]*\b/ `] = lit` -86P6UaI5URdwD0ZiLPixRd2ncQNJ+5Qdr2lovKcpnEk= -`; - -module.exports[n`DFA minimization >> 163: /[⍬⌾#⎕⍞]/ `] = lit` -kUAD9Gb1XLQ1FNzAzLO6IPbyg9di5u/wsDn5IXwEjBw= -`; - -module.exports[n`DFA minimization >> 164: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/ `] = lit` -yv9Asxo+ITQ/QdDSkYlWqVJ719f09Q4x/t9CXw3krA8= -`; - -module.exports[n`DFA minimization >> 165: /[\[;\]()◇⋄]/ `] = lit` -3ErCbbno4lbpxBjp2QmPxBE34aXjbisgz9eD4nsXal0= -`; - -module.exports[n`DFA minimization >> 166: /'(?:[^'\r\n]|'')*'/ `] = lit` -fpr8ze6p/+SF14UEZw7UGAjtaMQiaZfOl5VfU8kEnp8= -`; - -module.exports[n`DFA minimization >> 167: /⎕[A-Z]+/i `] = lit` -DKie18a7mPX4i3ZdDebNv/QSJAv7hpNUmIPxWTds9y0= -`; - -module.exports[n`DFA minimization >> 168: /[\\\/⌿⍀¨⍨⌶&∥]/ `] = lit` -mAs1PwYnmJRoGteLUWfcoeW1BWdQ/ccVWvlmlG5TZ1E= -`; - -module.exports[n`DFA minimization >> 169: /[.⍣⍠⍤∘⌸@⌺⍥]/ `] = lit` -UpIycPKyHdHFUF6DDQOxPi7+3x7vTAcgQOMzG5WYYjA= -`; - -module.exports[n`DFA minimization >> 170: /←/ `] = lit` -I+g3r0GzbTFXYk482LYTs2w+vdV8tTjripQvXKcBP2o= -`; - -module.exports[n`DFA minimization >> 171: /[{}⍺⍵⍶⍹∇⍫:]/ `] = lit` -8NOm7k1HKTUfimELfTHrCzzTzkzT6hy1E20bqF7aV/w= -`; - -module.exports[n`DFA minimization >> 172: /"(?:\\.|[^"\\\r\n])*"/ `] = lit` -vAWlB1EdyUqSGPPC0ql3/BUjpcILwwRJYbUAuqQM8gY= -`; - -module.exports[n`DFA minimization >> 173: /(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 174: /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|begi... `] = lit` -8EwFwPj29XOdCsWyOpUwfa70WsKNyswm+QnWXM0xiE0= -`; - -module.exports[n`DFA minimization >> 175: /[{}():,¬«»《》]/ `] = lit` -wdCGHacXYyYhNH7iFkyc+mfHjXxnwVMWCjHBh//6eCE= -`; - -module.exports[n`DFA minimization >> 176: /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/ `] = lit` -1fSiCEHriVacLsYvdleM2pW49Harp1nmaym5wQYU8ds= -`; - -module.exports[n`DFA minimization >> 177: /--.+/ `] = lit` -d4Yp7C+OSSvg4A5IihYeAyF6CtCeFI6wZiNVfoZ7w/g= -`; - -module.exports[n`DFA minimization >> 178: /#.+/ `] = lit` -9dLwZjklX7pujBibLzucsV6FD+7/v4SPOtG9scElYFo= -`; - -module.exports[n`DFA minimization >> 179: /[&=≠≤≥*+\-\/÷^]|[<>]=?/ `] = lit` -N1shqfDO9AIxVkt8szxa6FwNFbnbzvysXk3abhJ1xQE= -`; - -module.exports[n`DFA minimization >> 180: /\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:i... `] = lit` -KvK9gi/6bKj+bEjGsYpAYV1VGSohQMmaOGVnN3CR/9Y= -`; - -module.exports[n`DFA minimization >> 181: /\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POS... `] = lit` -TokYfWn7JEsh0J4y+EBR8RKN4M2RQQFl612FK1MTxdo= -`; - -module.exports[n`DFA minimization >> 182: /@@?\w+/ `] = lit` -75NtaKjPur29nGiTsW8UwWwoNxWOpjZbVp7QzY5m++0= -`; - -module.exports[n`DFA minimization >> 183: /(?!\d)\w+(?=\s*\()/ `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 184: /(?:true|false)/i `] = lit` -kPiBOQvqbACAoKWacUeiIbdyS5DG8ByS7p6jUbRTaMI= -`; - -module.exports[n`DFA minimization >> 185: /(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i `] = lit` -vAwilgvCZiJSNc6tFRBDDo/m6XC8dTR87rrDh3qzSmA= -`; - -module.exports[n`DFA minimization >> 186: /\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*\/%]/ `] = lit` -7S7DirgZYsxgEbuvGuM5K5+X49MhzFzfwC7xKik+OS0= -`; - -module.exports[n`DFA minimization >> 187: /::|[?.:,;()[\]{}]/ `] = lit` -thRQ65pK/MEmd9jU2Hx9QI8A8z9viXBKBOh526tVoXE= -`; - -module.exports[n`DFA minimization >> 188: /([{,]\s*)(?:(?!\d)\w+|(["'´\`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/ `] = lit` -350WHlPDEAgrWzNXJmfsbf3xPpYbd3YEvm4mIIgW/vQ= -`; - -module.exports[n`DFA minimization >> 189: /(["'´\`])(?:(?!\1)[^\\\r\n]|\\.)*\1/ `] = lit` -GVxvSaoJeR2zH7SfFJ3Joa8bsYv7KghO0hoNt0l3XpE= -`; - -module.exports[n`DFA minimization >> 190: /\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUN... `] = lit` -grdR2N1ZmFf9j+K0u64rXGkE3WcTeMflsNJZucj09nw= -`; - -module.exports[n`DFA minimization >> 191: /\.\./ `] = lit` -KAulacIDAmvmID6TZEiwO0HBTEF2+YC6EkK4mR6EaYY= -`; - -module.exports[n`DFA minimization >> 192: /(\bWITH\s+)COUNT(?=\s+INTO\b)/i `] = lit` -+Z8v82BmE3m2hobQ3E0LIqcPmtnqkglsYK5q2DrNGNU= -`; - -module.exports[n`DFA minimization >> 193: /(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i `] = lit` -d3bXeY7RPlF+PeD/1/Y/ACqLoBr8bkciOV7180aFuEc= -`; - -module.exports[n`DFA minimization >> 194: /(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ `] = lit` -zvnFaJ+L8XUE94IhXxr8gHPaaD85YGKJVV/0bU6Kbyo= -`; - -module.exports[n`DFA minimization >> 195: /\bOPTIONS(?=\s*{)/i `] = lit` -vcVXbCmg4L8RlwaAq2lGeXGxIszBnGNlP3J+MN3fDq8= -`; - -module.exports[n`DFA minimization >> 196: /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_C... `] = lit` -ZeOx2LET9F2y2ml1KUMIwmgy5/ObCENYYe3O/UAVV0o= -`; - -module.exports[n`DFA minimization >> 197: /\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary... `] = lit` -8oVBhjqFTBwpvMgn0tlMd0wY+vpUIrP320dXjc23PRo= -`; - -module.exports[n`DFA minimization >> 198: /[a-z_]\w*(?=\s*\()/i `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 199: /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)... `] = lit` -CyxRTQoPalu4rzC6H++s1SymNgWFqXEkXp+muli2u8U= -`; - -module.exports[n`DFA minimization >> 200: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?/ `] = lit` -25SDP7T6v5Tt67ZAijafoqtojw7Im6rEXDU3gxCTz+0= -`; - -module.exports[n`DFA minimization >> 201: /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char3... `] = lit` -Wm7Nwn5iYe7sjYs2ps4+xHO+FnRyd4jdCotDhQ79tEY= -`; - -module.exports[n`DFA minimization >> 202: />>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*\/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bit... `] = lit` -YwOGcUIpQ/7mgRxSCMQkf5u96q8C4gTD+Xak5z03Qh8= -`; - -module.exports[n`DFA minimization >> 203: /\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG... `] = lit` -JOGLKNVzdk4uWwbiPFQUOgDTZuiuJ/OYhZ4z5wdEiHI= -`; - -module.exports[n`DFA minimization >> 204: /\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto... `] = lit` -WTOd07gNbF8aB6JnYFxG9lOt5v7Mqau62GvSmGyvYUM= -`; - -module.exports[n`DFA minimization >> 206: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/ `] = lit` -lmRZz9DKSJj4QzFTQkT3ETbK234SzW4gUTwhdTBNjXQ= -`; - -module.exports[n`DFA minimization >> 207: /(^\s*)#\s*[a-z]+(?:[^\r\n\\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\... `] = lit` -wHeJ17/K1qLRdD8UNW4mAXy1tX3yvS87yGOedtFpGgc= -`; - -module.exports[n`DFA minimization >> 208: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+/ `] = lit` -ZvD03Vb3s++eXg3azpjOeo/btRWuylqA7Nu7oumPD2Q= -`; - -module.exports[n`DFA minimization >> 209: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 210: /(\b(?:class|struct)\s+\w+\s*:\s*)(?:[^;{}"'])+?(?=\s*[;{])/ `] = lit` -XAFNs3C/hAyA2yLbFj6JOhlzYSWw5sgSRNXSYiwXL1M= -`; - -module.exports[n`DFA minimization >> 211: /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ `] = lit` -RqdY09b+tjcpytKxUddERzYp4r+IJRyOlvpu21Cy6IE= -`; - -module.exports[n`DFA minimization >> 212: /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i `] = lit` -YB0JxFn7fe5ugQqK9eIJr/nyeLDzJZbqd0ThuA73sNU= -`; - -module.exports[n`DFA minimization >> 213: /\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ `] = lit` -J6hW+ppCdukH6rLWGyafosl8mJI32CqJPCcl/x+bUos= -`; - -module.exports[n`DFA minimization >> 214: /(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[... `] = lit` -UXITbcmMOSRC1UMUXdX2vLFq5lfZ3B1iHzNYNNx70UQ= -`; - -module.exports[n`DFA minimization >> 215: /^#/ `] = lit` -iTSkK/WN4wjCrvJicCGzg2A5zUfYwUiirQ5qvIdS2Ws= -`; - -module.exports[n`DFA minimization >> 216: /##|\\(?=[\r\n])/ `] = lit` -JQcf2lSKnzo5XdT3fUEcIoA+5ieAkvwnaJSC+6gk8mo= -`; - -module.exports[n`DFA minimization >> 217: /\b[a-z_]\w*\b(?!\s*::)/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 218: /(\b(?:class|concept|enum|struct|typename)\s+)(?!\b(?:alignas|alignof|asm|auto|b... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 219: /^(#\s*)[a-z]+/ `] = lit` -8B8iv1nHBhpFDL43zChPBsdI39Ds5DPWclc7jqwLs68= -`; - -module.exports[n`DFA minimization >> 220: /\S[\s\S]*/ `] = lit` -rxtHNZLAO3ei5jjXjPAhgCXswtBrASUmO4opKZ48yw8= -`; - -module.exports[n`DFA minimization >> 221: /^(#\s*include\s*)<[^>]+>/ `] = lit` -zLsxuLNDq/o8oLOW00A0QCjG9kI91LiINcAqsWLV2D4= -`; - -module.exports[n`DFA minimization >> 222: /%.*/ `] = lit` -N51T6qjEvqpKWIRrooURbO+MyxbDBIeldCBQVywmXws= -`; - -module.exports[n`DFA minimization >> 223: /@(?:attribute|data|end|relation)\b/i `] = lit` -+peCFTCLyiJ5ogtP1wUQDe4yRL86v/v/5sJch4QZQu0= -`; - -module.exports[n`DFA minimization >> 224: /\b\d+(?:\.\d+)?\b/ `] = lit` -BUUB+E0cSs2HJg/bnfkRb9zOkiIJyaWTgS3PqQb6wCc= -`; - -module.exports[n`DFA minimization >> 225: /[{},]/ `] = lit` -XVkGzns+0+JDzNh69kwOcB2b/3ZdPca2ewFVzsmGS3Y= -`; - -module.exports[n`DFA minimization >> 226: /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 227: /^\/\/.*/m `] = lit` -JdbUZd7MyF80bJQmmk3EFLhwqUPbwpT8nQRQrqnqagg= -`; - -module.exports[n`DFA minimization >> 228: /&#?[\da-z]{1,8};/i `] = lit` -25QXXFthw2Zgj6SvNiS3x0sNRwZMmWaUpfVZuGx2JjA= -`; - -module.exports[n`DFA minimization >> 229: /^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 230: /^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m `] = lit` -I1Lngh+DWrPtf/Zejg1TgGXTQ1TFGKtJD7L8qwoF0dA= -`; - -module.exports[n`DFA minimization >> 231: /^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 232: /^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 233: /^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 234: /(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im `] = lit` -cui35s2qYzVfpWFgsb//O8XdgKDSOg3XEEeLBc7362Y= -`; - -module.exports[n`DFA minimization >> 235: /(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im `] = lit` -hKjH6v29u//RmDFCFRClN+lXCXIKtKs2A2lsfL0q//A= -`; - -module.exports[n`DFA minimization >> 236: /((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/ `] = lit` -RkIhr/ebbVFK6i00gHvuIa72tWNM+LDBaXRK+XUf9s4= -`; - -module.exports[n`DFA minimization >> 237: /^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/... `] = lit` -kRmtJMBrWJTVmkampJfQkYb7vDeIrgs6/qtuPfWhgqA= -`; - -module.exports[n`DFA minimization >> 238: /^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m `] = lit` -GMOVXXPfLhtTOOVg2NX6N3Qy2cmdb18S4kluzEHKHT8= -`; - -module.exports[n`DFA minimization >> 239: /(^[ \t]*)\[(?!\[)(?:(["'$\`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\]\\]|\\.)*\]|[^\]\\]... `] = lit` -7BYV6b9BeerUyGPN3mwYdhQ1eCUvgC2KB6cXCCoCQe8= -`; - -module.exports[n`DFA minimization >> 240: /^'{3,}$/m `] = lit` -c8P9ms86qDWKLsNKo7FqnCbYI9jzlVdTYf7FTD5gIfU= -`; - -module.exports[n`DFA minimization >> 241: /^<{3,}$/m `] = lit` -cVR+hcdrAjPJ4dlQRdoxXhefJpWTNTj14tbUSoDa6j0= -`; - -module.exports[n`DFA minimization >> 242: /^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m `] = lit` -S3c1yXjRk4nkjEMK1FWjX3pIYeZL2iZUu8iFyrbzfwM= -`; - -module.exports[n`DFA minimization >> 243: /\b[a-z\d][a-z\d-]*::?(?:(?:\S+)??\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.... `] = lit` -+B4djJlhQWGJVX23r0xklVD4TR7lUh1wFQGz+Kfy0j0= -`; - -module.exports[n`DFA minimization >> 245: /\((?:C|TM|R)\)/ `] = lit` -nmOo9+FjnGGge3k8ndGWOhXc5Mjw0Y0RmWjHlMKI0as= -`; - -module.exports[n`DFA minimization >> 246: /(^| )\+$/m `] = lit` -CEhmrFz9LOPX1FVp9BUxot1OO168pIFvY5n1XABSAmk= -`; - -module.exports[n`DFA minimization >> 247: /^\++|\++$/ `] = lit` -gwGFRRrjeGxMygKSfH9oCZZUbJ7c0yA7GodzAJ1m2K0= -`; - -module.exports[n`DFA minimization >> 248: /^(?:-+|\.+)|(?:-+|\.+)$/ `] = lit` -n8vn0Ct+O+fef1m1qHHNJzEpuTGE3/8muwNb02a+Y7k= -`; - -module.exports[n`DFA minimization >> 249: /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ `] = lit` -CuyMTmcLY8PRml5mbf1g86VRAv19s1fM41Rm2tAjba8= -`; - -module.exports[n`DFA minimization >> 250: /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ `] = lit` -4kW6E6h9p3oDFPch5elf37/s54039KYHmGeSQ8XOEJk= -`; - -module.exports[n`DFA minimization >> 251: /"(?:[^"\\]|\\.)*"/ `] = lit` -NBJW5CrJdsoEdhgCZrk2vcnHTAjHhudOUJ724Qvv0Ag= -`; - -module.exports[n`DFA minimization >> 252: /\w+(?==)/ `] = lit` -jo1oRZjExp5/Xd9qikRI11WB7oY58NOaNr1ZCmONS0U= -`; - -module.exports[n`DFA minimization >> 253: /^\[|\]$|,/ `] = lit` -Q8KaxlacIh9cVDtBeG4LTcM1C91vl+uCVfPR3Sr2Fdk= -`; - -module.exports[n`DFA minimization >> 254: /=/ `] = lit` -4aMh4gnPQjcDMSEx3iJeyM08ndzynUUGu4GyE+j1fZY= -`; - -module.exports[n`DFA minimization >> 255: /(?!^\s+$).+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 256: /(^[ \t]*)/m `] = lit` -v/skwjY1O6s37V2msnbNkbNzZIu4PX6kew/O1DwklH4= -`; - -module.exports[n`DFA minimization >> 257: /<\d+>/ `] = lit` -yXmvTbamcWagcUtRSckV5w1dZa/7UF4YrV3rp9eDpDE= -`; - -module.exports[n`DFA minimization >> 258: /^[a-z\d-]+(?=:)/ `] = lit` -vIzKCELQViQLfT1OTEbJm+TKLOTA10ROZ7GQI4lqNtk= -`; - -module.exports[n`DFA minimization >> 259: /^::?/ `] = lit` -Bz8mdsl+75Yfq9OT7+bngbTeFb3hXvcFhDDFjRui0Ts= -`; - -module.exports[n`DFA minimization >> 260: /^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^\`]|\)?\)\))$/ `] = lit` -P3qu/Y7cFk7xEbn4qQ74sOTMr9DY+lRIJnywmnEjFeE= -`; - -module.exports[n`DFA minimization >> 261: /(?!\|)(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*])?(?:[<^>](?:\.[<^>])?|\.[<^>])?[a-z]*)(... `] = lit` -WIqhUdMqIJMtr/xSEicU4Y6/6LfAHYyrliqWW6mXWV0= -`; - -module.exports[n`DFA minimization >> 262: /(^|[^\\])[|!]=*/ `] = lit` -Ki9bZXeKqFAj6ZuiO55XyzPo4xR7gOU4s2mLoIkX6kI= -`; - -module.exports[n`DFA minimization >> 263: /([$\`])(?:(?!\1)[^\\]|\\.)*\1/ `] = lit` -j0o9t4BKBZPPNRf+lKSAcjtYmiJQ1QA6/qG7odgJYvo= -`; - -module.exports[n`DFA minimization >> 264: /'(?:[^'\\]|\\.)*'/ `] = lit` -xdCl0R0cRUlh0CAxEROhCS54enDiwfmslRD17Ph7Hdw= -`; - -module.exports[n`DFA minimization >> 265: /(?:\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/ `] = lit` -YaCMJAo5ZVjphVewGHhoH37etKUN91gXOEqrAvp/9Wo= -`; - -module.exports[n`DFA minimization >> 266: /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ `] = lit` -InZuAgnb+BJP7ujEp2WUo4a+flOxB1zigT77aRtvjRY= -`; - -module.exports[n`DFA minimization >> 267: /^\{.+\}$/ `] = lit` -TOqsYWy72CszmCHFbgCfSRm3/MNnHAD2tBrJrnibvjA= -`; - -module.exports[n`DFA minimization >> 268: /^(['_])[\s\S]+\1$/ `] = lit` -NkKbWAVWr1/Tv01dJRzoSubwKuWb/Pfurb/93AIxYSA= -`; - -module.exports[n`DFA minimization >> 269: /^\*[\s\S]+\*$/ `] = lit` -FoVC5o7GtKgdHqjK8Awh+UMj9PDYcWXhBgkNSGRQDfg= -`; - -module.exports[n`DFA minimization >> 270: /^[$\`]|[$\`]$/ `] = lit` -VQFtRf7QG1U4toOpDOG7BaBgpm66FMSVamvfA+foGew= -`; - -module.exports[n`DFA minimization >> 271: /^'|'$/ `] = lit` -K4QabsgJfrym3XGCQfrFWI7SDpJrFObfLYprcfWmQ1o= -`; - -module.exports[n`DFA minimization >> 272: /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ `] = lit` -GRG8S2tOELKwiFyXUEUKSU7rdEGDDJDmLidUA2QTMOk= -`; - -module.exports[n`DFA minimization >> 273: /^[=?!#%@$]|!(?=[:}])/ `] = lit` -XuEgdi05nxN8V6tEHPaJ8fdmS6cbAGZnikOW65ASxJM= -`; - -module.exports[n`DFA minimization >> 274: /^\{|\}$|::?/ `] = lit` -VIrKc1hL5Z3iPRaa+SuQKjYAMjYWDo2PQtAj63xQOhE= -`; - -module.exports[n`DFA minimization >> 275: /^(?:''?|__?)|(?:''?|__?)$/ `] = lit` -ddqXUFcGvJ9gQfk/z95PVhPoug+SLfSG7VDiGMnCgqM= -`; - -module.exports[n`DFA minimization >> 276: /^\*\*?|\*\*?$/ `] = lit` -gSF+UrlYMco8YdOaPUoX6yveUzo9/OVSJ41idYCNsbY= -`; - -module.exports[n`DFA minimization >> 277: /(^\{)[a-z\d,+_-]+/ `] = lit` -Qy5Gvvz9U2RGVnfGafE+pIoWRQGbxOcXty9CYO9uESU= -`; - -module.exports[n`DFA minimization >> 278: /\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|st... `] = lit` -XqU5PBXUOm+dKAN01Ijd9hqoXJQMTugUQOVAk1fHwhg= -`; - -module.exports[n`DFA minimization >> 279: /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:... `] = lit` -1rPXEVDLO+OMZ+gvmaKaeakzVlbX468b+QuItFBHQM0= -`; - -module.exports[n`DFA minimization >> 280: />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*\/%&|^!=<>]=?/ `] = lit` -o4oRleti7vvki+fLbm8qTatNDfH9xyc7mtBZBgduSuU= -`; - -module.exports[n`DFA minimization >> 281: /\?\.?|::|[{}[\];(),.:]/ `] = lit` -wqR+6SL9UbasOzjROTDIjtm2QBl0tYKbdC5bY7ckJJ8= -`; - -module.exports[n`DFA minimization >> 282: /(\b(?:namespace|using)\s+)(?:@?\b[A-Za-z_]\w*\b)(?:\s*\.\s*(?:@?\b[A-Za-z_]\w*\... `] = lit` -EBBTYwGz2k+TDF8X1WMrjQRFv9B0tlcktzY179XgU74= -`; - -module.exports[n`DFA minimization >> 283: /(\b(?:default|typeof|sizeof)\s*\(\s*)(?:[^()\s]|\s(?!\s*\))|(?:\((?:[^()]|(?:\(... `] = lit` -Jwv0TAJtU0a6aepuFaEP6LSIo+Z2eGNNQhSo2S10Ttw= -`; - -module.exports[n`DFA minimization >> 286: /(?:@?\b[A-Za-z_]\w*\b)\s*(?:<(?:[^<>;=+\-*\/%&|^]|(?:<(?:[^<>;=+\-*\/%&|^]|(?:<... `] = lit` -tZokMIa2qemP4r2ag+CoPtX+PjvweMMJ3gFPWZ8Uy9I= -`; - -module.exports[n`DFA minimization >> 288: /(^\s*)#.*/m `] = lit` -PRUhYiO3wsN/2Yw0eHz1mE5LkFOOuGqzxQgZSsQk3Po= -`; - -module.exports[n`DFA minimization >> 290: /([(,]\s*)(?:@?\b[A-Za-z_]\w*\b)(?=\s*:)/ `] = lit` -2kMmu3dlTA+UxRSRB3MStRicSVh4XRZ0UB7vRcvJ2Zg= -`; - -module.exports[n`DFA minimization >> 291: /<%--[\s\S]*?--%>/ `] = lit` -N0CpKsaXJlOVxCVz1im0t2QBd+rO/C4luRtBqMvZo24= -`; - -module.exports[n`DFA minimization >> 292: /()[\s\S]*?(?=<\/script>)/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 293: /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'... `] = lit` -atU/FMJI3TNZ86PEDm9BJ9obDOw7CpbHFEgjChCHaFQ= -`; - -module.exports[n`DFA minimization >> 294: /<%\s*@.*%>/i `] = lit` -E/EAy5GI4AumEe1a5cltlvJ5JEpDfxLZDubcKHF7+h0= -`; - -module.exports[n`DFA minimization >> 295: /<%.*%>/i `] = lit` -DeO+GecOj1pt4ZaePF7QGmnxXmCwcxGkgRfS/qvYWU4= -`; - -module.exports[n`DFA minimization >> 296: /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|(?:\{(?!\{)(?:(?![}:])(?:[^"'\/()]|(?:... `] = lit` -9NrJgZET4jofr2XC0yM9FgvsLd40NBvj+Rd92ouUe48= -`; - -module.exports[n`DFA minimization >> 297: /(^|[^@\\])\$"(?:\\.|\{\{|(?:\{(?!\{)(?:(?![}:])(?:[^"'\/()]|\/(?!\*)|\/\*(?:[^*... `] = lit` -+o1jahfAUQpNLbQ0djO6VO3JEi8tyFEjobxOzpuDv9Y= -`; - -module.exports[n`DFA minimization >> 298: /(^|[^$\\])(?:@"(?:""|\\[\s\S]|[^\\"])*"(?!"))/ `] = lit` -nC6WW8ZrEvMvtp+URh6YK5OlLdGqeOwQggdFgZU9Okg= -`; - -module.exports[n`DFA minimization >> 299: /(^|[^@$\\])(?:"(?:\\.|[^\\"\r\n])*")/ `] = lit` -LIhk5FaXv66QC9azaIGeKDV7M35eZQ58BnpfFTnE5kk= -`; - -module.exports[n`DFA minimization >> 300: /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/ `] = lit` -0x1wPHLA3AtqcJ4Vs/unGLGt1SPdkruMX+mwTs/wAzc= -`; - -module.exports[n`DFA minimization >> 301: /\./ `] = lit` -yqynYCQiA/bsfBoJxFQiC7GdC6KdML6X3cHVWcoe3YA= -`; - -module.exports[n`DFA minimization >> 302: /[<>()?,.:[\]]/ `] = lit` -pQj7j6LxvzhsGRPcsHiZykt5VP7StektD595srF3TeA= -`; - -module.exports[n`DFA minimization >> 303: /^(?:@?\b[A-Za-z_]\w*\b)/ `] = lit` -Eq2RRPj+JnvDa7soNWwHhYI1Jcfl1yVeb4T3iZGsEAk= -`; - -module.exports[n`DFA minimization >> 304: /,/ `] = lit` -7cQkfFCmBem5aeuw7RHUwf+RgTkKjLleF0ADaMVXXeA= -`; - -module.exports[n`DFA minimization >> 305: /[:,]/ `] = lit` -fAkVcTPngrPKzfkwpnYuI9x0DkMh2IILaQ3Q1wGzIvk= -`; - -module.exports[n`DFA minimization >> 306: /(\busing\s+static\s+)(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|as... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 308: /(\busing\s+)(?:@?\b[A-Za-z_]\w*\b)(?=\s*=)/ `] = lit` -m8Uz/LionWZ2KP/GuXsE3U1nPs48vRFfWcdpWVYEgoM= -`; - -module.exports[n`DFA minimization >> 309: /(\b(?:\b(?:class|enum|interface|struct)\b)\s+)(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?... `] = lit` -bupa83MP6k5KyZegm9jwOFI+PjaqikgB6rMmTYlt3bY= -`; - -module.exports[n`DFA minimization >> 310: /(\bcatch\s*\(\s*)(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascend... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 311: /(\bwhere\s+)(?:@?\b[A-Za-z_]\w*\b)/ `] = lit` -EnJT0T0z/shmn5mPhOFKRN+4hJbRIbldhD77RwuEYnQ= -`; - -module.exports[n`DFA minimization >> 312: /(\b(?:is(?:\s+not)?|as)\s+)(?:(?:(?!(?:\b(?:class|enum|interface|struct|add|ali... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 314: /<(?:[^<>;=+\-*\/%&|^]|(?:<(?:[^<>;=+\-*\/%&|^]|(?:<(?:[^<>;=+\-*\/%&|^]|(?:<(?:... `] = lit` -mkYadARQeci224Ngls9CDhPM0GfFiM2mSxpXzEI7NNY= -`; - -module.exports[n`DFA minimization >> 316: /(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|w... `] = lit` -h9YT4+jBmAJOa19eY4SPzrvqEVIxXI09VJISNJSZEPc= -`; - -module.exports[n`DFA minimization >> 317: /^(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b)(?=\s... `] = lit` -50a311b7ym3wWHeGI79e2tJi2LlHlJUMjqNiGGrzSPo= -`; - -module.exports[n`DFA minimization >> 318: /\((?:[^"'\/()]|(?:\/(?![*\/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:... `] = lit` -XV9XF+OQbxxFVkRjSjg3K4iEresbNWqZkdfBu7YMalM= -`; - -module.exports[n`DFA minimization >> 319: /(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|d... `] = lit` -K4sJSKSvV4G81rMTfB7IW1xrGt3g/WRbwMpcEqpUjkc= -`; - -module.exports[n`DFA minimization >> 320: /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page... `] = lit` -nZrwrbZmRyWhj9VXsRiS7HfB6zA8MlfeVjWSFBmFJf8= -`; - -module.exports[n`DFA minimization >> 321: /<%\s*?[$=%#:]{0,2}|%>/i `] = lit` -Tnfw9L3PQhwgrbwgzq/DVlqHT58X7mieP7zcG3kNKRo= -`; - -module.exports[n`DFA minimization >> 322: /((?:^|[^{])(?:\{\{)*)(?:\{(?!\{)(?:(?![}:])(?:[^"'\/()]|(?:\/(?![*\/])|\/\/[^\r... `] = lit` -94Ygcbw18qb3A98IKRk1o4h4PcBR8e6MXBbW3+e1Fsc= -`; - -module.exports[n`DFA minimization >> 323: /((?:^|[^{])(?:\{\{)*)(?:\{(?!\{)(?:(?![}:])(?:[^"'\/()]|\/(?!\*)|\/\*(?:[^*]|\*... `] = lit` -FHoxnL46TG78kcCp7MniwXthO5YarbMOSQCvlINeR9Q= -`; - -module.exports[n`DFA minimization >> 324: /^\{|\}$/ `] = lit` -W4AY52cBoSQcGVz0+lDanHZsFAo9JSCbKL809xmRCVc= -`; - -module.exports[n`DFA minimization >> 325: /(^\{(?:(?![}:])(?:[^"'\/()]|(?:\/(?![*\/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!... `] = lit` -sd7m3ULSX7iNpsrKRlEplucSXqmYnEFWvMhnhmhcvRY= -`; - -module.exports[n`DFA minimization >> 326: /(^\{(?:(?![}:])(?:[^"'\/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\... `] = lit` -4mOK6T54aSLyQEQswoX6lWHDzT4e8UwTWD8QiMQxWnQ= -`; - -module.exports[n`DFA minimization >> 327: /^:/ `] = lit` -gwaQCkXxPWUSEYeW+09l3l+4TOJc1EmyLFMyRC6rH5I= -`; - -module.exports[n`DFA minimization >> 328: /(["'\`])(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -m+2Iy7QB9l/SkKeNY9O3WxgSWA/4U1Yg02/83TLC/V4= -`; - -module.exports[n`DFA minimization >> 329: /\.\w+(?= )/ `] = lit` -IbOTFqhoIIssVCuMUs/SlSM3Er+839mCYwFmMw6kVIU= -`; - -module.exports[n`DFA minimization >> 330: /\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cp... `] = lit` -FSFyYytBmAdeeIx2TkHECOb0Du2VYRLzX9xpeOLEOYk= -`; - -module.exports[n`DFA minimization >> 331: /#?\$[\da-f]{2,4}\b/i `] = lit` -4iZ9D3/vZKNX6J9Iazp5Y86gO5pCQmJx14MiP7HY8S0= -`; - -module.exports[n`DFA minimization >> 332: /#?%[01]+\b/ `] = lit` -a3jRxfN0pz5Bc0/ceWOv8RHuoD292UlXkeK16Q5romU= -`; - -module.exports[n`DFA minimization >> 333: /#?\b\d+\b/ `] = lit` -XPAuP32W9AcU9J76EVMnIzQ5QuxIsmjHc0C7nWvpbo0= -`; - -module.exports[n`DFA minimization >> 334: /\b[xya]\b/i `] = lit` -/yEPjXzTBnGH4qMX2hP71fYro/7l3zRnA8SsIGfSOPs= -`; - -module.exports[n`DFA minimization >> 335: /"(?:[^"\n\r]|"")*"/m `] = lit` -RmivvYL9So/4kBHqas3x0SYyu+0CBSc4YqttwKbIUVA= -`; - -module.exports[n`DFA minimization >> 336: /^[ \t]*[^\s:]+?(?=:(?:[^:]|$))/m `] = lit` -xJ2yIiDpIhPrggYP294WaS6zamPUJSZY5f236BoLgSU= -`; - -module.exports[n`DFA minimization >> 337: /%\w+%/ `] = lit` -bj9MtJlx4M6vZj54qsGNS1+mCqOQiK7wclm2Uz78Jk4= -`; - -module.exports[n`DFA minimization >> 338: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ `] = lit` -8K42ZNaLHxL9U1Kq85XGcB65ja/OCwAKFRPbZX8Jp7I= -`; - -module.exports[n`DFA minimization >> 339: /\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]... `] = lit` -egOe2SAcDSMqUkmvK+3mDdqpykpxW2HyA4VAHRJV+n8= -`; - -module.exports[n`DFA minimization >> 342: /\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconne... `] = lit` -5gmQlv54hBKdI8jw0ipSHuUaaSxddoKql2LoQt9WvTs= -`; - -module.exports[n`DFA minimization >> 344: /#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|... `] = lit` -PWrvngAqgXRQGrhmMFoGSUI8JHSVnM0rSXgFHAqmVGQ= -`; - -module.exports[n`DFA minimization >> 346: /[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+?(?=\()/m `] = lit` -iXpzaEc7is2PuG+sUStRtWBd0sq++jrKGVhpnSG1sdE= -`; - -module.exports[n`DFA minimization >> 347: /[{}[\]():,]/ `] = lit` -pAZA6+ZFKJmh5l+Ab+9nQmPChuQgNGdkL3emESob52E= -`; - -module.exports[n`DFA minimization >> 348: /(^|\s);.*/ `] = lit` -digCU8YCmXsR52o/fGo2Qy6xERucU6/HRMXZXtJbbGo= -`; - -module.exports[n`DFA minimization >> 349: /(^\s*)\/\*[^\r\n]*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m `] = lit` -23qahxySfcbrROR2BlBfKCbTaw3UpZ6nDfdRzq4pGN8= -`; - -module.exports[n`DFA minimization >> 350: /\b\w+(?=\()/ `] = lit` -UAgPJf0Lc8wZiLiOJNtXuWpzaXIWtsQlZyWok5MgdEQ= -`; - -module.exports[n`DFA minimization >> 351: /[$@]\w+/ `] = lit` -gR6gIg4fw8lqhXvU4L2LYm8Jes/LRns88Qlr5S29W2w= -`; - -module.exports[n`DFA minimization >> 352: /\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|... `] = lit` -/yI5MeexS0DKOteYTjNOLON01G7isC54Bf0gvIXYMvg= -`; - -module.exports[n`DFA minimization >> 353: /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i `] = lit` -XrQYcegWH4IAE6q5AmMh6HR8DKLSb28bdoztEZB4UeY= -`; - -module.exports[n`DFA minimization >> 354: /\b(?:True|False)\b/i `] = lit` -kPiBOQvqbACAoKWacUeiIbdyS5DG8ByS7p6jUbRTaMI= -`; - -module.exports[n`DFA minimization >> 355: /<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i `] = lit` -qWdWvI9i7lIfqmO1NPhk8HwR+iRyYlRt3Hxq/b0Lqyk= -`; - -module.exports[n`DFA minimization >> 356: /[\[\]().,:]/ `] = lit` -F+6KkUtnocy+T3YrGC8OnnYaQuZnRk8TUSAHRWBoMQ8= -`; - -module.exports[n`DFA minimization >> 357: /(^\s*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m `] = lit` -nEf2+rtIXz3xW1c9Uf8X+ZJWOv4oZ7ZNSzh/Z8S0yt0= -`; - -module.exports[n`DFA minimization >> 358: /(["'])(?:\1\1|(?!\1)[^\r\n])*\1/ `] = lit` -8E6VwCZI4xnqwWbCq1DfmE0JU8SWmJSn1J4a1Jhq8ss= -`; - -module.exports[n`DFA minimization >> 359: /(^\s*)#\w+/m `] = lit` -Z/plMnJqdrkEuwo7TXizYBmqzQPCLdjwFxNNDhInW4c= -`; - -module.exports[n`DFA minimization >> 360: /(^\s*)#(?:comments-start|cs)[\s\S]*?^\s*#(?:comments-end|ce)/m `] = lit` -522FYOOvFTj9N0aVgfApdWVzYckysICxxuv1flRqS3E= -`; - -module.exports[n`DFA minimization >> 361: /([%$@])\w+\1/ `] = lit` -v0lk557K8fekScekWgjyX2jlGORmZqFmdcf8B/xqXBo= -`; - -module.exports[n`DFA minimization >> 362: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/ `] = lit` -SfQYcypXF0zNO5j6mdTbgMjBoPJbcVoladrpNHQRZII= -`; - -module.exports[n`DFA minimization >> 363: /^#!\s*\/.*/ `] = lit` -J1TetvQC+QNxdoiIozU+MP33yWGQKDnXK4DgqsJ0ODs= -`; - -module.exports[n`DFA minimization >> 364: /(^|[^"{\\$])#.*/ `] = lit` -d14VLpVtyAeM4um3B/hup6dgw6Mp4A3SEM4YRM3bHiU= -`; - -module.exports[n`DFA minimization >> 365: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/ `] = lit` -yJva3yTd90A2uNJHQ04kEvDwPSZ6mlXV6FciTll/leE= -`; - -module.exports[n`DFA minimization >> 366: /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/ `] = lit` -wTKvXclOa2/NajjekPhYLH4LlAnrg83Ba+GxobEFTZQ= -`; - -module.exports[n`DFA minimization >> 368: /\$(?:\w+|[#?*!@$])/ `] = lit` -+xJ4weOhnr0M/OeYKSwXsxYSr6sSewK/BsBkNM09Ymg= -`; - -module.exports[n`DFA minimization >> 370: /(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|selec... `] = lit` -LuumcD151Cwd8oGihIBYAuAWc5xcx45JeRLIrQTzuGE= -`; - -module.exports[n`DFA minimization >> 371: /(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|... `] = lit` -Wx6AjXDfpqV84Ab8JXGnv6e0q4gqpKmep965b+WTxHU= -`; - -module.exports[n`DFA minimization >> 372: /(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/ `] = lit` -9ElnOb2NpNtkMDmLI9fV/wlYfaPW67aOexd9IG0YJT4= -`; - -module.exports[n`DFA minimization >> 373: /\B&\d\b/ `] = lit` -nqpKE0Z3ROdUJ08xEUBsXd4vh1yztgBGhOP+IMT318U= -`; - -module.exports[n`DFA minimization >> 374: /\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/ `] = lit` -RZAMlTvSdwpNItGTcKtGefFgKKqGJIiSa4Xwu0hbAx8= -`; - -module.exports[n`DFA minimization >> 375: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/ `] = lit` -mjPqd4gg3QqAXladaSMYIHrgLILJuLtecZQJ8eIeARg= -`; - -module.exports[n`DFA minimization >> 376: /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ `] = lit` -zTZspSFBzT7doTcQXsbBB4l2AqZOT+lWIskUhi+8RUM= -`; - -module.exports[n`DFA minimization >> 377: /\b\w+(?=\s*\(\s*\)\s*\{)/ `] = lit` -FysJgcgdASQHWeMKC14JepW/s6sUpZ0hMV73g0FjzxU= -`; - -module.exports[n`DFA minimization >> 378: /((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 379: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 380: /(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\`[^\`]+\`|(?!\2)[^\\])*\2/ `] = lit` -QNpDWK+02ag6mJV2mtButbm4SR5SEQHUsHCBKkSPYdE= -`; - -module.exports[n`DFA minimization >> 381: /\$?\(\([\s\S]+?\)\)/ `] = lit` -VWeLb8fuOpoA9xTTsDZzgOUeSm3zxqphv7SxJwiaB/8= -`; - -module.exports[n`DFA minimization >> 382: /\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ `] = lit` -WBsfmuwg3AUNokSpA3fawhmXmgu5SDpJjX8ags46+G8= -`; - -module.exports[n`DFA minimization >> 383: /\$\{[^}]+\}/ `] = lit` -j1/v+uTIVzzTUr0/0nGY3jAVuTYNmj76e+0DzE/YAEM= -`; - -module.exports[n`DFA minimization >> 385: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F... `] = lit` -Cw+9qYzTvbpxgcLkjvQCRHv6SS/vYSg7BZ8iNb4ibvo= -`; - -module.exports[n`DFA minimization >> 386: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\... `] = lit` -ACR8hDSoEEHKw2FzmWoiYhmDqSCyWxTrWJEPdg4rox8= -`; - -module.exports[n`DFA minimization >> 387: /\(\(?|\)\)?|,|;/ `] = lit` -RKg0UcBQYrw5uZhNMaW83WLthJ6M1lsAKYPd+56Ny74= -`; - -module.exports[n`DFA minimization >> 388: /^\$\(|^\`|\)$|\`$/ `] = lit` -1dobQZJt+z3wUP0MXwYqN7XCKhFmKlpxl05vGRKyJEc= -`; - -module.exports[n`DFA minimization >> 389: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/ `] = lit` -eEiUrYApdT/GgvNBCSDfCoW+lu6XkRJXSo53tiAMDXg= -`; - -module.exports[n`DFA minimization >> 390: /^\d/ `] = lit` -XKmWUJu2GHXvgheawB9y/S1FmiGCnQW8u2UQu8HuS/I= -`; - -module.exports[n`DFA minimization >> 392: /^\$\(\(/ `] = lit` -8YEDW1+2BvlVqvo4WDlvEPTIU+mIHcQytzJeHdDNm38= -`; - -module.exports[n`DFA minimization >> 394: /(^\$\(\([\s\S]+)\)\)/ `] = lit` -oQnl/RitMQVJYcGt6MhK8q+BNWNEDAj+z8Tr1X6zoYA= -`; - -module.exports[n`DFA minimization >> 395: /(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i `] = lit` -/CMCC0Vt/DT0NahQrLDQBfipknVriSoOdfB5yXtoduM= -`; - -module.exports[n`DFA minimization >> 396: /\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|CO... `] = lit` -CSpoySbAxuBR0McY1OXp1ldtPMLLU0SXVkOWlVqrNMI= -`; - -module.exports[n`DFA minimization >> 397: /\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BRE... `] = lit` -mJ/684pfEkvPz2WibfoF3vwCEqmHnzAKlKsrGso5eRg= -`; - -module.exports[n`DFA minimization >> 398: /<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i `] = lit` -Vhmu3E7YwFUOpO6IM9YPIbqYDyehGbkqtkDFPYTT6VA= -`; - -module.exports[n`DFA minimization >> 399: /[,;:()]/ `] = lit` -sMq7dGe9qorKqMR1A15207TzRknA71gx9vMke19GuwA= -`; - -module.exports[n`DFA minimization >> 400: /(?:!|REM\b).+/i `] = lit` -sxEc/M5Z71KD6x7/6T2QC6yh7fQS6BAzzdfMdsnwKFQ= -`; - -module.exports[n`DFA minimization >> 401: /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i `] = lit` -aAj1Ay0Qa2VFLSm8ZSZKm6N7HmEBTQvd5fBNdQIKXmA= -`; - -module.exports[n`DFA minimization >> 402: /^REM/i `] = lit` -d/YvYT6lzIdvjP+UiX1ydM6U8ejx5OIpc6yIkoCdK0g= -`; - -module.exports[n`DFA minimization >> 403: /[&@]/ `] = lit` -LTocufUutfyVJ8XCaKScvWP/WW2avyuTTH5biaiqJXM= -`; - -module.exports[n`DFA minimization >> 404: /[()']/ `] = lit` -7j/BfXid3NZKb53102OzSoKh2QBZxAmJW5ZoFiWa1Ts= -`; - -module.exports[n`DFA minimization >> 405: /^::.*/m `] = lit` -DiZ9TReD+zedPmJK5mqtfNB6+GWI8I5ceCdxcoVERao= -`; - -module.exports[n`DFA minimization >> 406: /^:.*/m `] = lit` -MKX68GYFzO3KfgLId9OsLKTDf/s2lydQLA90xNUnCP4= -`; - -module.exports[n`DFA minimization >> 407: /((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im `] = lit` -KiBIdM5vYRiXnQVUvbG8k19xlo996S0ThWph9bdLfro= -`; - -module.exports[n`DFA minimization >> 408: /((?:^|[&(])[ \t]*)for(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* \S+ in \([^)]+\) d... `] = lit` -hWDa1su7YHiOnjVoIQifypFp/ztSJ7TAU2WMg1AJmaQ= -`; - -module.exports[n`DFA minimization >> 409: /((?:^|[&(])[ \t]*)if(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* (?:not )?(?:cmdextv... `] = lit` -yzflDyL0JvjdRNi2YkAlyZE8iCFQlqPp0f0s/oaVTf0= -`; - -module.exports[n`DFA minimization >> 410: /((?:^|[&()])[ \t]*)else\b/im `] = lit` -4BP9dUmAtYG6zUpvl10glXOAVdzjHGZrgo51UXamH9A= -`; - -module.exports[n`DFA minimization >> 411: /((?:^|[&(])[ \t]*)set(?: ?\/[a-z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^^&)\r\n]|\^(?:... `] = lit` -m0yXxrDZsT/5fWF1auBGkQhOkdbLxR4qVaA4MHNYy30= -`; - -module.exports[n`DFA minimization >> 412: /((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S... `] = lit` -KbSOEeUX2ysw7zIH91r5awwrQTPCgM1U6Pf6m6isGpY= -`; - -module.exports[n`DFA minimization >> 413: /^for\b|\b(?:in|do)\b/i `] = lit` -090MvjY6HvtCBoGENKHkhYsBA6BCkYOHWvDV3SPpO7A= -`; - -module.exports[n`DFA minimization >> 414: /"(?:[\\"]"|[^"])*"(?!")/ `] = lit` -zmSqSDCgypGZavShlVGtJPDJYPjh7ZWkNfZdKFzJsEA= -`; - -module.exports[n`DFA minimization >> 415: /%%?[~:\w]+%?|!\S+!/ `] = lit` -VIVKi8n25MgyWvAyFFz3WTvE6mdd2W5JGG9l4rhX6/Y= -`; - -module.exports[n`DFA minimization >> 416: /(?:\b|-)\d+\b/ `] = lit` -xpkdLzw5ez8SHErzRNYsvOvNmJctMGnYe5IJd03R39M= -`; - -module.exports[n`DFA minimization >> 417: /[()',]/ `] = lit` -O6SEbjfFi3PBxYu0fQz3BYBjZqZMYWh3U0fXxENWcMc= -`; - -module.exports[n`DFA minimization >> 418: /^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i `] = lit` -sdtdAMdd4IN8IZlYkTQLzSrp6pFv0AtF4TyW5yU7doU= -`; - -module.exports[n`DFA minimization >> 419: /\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i `] = lit` -7c7+x+xM838MHr/RdEc1uDcOqGQqZkja+rMBHawRfik= -`; - -module.exports[n`DFA minimization >> 420: /^else\b/i `] = lit` -9JYLraRTValPhMZt7Qs3im8JM8Lb7tlCFJeBbVBAf44= -`; - -module.exports[n`DFA minimization >> 421: /^set\b/i `] = lit` -qyQ+0OAxpJEicAuXydrpm+M7Yi4CUc+FpI886+UWo+0= -`; - -module.exports[n`DFA minimization >> 422: /[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/ `] = lit` -rkZplWCOcH4eumKDevGQAynP6G7nr6cuRYKWjHUMZHM= -`; - -module.exports[n`DFA minimization >> 423: /^\w+\b/i `] = lit` -G7q1DZSuo68ahopKRciJi+dd+0bshV5qEIbLHV+5XF4= -`; - -module.exports[n`DFA minimization >> 424: /\^/ `] = lit` -CVdySI3rRN4OzetKjj5JjJ5ymGvSmCZs7I+6hRqdnSU= -`; - -module.exports[n`DFA minimization >> 425: /\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im `] = lit` -DufU9NZnXO/7TxxViMDXqnxQJKCo7ibUdI08fkZMY5g= -`; - -module.exports[n`DFA minimization >> 426: /\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/ `] = lit` -o9CY/s7BXne75NjerufsRR8ISvOocsuaiagCwKbr7oY= -`; - -module.exports[n`DFA minimization >> 427: /(^\s*):\S+/m `] = lit` -6NlejmTNZ0Zue2LyqlYblFrGYAkciBuE3nxz7EVs/dk= -`; - -module.exports[n`DFA minimization >> 428: /\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*... `] = lit` -jXfZj6SAg1426fwpeswjOh9LgiBWySBCGGdHXhEn/Uc= -`; - -module.exports[n`DFA minimization >> 429: /\]/ `] = lit` -jgQOyk6cWXtA1sieHMpftVgKsg/+h8mNoHy3arWgsGg= -`; - -module.exports[n`DFA minimization >> 430: /[^\s=\]]+/ `] = lit` -IIYR/jPK/BTqkDeN71Hcdl6i97ZGVNowv72ixRfUMM4= -`; - -module.exports[n`DFA minimization >> 431: /^\[\/?[^\s=\]]+/ `] = lit` -V97EYK9W4mcF2tuAKM5NwaxYZkpmVWNx+8ij1aSb314= -`; - -module.exports[n`DFA minimization >> 432: /=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/i `] = lit` -Wvdhcs40vQb52nh/n9IYKTBWSpEgsgFXSRjApbq1Rq4= -`; - -module.exports[n`DFA minimization >> 433: /^\[\/?/ `] = lit` -Ejk+KYThEFiyjO/WPiTUULdpz5XilxZgOFiqTsIXV8A= -`; - -module.exports[n`DFA minimization >> 434: /^(\s*)["']|["']$/ `] = lit` -mqpvPuKPjS703OrUCCSHHm/kuTapVWMJdhcvVcjs8Kk= -`; - -module.exports[n`DFA minimization >> 435: /^[\s\S]*?%%[\s\S]*?%%/ `] = lit` -qo6bWOf9FjZG3M4u9KHwSXf0hBfiXtZj+48CHLltWUQ= -`; - -module.exports[n`DFA minimization >> 436: /\S+(?=:)/ `] = lit` -rn8sD05eYpSV1zw/mlsHNdedku2ZTQL2zIPHwgBIkV4= -`; - -module.exports[n`DFA minimization >> 437: /%\w+/ `] = lit` -/EydPJ9elZ4mLj7GAW6jOc0FkkhPJISczb56mkHVfUk= -`; - -module.exports[n`DFA minimization >> 438: /%[%?]|[|:;\[\]<>]/ `] = lit` -dl8xhT6ToYyfqrqnf44pKO7uU4aZgyQ9vVOe1g8CLDI= -`; - -module.exports[n`DFA minimization >> 439: /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ `] = lit` -4UlZ2SlzOMScPRKHUyYXcq2Pi/tlY4jP9X/uOr5RfzE= -`; - -module.exports[n`DFA minimization >> 440: /(^|[^@])\b(?:0x[\da-f]+|\d+)/i `] = lit` -oqAJ4I4D8zhYs0+xxG0Sg9DUHpCmfWMShf2pS1vczBo= -`; - -module.exports[n`DFA minimization >> 441: /^%?\{|%?\}$/ `] = lit` -t93bu+ruhkRLVo2W0wRuhyLnHzAmsUBO4zKGp+cTj/g= -`; - -module.exports[n`DFA minimization >> 442: /[$@](?:<[^\s>]+>)?[\w$]+/ `] = lit` -Z5BC1f/GTaTu5GFKI4d35hgbOdZPZ/qitvXnt6RRw/0= -`; - -module.exports[n`DFA minimization >> 443: /::=|[|()[\]{}*+?]|\.{3}/ `] = lit` -JaTpX+Aa6FGrYP+82VFyTR/s0m2h8r3zMofou9ZKzr8= -`; - -module.exports[n`DFA minimization >> 444: /"[^\r\n"]*"|'[^\r\n']*'/ `] = lit` -jvkP18LHgJ+SnFBQl2C7GLOuB7g3uzpWt+3V1fYDsOs= -`; - -module.exports[n`DFA minimization >> 445: /<[^<>\r\n\t]+>(?=\s*::=)/ `] = lit` -lf/NFP7QPeFgQ/WnJTUYl9DD3Y+IDkpnzkySQG3N8IQ= -`; - -module.exports[n`DFA minimization >> 446: /<[^<>\r\n\t]+>/ `] = lit` -qDjMQYojU76W7Ea2rBYfNGBd8RZO4mWbJ+9GTqVu/w0= -`; - -module.exports[n`DFA minimization >> 447: /^<|>$/ `] = lit` -lV3wbmWVnhQXvq3YGN0Hd+DsQ8tEFC0VLhPKTWIrf1g= -`; - -module.exports[n`DFA minimization >> 448: /[.,]/ `] = lit` -sGL+nN5FRynK4TDrbA47Hcca7HR5FpU5k6kNarXrHyA= -`; - -module.exports[n`DFA minimization >> 449: /\S+/ `] = lit` -hPej3e0ijHrkLuZr6FXN8D5fiIMQPnfHQNNZZ50/hwg= -`; - -module.exports[n`DFA minimization >> 450: /\+/ `] = lit` -Kt6PTtl36n1I5n80jAPEOSaTgrMkuV2XfQvpc92vbxc= -`; - -module.exports[n`DFA minimization >> 451: /-/ `] = lit` -tz2YQI5zN6NrDYnH/TaJbQ1nhYDvyJxHWDPkPpAtr8o= -`; - -module.exports[n`DFA minimization >> 452: /\[|\]/ `] = lit` -h2hNyvq8E7GII+4Vx2B8al2oqPqB4oghiz6rLKBHsrY= -`; - -module.exports[n`DFA minimization >> 453: /(?:\brem|').*/i `] = lit` -cGWPgsClcuN+cS8gB7avfpirCE76ZXabm93/rpuFysM= -`; - -module.exports[n`DFA minimization >> 454: /\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step... `] = lit` -I+li6PENfYb1gdTA/f1OFFq39OOKi3dTELHhQj+Fx7g= -`; - -module.exports[n`DFA minimization >> 455: /\b(?!\d)\w+(?=[\t ]*\()/i `] = lit` -OkjgzGY/eAgqqz4XGr8h2zNHqswIj8z0eVd6ozeCXY4= -`; - -module.exports[n`DFA minimization >> 456: /(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i `] = lit` -Cx8XZtJP6G2cShsfFDEClXMsOTsq+ZqMMD+H3NCf4CE= -`; - -module.exports[n`DFA minimization >> 457: /--|\+\+|>>=?|<<=?|<>|[-+*\/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i `] = lit` -Qsuaj4oyCTml81nzavDZrUwqtxXDqmVzwyO58g91Row= -`; - -module.exports[n`DFA minimization >> 458: /[.,;()[\]{}]/ `] = lit` -cL2HxM2p/FcOqSmfqb0J4OVMJEPHlnV3HJO5n9O96gg= -`; - -module.exports[n`DFA minimization >> 459: /\b(?:LINE_NUM)\b/i `] = lit` -8Qtv7icR0WPf0z+Z23PYrxBLTKKkJ3+s6I/mD9WyJVk= -`; - -module.exports[n`DFA minimization >> 460: /(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im `] = lit` -bpVL8sbg5JyIG/olZTIE1Ikxew3BHVhASAIXnFhJ5lo= -`; - -module.exports[n`DFA minimization >> 461: /([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/ `] = lit` -6USToKprrR2IXmVJkrs84zipxUh/8txuLewKIzuJ/Fw= -`; - -module.exports[n`DFA minimization >> 462: /"(?:[^"\r\n]|"")*"(?!")/ `] = lit` -RmivvYL9So/4kBHqas3x0SYyu+0CBSc4YqttwKbIUVA= -`; - -module.exports[n`DFA minimization >> 463: /(\bAs[\t ]+)\w+/i `] = lit` -H8fxUxHe5VLpJzWbBpnFCOGutZPJ5zknrsLBwryqeXI= -`; - -module.exports[n`DFA minimization >> 464: /(^#error).+/ `] = lit` -xdztc+67c0Dfa5aAnTXna09xM6y76jib+fA5QGTRlY4= -`; - -module.exports[n`DFA minimization >> 465: /^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ `] = lit` -cLk8R0AkofaxUv9HaJD7cnDY/TLaDusMe8mp01RjkHg= -`; - -module.exports[n`DFA minimization >> 466: /\b[TF]\b/ `] = lit` -5NLDpQeixJmf9Ni8uj/HCNGGIXIPDltAhFsuNNQhnKo= -`; - -module.exports[n`DFA minimization >> 467: /(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FI... `] = lit` -iug6lxvknstKXNRn67aCkVjy1eApRzzJ2WTQw9IqPAg= -`; - -module.exports[n`DFA minimization >> 468: /\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule... `] = lit` -14f+MtHauNyKn8pdMti/jHNgEjsEt3azO80gD9L3LCY= -`; - -module.exports[n`DFA minimization >> 469: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ `] = lit` -/2kP3JQu+uFoKDI8SXvRrPOaE+qdny3h8QtgmhY5DcM= -`; - -module.exports[n`DFA minimization >> 470: /(^|[^\\$])#.*/ `] = lit` -8lBzzCCze65dDQj30dwsx0UmfqoYlgo4+9LTjqYevwc= -`; - -module.exports[n`DFA minimization >> 471: /(?:function|hook|event) \w+(?:::\w+)?/ `] = lit` -ydAU2goLb/sKzdeatKQJ/bva4enmeR1YJH9ucAwlngs= -`; - -module.exports[n`DFA minimization >> 472: /(?:global|local) \w+/i `] = lit` -n1ZoWTdhkkpPrQSMUFOWAT/ocP9RwjULt+JF4BKA0u8= -`; - -module.exports[n`DFA minimization >> 473: /const \w+/i `] = lit` -pvrPyi9SfmEjfjvSfeuli1e7X4wKIfd8+b5UGUooGaM= -`; - -module.exports[n`DFA minimization >> 474: /\b(?:TODO|FIXME|XXX)\b/ `] = lit` -bp7xmYD5CUR28TLWLlOVBUyd8DVdIqYgvakcXbswrfQ= -`; - -module.exports[n`DFA minimization >> 475: /^(?:function|hook|event)/ `] = lit` -Aw1FihL3YptjEGowB6o10GdAnEfvpIlZtMZv+HF6vrc= -`; - -module.exports[n`DFA minimization >> 476: /(?:global|local)/ `] = lit` -ZOnAZW7aFG9g9bAQNugtx55o3jBi/0VcYst3gqJM8d4= -`; - -module.exports[n`DFA minimization >> 477: /const/ `] = lit` -N10dMZttKJOc00V2YiJj1loFO5sP4bNtXFu5Da0IYWI= -`; - -module.exports[n`DFA minimization >> 478: /\/\/.*/ `] = lit` -JdbUZd7MyF80bJQmmk3EFLhwqUPbwpT8nQRQrqnqagg= -`; - -module.exports[n`DFA minimization >> 479: /\[[\w\.]+\]/ `] = lit` -qs3/cSXAWD6IUXsH4yDn1QFoK4knEb/DDj8bX1ACCmM= -`; - -module.exports[n`DFA minimization >> 480: /\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|ca... `] = lit` -x1iGmBG+WUQj85oGclQ2s5kLAayDkdCLllRw2/DwpcU= -`; - -module.exports[n`DFA minimization >> 482: /\b-?(?:0x[0-9a-fA-F]+|[0-9]+)(?:\.[0-9a-fA-F]+)?\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 483: /[{}[\];(),:=]|IL_[0-9A-Za-z]+/ `] = lit` -iey7K/31HjwVJcRe2U7WZvlEqquEXzDqLRsyYXgFK4Q= -`; - -module.exports[n`DFA minimization >> 484: /(^|\W)\.[a-z]+(?=\s)/ `] = lit` -OiMOKfe73M6aQKuG9ZX3urHcx4lAjSIZZjMOzgBGaTM= -`; - -module.exports[n`DFA minimization >> 485: /(?:::|[:|'])\b[a-z][\w*+!?-]*\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 486: /\b(?:true|false|nil)\b/ `] = lit` -MDpSCdWicrR8bQ7ZqFBoQ/JcfUSWU7ImKSbjNQNhw38= -`; - -module.exports[n`DFA minimization >> 487: /\b[\da-f]+\b/i `] = lit` -aZKPoQb+d5N46vQ6SSCi2lBaZW4Ocy+ElCHLJVNDvK4= -`; - -module.exports[n`DFA minimization >> 488: /[{}\[\](),]/ `] = lit` -iglKt0sw55oGX36OeEv6h6ML3VYcy2o/r8eRjdtkOhE= -`; - -module.exports[n`DFA minimization >> 493: /\b(?:ON|OFF|TRUE|FALSE)\b/ `] = lit` -S6nd9xyhm12XuFZwxlhgkP9V2fcR6wgxLslGQkWb9fE= -`; - -module.exports[n`DFA minimization >> 494: /\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ `] = lit` -7WEELivDw7mpTleBrtsiLDEInlZzMNahWqgK5HoF0RM= -`; - -module.exports[n`DFA minimization >> 495: /\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_... `] = lit` -nQB3M5SuhBqzS8sX+BIFD4rsIMNP+8KuCS9zf5xprBA= -`; - -module.exports[n`DFA minimization >> 496: /\b\d+(?:\.\d+)*\b/ `] = lit` -RKDXb81h7ByTF8I61P9i/U+XZggHy0KNEilS24U+NqU= -`; - -module.exports[n`DFA minimization >> 497: /\b[a-z_]\w*(?=\s*\()\b/i `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 498: /[()>}]|\$[<{]/ `] = lit` -LgMvs9SsM3H/OvbGiKLFmsEW3UGgt+Zlp/N4Hpkij/c= -`; - -module.exports[n`DFA minimization >> 499: /"(?:[^\\"]|\\.)*"/ `] = lit` -NBJW5CrJdsoEdhgCZrk2vcnHTAjHhudOUJ724Qvv0Ag= -`; - -module.exports[n`DFA minimization >> 500: /\b\w+::\w+\b/ `] = lit` -X8qohb+aWObhAR9FWSdHzyDyBjQbI6j8Q5BmPySscKg= -`; - -module.exports[n`DFA minimization >> 501: /\\\${(?:[^{}$]|\\\${[^{}$]*})*}/ `] = lit` -MaR7hfb6Uguyr3QTPUytObyeRfF9Gr6/jaR6/rxIBec= -`; - -module.exports[n`DFA minimization >> 502: /\\\${|}/ `] = lit` -1M59/tycAMO4/JORJr3jTgBMP1AstPG+Rn21YQNNcW0= -`; - -module.exports[n`DFA minimization >> 503: /\w+/ `] = lit` -G7q1DZSuo68ahopKRciJi+dd+0bshV5qEIbLHV+5XF4= -`; - -module.exports[n`DFA minimization >> 504: /#(?!\{).+/ `] = lit` -4RVkfNHOHARECj0F7aCtMe3uDthP1qk83bHSwXipHvM= -`; - -module.exports[n`DFA minimization >> 505: /(?!\d)\w+(?=\s*:(?!:))/ `] = lit` -bqeNOU77nwQTXoEJBxrY/zh4+Ro6Ir7DZuGhpOt1QXw= -`; - -module.exports[n`DFA minimization >> 506: /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|exte... `] = lit` -YsOG55o5m4ZE7ANJPN4Av7uSzjUNV8BtH6cpzZIHJXw= -`; - -module.exports[n`DFA minimization >> 507: /###[\s\S]+?###/ `] = lit` -SmpfPlaNZaQJfctFRVRYJYvuqH8yPe5hoWIUo2FgWoM= -`; - -module.exports[n`DFA minimization >> 508: /\/{3}[\s\S]*?\/{3}/ `] = lit` -1slLBUAFMzdFXzsopIvP+P1Hnc7LZe7tiZrKkSizZrs= -`; - -module.exports[n`DFA minimization >> 509: /\`(?:\\[\s\S]|[^\\\\\`])*\`/ `] = lit` -CWxF3Jcf9QROgVzIXp5JFn1pHmwwD9m0EyitKpgHRuc= -`; - -module.exports[n`DFA minimization >> 510: /@(?!\d)\w+/ `] = lit` -BmOEJJ17Hsvm/uT6h9xoxwf4Mjm1z8bJICbkjyJDmBQ= -`; - -module.exports[n`DFA minimization >> 511: /'''[\s\S]*?'''/ `] = lit` -LxCgY3QqQ5JDHsHEV1afb0rglWHFF3YwaDnq+ZZ4Ib4= -`; - -module.exports[n`DFA minimization >> 512: /"""[\s\S]*?"""/ `] = lit` -dJQPF/GUmbK+uY+/CpGCPgnn6IM5eI1mT78cGWRHbTY= -`; - -module.exports[n`DFA minimization >> 513: /'(?:\\[\s\S]|[^\\'])*'/ `] = lit` -D547X8KZ44dtJLwcTjCZDS+2/WcVUHbpxGIAR2njePA= -`; - -module.exports[n`DFA minimization >> 514: /"(?:\\[\s\S]|[^\\"])*"/ `] = lit` -901gjCaUOwjwFLfIL54nMX9rgHEl6ouvkBv/aY0K38w= -`; - -module.exports[n`DFA minimization >> 515: /#\{[^}]+\}/ `] = lit` -BZW472HjiAfcrfZu7oJftBjyauGM8foxWe4CxQJIhOI= -`; - -module.exports[n`DFA minimization >> 516: /\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|... `] = lit` -O4OZWAx0HthxScJGobESNcTxu4dHRlL7xzjOcx6AsAs= -`; - -module.exports[n`DFA minimization >> 517: /\b(?:false|true)\b/ `] = lit` -Y0ERb5x2lDpLVTFFKD4wZHkx7MNvFlYJJQCWPpf4OeI= -`; - -module.exports[n`DFA minimization >> 518: /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d... `] = lit` -K909+JV7ZoWqPuBHBu8LDuEmJWiXnxRFJzpTq1cFg1o= -`; - -module.exports[n`DFA minimization >> 519: /<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-+*\/=<>]=?|\b(?:and|as|b... `] = lit` -cl8zWT3ZK6LIXVDuaabaGdxo3LyLpfN2VrWGzJPACaQ= -`; - -module.exports[n`DFA minimization >> 520: /[rs]?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -2ulLdY3BZ3MK2qDLEvG+PDm7qvn0osRUStzm1Ysk/Rs= -`; - -module.exports[n`DFA minimization >> 521: /\w+\s*\|\|[\s\S]+?\|\|/ `] = lit` -1DV2NwMt5z86oFN9rtf9mx4mnsGtym46b6tUWG3KNA4= -`; - -module.exports[n`DFA minimization >> 522: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/ `] = lit` -IlSwaRtcpu++jAGPxSJdXZhVXemc8pgr6ti4HF1GZ+Y= -`; - -module.exports[n`DFA minimization >> 523: /@(?:\w+:)?(?:\w*|\[[^\]]+\])/ `] = lit` -xfOzz7rBcF2h/xt9u9qhEjNMeT9rH6r+Yqruj+u+3cw= -`; - -module.exports[n`DFA minimization >> 524: /((?:^|[^\\])(?:\\{2})*){(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/ `] = lit` -gy8kl1T92bbOm6YdyEqU/P62qxsOyTM3WGigV8Iq5cs= -`; - -module.exports[n`DFA minimization >> 525: /\b(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|m... `] = lit` -2hmBPN/Gy+u5i/7Zh6XSKFmoZqFzYj9B8EzCGW5/qy4= -`; - -module.exports[n`DFA minimization >> 526: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=\/]+)'/ `] = lit` -jAvXilMUzzLECKB/+g7T5qWYmmTt66OrmXEvyN6RTxM= -`; - -module.exports[n`DFA minimization >> 527: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/ `] = lit` -yhgvaXFENwkNXoo5sgKI6r5qqezWUX57A95eOFd9IlY= -`; - -module.exports[n`DFA minimization >> 528: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/ `] = lit` -0rjpWtNZkiJ8W7oNTUgQ3onjmMXkZUvAF9s1l6GfbdA= -`; - -module.exports[n`DFA minimization >> 529: /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|e... `] = lit` -tVtBojNLtn+i6TwD99b+M8RVuQzWsvM+oBG/894IJDk= -`; - -module.exports[n`DFA minimization >> 530: /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat... `] = lit` -BIBqzXkU3V7/dsPALHzlhVCtCn9P6iS/Lm/w6gAfur8= -`; - -module.exports[n`DFA minimization >> 531: /\b[A-Z]\w*(?:[?!]|\b)/ `] = lit` -HVbL28S8uiq/w0+6PwsjZaOMKVwIVL8ufiLnxFnt0Mo= -`; - -module.exports[n`DFA minimization >> 532: /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?... `] = lit` -YygZtexFUsCrgwpquMPMod2BTwC0OW/8oskg87AVBf8= -`; - -module.exports[n`DFA minimization >> 533: /(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i `] = lit` -6JwqA6k8WgF3n+Z+5rAXzyRFQgyXnwaVtHBcZRJArAo= -`; - -module.exports[n`DFA minimization >> 534: /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/ `] = lit` -ZC/ACkO//Z1TV8CBgqFfZR+bRaxhzux3EFnbI/WB42o= -`; - -module.exports[n`DFA minimization >> 535: /(\bdef\s+)[\w.]+/ `] = lit` -q2/DLSxArgu8iupIS4EfO+HcCQO3DshYgQ+TPksrtXI= -`; - -module.exports[n`DFA minimization >> 536: /@\[.+?\]/ `] = lit` -aWt6kN2r76FHFZBHzMTtPWYfivOIU/Xex2gIRUu1DOE= -`; - -module.exports[n`DFA minimization >> 537: /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|... `] = lit` -zy3slhrVz8wSWh28iAH0N3OIdPei0EgyqTi/EwohhZI= -`; - -module.exports[n`DFA minimization >> 538: /^=begin\s[\s\S]*?^=end/m `] = lit` -3or3TF5+Jm4h8gbbVfpjxup6oZhsjwjKKUFnO2WN+ls= -`; - -module.exports[n`DFA minimization >> 539: /%[qQiIwWxs]?(?:([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1|\((?:[^()\\]|\\... `] = lit` -LCdT81RW5mni3/k2kXURjDEfvTq2i0eW7so47ODIZJw= -`; - -module.exports[n`DFA minimization >> 540: /("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ `] = lit` -if5aeCU//eChC2yVbROPUuTYS/NP74HAm5dsnq17Pew= -`; - -module.exports[n`DFA minimization >> 541: /%r(?:([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}|\((?:[^()\\]|\\... `] = lit` -kPE/nWyJ3MjNSaJorbDrcxOIIygqfbXUXTs7sOu48g4= -`; - -module.exports[n`DFA minimization >> 542: /(^|[^\/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[\/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r... `] = lit` -cweeGB0DBJqltq/H8DweTga+H2lz9no4Uyutriad3/Y= -`; - -module.exports[n`DFA minimization >> 543: /\w+$/ `] = lit` -G7q1DZSuo68ahopKRciJi+dd+0bshV5qEIbLHV+5XF4= -`; - -module.exports[n`DFA minimization >> 544: /\{\{.+?\}\}/ `] = lit` -8smmXNg8QYnwlQYUyfqRD+4uj5EvSOEEDGQ2FCfG/wU= -`; - -module.exports[n`DFA minimization >> 545: /\{%.+?%\}/ `] = lit` -9gm5j7V2v4yQ4p4GyzQURMSFbmK/GMKX6+g1opWsA/Y= -`; - -module.exports[n`DFA minimization >> 546: /(\.\s*)(?:is_a|responds_to)\?/ `] = lit` -VeKmiQAzzuT7B8kVo0yR5hxtJG7D7ZW9y6Hwc9Bmf/4= -`; - -module.exports[n`DFA minimization >> 547: /^@\[|\]$/ `] = lit` -1kQ+TQnzvIffc1gaiDqmym83IP0MoW+MfutdZdiOcYI= -`; - -module.exports[n`DFA minimization >> 548: /^\{\{|\}\}$/ `] = lit` -zdmjsfjYiyh5uYAmOiKDhNYZXTNdeY7achalcqoWcEE= -`; - -module.exports[n`DFA minimization >> 549: /^\{%|%\}$/ `] = lit` -lWg31LG4z/MpPtxalgiIQoM4hA/QrX2akbLTuoOLXF0= -`; - -module.exports[n`DFA minimization >> 550: /^#\{|\}$/ `] = lit` -smXVmDKNHBB86N4ysLr6o94EnvqQhWPNYbwo1M5RZAo= -`; - -module.exports[n`DFA minimization >> 551: /\\[\da-f]{1,8}/i `] = lit` -1bvJoGRuwt8Z10+Jj7SvRIQukEe8CsYydQw/VeZYr9k= -`; - -module.exports[n`DFA minimization >> 552: /(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i `] = lit` -0gdMZXieHQVJjij/hkKBAeBugRpg7NooiKJ1fVrE0AM= -`; - -module.exports[n`DFA minimization >> 553: /(\s)[+\-*\/](?=\s)/ `] = lit` -MH9zSBDJvjJMBnlk/bOfHePKU77cnZ0ycti4Oeq/bjc= -`; - -module.exports[n`DFA minimization >> 554: /\B#(?:[\da-f]{1,2}){3,4}\b/i `] = lit` -t13NhHneOq4CmVwdEWSagCq2VqGqk6dTwSBjXF5Pp+U= -`; - -module.exports[n`DFA minimization >> 556: /(\b\d+)(?:%|[a-z]+\b)/ `] = lit` -cx0XFq2coUgpGBsZRYPRgynPpRF1mrDcATDagqEMRT0= -`; - -module.exports[n`DFA minimization >> 557: /(^|[^\w.-])-?\d*\.?\d+/ `] = lit` -h5OfhiXfiszjs59BAIDdqil7iA/JoVzhdQk/fa8WOgM= -`; - -module.exports[n`DFA minimization >> 558: /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ `] = lit` -6QsMbNdXTIOQ1Hvu993u9Dz8nVJTla4BlzQx2Ux0dKM= -`; - -module.exports[n`DFA minimization >> 559: /:[-\w]+/ `] = lit` -9Wo+7MZIFApYjUPM62uONCQva7dRsN8gTZ3RdkR0wj0= -`; - -module.exports[n`DFA minimization >> 560: /\.[-\w]+/ `] = lit` -L7ZR/nSSNBrPHNw7jJkFgRVczgi/4KxjuGnXJLKvPYQ= -`; - -module.exports[n`DFA minimization >> 561: /#[-\w]+/ `] = lit` -mR+VyCZsnA9ZGh1nhBNBKl625SxeVRh8WsVtxvnrga4= -`; - -module.exports[n`DFA minimization >> 562: />|\+|~|\|\|/ `] = lit` -33hjhAQewkIGc8emOlQQXla6IleG8HubQVyvjsbm+J4= -`; - -module.exports[n`DFA minimization >> 563: /[(),]/ `] = lit` -TWrJo+kPSRUdjngo30EkkcLjbUydEbPRs7HPeRs0vCM= -`; - -module.exports[n`DFA minimization >> 564: /\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a... `] = lit` -JWpP+eNfEsZGuf/SdtOHL42555OQc3cohrJ5kausV78= -`; - -module.exports[n`DFA minimization >> 565: /\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/ `] = lit` -vzZI7onFyElsg4t1Sc6M5QjivPVYbXyEAMrqXWW43+M= -`; - -module.exports[n`DFA minimization >> 566: /[\w-]+(?=\()/ `] = lit` -T0B8Dui/4kquyhQpOnlfE8HpSYlrRX6BsOy2n12Kt5M= -`; - -module.exports[n`DFA minimization >> 567: /^\[|\]$/ `] = lit` -h2hNyvq8E7GII+4Vx2B8al2oqPqB4oghiz6rLKBHsrY= -`; - -module.exports[n`DFA minimization >> 568: /[|~*^$]?=/ `] = lit` -X4x2NHVqztxbtPo3At8lOQFr5hf/H9xl70seqYiEp2w= -`; - -module.exports[n`DFA minimization >> 569: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/ `] = lit` -4CZjnVqERaI9ltaGoW/qtrLUlARa/PVYSLuJwa7OLMc= -`; - -module.exports[n`DFA minimization >> 570: /(\(\s*)(?:even|odd)(?=\s*\))/i `] = lit` -c9yNi9ZbAF3WkKZnU2P/KGYrNScwnTDsNDiAAcHskvk= -`; - -module.exports[n`DFA minimization >> 571: /(\s)[si]$/i `] = lit` -K8x7wTi/YL+SoNnpxN9DaYsaHcVqcmxjp/q0w/T+zlY= -`; - -module.exports[n`DFA minimization >> 572: /^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/ `] = lit` -ajM6b1LoKHtCtlETyA/ea0U8BNxX+pHV+sUAMczx8Kw= -`; - -module.exports[n`DFA minimization >> 573: /^(\s*)[-\w\xA0-\uFFFF]+/ `] = lit` -GjtQwTuTjy0GBWO74zLXo2BZ6aLa9xbaTocfcTPE+v0= -`; - -module.exports[n`DFA minimization >> 574: /[\dn]+/ `] = lit` -yh+TkrwwFn2B+1znYvY5rfqWqtntACtFGjCxSvxQjME= -`; - -module.exports[n`DFA minimization >> 575: /[+-]/ `] = lit` -9CwxFYt5Ut4fzH7O8kMVX3B+zs0mPqXCEJGE5uTg/9A= -`; - -module.exports[n`DFA minimization >> 576: /\|$/ `] = lit` -5swum4M2wdhut02BzRvFGhfm5cLyBZW/r5A1GP9qhJk= -`; - -module.exports[n`DFA minimization >> 577: /(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/ `] = lit` -RnEpC1IIFS2jU8dirk+5+1gZuqJ3L16zW6hOMWwlSa8= -`; - -module.exports[n`DFA minimization >> 578: /\$\w+/ `] = lit` -RQJC+6hkWbDXNo5naUkdYhLDRPuqQa8CZNP/KrZmQto= -`; - -module.exports[n`DFA minimization >> 579: /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAIN... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 580: /\b\w+\b(?=\s*\()/ `] = lit` -o6lXUcNyzD/nzKnl9btnLf5BYKIC3oqCVwGcFsU1zhQ= -`; - -module.exports[n`DFA minimization >> 581: /\b(?:true|false|null)\b/i `] = lit` -onV315PQyobmKMFdSwieFHNIPEEhtBiEuUD5jmRykEk= -`; - -module.exports[n`DFA minimization >> 582: /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/ `] = lit` -PbZXPIp+SwErZIKzuFC/Td2jekB1R0k/oUi01Yt/1S8= -`; - -module.exports[n`DFA minimization >> 583: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*\/%^|]|\.\.\.?/ `] = lit` -lJzCIIJ/ItyxXHltDQVraJQrnyMp4PVlqJKRlHX9Yfs= -`; - -module.exports[n`DFA minimization >> 584: /[()[\]{},;.]/ `] = lit` -cL2HxM2p/FcOqSmfqb0J4OVMJEPHlnV3HJO5n9O96gg= -`; - -module.exports[n`DFA minimization >> 585: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 586: /(:\s*)(?:\w+|\`(?:[^\`\\\r\n])*\`)(?=\s*[{):])/ `] = lit` -MAHDSyEIo4Q/g31snswrZniVgEKvuL6RCutzmV7N/3A= -`; - -module.exports[n`DFA minimization >> 587: /(-\[\s*(?:\w+\s*|\`(?:[^\`\\\r\n])*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`(?:[^\`\\\r\n])*\`)... `] = lit` -CVxwi4z3ZZYKyZ6SqSokmS996QVYAvH/JeW2fChi9UQ= -`; - -module.exports[n`DFA minimization >> 588: /\`(?:[^\`\\\r\n])*\`/ `] = lit` -hxe26yJwbVwoYieDXWdf9VtK4YvZ873A/JmhQa2Q44s= -`; - -module.exports[n`DFA minimization >> 589: /\B@\w*/ `] = lit` -yAghdg4CxpnS6TCyxHCXG0lGq8bqS9xSIHVHfPhdF10= -`; - -module.exports[n`DFA minimization >> 590: /\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|cat... `] = lit` -Nb6ospAMXRal5cCMyG2TL9JxgfMSkZSU2eZ2mVyX0GY= -`; - -module.exports[n`DFA minimization >> 591: /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\... `] = lit` -cbLfLy76BfvGpblnawsRPvQuaVXYsWPapIPsoSP5Y4I= -`; - -module.exports[n`DFA minimization >> 592: /\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-... `] = lit` -YhFI3cTqpJ3nEAbcKLLUILUk2xD9BUbxciaDgRriJh8= -`; - -module.exports[n`DFA minimization >> 593: /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i `] = lit` -kU/KfHxqngvsbwZO5cYUBi9sZzeduZYSdTLjb8O6LRc= -`; - -module.exports[n`DFA minimization >> 594: /^\s*#!.+/ `] = lit` -RgtMQ/A4EEmU4tsL5OHdoJ7ukXqOLa2fbxOQNvcfhfU= -`; - -module.exports[n`DFA minimization >> 595: /(^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\/|\/\/.*|\/\*... `] = lit` -UiNb7YeUf7LeafMFTj33zzDA9FqZCo/Ug9itx5wou6Q= -`; - -module.exports[n`DFA minimization >> 596: /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?|\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|... `] = lit` -MErqgovcPUObPjzVBV7+hAaLeN5Cbta3hoZYw9ce/1k= -`; - -module.exports[n`DFA minimization >> 597: /\bq\{(?:\{[^{}]*\}|[^{}])*\}/ `] = lit` -lgHfMEAtx9Wyjjd1KD4mAGJmwOQKhK55MSZfThTotNk= -`; - -module.exports[n`DFA minimization >> 598: /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ul... `] = lit` -pp/q+NaVy/78+AfzZPETxMTFoGZQF2LX4YUh8PAg3NA= -`; - -module.exports[n`DFA minimization >> 599: /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ `] = lit` -yCtByhd+2MUQa7MLyWP+HjRDmzX/zGLj/5KXX2wO1SU= -`; - -module.exports[n`DFA minimization >> 600: /\b(?:async|sync|yield)\*/ `] = lit` -LDvxtkicxBBzkZFJuMo2VXr1P8U91xKe/1NJ4emkc+s= -`; - -module.exports[n`DFA minimization >> 601: /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covarian... `] = lit` -KHjy2GhNBsSWf+1YkcD7elFh5RK2OdfdQffweMVBe1Y= -`; - -module.exports[n`DFA minimization >> 602: /@\w+/ `] = lit` -ilIvR/2/jC3viAYCo4Q48z8zDnY/6Qk+n6wKjfC3jFc= -`; - -module.exports[n`DFA minimization >> 603: /r?("""|''')[\s\S]*?\1/ `] = lit` -InfBv5KvKkntDIALxfwE2BIIuQHah3EcUSwX6skvnmU= -`; - -module.exports[n`DFA minimization >> 604: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -56x7/ElWIjLHi2tvF7poLfruGLXUJ7nbenwddSSTs+w= -`; - -module.exports[n`DFA minimization >> 606: /\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i `] = lit` -MiTGd3d2QWOrv9lAtFX6b0sR5c7Jk+avXtBhhn5jMdE= -`; - -module.exports[n`DFA minimization >> 607: /\b\d+\.?\d*|\B\.\d+\b/i `] = lit` -4xgGwB66D1BzKmYqhp2N3Zk6/ITlfUugRFYhM2zlYss= -`; - -module.exports[n`DFA minimization >> 608: /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i `] = lit` -iJcEE4lo7nWDzkGp+OtH9cUtpZ9YP/DXZ1UjU0esvUk= -`; - -module.exports[n`DFA minimization >> 609: /[;\[\](){}\`,.]/ `] = lit` -5giS8Z1bpjYkodY4ECMscYMmDEbmoJVqoehnUcNRCQ0= -`; - -module.exports[n`DFA minimization >> 610: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/ `] = lit` -ZD/ImayusrzcMO/5+srsSpcyMk46Og0wGcHuCpawBJI= -`; - -module.exports[n`DFA minimization >> 611: /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/ `] = lit` -fVCSNmTfhVnuH8xB5tM5fY6skHrsVS8+VsvgJptLndg= -`; - -module.exports[n`DFA minimization >> 612: /\[[ \w\xA0-\uFFFF]+\]/ `] = lit` -jJ5ruNBivF4VsQxEAgQkqumZ6iaHV4svGXeU1op0N98= -`; - -module.exports[n`DFA minimization >> 613: /"(?:[^"]|"")*"(?!")/ `] = lit` -TUaMaltJ8o/aI6ZLfs0TjLDqmDVt6pibeIZowuGTkng= -`; - -module.exports[n`DFA minimization >> 614: /\b(?:TRUE|FALSE|NULL)\b/i `] = lit` -onV315PQyobmKMFdSwieFHNIPEEhtBiEuUD5jmRykEk= -`; - -module.exports[n`DFA minimization >> 615: /--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ `] = lit` -e/2I8x5xPcuA3n80NkUTy7i6OQbehldq6xcJPyVgWac= -`; - -module.exports[n`DFA minimization >> 616: /\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\\u2... `] = lit` -bfSvM9ZkBA3VdN4gsYi8MW6gzQdglpGN3bKYOuII478= -`; - -module.exports[n`DFA minimization >> 617: /\b(?:Some|None)\b/ `] = lit` -BLlFKIzuLhSiH6vRu+kbg06Etzlsy7DmOO8ia3NvRRM= -`; - -module.exports[n`DFA minimization >> 618: /\b(?:False|True)\b/ `] = lit` -fUjx0fSBuAUdqzIpfdvA/dF1dxHvSCtOCyXJllag6Ok= -`; - -module.exports[n`DFA minimization >> 619: /\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/ `] = lit` -iiZsjCuzD1OSdKv9e8+V+FzVFjAQsF2wOSfhSaQHCFA= -`; - -module.exports[n`DFA minimization >> 620: /\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261... `] = lit` -+8mO4ZO6fRr5VdRipVhv1C+cojlDJiQJ1lfq3h3oqf4= -`; - -module.exports[n`DFA minimization >> 621: /\.\.|[{}\[\](),.\/]/ `] = lit` -polnrVttcOzVzyAnM6D2kwxTR8PxhmNu7Jpu5gfu+0E= -`; - -module.exports[n`DFA minimization >> 622: /\b[A-Z]\w*\b/ `] = lit` -Ye1IBpG9ZARUu5zhItXFiGwfWUmbeqmESVDcqbuJnCY= -`; - -module.exports[n`DFA minimization >> 623: /"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ `] = lit` -0UISZLlv5D2kehR01gwOddAE/naWedFS9nvgFmYCz4c= -`; - -module.exports[n`DFA minimization >> 624: /\`[^\`]*\`/ `] = lit` -wqrwXonvhUKrYj6GGJfYIs9z3+Y6VCQXAHh7jGYQVuQ= -`; - -module.exports[n`DFA minimization >> 625: /\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[\/?\w.:%!$&'*+;... `] = lit` -FXgToPC7c3GZTrd3Tjxyt0nwhmAQRmuPUnhiTjj2x/A= -`; - -module.exports[n`DFA minimization >> 626: /\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/ `] = lit` -Y9oalAC6DQzTgd7vsPUC9B1SaM7Rwoby+8M/rD3btPU= -`; - -module.exports[n`DFA minimization >> 627: /\bsha256:[\da-fA-F]{64}\b/ `] = lit` -vzZANNae1M2giVteWhgFnrQBXh4WS9HC4lucaawCjzQ= -`; - -module.exports[n`DFA minimization >> 628: /^env/ `] = lit` -D7/MEuzrQmQTcmkAYzf/nE2o7Q0EfMRZWNUuhYHPtvs= -`; - -module.exports[n`DFA minimization >> 629: /sha256/ `] = lit` -wf/atCMh+IZQCSkkiSm6sLJvDpMLBSizhzwyaHCOFwA= -`; - -module.exports[n`DFA minimization >> 630: /[\da-fA-F]{64}/ `] = lit` -a8WAW0kWZoFPePpCFpSnF1fY0prHdmP907C8aBIrth8= -`; - -module.exports[n`DFA minimization >> 631: /\$\{[^{}]*\}/ `] = lit` -C1cRn1dEAg9nGBuXhnmSvVLl77kH/W9qKh7oFHIOrJA= -`; - -module.exports[n`DFA minimization >> 632: /\$\{|\}/ `] = lit` -1M59/tycAMO4/JORJr3jTgBMP1AstPG+Rn21YQNNcW0= -`; - -module.exports[n`DFA minimization >> 633: /(^\$\{)[\s\S]+(?=\}$)/ `] = lit` -6DphdHwfduXEGGEZDP8KbmDa4bMpC3MHQ9NVp7LhGYY= -`; - -module.exports[n`DFA minimization >> 634: /^(?:\*{3}|-{3}|\+{3}).*$/m `] = lit` -nqMKUEyOqjdwE65IaYWTajJdTpOHeuJ1jgYXptjuQ/g= -`; - -module.exports[n`DFA minimization >> 635: /^@@.*@@$/m `] = lit` -YRS8FitgGB2sxG6NvMf/Ig+fYwQfOPJeiydwNcjKVLk= -`; - -module.exports[n`DFA minimization >> 636: /^\d+.*$/m `] = lit` -zfOp0XQac23ApbkC5dcU1HCAwaOszhYxKJjro6B6Zjk= -`; - -module.exports[n`DFA minimization >> 637: /^(?:[-].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -dWkN58JvOaFXXx9iAXAxX94sBOey6pfeQB+V7bZulvY= -`; - -module.exports[n`DFA minimization >> 638: /^(?:[<].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -wBirxwJkJX7/u+SlkCdVnw6ikKsojqbKcGYTw+ayZms= -`; - -module.exports[n`DFA minimization >> 639: /^(?:[+].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -0D4mhCA0sNg0FxR29MlaR+N0SBKHAmmSvXDERMyOLbg= -`; - -module.exports[n`DFA minimization >> 640: /^(?:[>].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -cZIniKuJRKKxhr8SwcJmEmS5OY49Tp2vbNwR9T6SyFc= -`; - -module.exports[n`DFA minimization >> 641: /^(?:[ ].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -e0sZSo++zWkFHlXaSpJjxuyG2ax/c2pwPYQUmdAxqew= -`; - -module.exports[n`DFA minimization >> 642: /^(?:[!].*(?:\r\n?|\n|(?![\s\S])))+/m `] = lit` -/+dMVvhsc/Q9E0zyDOBHw2m/eil8Oex8iOlCv3E97Io= -`; - -module.exports[n`DFA minimization >> 643: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/ `] = lit` -qGMS5gwdR40mZLeoUvuzzof8gTSF6hIcxsSNNtX+8AQ= -`; - -module.exports[n`DFA minimization >> 644: /[\s\S]/ `] = lit` -oOms04J0tUZu36NnFEyi9iATfROV+nyJP6c5/mY36mc= -`; - -module.exports[n`DFA minimization >> 645: /^{#[\s\S]*?#}$/ `] = lit` -oqcZ1KoYTlvK9MH9OVIoA0w75xQk2Bg3xcsr1OAq0vY= -`; - -module.exports[n`DFA minimization >> 646: /\b[a-z_]\w+(?=\s*\()/i `] = lit` -CyM2YO0tc/nYHcCHgx7qtXuFOfC12ns3L3yhRGx2xX8= -`; - -module.exports[n`DFA minimization >> 647: /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ `] = lit` -4Qsr0/75Ze2Orxa9HaBNgkhcw1M6U4w2iHSnh5oEHoE= -`; - -module.exports[n`DFA minimization >> 648: /[-+*\/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/ `] = lit` -XF90SeHc4i7yRHQPxG+dmqFWNtUqY/6++OU+F8ZGZDY= -`; - -module.exports[n`DFA minimization >> 649: /[Tt]rue|[Ff]alse|[Nn]one/ `] = lit` -BkAeHnNWahMv9aLrWvv/bEapimyBzIF3t74IdMqYA00= -`; - -module.exports[n`DFA minimization >> 650: /\b\w+?\b/ `] = lit` -G7q1DZSuo68ahopKRciJi+dd+0bshV5qEIbLHV+5XF4= -`; - -module.exports[n`DFA minimization >> 651: /[{}[\](),.:;]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 652: /(^{%[+-]?\s*)\w+/ `] = lit` -0u61mQWy+6ERHztaFbc25U97yJoLMwyOt3JSK2LsuBI= -`; - -module.exports[n`DFA minimization >> 653: /^{[{%][+-]?|[+-]?[}%]}$/ `] = lit` -cfOXXN5ftvwh618HCRepiy80VrLkRTfhXWX574SUABQ= -`; - -module.exports[n`DFA minimization >> 654: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 655: /(\|)\w+/ `] = lit` -asxHyI7/SLX1eKZSB/kMMw70WYCafUZVGEQVbk+8+Z8= -`; - -module.exports[n`DFA minimization >> 656: /(\bis\s+(?:not\s+)?)(?!not\b)\w+/ `] = lit` -pCiKTGINqbRbV8r1etDEvec/YOlKm0YPwx9/HkBizd4= -`; - -module.exports[n`DFA minimization >> 657: /^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m `] = lit` -3HAmeiLvNTUxBbS++p/IXB4jT20SDFHWDOc3r87Nwlo= -`; - -module.exports[n`DFA minimization >> 658: /[()]/ `] = lit` -iAI7/Su0bzosQ0vbEy+aXVSrow0ZALjLD4H9+bGxiKw= -`; - -module.exports[n`DFA minimization >> 659: /(^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ `] = lit` -U5lyg1JJ5omW1H4/7HWZ5bQGbjg2sK+21b5uv0XSQio= -`; - -module.exports[n`DFA minimization >> 660: /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DN... `] = lit` -/w1fZeELsXGwDp4jQvaMbUZvdXKAZg8kIUQ8Y+B9+D4= -`; - -module.exports[n`DFA minimization >> 661: /(^\$ORIGIN[ \t]+)\S+/m `] = lit` -EDknivbKEe1zU5EKxmRWoxggUYvoXxlBo1hbtA8zdEg= -`; - -module.exports[n`DFA minimization >> 662: /(^|\s)@(?=\s|$)/ `] = lit` -lKieDwPD2BNdqkRxyGxAjPnrR3bM96URvHXzvK/sIqA= -`; - -module.exports[n`DFA minimization >> 663: /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/ `] = lit` -Q5UebfbnC2qWVSIrnOyuIvXQv00m3dSvbFbNUeRgE6w= -`; - -module.exports[n`DFA minimization >> 664: /---|\.\.\.|[:[\]{}\-,|>?]/ `] = lit` -LmkdjCZGgXFS8yEI7u2vNmqtZ2mz+IE98kncuNCLC04= -`; - -module.exports[n`DFA minimization >> 665: /(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAIN... `] = lit` -0Cp2H3GEGvJ782T5uTY30rucfYxAW1cytK7xH/tt5y8= -`; - -module.exports[n`DFA minimization >> 666: /\(\*[\s\S]*?\*\)/ `] = lit` -RMt5TYlGr0q9sEtoJlUvDj75mYDpZWuE8JxhfU0nr8E= -`; - -module.exports[n`DFA minimization >> 667: /\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i `] = lit` -r0n0w9tNIrNJ2zulkWpMYNdg0QZ9pNTCFwRir+x9kS0= -`; - -module.exports[n`DFA minimization >> 668: /\([:\/]|[:\/]\)|[.,;()[\]{}]/ `] = lit` -xtdcO31zMXoLaXNd9MezybG0YoEOP575RnPOdUzNZvI= -`; - -module.exports[n`DFA minimization >> 669: /[-=|*\/!]/ `] = lit` -Saa823xE7KFjMr9tTUqTnXMFbRJLipdI4k217rk9zDk= -`; - -module.exports[n`DFA minimization >> 670: /"[^"\r\n]*"|'[^'\r\n]*'/ `] = lit` -jvkP18LHgJ+SnFBQl2C7GLOuB7g3uzpWt+3V1fYDsOs= -`; - -module.exports[n`DFA minimization >> 671: /\?[^?\r\n]*\?/ `] = lit` -dg6rNohMhSuZCDIlkQqMquTA3T9QicG+7BXgbIQfAkE= -`; - -module.exports[n`DFA minimization >> 672: /^(\s*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im `] = lit` -5HRpQT5cNYpD1M8cxil+2vyBD29SKvvBYDky4e0nOwY= -`; - -module.exports[n`DFA minimization >> 673: /[;#].*/ `] = lit` -gycqu4rcMC34M38nnbgZbYZYXxYg4BLCqTF8M3UoCBc= -`; - -module.exports[n`DFA minimization >> 674: /(^[ \t]*)\[.+]/m `] = lit` -WqshGJ6NAfcOaM+Omg57MYAhxCbNFU23dhulRXR+k7I= -`; - -module.exports[n`DFA minimization >> 675: /(^[ \t]*)[^\s=]+(?=[ \t]*=)/m `] = lit` -sxjY6QzDarGacieJdb4HhKdCcw+RN/gQVqm25yK6hw4= -`; - -module.exports[n`DFA minimization >> 676: /=.*/ `] = lit` -NLrlGHXpNRmrrlZV9rw0lW/+PMBQye0TqbtRP5OyAOU= -`; - -module.exports[n`DFA minimization >> 677: /\\\\[\[\]{},!?.*]/ `] = lit` -HnagtARW6MWTw/MPiQ26gRxE/vBmdo703ZNhPCExgv8= -`; - -module.exports[n`DFA minimization >> 678: /[!?]|\.\.|\*{1,2}/ `] = lit` -CK0UiJYwM0p3MjilCgaMq4wrodDxNJ/Oe9iqeAvhRKE= -`; - -module.exports[n`DFA minimization >> 679: /[\[\]{},]/ `] = lit` -l8yHixblpPQpHfrS/PFUryfpfmMuRMhhusxjwhbjlz0= -`; - -module.exports[n`DFA minimization >> 680: /'(?:%.|[^%'\r\n])+'/ `] = lit` -Da6z+B6vZac17/w7tnNguwKBIJ8ygKnCwX9UvZ5qM1A= -`; - -module.exports[n`DFA minimization >> 681: /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|conver... `] = lit` -MyubF1Pd2d8NinQ2J7L7WeEHSBcueQmt4YbQi4q3LOQ= -`; - -module.exports[n`DFA minimization >> 682: /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/ `] = lit` -wpoZ/oWL0amEUPf7bjaHEkFTeVeIInLfd2H7Z5XVcRI= -`; - -module.exports[n`DFA minimization >> 683: /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/ `] = lit` -8/yZdfXrjsmVG56+Qgz6td0bizYr/+P4MfmeAuK7fs4= -`; - -module.exports[n`DFA minimization >> 684: /\b[A-Z][\dA-Z_]*\b/ `] = lit` -UcIDU2iHr2KOagvx0q01C1TjLtgmoYFKP4gj/qvdv4c= -`; - -module.exports[n`DFA minimization >> 685: /\b0[xcb][\da-f](?:_*[\da-f])*\b/i `] = lit` -5LJtxPzciICOdYnDl6tZsSIJfuE3dnclobTTBN7CWrE= -`; - -module.exports[n`DFA minimization >> 686: /(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?... `] = lit` -74LchrOr2pqbNeVjrWNxsSeROipMVbBwUM+bmIC6LB4= -`; - -module.exports[n`DFA minimization >> 687: /"([^[]*)\[[\s\S]*?\]\1"/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 688: /"([^{]*)\{[\s\S]*?\}\1"/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 689: /"(?:%\s*\n\s*%|%.|[^%"\r\n])*"/ `] = lit` -nOasBRDB6/uO+Rq3Uw95Cz8No/JwLTZRkyvRrYaU514= -`; - -module.exports[n`DFA minimization >> 690: /^#[\s\S]*/ `] = lit` -k9UYgMPWoUzKx86aplpEFInBpYCmLO3I20oRYsDkPbE= -`; - -module.exports[n`DFA minimization >> 691: /^<%[-_=]?|[-_]?%>$/ `] = lit` -ozGj9p8Ual1BpB3y6uYmtGVO2airm77VH7PZy95Ot/c= -`; - -module.exports[n`DFA minimization >> 692: /#.*/m `] = lit` -b/uLXXb070yRLX6+0FI02AevcjQLDBY4msyLeMN7nBk= -`; - -module.exports[n`DFA minimization >> 693: /\w+\??:(?!:)/ `] = lit` -arIv0tRV062el6zygajeuFR9xx5EksgQkSEWpSpAVdA= -`; - -module.exports[n`DFA minimization >> 694: /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i `] = lit` -jlnYxogenwkdHtbK6DSPaAoxoXVbis56SQEF6F73y4A= -`; - -module.exports[n`DFA minimization >> 695: /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|pro... `] = lit` -oFbAre9iwV5LN33V/BgQfotE95a/MkNAIjJKXxSLag8= -`; - -module.exports[n`DFA minimization >> 696: /<<|>>|[.,%\[\]{}()]/ `] = lit` -NapRp9SkjW16lvCv8rNJMdAQHaWOWsltnkvg3gYHqI4= -`; - -module.exports[n`DFA minimization >> 697: /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\... `] = lit` -y2RE8dwef15noC0noRTjgVoDYheT1b8dUunCixe/XM4= -`; - -module.exports[n`DFA minimization >> 698: /(^|[^:]):\w+/ `] = lit` -Q0faWphtFzBQKFwrRBakO+rdRd3rZG7nYaAoYSoe4Tg= -`; - -module.exports[n`DFA minimization >> 699: /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/ `] = lit` -XixwTbyp7qlcK+OTi8HcrQ/VHbRyQfDTohlGxIYqU6M= -`; - -module.exports[n`DFA minimization >> 700: /(^|[^&])&\d+/ `] = lit` -m3rptyj8SXHO0V25/DEp9d47BopY3mVrTvkYnDH/zjQ= -`; - -module.exports[n`DFA minimization >> 701: /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~]... `] = lit` -7P4H2sDspxlYG3L5BLpEzZwCa2pKATA2qIEQnVmwy3w= -`; - -module.exports[n`DFA minimization >> 702: /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n... `] = lit` -grdvqmJrertencHTxakLVYjaSTMmn2JeBqYwD/ejTHg= -`; - -module.exports[n`DFA minimization >> 703: /("""|''')[\s\S]*?\1/ `] = lit` -I8fCVkvh9OVmLKeWxt9Pu7cySmvoqv2UWEM4K0EsOKc= -`; - -module.exports[n`DFA minimization >> 704: /([^<])<(?!<)/ `] = lit` -Vl7FAYb4G7ztrgJpBCRpwDkHbFSy22tBLWzCYK2nGNI= -`; - -module.exports[n`DFA minimization >> 705: /([^>])>(?!>)/ `] = lit` -6q7uZbSIWLnr4ulFbaXSPLhTgHD+vSkUTtw5U6epT1s= -`; - -module.exports[n`DFA minimization >> 706: /--.*|{-[\s\S]*?-}/ `] = lit` -ZdiEWno1Gc1doEAxXJw27YqOfC3aZ0Wt15LQZOCkBqc= -`; - -module.exports[n`DFA minimization >> 707: /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b... `] = lit` -SXFdIcAVzUrUdM4CIz6s6FlD5wqDtFzcHo34mA/0c8E= -`; - -module.exports[n`DFA minimization >> 708: /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|... `] = lit` -IoZxdw9W7y4CPlZ7JNCwnA0m5dBTiCo9rXdocBArjcU= -`; - -module.exports[n`DFA minimization >> 709: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i `] = lit` -XrQYcegWH4IAE6q5AmMh6HR8DKLSb28bdoztEZB4UeY= -`; - -module.exports[n`DFA minimization >> 710: /\s\.\s|[+\-\/*=.$<>:&|^?%#@~!]{2,}|[+\-\/*=$<>:&|^?%#@~!]/ `] = lit` -9yMxhqLPEHeL1afU1mzywV3PtP1YpSJGtR2iotg51/0= -`; - -module.exports[n`DFA minimization >> 711: /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ `] = lit` -z/ZvkdPDLRkKQpA0RA+Qg6zpjfIChWDi3/Wt7ovuaAE= -`; - -module.exports[n`DFA minimization >> 712: /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ `] = lit` -iSw3gucFKDRTZEwcbvJFMBBy/oHvxXa7C5qIfn2eBLg= -`; - -module.exports[n`DFA minimization >> 713: /[{}[\]|(),.:]/ `] = lit` -5tApa0xDBKSzJOwSOXyMFZtDfrpFTcGM+wy8uJaOBzc= -`; - -module.exports[n`DFA minimization >> 714: /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/ `] = lit` -6ALwjrbDrOjda28LPHVU1IsgF4jAJEELdhE/1/RC9Ic= -`; - -module.exports[n`DFA minimization >> 715: /^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:... `] = lit` -m/4Oc/k/zrXrLFLT6zMReKx45dPmjTnecYiAHJmdq3w= -`; - -module.exports[n`DFA minimization >> 716: /"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/ `] = lit` -s9/jal3csteUCZlX7zvx20/PfKtPnpsk8an6nvvzykY= -`; - -module.exports[n`DFA minimization >> 717: /\b(?:import|as|exposing)\b/ `] = lit` -QJuXSeGGoljkO701I7w/MQPekNwYdlQzgEPVmbWOqbY= -`; - -module.exports[n`DFA minimization >> 718: /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m `] = lit` -+2oUSwJPUeCyoxMAjP1kVryIPHcQ9OGCjPjTZ3g9y/Y= -`; - -module.exports[n`DFA minimization >> 719: /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B... `] = lit` -UUPqeIVIkEIzpiDN1VMnpedDibObkecs0/eJTeYcoWM= -`; - -module.exports[n`DFA minimization >> 720: /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|o... `] = lit` -W2OA+MQiqsA1sH+o/LXadmsfY2SfTLmmKqll1XkPbPo= -`; - -module.exports[n`DFA minimization >> 721: /(?!\d)\w+(?=\s*(?:[({]))/ `] = lit` -GT1pGE19dDLy1DbQltPnY4X6jAUFTlD2QqwC9E6OCCs= -`; - -module.exports[n`DFA minimization >> 722: /[\[\](){},;]|\.+|:+/ `] = lit` -Ms7VWz5vgE1uG3l6Y3nStitLjErBRktmqfmU59z5v1w= -`; - -module.exports[n`DFA minimization >> 723: /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\... `] = lit` -YT37HpwdvwjR2naqT0Gr8kcTsE7zugKUFyoztwHkSh4= -`; - -module.exports[n`DFA minimization >> 724: /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/ `] = lit` -LciYQu09mY2itTgZ0yoMnUqMP8UuXH7sX/pGeH2jL3g= -`; - -module.exports[n`DFA minimization >> 725: /^<%[-=]?|-?%>$/ `] = lit` -uscvRl/fhdBw3raOxYqFmHgEbJUFj/zJKdBSQKoMn9o= -`; - -module.exports[n`DFA minimization >> 726: /(^|[^.])\.\.(?!\.)/ `] = lit` -TDIs2DOQCnUOrkuj4tgoIcBxJmUk8VNT7I29mTXC4zM= -`; - -module.exports[n`DFA minimization >> 727: /^<%=?|%>$/ `] = lit` -JmRG8vUUXvVgu4qrMRSS0ZzCsHcL+nJ7mkO1e+InavY= -`; - -module.exports[n`DFA minimization >> 728: /%.+/ `] = lit` -V2Aku1fd8YjA1mBTU9bIoO30Ud2vcTxGWgqhdnf+kZE= -`; - -module.exports[n`DFA minimization >> 729: /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ `] = lit` -akImaX1oeIs946lp1rDxmhD7L8YOCu1eRG4eC6MnJbI= -`; - -module.exports[n`DFA minimization >> 730: /\b[a-z][\w@]*(?=\()/ `] = lit` -8jIVLowP+x30Kxph8XJauR6AcOt5sXdbbMqZwZT4YcA= -`; - -module.exports[n`DFA minimization >> 731: /\b[a-z][\w@]*/ `] = lit` -cucFahMfZIh3mHdQuqr8kXRGCuJTwH7z4EgbfHq3xQc= -`; - -module.exports[n`DFA minimization >> 732: /[()[\]{}:;,.#|]|<<|>>/ `] = lit` -vR2lWKWEsNxoVBgq40dlhXSK6l/cnhSzpHYDHChd3JU= -`; - -module.exports[n`DFA minimization >> 733: /"(?:\\.|[^\\"\r\n])*"/ `] = lit` -vAWlB1EdyUqSGPPC0ql3/BUjpcILwwRJYbUAuqQM8gY= -`; - -module.exports[n`DFA minimization >> 734: /'(?:\\.|[^\\'\r\n])+'(?=\()/ `] = lit` -tzkDCFxo1wPfE1HLLdmUzBeGclY6lMytd07FhsfzjqI= -`; - -module.exports[n`DFA minimization >> 735: /'(?:\\.|[^\\'\r\n])+'/ `] = lit` -y50xYTKlRVMwr1GUEHx7DoZoyDNRcjhDd74TdkSg0/w= -`; - -module.exports[n`DFA minimization >> 736: /\$\\?./ `] = lit` -l9VRozhy8Dq/1AcWc2IgsD97hTLlCeM9JwFHgsCf3c0= -`; - -module.exports[n`DFA minimization >> 737: /\d+#[a-z0-9]+/i `] = lit` -ghkJ3xQEV5pdD6m+aNO+ETW35tl53WmwSobJHbV9k0s= -`; - -module.exports[n`DFA minimization >> 738: /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i `] = lit` -/CMCC0Vt/DT0NahQrLDQBfipknVriSoOdfB5yXtoduM= -`; - -module.exports[n`DFA minimization >> 739: /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/ `] = lit` -4q0j5rQ1UAjuzszIxRlWjKBlyooaVcaKUZN9gSBWDvY= -`; - -module.exports[n`DFA minimization >> 740: /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not... `] = lit` -brMI4Z3xanvnGLtSkmKLkHsvdKzhpJOKPdLo9BloE+c= -`; - -module.exports[n`DFA minimization >> 741: /(^|[^<])<(?!<)/ `] = lit` -YdWxOvQgoU7CAPMZu8J4877qIv1zF283CGTBhrivOCo= -`; - -module.exports[n`DFA minimization >> 742: /(^|[^>])>(?!>)/ `] = lit` -MA5qTip3/9OBuQxVdPWX1mpxoQ3oWLrEHkoaLXNqcwQ= -`; - -module.exports[n`DFA minimization >> 743: /(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i `] = lit` -yAyhJIeO33ZjlX2cNmJWHDoppBbF6FoaTtA9WLaTIUI= -`; - -module.exports[n`DFA minimization >> 744: /\b(?:TRUE|FALSE)\b/i `] = lit` -kPiBOQvqbACAoKWacUeiIbdyS5DG8ByS7p6jUbRTaMI= -`; - -module.exports[n`DFA minimization >> 745: /[-+*\/^%=&,]|<[=>]?|>=?/ `] = lit` -5BrU1OrPfJniBtsPyv+YUR/ZXyL/hT+oRPKInZENgS4= -`; - -module.exports[n`DFA minimization >> 746: /[[\]();{}|]/ `] = lit` -s0CUwG2CGaVAxTMIa2f+y3NDs69NccTO1ha1b6QzkPg= -`; - -module.exports[n`DFA minimization >> 747: /(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i `] = lit` -YW4ZnEZ+tEX9NeZbLZ6HVYVoOGjPNoZBi7WUJZDw2HU= -`; - -module.exports[n`DFA minimization >> 748: /(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/ `] = lit` -lurgBhEg1pgCDZq6sRcIfK3E+KQzNVfxakWITZyXuaw= -`; - -module.exports[n`DFA minimization >> 749: /\b[A-Z]\w*(?=\()/i `] = lit` -R5i5wW2J9yqoWe5/lu42BpzA8dXwyUUDprma8KmnOdQ= -`; - -module.exports[n`DFA minimization >> 750: /\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i `] = lit` -oqz5xob/IPkGfoH7XPxmRVp5Rs106Yj1NbqvSD/GdP8= -`; - -module.exports[n`DFA minimization >> 751: /\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ `] = lit` -a0h6Z2GEKDrtV94Hs9i8iOOsDW7mlgXL8kAC27TZ4CI= -`; - -module.exports[n`DFA minimization >> 752: /!$/ `] = lit` -N2lpB7h4Z9aZR3CFHpsfBecofCeu1bFqySvoSf6q8aU= -`; - -module.exports[n`DFA minimization >> 753: /'/ `] = lit` -K4QabsgJfrym3XGCQfrFWI7SDpJrFObfLYprcfWmQ1o= -`; - -module.exports[n`DFA minimization >> 754: /\$?[A-Z]+\$?\d+/i `] = lit` -t8mUplu0G8llqmmiWql3fSXF3GtB+NIl07bYv8xnRhY= -`; - -module.exports[n`DFA minimization >> 755: /\$?[A-Z]+/i `] = lit` -iwbMCaYgky4qWGF5yezz4YpOKNpp/lmWCbrqgZtiJWo= -`; - -module.exports[n`DFA minimization >> 756: /\$?\d+/ `] = lit` -RFnC6F8Sso+K5aJoLRpUR116i1pH6EtCvGCjFkQEb5g= -`; - -module.exports[n`DFA minimization >> 757: /[^[\]]+$/ `] = lit` -bjmzsyHdANDvmNgGvQa02npmJhUtzhhlAvDzhpZUWsY= -`; - -module.exports[n`DFA minimization >> 758: /\[[^[\]]+\]$/ `] = lit` -7Qc6GRp07AXKs+wJFmxa53epLRfM8mFdMAwCEenfLVc= -`; - -module.exports[n`DFA minimization >> 759: /[[\]]/ `] = lit` -h2hNyvq8E7GII+4Vx2B8al2oqPqB4oghiz6rLKBHsrY= -`; - -module.exports[n`DFA minimization >> 760: /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|cla... `] = lit` -Ri8md3MbgYIhaQBupV/NiTi9s5NGsDfQwkMxH8X29II= -`; - -module.exports[n`DFA minimization >> 761: /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*\/%=<>])... `] = lit` -mcDEUjizRyrvAXEzxbOxTB9GhnEiHBL+q93Zo6zfjPY= -`; - -module.exports[n`DFA minimization >> 762: /\[<.+?>\]/ `] = lit` -CszL9yYQ7HEaNDtnhpNYPGlETn3GJexL/wdROhYA7l0= -`; - -module.exports[n`DFA minimization >> 763: /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\... `] = lit` -OBr0RKv8Vbu5GGGQqxa38x4NN62kETYkOJ1o/6MSBtg= -`; - -module.exports[n`DFA minimization >> 764: /(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 765: /^[^\r\n\S]*#.*/m `] = lit` -/Eb69wdtI3zqirclq0G2ktZnbf3AI7+Q1Liq6wPDVGM= -`; - -module.exports[n`DFA minimization >> 766: /\b0x[\da-fA-F]+(?:un|lf|LF)?\b/ `] = lit` -4i1xcZuXkh6zCR9BeewIg8hFn9P1th7TQN86uwMELLU= -`; - -module.exports[n`DFA minimization >> 767: /\b0b[01]+(?:y|uy)?\b/ `] = lit` -dq6K9Fb+SLmDA57JfrT+eXqOIZxOJdYxk492rOHxv/k= -`; - -module.exports[n`DFA minimization >> 768: /(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 769: /\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/ `] = lit` -jBnWNOQExULCd/8Oz9YncRJaJojwi8esmnYHMbkyoY8= -`; - -module.exports[n`DFA minimization >> 770: /[_a-z]\w*(?=\s*\{)/i `] = lit` -V3LxTRXqBatAJedQcaRK+j2Bmr20X6LSIJb1KpXbWpw= -`; - -module.exports[n`DFA minimization >> 771: /(^|[^\\])\(\*[\s\S]*?\*\)/ `] = lit` -gwPjeoxHoeA/LTVAFCf1mAk6pxZBJ75uM/W9meU8Nuw= -`; - -module.exports[n`DFA minimization >> 772: /^\[<|>\]$/ `] = lit` -2tHoQG8ypC9dZquEfxE2Hq4FeJs17GXcLjehGGEMgos= -`; - -module.exports[n`DFA minimization >> 773: /->|\*/ `] = lit` -yTvdSPEKxB4ti60wZaR3fnBJL5Mwu0XKnRPYyw2Ymok= -`; - -module.exports[n`DFA minimization >> 774: /^\w+$|(^|;\s*)[A-Z]\w*(?=\()/ `] = lit` -kUxXFUkRizPKmEYTvJANF4DHY4WOSTZKLN0my6ACACI= -`; - -module.exports[n`DFA minimization >> 775: /(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/ `] = lit` -LPfyM8GOH7W6w6LWgjAYFQ6JHP9MFudehWOXrgVCrkE= -`; - -module.exports[n`DFA minimization >> 776: /(^|\s)R\/\s+(?:\\\S|[^\\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/ `] = lit` -TBXBR3xKswLtk2dI5er+dY8BrI7/5BH5/wLFwDA4KlU= -`; - -module.exports[n`DFA minimization >> 777: /(^|\s)[tf](?=\s|$)/ `] = lit` -9CxEjn5D2aUGXmLb2LgARUOlg+wGl3GJ9g23PVzrcCE= -`; - -module.exports[n`DFA minimization >> 778: /(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/ `] = lit` -4P9QfRDlKCs98b1yF1i35di8Bu00Oe0LUZrcFNxQ/hQ= -`; - -module.exports[n`DFA minimization >> 779: /(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ `] = lit` -IMbIdCanhyBzK+28d0W/8vBX92tGk0DWHHFAV7WJv4Y= -`; - -module.exports[n`DFA minimization >> 781: /(^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|cal... `] = lit` -db3gir9wYi0M4wxjmv6+mi8pwZ35TO0UnJNH2nmFoh4= -`; - -module.exports[n`DFA minimization >> 783: /(^|\s)(?:number=|next\-power\-of\-2|\?1\+|fp\-special\?|imaginary\-part|float>b... `] = lit` -YpOEPC9nAYxpH7NTaCOwO8NlYEt1P1cznQn1vzzS39o= -`; - -module.exports[n`DFA minimization >> 784: /(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 785: /(^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|i... `] = lit` -Zbd3Vze7E1qHL0zVYqbxBAeSpdsiE3CoA+lnNA9VdEs= -`; - -module.exports[n`DFA minimization >> 786: /(^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\... `] = lit` -eAPIbpchz9Gzj4fXHGW2bQQwdLHwKmcZ86dG/MMEQRM= -`; - -module.exports[n`DFA minimization >> 787: /(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ `] = lit` -BzwJCWthDEA/1gApzrywE/lGFKMLM1RGqZmhf7HZ3Vk= -`; - -module.exports[n`DFA minimization >> 788: /(\s)(?:;|:>)(?=\s|$)/ `] = lit` -92r34LFt9AQiu0uZinEMrj+UNeHQzpISx3Ei/4kDNDI= -`; - -module.exports[n`DFA minimization >> 789: /(^|\s)[^"\s]\S*(?=\s|$)/ `] = lit` -7mbuNLVtHLDn5QyZthQ3Q9vix1HM7pedSd8nautqcsw= -`; - -module.exports[n`DFA minimization >> 790: /"(?:\\\S|[^"\\])*"/ `] = lit` -Bu4aoDuHS9mjCBpY7WBk0Xrl6Orhq81ZvMk4Yi5Obmo= -`; - -module.exports[n`DFA minimization >> 791: /(^|\s)(?:! .*|!$)/ `] = lit` -D/tOjFObgyDaw1rb3IILm3OgXnUSUH20xapr8waSDTg= -`; - -module.exports[n`DFA minimization >> 792: /(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/ `] = lit` -CTIyJWJBOB5Yu3eSd6CVVgBar8yxwXBKKyozKS7PsLQ= -`; - -module.exports[n`DFA minimization >> 793: /(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/ `] = lit` -6hq9RJ/EXi1Yo9NzwvDJiBzdX4d9wD3oYmnUuDqOk7M= -`; - -module.exports[n`DFA minimization >> 794: /(^|\s)[+-]?\d+(?=\s|$)/ `] = lit` -+swWq6ORAoqW3z/G3/OU4LmtVLXi6Eof0U65YQYeDAo= -`; - -module.exports[n`DFA minimization >> 795: /(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i `] = lit` -ZlTQqTyIXTHNUIcwg8OHF7C6rC8oSDlKxL3rdlPxRxU= -`; - -module.exports[n`DFA minimization >> 796: /(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/ `] = lit` -5W8IQk606YnN2HbVtaAXdR4jS1uIu++gh/uU0n4BWwc= -`; - -module.exports[n`DFA minimization >> 797: /(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ `] = lit` -I7bERgTntlT3qfzl/vB2qIi23O0dX2jXWYR2/dweOMQ= -`; - -module.exports[n`DFA minimization >> 798: /(^|\s)-\d+-\d+\/\d+(?=\s|$)/ `] = lit` -VNsD3qDtWVuatNdfsZXxtpOQD4qlXkAiFMxHKI7vQOM= -`; - -module.exports[n`DFA minimization >> 799: /(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i `] = lit` -o6PwQ/BDP6gxKPzanDpotIxZ4hA/39m0OTtpSBJPHwA= -`; - -module.exports[n`DFA minimization >> 800: /(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/ `] = lit` -ulLvpJ9fBEW3xWbXmHeOBd9qCRPYvCgArnDNmnVFjZ0= -`; - -module.exports[n`DFA minimization >> 801: /(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i `] = lit` -xbcovZWXvakF8DOU1kYUASaoQoBXAhv/RPY5dShYDFc= -`; - -module.exports[n`DFA minimization >> 802: /\\\S/ `] = lit` -NGIEtCk8tPilpDm9aH41KrBhnStJDr5ho4FuYZo+nuI= -`; - -module.exports[n`DFA minimization >> 803: /[+?*\[\]^$(){}.|]/ `] = lit` -82ZwgqTxC/c6tqWc9r4dCYgvnRrV/85+6fa161eELZg= -`; - -module.exports[n`DFA minimization >> 804: /\\\S|%\w|\// `] = lit` -Bgs6kuhOlUGsadHJC0pSdlSpIX0XTmnopoVWA/ecqHs= -`; - -module.exports[n`DFA minimization >> 805: /(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ `] = lit` -V/6p2NNa6atX2kBMBtb7qluFbilQOSBts2MrBItRe0g= -`; - -module.exports[n`DFA minimization >> 806: /(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ `] = lit` -jY0q5BqS4uceqb55k/Rw6cwDryjFFsUniU6R29E0nns= -`; - -module.exports[n`DFA minimization >> 807: /(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/ `] = lit` -21gLENzD4hSCwMwiQgZKkwzuDIZZ9cQixjOjhNYyqws= -`; - -module.exports[n`DFA minimization >> 808: /(^|\s)(?:call|execute|eval)?\((?=\s)/ `] = lit` -v1QccQqNcWZ7l7ftoIhEOlBReBQ8bPh0ZrG7TRFo9Hw= -`; - -module.exports[n`DFA minimization >> 809: /(\s)--(?=\s)/ `] = lit` -pJZcfEPL3pP47swNgdLBEg5sAcom4a/cm4lof9UQf8w= -`; - -module.exports[n`DFA minimization >> 810: /(\s)\)(?=\s|$)/ `] = lit` -SjpW0J5jnzzaEOSl9iFSHGPX3SH/uM04OmeU32nb/eU= -`; - -module.exports[n`DFA minimization >> 811: /(^|\s)[a-z]*\{(?=\s)/i `] = lit` -Ry9NX8RlndJTjAhJhxnRBn303tk2WCQ6Qmzgp2KxdHA= -`; - -module.exports[n`DFA minimization >> 812: /(\s)\}(?=\s|$)/ `] = lit` -FrId7D4191oDmL83ws9ynxU0L6ePNm2NmjbdqRjQUAA= -`; - -module.exports[n`DFA minimization >> 813: /(^|\s)\[(?=\s)/ `] = lit` -RKQ1bi5DcSqjbK8c0WS2z0EbwWxA00NzIjdcOzwoh1o= -`; - -module.exports[n`DFA minimization >> 814: /(\s)\](?=\s|$)/ `] = lit` -nAtUdgC7DuQ85DkpOr5kBJRa9UaWvbTzUYRUA9xAHTI= -`; - -module.exports[n`DFA minimization >> 815: /\\[^\s']|%\w/ `] = lit` -2os/KTvw/kXZYBWQp6kmTNyINPCPUWeNRk7KC7OHLhc= -`; - -module.exports[n`DFA minimization >> 816: /\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 817: /(\/)[idmsr]+(?:-[idmsr]+)?/ `] = lit` -upRwmZZH2cwz/XBMumpLZyzr1fPkmTQMmnlGOfvduxM= -`; - -module.exports[n`DFA minimization >> 818: /(\s)[^:\s]+/ `] = lit` -FLJPew4BY6vhAaxU2Em7Bxk5wmHXbaWwiK0pomOb30E= -`; - -module.exports[n`DFA minimization >> 819: /((?:\n|\r\n)\s*);(?=\s|$)/ `] = lit` -mhJAoZyF+y8zjgJXEcFK/JccLtbUL0vi9TDAWae8o2c= -`; - -module.exports[n`DFA minimization >> 820: /\b(?:allow|function|if|match|null|return|rules_version|service)\b/ `] = lit` -a9GKIdnKrf9RCEholscVGGUU+SfPdDGGXaT15nct7Xw= -`; - -module.exports[n`DFA minimization >> 821: /&&|\|\||[<>!=]=?|[-+*\/%=]|\b(?:in|is)\b/ `] = lit` -jzzPrOkAKLPaxDucrtJ//GWc3GriTiSHZmY+nWEHGpU= -`; - -module.exports[n`DFA minimization >> 822: /(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-... `] = lit` -B6aOP7jguAExZOGiDXKV50K2tj0X2VmBkcVQ2qCEonA= -`; - -module.exports[n`DFA minimization >> 823: /(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ `] = lit` -Ln027EuDYNMdCye96Xszv9OFzIZED3rvSiWj+ul13cg= -`; - -module.exports[n`DFA minimization >> 824: /[\/]/ `] = lit` -6c0qv2Vd5FCWwFQc50hf+iGXtDiS4c+TyfmZQbyGrR8= -`; - -module.exports[n`DFA minimization >> 825: /\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/ `] = lit` -UqWPAljMCiwwgZom6Ne2MU9xReYhEm/JmKedE9kjsbk= -`; - -module.exports[n`DFA minimization >> 826: /\*\*/ `] = lit` -H1tIkQYswt/1fv0M8Z5VXujI/sd+13i+/6+SJM7n0kk= -`; - -module.exports[n`DFA minimization >> 827: /[.$(){}]/ `] = lit` -8w2DgWaN/bkLWf4ROyTZ3s+KMdRwUDTKUsL8nldHpBc= -`; - -module.exports[n`DFA minimization >> 828: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:... `] = lit` -YurFzJuV1fJQpGFc7JhVqrVjvq7z6rM4IEo/iy6Imk4= -`; - -module.exports[n`DFA minimization >> 829: /\{\||\|\}/ `] = lit` -V8jlIJYH0dYwTf86qy1HoBX/R5V8YhMMDb6yAxwaT28= -`; - -module.exports[n`DFA minimization >> 830: /\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ `] = lit` -GslNNtDv5AeYYR/W/logR0taQ1Xi31bRKppIP+6Svnw= -`; - -module.exports[n`DFA minimization >> 831: /(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 832: /(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 833: /\.(?:TRUE|FALSE)\.(?:_\w+)?/i `] = lit` -ReVzaV7XVy0KsFCSr4+diVHvfvOUmi5HeKekfYRVH5o= -`; - -module.exports[n`DFA minimization >> 834: /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i `] = lit` -N/G1g/My1Vy+vME0IfgYtQjZPAlDUCnPlTl9BBEWbcw= -`; - -module.exports[n`DFA minimization >> 835: /\(\/|\/\)|[(),;:&]/ `] = lit` -FxgPVCDtGV4HUE5Cxpk7BwZJa2YbgU8M//kEO8YAcR4= -`; - -module.exports[n`DFA minimization >> 836: /[BOZ](['"])[A-F0-9]+\1/i `] = lit` -e37tfXuXZLe+zq5Oravn3dXy3fUMIt4zDJVROtEwmSY= -`; - -module.exports[n`DFA minimization >> 837: /(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!\1).)*(?:\1|&)/ `] = lit` -LTGyAhi7AJTVpgamgqBs1P+OEbDBXkHQoLUYuRMlx/o= -`; - -module.exports[n`DFA minimization >> 838: /!.*/ `] = lit` -qDYivRBcxcwxyYH5sJ6Me+SdNel2JFbwBfg+imGPU/w= -`; - -module.exports[n`DFA minimization >> 839: /\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i `] = lit` -3/g5sJprcfcxkGAIRFXR+wMaPraM4K11e9VDuo/0CpA= -`; - -module.exports[n`DFA minimization >> 840: /\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCE... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 841: /\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CY... `] = lit` -XHrL4nqkDqYHQ/yr0Is8cU+1ZRCwg9eyc7eONxej8Wk= -`; - -module.exports[n`DFA minimization >> 842: /\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|... `] = lit` -tl0/GMY/cKAqEFMkhXkn2/d8AvBKjDnz7fEsmiUNPc4= -`; - -module.exports[n`DFA minimization >> 843: /\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NE... `] = lit` -Zc0quokLVJNF8mVeU61P+eLhtBDroA0Om7x8dyuHGK0= -`; - -module.exports[n`DFA minimization >> 844: /(^|(?!\().)\/(?!\))/ `] = lit` -fQleDHQRCfpPd0Dz9eNop6AfrUaSpaVU6nm5FIv2XPE= -`; - -module.exports[n`DFA minimization >> 845: /(&(?:\r\n?|\n)\s*)!.*/ `] = lit` -Hc91U0X7hey4ondRBZBxzI7HPm5uS83O8wiH/we6RWM= -`; - -module.exports[n`DFA minimization >> 846: /^<#--[\s\S]*/ `] = lit` -xQVDC6DW51ZrWq2kSDPnrKAzWVf+/6iguTC/X4FNSmI= -`; - -module.exports[n`DFA minimization >> 847: /^<[\s\S]+>$/ `] = lit` -N3s/gFATl8yzlQFi1XrmLI5tnMfhdnGx0LZ4PhqJGq4= -`; - -module.exports[n`DFA minimization >> 848: /^\$\{[\s\S]*\}$/ `] = lit` -SLKd1cqiN8QWLzA4rjzrE2DosACsB/fNi7zLUNJOo88= -`; - -module.exports[n`DFA minimization >> 849: /^<\/?|\/?>$/ `] = lit` -Lb5t2vVjhYXMCaCxD8BvaSyenubSg9QiIAJdWwdfvds= -`; - -module.exports[n`DFA minimization >> 850: /^\$\{|\}$/ `] = lit` -1M59/tycAMO4/JORJr3jTgBMP1AstPG+Rn21YQNNcW0= -`; - -module.exports[n`DFA minimization >> 851: /(^<\/?)[#@][a-z]\w*/i `] = lit` -EaYa0QDeOp4poFRUZBx2HhqIglGE2Rczv+SwWzxJfOI= -`; - -module.exports[n`DFA minimization >> 852: /[\s\S]*\S[\s\S]*/ `] = lit` -wS4Th089eezMiO+dQqY6duAlMooRa0c4plvjPb3OjuA= -`; - -module.exports[n`DFA minimization >> 853: /<#--[\s\S]*?-->/ `] = lit` -zkynHlm3IaONrzkyTwZgeK4y6DhfUWv4sutTU3MlvTA= -`; - -module.exports[n`DFA minimization >> 854: /\b(?:as)\b/ `] = lit` -u809pXl6b9hLiuSt5hUkIbmods3Jmep7Uv6BscqUxNI= -`; - -module.exports[n`DFA minimization >> 855: /\w+(?=\s*\()/ `] = lit` -o6lXUcNyzD/nzKnl9btnLf5BYKIC3oqCVwGcFsU1zhQ= -`; - -module.exports[n`DFA minimization >> 856: /\d+(?:\.\d+)?/ `] = lit` -BUUB+E0cSs2HJg/bnfkRb9zOkiIJyaWTgS3PqQb6wCc= -`; - -module.exports[n`DFA minimization >> 857: /\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*\/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/ `] = lit` -8+Z1eZ6gjES1c1YKueXxcbDt2lHAwmhHIlnN9falk80= -`; - -module.exports[n`DFA minimization >> 858: /[,;.:()[\]{}]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 859: /((?:^|[^?])\?\s*)\w+/ `] = lit` -xeO+L+h426RfgxkeDXWhODi5WdceXG6SJ8E5b85+rgQ= -`; - -module.exports[n`DFA minimization >> 860: /\br("|')(?:(?!\1)[^\\]|\\.)*\1/ `] = lit` -0034MBFFUQ0oC2Gtr5Coe8ukiGbARBxVsh/TWzpCAFo= -`; - -module.exports[n`DFA minimization >> 862: /((?:^|[^\\])(?:\\\\)*)\$\{(?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']... `] = lit` -bkaQR8iGOi76EEt6/lK49p7alxCQ405ENYATEQcZxOM= -`; - -module.exports[n`DFA minimization >> 863: /\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|... `] = lit` -JJz0KVZlC8q1vbXCxZru/8DFYOlM+svHsx8xpMMEGE4= -`; - -module.exports[n`DFA minimization >> 864: /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ulf]*/i `] = lit` -AIqNfXJy0q5OoXDslY3ou+FBT1Po6CM8/XJ8lxkvK9c= -`; - -module.exports[n`DFA minimization >> 865: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at|xor|n... `] = lit` -pCl0pWdeZSuY03hRi9rzIUPzWgMia0Voxr5O5b8bxbQ= -`; - -module.exports[n`DFA minimization >> 868: /;.*|\B\(.*?\)\B/ `] = lit` -LlGVgfBrXx7H0Wn/XEiFJf/QC5R1dxpxG1AQVhZA0TY= -`; - -module.exports[n`DFA minimization >> 869: /\b[GM]\d+(?:\.\d+)?\b/ `] = lit` -6KIx+7g4RTBwKv16Zyp403AtdqoC1tmzWPagiudpBZg= -`; - -module.exports[n`DFA minimization >> 870: /\b[A-Z]/ `] = lit` -wYSvULFe5K+VaCl3shsEBSKJd4lDSG9Hls8M674RzBQ= -`; - -module.exports[n`DFA minimization >> 871: /"(?:""|[^"])*"/ `] = lit` -TUaMaltJ8o/aI6ZLfs0TjLDqmDVt6pibeIZowuGTkng= -`; - -module.exports[n`DFA minimization >> 872: /\*\d+/ `] = lit` -sIAwQAICU/BA6GSHsAxiEgeDHe2ba7YT6qXfOGPkFm8= -`; - -module.exports[n`DFA minimization >> 873: /\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|e... `] = lit` -H9KYpOA1XDjMjhYEIWv/yvGP839Ijhmeoi47galZ9PQ= -`; - -module.exports[n`DFA minimization >> 874: /[a-z_]\w*(?=[ \t]*\()/i `] = lit` -OkjgzGY/eAgqqz4XGr8h2zNHqswIj8z0eVd6ozeCXY4= -`; - -module.exports[n`DFA minimization >> 875: /\b[A-Z][A-Z_\d]*\b/ `] = lit` -UcIDU2iHr2KOagvx0q01C1TjLtgmoYFKP4gj/qvdv4c= -`; - -module.exports[n`DFA minimization >> 876: /->|:=|&&|\|\||<<|>>|[-+*\/%&|!<>=]=?|[~^]/ `] = lit` -DmtMZBTv2seSs/NQlMBVwoP9LLOiVGX884KaY7JX/eE= -`; - -module.exports[n`DFA minimization >> 877: /[.:,;()[\]{}]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 878: /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/ `] = lit` -Pn+85UftG+n7oXlNWlRQEGHNE53ygu9kwAkff+NueWQ= -`; - -module.exports[n`DFA minimization >> 879: /(^(?:class_name|class|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|v... `] = lit` -gaZus/O5NQYBAR+dCGN0gu/Uu+va7E3ec4Vrk7KeMTA= -`; - -module.exports[n`DFA minimization >> 880: /\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?... `] = lit` -kxNY5MkEajv+HZ08LScMJXK886Cv86T1X+Mk5ZP/qDo= -`; - -module.exports[n`DFA minimization >> 881: /\b(?:INF|NAN|PI|TAU)\b/ `] = lit` -BrbpKRfQXKHF74R2V+CJOxoekugtTaP5WEyugQzrB4w= -`; - -module.exports[n`DFA minimization >> 882: /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-.\/:;<=>?[\\\]^\`{|}~\x80-\xfe #]*@ +)?\w+ +).+/... `] = lit` -cgE44Qg1Kxui0x7YHY4PcnDALyqm9X8NmedsdBhbrLE= -`; - -module.exports[n`DFA minimization >> 883: /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-.\/:;<=>?[\\\]^\`{|}~\x80-\xfe #]*@ +)?)\w+/m `] = lit` -TZcJg/xsMPpSmnVaox+A0XT/uRixN7o2R1jtbPC9NAk= -`; - -module.exports[n`DFA minimization >> 884: /(^\s*)\d+/m `] = lit` -aNwcaI3hYovu4fo+iASLtqRoytatH3W0WwP5U1bqlYc= -`; - -module.exports[n`DFA minimization >> 885: /@\w[\w!"$%&'()*+,\-.\/:;<=>?[\\\]^\`{|}~\x80-\xfe #]*@/ `] = lit` -Y6S+zhPkljPMGCHl1nGJOk6n00z9OcCpZrai/WPNemY= -`; - -module.exports[n`DFA minimization >> 886: /^@\w[\w!"$%&'()*+,\-.\/:;<=>?[\\\]^\`{|}~\x80-\xfe #]*@$/ `] = lit` -Y6S+zhPkljPMGCHl1nGJOk6n00z9OcCpZrai/WPNemY= -`; - -module.exports[n`DFA minimization >> 887: /("""|''')[\s\S]+?\1/ `] = lit` -vWRmjqG17AjbhGl/XujDMdrf7SoDweu8jPmQaeXp9Tk= -`; - -module.exports[n`DFA minimization >> 888: /(^[ \t]*)#.*/m `] = lit` -hCqnct6maygLhL0uLrIEF8FHf+M7Vj4nCibi7BrUJR8= -`; - -module.exports[n`DFA minimization >> 889: /(^[ \t]*)@\S*/m `] = lit` -07SqyFUVD/EZ9V/0+8moPWl7ONqxDv4OtsaipexasXo= -`; - -module.exports[n`DFA minimization >> 890: /((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|B... `] = lit` -aK0iTptKSW7O2V3aXLaW6ldloGAWn6lCQgZo99CJDlk= -`; - -module.exports[n`DFA minimization >> 892: /((?:\r?\n|\r)[ \t]*\|.+\|.*)(?:(?:\r?\n|\r)[ \t]*\|.+\|.*)+/ `] = lit` -Ej8Qv2h+r3gXF1XiYRQlpHuC9TltmES5jVzzq+O52+0= -`; - -module.exports[n`DFA minimization >> 893: /(?:\r?\n|\r)[ \t]*\|.+\|.*/ `] = lit` -nh7gC9GRkQ5cbG2emypxxVjuKeWPdgqnmhrOMZY26Bw= -`; - -module.exports[n`DFA minimization >> 895: /"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 896: /<[^>]+?>/ `] = lit` -1wwgf8779NKBQXH1BrEMm8tkBqn8P61pssbxhIMOTE4= -`; - -module.exports[n`DFA minimization >> 897: /[^:\r\n]+:/ `] = lit` -KQY9CWQOb8AG39h+9JaK7cNItaZpcT3Zb7wfPysYZqo= -`; - -module.exports[n`DFA minimization >> 898: /\|/ `] = lit` -5swum4M2wdhut02BzRvFGhfm5cLyBZW/r5A1GP9qhJk= -`; - -module.exports[n`DFA minimization >> 899: /(:)[^\r\n]+/ `] = lit` -HRPMSaJo6pV1z9oUWGm/yKzo2cUcQQZbsxKuKt5kNvs= -`; - -module.exports[n`DFA minimization >> 900: /(:)[^\r\n]*/ `] = lit` -G/JZOzHfpf4W2a1zM5HMGe8xntHYiBmide0cboCiQso= -`; - -module.exports[n`DFA minimization >> 901: /\s*[^\s|][^|]*/ `] = lit` -jjJtEaEQPT0A49JOHM6TTCn+k987afYXOygqx113fb4= -`; - -module.exports[n`DFA minimization >> 902: /^#.*/m `] = lit` -b/uLXXb070yRLX6+0FI02AevcjQLDBY4msyLeMN7nBk= -`; - -module.exports[n`DFA minimization >> 903: /^[-–].*/m `] = lit` -AJO06+2Z2uS2tbkl3ahoiP1ahDhuLGgLZolL/E0Y0Po= -`; - -module.exports[n`DFA minimization >> 904: /^\+.*/m `] = lit` -fBYj2YpWNtXEiUgLamtKfJ8kCWXi95AxV8+FALbV6cs= -`; - -module.exports[n`DFA minimization >> 905: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 906: /^commit \w{40}$/m `] = lit` -MSsAaxHeaeajusb99tJ/RveSaqVHgyxIQ0M/A6c9wgU= -`; - -module.exports[n`DFA minimization >> 907: /^.*\$ git .*$/m `] = lit` -jxqAb20tf2JElcG/1dP4MFNCPrqV1VZfWO2gOq1LhJA= -`; - -module.exports[n`DFA minimization >> 908: /\s--?\w+/m `] = lit` -yz9yRpc4PSpHgtH7GiEJh0EmHK5TDTL7IdO07eBTgXk= -`; - -module.exports[n`DFA minimization >> 910: /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(... `] = lit` -fi7vHfCZl3+iaP5yt95b0ttSYZ2+UR0eJZHN/wHAx7w= -`; - -module.exports[n`DFA minimization >> 911: /\b(?:_|iota|nil|true|false)\b/ `] = lit` -m1KcZaf9ujNfVZCDBoMc6JJ+go1Ao0sKfHAkqblEDYA= -`; - -module.exports[n`DFA minimization >> 912: /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i `] = lit` -rAFOD0F3QSm3tFqp2XVLkIymnffrBZMeR9DPRWKrpJ0= -`; - -module.exports[n`DFA minimization >> 913: /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|... `] = lit` -xyo9xV2uokDjqxfNLpRa2et8Jr+fyST9TtBDcdumX14= -`; - -module.exports[n`DFA minimization >> 914: /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|... `] = lit` -dm1cG1219XPWb4JiqaWFF8mcSZ5sUars2qR1T3x+Vpg= -`; - -module.exports[n`DFA minimization >> 915: /(["'\`])(?:\\[\s\S]|(?!\1)[^\\])*\1/ `] = lit` -/sanqiktN0zXLFKeq55m28Ic8bN4MXZnq8aFWCPPBvA= -`; - -module.exports[n`DFA minimization >> 916: /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i `] = lit` -ddhcchiUdUeWGiQMIbfhePX82fcKSvmwaoF5qBe/t5E= -`; - -module.exports[n`DFA minimization >> 917: /\$[a-z_]\w*/i `] = lit` -E2noJSdMsx8QIMd0D9sqOoY4Nj4zqcRTdAz3aYX8uFY= -`; - -module.exports[n`DFA minimization >> 918: /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|quer... `] = lit` -VQWfJvz/86ZtWCddFzuTyow2P1xofV9/VKnfLSvsKLE= -`; - -module.exports[n`DFA minimization >> 919: /[!=|&]|\.{3}/ `] = lit` -v05XbqJJpgVC1bpJdXxkQbJpEj1NWbZAUdVdqrwrGzg= -`; - -module.exports[n`DFA minimization >> 920: /[!(){}\[\]:=,]/ `] = lit` -NWmNwco+C3zAx8o7WkxMZVxpmPi2AoevM2ydVkhWpg4= -`; - -module.exports[n`DFA minimization >> 921: /\b(?!ID\b)[A-Z][A-Z_\d]*\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 922: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i `] = lit` -WVaSyWUIN2RdtH0JhkOeXfWBlDroAxir9FD3kLb9GdA= -`; - -module.exports[n`DFA minimization >> 923: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/ `] = lit` -vgQXF4BAQ7d28hWJef2FPS8MG5cqRTayTvj4U9Dm62Q= -`; - -module.exports[n`DFA minimization >> 924: /@[a-z_]\w*/i `] = lit` -BmOEJJ17Hsvm/uT6h9xoxwf4Mjm1z8bJICbkjyJDmBQ= -`; - -module.exports[n`DFA minimization >> 925: /[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i `] = lit` -IU0i0+2MsaWIyoEw3faZVIgDBJPQMlUczCmGilyoN4s= -`; - -module.exports[n`DFA minimization >> 926: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[a-zA-Z_]\w*/ `] = lit` -IG6NKOnC9Xg1eqG4CkYvSBKrRwK3tika4JtLqgJOLIM= -`; - -module.exports[n`DFA minimization >> 927: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/ `] = lit` -xFJrQtLnOxv9deKXXmSKvM7HZ6HIFr1ujNz4RvzEg+k= -`; - -module.exports[n`DFA minimization >> 928: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 929: /^>(?:[\t ]*>)*/m `] = lit` -FcoWVEvraNnIajCdY/p+wDeIFUWwLMLLx7mqrSD+sas= -`; - -module.exports[n`DFA minimization >> 930: /^\|?(?:\\.|\`\`(?:[^\`\r\n]|\`(?!\`))+\`\`|\`[^\`\r\n]+\`|[^\\|\r\n\`])+(?:\|(?:\\.|\`\`(?:[... `] = lit` -xl9sDArYE1khVmJ/311nCikqCfpflNSRPA/KMYg8rYg= -`; - -module.exports[n`DFA minimization >> 931: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m `] = lit` -a8z9GrmRkw1z0zLiklV+Nuzn5dKmrId9rdRQzGu1+F0= -`; - -module.exports[n`DFA minimization >> 932: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m `] = lit` -7rdIR5+2tbmZmuJxcDbK8TJyzLJt7AvBFjF+JW5H03k= -`; - -module.exports[n`DFA minimization >> 933: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\... `] = lit` -TyDWOJ7VMJQHP4mVedU/MfEBc1Sq6pOHGKla3FsoMXk= -`; - -module.exports[n`DFA minimization >> 934: /((?:^|[^\\])(?:\\{2})*)(?:\b__(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)... `] = lit` -jBJVHXkDhkZDy9B+1sl85jEeqwzBtC080r1OIgiKWoc= -`; - -module.exports[n`DFA minimization >> 935: /((?:^|[^\\])(?:\\{2})*)(?:\b_(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))... `] = lit` -3c8qA3J9mXXzhVPtHEaODzjK0RL4D+6vO9Y5sSeKeCs= -`; - -module.exports[n`DFA minimization >> 936: /((?:^|[^\\])(?:\\{2})*)(?:(~~?)(?:(?!~)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?... `] = lit` -mllHfnC+ZokkoID2V3nIyuuQR7OrLhFaljcnXbTY4GI= -`; - -module.exports[n`DFA minimization >> 937: /((?:^|[^\\])(?:\\{2})*)(?:!?\[(?:(?!\])(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?... `] = lit` -FrpTgqMWT2BLViNJpAYHxZ+45vTT39v1jXTy+GsyqCk= -`; - -module.exports[n`DFA minimization >> 938: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t... `] = lit` -8QJqNz39l0TwkmAICerjlPuFSS3pWEty7LskGStroJs= -`; - -module.exports[n`DFA minimization >> 939: /\`\`.+?\`\`|\`[^\`\r\n]+\`/ `] = lit` -vTvGB2rw06unP5SysXLlK2AhGeqk61vrbbfY/Rb4KKY= -`; - -module.exports[n`DFA minimization >> 940: /^\`\`\`[\s\S]*?^\`\`\`$/m `] = lit` -T/AZx+4/UHJSyBJFnur7bHhtE006l+mq7nBcgO9/3EU= -`; - -module.exports[n`DFA minimization >> 941: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m `] = lit` -idRb+fokVegCqjfLjM/BuGM6P5LHsvYLQbZNNQ2HVew= -`; - -module.exports[n`DFA minimization >> 942: /(^\s*)#+.+/m `] = lit` -MbJz1xAUHaN+wo1APwK+VTI6s5rJFcCPe+cTdgFTV3E= -`; - -module.exports[n`DFA minimization >> 943: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ `] = lit` -Pw/voFLn4GSPKpzE8a/N5loIlMOrLvNephHekFXr1q8= -`; - -module.exports[n`DFA minimization >> 944: /^[\[\]!:]|[<>]/ `] = lit` -VudReuPfvH4aswVSZiXgdVtxU5OB+PMz0zu4vaTyrRM= -`; - -module.exports[n`DFA minimization >> 945: /\*\*|__/ `] = lit` -yiMp/Ghy0FRuc4OoqCyr3neHZprRwXw4Z303/EqEySA= -`; - -module.exports[n`DFA minimization >> 946: /[*_]/ `] = lit` -VkyYxvYOC2YnwI/WfkGNXWk2GJyYv802IfVczWsmV/E= -`; - -module.exports[n`DFA minimization >> 947: /~~?/ `] = lit` -tfZITnXJzLBgP0N7x4ABvgEecXFoaXpeZgcbwxSSwcY= -`; - -module.exports[n`DFA minimization >> 948: /^(\|?(?:\\.|\`\`(?:[^\`\r\n]|\`(?!\`))+\`\`|\`[^\`\r\n]+\`|[^\\|\r\n\`])+(?:\|(?:\\.|\`\`(?:... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 949: /^(\|?(?:\\.|\`\`(?:[^\`\r\n]|\`(?!\`))+\`\`|\`[^\`\r\n]+\`|[^\\|\r\n\`])+(?:\|(?:\\.|\`\`(?:... `] = lit` -5qlrsazb+3zB4Y6sCkipkgySpMiKYjYfosxrvNTQv4M= -`; - -module.exports[n`DFA minimization >> 950: /^\|?(?:\\.|\`\`(?:[^\`\r\n]|\`(?!\`))+\`\`|\`[^\`\r\n]+\`|[^\\|\r\n\`])+(?:\|(?:\\.|\`\`(?:[... `] = lit` -G/KdG7X8XguZFTYkEncX3GbkBwQ2IBHEUiWEnoLU7AI= -`; - -module.exports[n`DFA minimization >> 951: /\`\`\`/ `] = lit` -zZ7exB1wp4/XWpTT74v6lQhVX7jDWfVw8VwqDPUs+Ig= -`; - -module.exports[n`DFA minimization >> 952: /==+$|--+$/ `] = lit` -ZXT/w+dKlbm802Y+zDd4P6qokuL2tNOBkdAMBtWs8FQ= -`; - -module.exports[n`DFA minimization >> 953: /^#+|#+$/ `] = lit` -EPVuSxOkyZyX5GQ587KCyMlei/9V7wTTnSc0EZ62fT8= -`; - -module.exports[n`DFA minimization >> 954: /^(!?\[)[^\]]+/ `] = lit` -iOPK2p8nCkO35GNL4OLP8aAhjZO8zDoYP80zbU4XcVI= -`; - -module.exports[n`DFA minimization >> 955: /(^..)[\s\S]+(?=..$)/ `] = lit` -0YK0SMsJGuXuXLVyKGIb35nLtXCFsGmRSxnxdCamXoU= -`; - -module.exports[n`DFA minimization >> 956: /(^.)[\s\S]+(?=.$)/ `] = lit` -L1F//Qd+7UVSoBkALeQ28PbpTGGL1dtXcovTadq+LZY= -`; - -module.exports[n`DFA minimization >> 957: /(^~~?)[\s\S]+(?=\1$)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 958: /(\[)[^\]]+(?=\]$)/ `] = lit` -RIM1aPjHhllNP6LoHmC3rFWtXsyVhOP3LCXBMu/j1T0= -`; - -module.exports[n`DFA minimization >> 959: /(^!?\[)[^\]]+(?=\])/ `] = lit` -5SdYDrPKAn7mWhrBduL0+JLbKTeK1/eFNB7D9Y7vwV4= -`; - -module.exports[n`DFA minimization >> 960: /"(?:\\.|[^"\\])*"(?=\)$)/ `] = lit` -WitVXYK/9eFM/PnqaJa6LNrkiendrH9PA16K/lCsnU8= -`; - -module.exports[n`DFA minimization >> 961: /\||:?-{3,}:?/ `] = lit` -/39YY1oymYnFNcn5yLW6Z5wezH3AESCXhdJybvJYjyU= -`; - -module.exports[n`DFA minimization >> 962: /^(\`\`\`.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^\`\`\`$)/m `] = lit` -zq0Fvf2G/1HWnanZrXqMXo/Cr8MpNB5SDH8cqEL5soM= -`; - -module.exports[n`DFA minimization >> 963: /^(\`\`\`).+/ `] = lit` -8HpzPUGTMK68GzjNdiA1d/2pqKEOxnmGuZnuYhzHSx8= -`; - -module.exports[n`DFA minimization >> 964: /(?:\\.|\`\`(?:[^\`\r\n]|\`(?!\`))+\`\`|\`[^\`\r\n]+\`|[^\\|\r\n\`])+/ `] = lit` -QjqmyCMJObMStJESlKIE8A+kUsOHqpKfpT5gE89KVak= -`; - -module.exports[n`DFA minimization >> 965: /\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|c... `] = lit` -KOlwU/rTm+fLyaV8HMB9tAY34/VEklRCloQZ8DHkkRQ= -`; - -module.exports[n`DFA minimization >> 966: /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 967: /\b(?:setup|given|when|then|and|cleanup|expect|where):/ `] = lit` -+/W4nJQiypknMe+oEtDOnDDLn3pX7OLr4r0BsOfrlsc= -`; - -module.exports[n`DFA minimization >> 968: /\.+|[{}[\];(),.:$]/ `] = lit` -nr/yE5HunOe+Sml6HdR8LmdNyhSJLGjePzWSfnJKapg= -`; - -module.exports[n`DFA minimization >> 969: /#!.+/ `] = lit` -+pZbPYMe9gL6wAqRCx6l2bLSy58hUa+UMNCqlVtovuo= -`; - -module.exports[n`DFA minimization >> 970: /(^|[^.])@\w+/ `] = lit` -ghWwAS6kO2L8NvBAAhW5FkOhgu+ICdzkQuZjbtJlNbc= -`; - -module.exports[n`DFA minimization >> 971: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[... `] = lit` -Y8/6oTY9F/HDox/NM78lApiC0DsIkCyRoROtWKkdaWU= -`; - -module.exports[n`DFA minimization >> 972: /("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^\/$]|\$(?:[\/$]|(?![\/$]))|\/(?!\$))*\... `] = lit` -GcNw/OmOoNQNKxNnTAwIHRNm/E9puxHaZVLAiK+6Ojo= -`; - -module.exports[n`DFA minimization >> 973: /(["'\/])(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -8vQ97DZZZa/xytPX8I5mSLOMX5SeRAq0NK5gkCZ/WS4= -`; - -module.exports[n`DFA minimization >> 974: /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ]+.+)*/ `] = lit` -6QOyzaoOKUVe8iQX/5jz80APvahh2FAHXcVns5u1gaY= -`; - -module.exports[n`DFA minimization >> 975: /((?:^|\r?\n|\r)([\t ]*)):ruby(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 976: /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 977: /((?:^|\r?\n|\r)[\t ]*)<.+/ `] = lit` -OAk48U6YK9goplAztGIor6LVWzuuXZ4k8XyK37xxP4g= -`; - -module.exports[n`DFA minimization >> 978: /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/ `] = lit` -TVxMJJIe0t6sDF6yPya9OZlqoK4xFG6xpgwVQfTTKAU= -`; - -module.exports[n`DFA minimization >> 979: /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|... `] = lit` -ZuoLAoil8f6c/S5D1hFdNCDA8YkVWflviGo2cjmuDf4= -`; - -module.exports[n`DFA minimization >> 980: /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/ `] = lit` -2y0mpH0bumm2Nw0fW4e7CmHvb69A2Rk0/rKcq1eEQZA= -`; - -module.exports[n`DFA minimization >> 981: /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/ `] = lit` -F9wkC7FZXMjLxnoZgpXFpLNNT2iBJX+nLm4QhbttFBs= -`; - -module.exports[n`DFA minimization >> 982: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*,[\t ]... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 983: /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*\|[\t... `] = lit` -ykJYpLBVaAq3GCcKzLbkxzyCQJoCdjrx9hl+pbBP6Ls= -`; - -module.exports[n`DFA minimization >> 984: /[<>]/ `] = lit` -lV3wbmWVnhQXvq3YGN0Hd+DsQ8tEFC0VLhPKTWIrf1g= -`; - -module.exports[n`DFA minimization >> 985: /^:[\w-]+/ `] = lit` -9Wo+7MZIFApYjUPM62uONCQva7dRsN8gTZ3RdkR0wj0= -`; - -module.exports[n`DFA minimization >> 986: /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ `] = lit` -iQAp2XO/+EMYYqgzhqwFvaHRfl3OyG5blqvpVb/GkGY= -`; - -module.exports[n`DFA minimization >> 987: /\([^)]+\)/ `] = lit` -QdBYMtS2ZvFTyoMhp0nQwoTbfnzDaL7KDwUbIRXaQmA= -`; - -module.exports[n`DFA minimization >> 988: /\[[^\]]+\]/ `] = lit` -RIM1aPjHhllNP6LoHmC3rFWtXsyVhOP3LCXBMu/j1T0= -`; - -module.exports[n`DFA minimization >> 989: /[\w:-]+(?=\s*!?=|\s*[,)])/ `] = lit` -mZidxFCrMuE30RKSM3ECXTysyabzih8LaU7+CPImlOA= -`; - -module.exports[n`DFA minimization >> 990: /[=(),]/ `] = lit` -TOR6RfkGm8GHf5EO+sAN7XvLDLI11iiln9l4fo5FQvM= -`; - -module.exports[n`DFA minimization >> 991: /(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/ `] = lit` -54WINeb6trtEcBeEYWBkIggBHzhAw/3M3l2s+jPJfx8= -`; - -module.exports[n`DFA minimization >> 992: /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i `] = lit` -YMNEspVuzQSusnYUHfdCmZQ1DxuuEGpeDs1tUGnI9Sc= -`; - -module.exports[n`DFA minimization >> 993: /[+\-*\/]/ `] = lit` -GZOdjnRRTrYpxrmr+5UKMPn1MdalUk7jDW/g10ozDSY= -`; - -module.exports[n`DFA minimization >> 994: /(?:[-a-z]+-)?url(?=\()/i `] = lit` -ajhR30wAa6usglJrabfM8lmrA3+zK+U0JBvoGNEZCp8= -`; - -module.exports[n`DFA minimization >> 995: /\$[-\w]+|#\{\$[-\w]+\}/ `] = lit` -Rba1t4XIYet0czuPAV6RHhgImjDEVK8fQnfZGjp/+iM= -`; - -module.exports[n`DFA minimization >> 996: /@[\w-]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};])*?(?=\s*\{)/ `] = lit` -gNssOoi3avxMC+uLs29IR07pXo/H9u6YuoeXlwEm1Ho= -`; - -module.exports[n`DFA minimization >> 997: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@]... `] = lit` -+OdmA1+I8FbE9IcjHDacnNkrqTP4PCd8h6dyfCvyt0E= -`; - -module.exports[n`DFA minimization >> 998: /@@?[\w-]+/ `] = lit` -CtOvr8NCfYKpKYjqnTr4qzWrIDSmysAb4sgJ9QjCdyo= -`; - -module.exports[n`DFA minimization >> 999: /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/ `] = lit` -Jk8loJQxifn/DmdKIl9ju6K08emHrmt+aAfhHlfj4r4= -`; - -module.exports[n`DFA minimization >> 1000: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/ `] = lit` -wUS0o3mGY+HZPdtDo83pRtR5j0PLaGdeSO/qphpEBow= -`; - -module.exports[n`DFA minimization >> 1001: /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|funct... `] = lit` -KbWk7Msl9pwzaPmf5sdzWrjWZ+mv/6ex6cNQ46w83uY= -`; - -module.exports[n`DFA minimization >> 1002: /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/ `] = lit` -y5rZQEa6SPuiKX17Dni2u1Mghb1TebRnrxWwysUh2NY= -`; - -module.exports[n`DFA minimization >> 1003: /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m `] = lit` -9V4fb4EkkD6q1qmoW7MkZHasvR3/mSDGgd6LeR5B//g= -`; - -module.exports[n`DFA minimization >> 1004: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ `] = lit` -cMDhUqg3aJQWIy1JuzUhGmvLEeNYFFg0G24T14BHbVg= -`; - -module.exports[n`DFA minimization >> 1005: /%[-\w]+/ `] = lit` -pVK3s8I2SJjW3KV4oaMcN6UuIxZqXmcC6MJunmaMz2I= -`; - -module.exports[n`DFA minimization >> 1006: /\B!(?:default|optional)\b/i `] = lit` -QKe5ELJaRHNsy5ZDZMeKiniaqQG4Ght0YrT1GWdpT6w= -`; - -module.exports[n`DFA minimization >> 1007: /\bnull\b/ `] = lit` -bYu959kBI1/+bl4Segmj7dgehinmfmnl0JwXQ1G5ui4= -`; - -module.exports[n`DFA minimization >> 1008: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/ `] = lit` -ekl7/ZjXAm578vxozvF7LdfWyjJD4OZoZ1NhTPLZtWw= -`; - -module.exports[n`DFA minimization >> 1009: /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s... `] = lit` -5JnX0p7OkYgaH3OkLqN2AgDMelk6u1aHZBnQnkhZVeE= -`; - -module.exports[n`DFA minimization >> 1010: /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/ `] = lit` -tF1Fz7zTYKfXCU3SWNO8/KHK1CW0qDs5yQE5IvThM80= -`; - -module.exports[n`DFA minimization >> 1011: /((?:^|\r?\n|\r)([\t ]*)):css(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1012: /((?:^|\r?\n|\r)([\t ]*)):coffee(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1013: /((?:^|\r?\n|\r)([\t ]*)):erb(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1014: /((?:^|\r?\n|\r)([\t ]*)):javascript(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1015: /((?:^|\r?\n|\r)([\t ]*)):less(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1016: /((?:^|\r?\n|\r)([\t ]*)):markdown(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r))... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1017: /((?:^|\r?\n|\r)([\t ]*)):scss(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1018: /((?:^|\r?\n|\r)([\t ]*)):textile(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1019: /(^|[^\\])\/\/.*/ `] = lit` -ZkCYs/NLjjL1tLyiWVDBSQxYMDSLvF9ylHTndOgT2k8= -`; - -module.exports[n`DFA minimization >> 1020: /[:()]/ `] = lit` -yBl+QgF44jBRrkQbcE/p4t9TxHkEPmjeJFAFJ71nNqM= -`; - -module.exports[n`DFA minimization >> 1021: /@+[\w-]+/ `] = lit` -B86HC4rZUB12EOKxYMEnGa2AtUD3S1/NwWGVJQLCwG0= -`; - -module.exports[n`DFA minimization >> 1022: /@[\w-]+\s*:/ `] = lit` -E+A2NCfRJk4W7yg+H5NuZVG/W/lB1+/4kk7Tpcd9lOs= -`; - -module.exports[n`DFA minimization >> 1023: /( +)(?:from|through)(?= )/ `] = lit` -OLT/9uR7+BpsDV5MB61V9mNVQj+M0jGJmGMIV9S0GyU= -`; - -module.exports[n`DFA minimization >> 1024: /@[\w-]+/ `] = lit` -UvVdAz28J9+suPHrEuu14CDXvIF+J4nik+TZnW0QQio= -`; - -module.exports[n`DFA minimization >> 1025: /&/ `] = lit` -ityjxWTZbGuQvabZhLkDjlX9+Tlh0Q7+71z56pL5VHg= -`; - -module.exports[n`DFA minimization >> 1026: /^[a-z]\w*(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))... `] = lit` -uzNYfMiKlWBTXf2rfI99oTekJI9c3Qvvd0hgp7VRYas= -`; - -module.exports[n`DFA minimization >> 1027: /^[*#]+(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*\s+.+/m `] = lit` -+DThzVz6EzKKbfWzqTS9ecOHEozEB0HIXQ5aZwmlkMc= -`; - -module.exports[n`DFA minimization >> 1028: /^(?:(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=... `] = lit` -IxwzecF64fIRgnAF6cumalMR+WSkW608PaAnzIlx3LM= -`; - -module.exports[n`DFA minimization >> 1029: /(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]... `] = lit` -A/S2jQhW75i8y9TbZMT05zR13fGkCPgv5sWvYrATYmU= -`; - -module.exports[n`DFA minimization >> 1030: /^\[[^\]]+\]\S+$/m `] = lit` -I4ygAR1INIj3fH3MSmVdH+oAy5ZwiP0g+oPZXPh0EW4= -`; - -module.exports[n`DFA minimization >> 1031: /"(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*[^"]+":.+?(?=[^\w\/]?(?:\s|$))/ `] = lit` -OmWj2BNbK9XzoUvjhcV1/XIlBiWbKi19DjE1OQ+TgoQ= -`; - -module.exports[n`DFA minimization >> 1032: /!(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])*... `] = lit` -pDSLSmTS0NiQ66KwuFNj3EGXGCOUs6uVoXABmMeO1Hg= -`; - -module.exports[n`DFA minimization >> 1033: /\b\[\d+\]/ `] = lit` -D4ChXrocsCVgRmR3N+HtkLfGnuyBk2k6sGdIBJVLcT8= -`; - -module.exports[n`DFA minimization >> 1034: /\b[A-Z\d]+\([^)]+\)/ `] = lit` -J7o4o+754QWjZshTY9AcaHFvrIT25ZikPxz5VuSXeRk= -`; - -module.exports[n`DFA minimization >> 1035: /\b\((?:TM|R|C)\)/ `] = lit` -qZmw/tRVBjRCS7nnAErpgo7OunPxB6feDHjpFohc6bU= -`; - -module.exports[n`DFA minimization >> 1036: /^[a-z]\w*/ `] = lit` -0EwVrR9mzhMIjML4teAovoYDSnNnBuHwKogOxvZjtVY= -`; - -module.exports[n`DFA minimization >> 1037: /\.$/ `] = lit` -yqynYCQiA/bsfBoJxFQiC7GdC6KdML6X3cHVWcoe3YA= -`; - -module.exports[n`DFA minimization >> 1038: /^[*#]+/ `] = lit` -B6ctSBOuN6LpJUN8vmSqMnM3lS8uzJQppBAR+KRBDvY= -`; - -module.exports[n`DFA minimization >> 1039: /\||^\./ `] = lit` -zyQTZb5DhCJA+eAXV5bjpzCZ7/4OybfT4uNMECOHrVg= -`; - -module.exports[n`DFA minimization >> 1040: /[*_%?@+\-^~]+/ `] = lit` -9djzCxsOIhJR/yC6tmgHQMahg5xV0q2hwYgQBWGo5Kw= -`; - -module.exports[n`DFA minimization >> 1041: /[":]/ `] = lit` -q4tZ1E+KZ+IEWp5llqU79Pk7zc9SNaxX9Qzo9Qrv80o= -`; - -module.exports[n`DFA minimization >> 1042: /[!:]/ `] = lit` -oae9QeWLqQaljZnUSuQMG7t9Bu5zV1XPzL+i9b9hoVU= -`; - -module.exports[n`DFA minimization >> 1043: /(^[a-z]\w*)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)... `] = lit` -51izG+AWUS2DZC+pZ14POIIAacj5u6/GlMTk3ZB9vlE= -`; - -module.exports[n`DFA minimization >> 1044: /(^[*#]+)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/ `] = lit` -HIPtcGMxwboKQCzYQIXA4uaXjNuy61vq+Rk7Q2ODyt8= -`; - -module.exports[n`DFA minimization >> 1045: /(^|\|(?:\r?\n|\r)?)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|... `] = lit` -UwsPT8FjqmsX1jYs9Aw7R0vdD7Jgh+RMraJ09A+gILg= -`; - -module.exports[n`DFA minimization >> 1046: /(^(\*\*?)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\2)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1047: /(^(__?)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\2)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1048: /(^\?\?(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\?\?)/ `] = lit` -C4SITxa4gg72MbUFj9b/4Yw8NHu2S+y57T/ZDU0OM64= -`; - -module.exports[n`DFA minimization >> 1049: /(^@(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=@)/ `] = lit` -88gpR+6stGe+ab4G+oavH5m1EfxIAeZCn+VZD04u79A= -`; - -module.exports[n`DFA minimization >> 1050: /(^\+(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\+)/ `] = lit` -McQW64c/Ag3edSigosr2a0VaFjWFSXJBFkt6HoOZF8s= -`; - -module.exports[n`DFA minimization >> 1051: /(^-(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=-)/ `] = lit` -LesdzspmsCW0nxJfBW9EJhYJv0m4zQ8IYqzfznjeed8= -`; - -module.exports[n`DFA minimization >> 1052: /(^%(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=%)/ `] = lit` -7fwyF5DYtiDvYPmNswd99lxmeo+27mGl6aqKv4Hwn3E= -`; - -module.exports[n`DFA minimization >> 1053: /(^\*\*|__|\?\?|[*_%@+\-^~])(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/ `] = lit` -yiL/3Xr1WRQOo+61oe9jhsDlV8KVVhfhnmuwvNJUi7g= -`; - -module.exports[n`DFA minimization >> 1054: /(\[)[^\]]+(?=\])/ `] = lit` -RIM1aPjHhllNP6LoHmC3rFWtXsyVhOP3LCXBMu/j1T0= -`; - -module.exports[n`DFA minimization >> 1055: /(\])\S+$/ `] = lit` -rif1oUG4aMYs1VDnniz/O8fKrCJmP9iUlJq0x9LkVb8= -`; - -module.exports[n`DFA minimization >> 1056: /(^"(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*)[^"]+(?=")/ `] = lit` -WjCgSlaBCdcnGXOBeeL9wM+JLbOO6lshw5wKxFV+KgY= -`; - -module.exports[n`DFA minimization >> 1057: /(^")(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/ `] = lit` -7qn/b50AwjnKf5oY4M+b3yspoWu7og5f8rxcG2OVrww= -`; - -module.exports[n`DFA minimization >> 1058: /(:).+/ `] = lit` -HrBmOa6MMTcKY99g1pevWrkS/2vAKBIMOrE6PaLwwVc= -`; - -module.exports[n`DFA minimization >> 1059: /(^!(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=]... `] = lit` -TwU/XlWABL258uIF8a3/cFRT8gnu/E7xF7ir+oLMnAM= -`; - -module.exports[n`DFA minimization >> 1060: /(^!)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=... `] = lit` -VVnOhoC/g5fYsi7PFF5AiuSdorUk25ToECceUpXbQuI= -`; - -module.exports[n`DFA minimization >> 1061: /(\()[^)]+(?=\))/ `] = lit` -QdBYMtS2ZvFTyoMhp0nQwoTbfnzDaL7KDwUbIRXaQmA= -`; - -module.exports[n`DFA minimization >> 1062: /[\\\/]\d+|\S/ `] = lit` -qsOt/ELF0rOHvWj71NPcsxR5VhDAjgjLhyamKO+7HhQ= -`; - -module.exports[n`DFA minimization >> 1063: /\{[^}]+\}/ `] = lit` -d6N1LqBUwi96yGfhKRhDFsfeMMWSKkVXWQ4eAViIgo4= -`; - -module.exports[n`DFA minimization >> 1064: /\{\{![\s\S]*?\}\}/ `] = lit` -LueVJozlkNE7yN4Mw0Zo8WWkrCLiwXw5jpbe6mp57rE= -`; - -module.exports[n`DFA minimization >> 1065: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/ `] = lit` -kfKOfFOyjgCBZmC5DIDn4XQk7E3TUUr0MOS1oxqTO9c= -`; - -module.exports[n`DFA minimization >> 1066: /[!"#%&':()*+,.\/;<=>@\[\\\]^\`{|}~]/ `] = lit` -4ga/lxsHjsjj0JyXtGSXZw3mi/y6KaRrRoMBqhhaZmc= -`; - -module.exports[n`DFA minimization >> 1067: /[^!"#%&'()*+,\/;<=>@\[\\\]^\`{|}~\s]+/ `] = lit` -NE9hnOvJaeDbtS2mykl+3y3QJIgynHUSKH7qxcGvSWQ= -`; - -module.exports[n`DFA minimization >> 1068: /^\{\{\{?|\}\}\}?$/i `] = lit` -wCZVQ5Z3QURht/FHYsZ6p5W5RPDM5zPAG335yFCu9yU= -`; - -module.exports[n`DFA minimization >> 1069: /^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i `] = lit` -nDVIRxa+poqs0sIbhPHJgz1VKLPVzbw6SX3hFBwu+dg= -`; - -module.exports[n`DFA minimization >> 1070: /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS... `] = lit` -fNf5g35bj0tRc+xI0rXv74bb//KIvvT/q0SXXY6hzKk= -`; - -module.exports[n`DFA minimization >> 1071: /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|n... `] = lit` -ur6Fm7+ppDAXw8uL7BtzE4ISr7EOVOzUoydIsStu3WQ= -`; - -module.exports[n`DFA minimization >> 1073: /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i `] = lit` -rEEHFSrP1sA7cgN1SqNZ4expj4YLO+Zan63EQ9mX39U= -`; - -module.exports[n`DFA minimization >> 1074: /\s\.\s|[-!#$%*+=?&@|~.:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^... `] = lit` -1g36aCcYPwG8xCU/EffCwvKcOpfaJKtm5TVxwpld+bQ= -`; - -module.exports[n`DFA minimization >> 1075: /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1076: /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1077: /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\/].*|{-[\s\S]*?-})/m `] = lit` -XO8ghlv2QuKSNM+So/z5vM7+c5T98fx/lAey3ppa9oQ= -`; - -module.exports[n`DFA minimization >> 1078: /"(?:[^\\"]|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS... `] = lit` -35TS7PUr7Uo90D97R/TMyRZ25mV8tOGA3EnxxOrU39k= -`; - -module.exports[n`DFA minimization >> 1079: /((?:\r?\n|\r|^)\s*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(... `] = lit` -JjoTecBkeX7/Ujnz9ASsLWNQRcaZCu2xg//b5S9RioE= -`; - -module.exports[n`DFA minimization >> 1080: /\b(?:import|qualified|as|hiding)\b/ `] = lit` -rC5lBGCboJIdwRB8IAg9HjsXJdW0Ef8nM9p5s/9KnIA= -`; - -module.exports[n`DFA minimization >> 1081: /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynam... `] = lit` -XnwpKZ9KrO4ir5Kb3aYDg5WHRBWyB+QxPXNKRthRf74= -`; - -module.exports[n`DFA minimization >> 1082: /\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/ `] = lit` -jY31fvVDq/aRTRqQatoTDeIU7bwYa/N25pOBY63FytI= -`; - -module.exports[n`DFA minimization >> 1083: /(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/ `] = lit` -k4svf2S33O4huwtZh9fr/cqBP+sP2Y4OZp2uni/DvAQ= -`; - -module.exports[n`DFA minimization >> 1084: /~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/ `] = lit` -8FhmRWfQpqUw9GkhyY53SMSC8WyxS9daRxBpY/gVKuM= -`; - -module.exports[n`DFA minimization >> 1085: /#\w+/ `] = lit` -68v9J3ODe9Zv+yldcqT6TmMLMDaCYISVNWp6/qeF+Co= -`; - -module.exports[n`DFA minimization >> 1086: /@:?\w+/ `] = lit` -qaoIydw3d8lXoreVxFfF4DGgZrqxA0OOZpgk67/tVOg= -`; - -module.exports[n`DFA minimization >> 1087: /\$(?:\w+|(?=\{))/ `] = lit` -WOn5KkorG4fg1em2+rP5n9heo+QlG7wMQrq5v4kWGa4= -`; - -module.exports[n`DFA minimization >> 1088: /(^|[^\\])\$(?:\w+|\{[^}]+\})/ `] = lit` -Re8E8xnzQ0QslX1CPKRXFn9ytFkzyoSqKgbXb53pMjs= -`; - -module.exports[n`DFA minimization >> 1089: /^\$\w*/ `] = lit` -2qpJyzpkH4o3KOjbCK15JOyBeE7kYdHxsOkLnDPET3E= -`; - -module.exports[n`DFA minimization >> 1090: /(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/ `] = lit` -klsfdl1usggkWDTA2gdjfyunRjxd9Mr/5WzT7L6RjTk= -`; - -module.exports[n`DFA minimization >> 1091: /\b0x[\da-f]+\b|\b\d+\.?\d*(?:e[+-]?\d+)?/i `] = lit` -3V9HBuCXSPBklqX0jRyQFiO0AOuDiAZN0kjKgMt5FUY= -`; - -module.exports[n`DFA minimization >> 1092: /[=\[\]{}]/ `] = lit` -pa4yMUOIzpLpcqbtFnLO3yOO8Yyz0ObYSreDRs4hHqQ= -`; - -module.exports[n`DFA minimization >> 1093: /<<-?(\w+)[\s\S]*?^\s*\1/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1094: /[\w-]+(?=\s+{)/ `] = lit` -hv1cipT04J8bVNeBujcm5F1ZPmNFRvQWdsxUTnhxdlc= -`; - -module.exports[n`DFA minimization >> 1095: /[\w-\.]+(?=\s*=(?!=))/ `] = lit` -SYxZM21v86Cj3DIpQqAFA3WbWIXAYvDWTHrsDEz5BpY= -`; - -module.exports[n`DFA minimization >> 1096: /"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/ `] = lit` -qDB0GdLVvLMf9tJNOnBnINPV4fDtSCGkifhjCO0SbPw= -`; - -module.exports[n`DFA minimization >> 1097: /"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*... `] = lit` -BRoKkI/sSBSKcy956RIV4b3Wbua3lFnalSwYL1fHaKE= -`; - -module.exports[n`DFA minimization >> 1098: /(?:resource|data)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+{)/i `] = lit` -tLsdhgwNHjl82N9pSDfe1Bf27u4JofgCkF0faQjRFU4= -`; - -module.exports[n`DFA minimization >> 1099: /(?:provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S... `] = lit` -Mcv4CtcwxDfok/4GT37S50QYqdwUL0ZUdFwRM9oFRj0= -`; - -module.exports[n`DFA minimization >> 1100: /(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/ `] = lit` -Rfd2GK5KaCdLTLIKX36TFrJLukPkzfKfwC7GAT3lJU4= -`; - -module.exports[n`DFA minimization >> 1101: /(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i `] = lit` -LqODXchR8PPaD/GvP0Evxux6CMdYu1TYkzvfBxkQ4vQ= -`; - -module.exports[n`DFA minimization >> 1102: /(provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|... `] = lit` -bTCTRKjlgTxEjcgn/FztZWY+rTA1yfW5FQOEE4HZSFc= -`; - -module.exports[n`DFA minimization >> 1103: /\b(?:terraform|var|self|count|module|path|data|local)\b/i `] = lit` -1c4p9n+/k4mEGWkGa+VGa2KpVp2LwNhrDAEx8tLKAXo= -`; - -module.exports[n`DFA minimization >> 1104: /[!\$#%&'()*+,.\/;<=>@\[\\\]^\`{|}~?:]/ `] = lit` -9SdcOwNQwvgkEW1d29z89WO1/22/KBX8Y16oku+v1B4= -`; - -module.exports[n`DFA minimization >> 1105: /(\b(?:terraform|var|self|count|module|path|data|local)\b\.)[\w\*]+/i `] = lit` -clGbdjF2/iminazMhB6aorkfiAiWk+kt9/b2a8chzwI= -`; - -module.exports[n`DFA minimization >> 1106: /(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1107: /\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|C... `] = lit` -SstiVfZM75ifqewvoE1FS1TQK+ql5/k3JUMRg9s1PFA= -`; - -module.exports[n`DFA minimization >> 1108: /\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_... `] = lit` -mJ8Qva/2SbwkCErAENs0/GsoxE6gkS9+Pd8/JVn0tfU= -`; - -module.exports[n`DFA minimization >> 1109: /\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))... `] = lit` -itLHc3HbL2tL+q8Q+4FqohcXHPAX+sFVojKqDS4D2nM= -`; - -module.exports[n`DFA minimization >> 1110: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHT... `] = lit` -m44yviimj/BSS05MR2pMRXSRAPqbpBHEtzau7JwH+EA= -`; - -module.exports[n`DFA minimization >> 1111: /^HTTP\/1.[01] \d+.*/m `] = lit` -RGL4aUDzWQbi57Nl1hQt3iNULc0CXDfdYUjRQfZ2kxc= -`; - -module.exports[n`DFA minimization >> 1112: /^[\w-]+:(?=.)/m `] = lit` -a9nEbK0ewtTmi0TBVuzTNXyg/ynWQe2WSpyHAFXG45U= -`; - -module.exports[n`DFA minimization >> 1113: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ `] = lit` -5YWjtXvizJUhnrqDdE9DBrTxYcPZkU1VHOdfYEuRtN0= -`; - -module.exports[n`DFA minimization >> 1114: /:\w+/ `] = lit` -2N1WOoS7J2CeW2kHSBd5Vp3l3sFoegt/DZPDaluhvl8= -`; - -module.exports[n`DFA minimization >> 1115: /(^HTTP\/1.[01] )\d+.*/i `] = lit` -aTNTzlQ6Sb1ujmLaVVFVlBvywplNCxF7fThHMP2IIlE= -`; - -module.exports[n`DFA minimization >> 1116: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i `] = lit` -ddhcchiUdUeWGiQMIbfhePX82fcKSvmwaoF5qBe/t5E= -`; - -module.exports[n`DFA minimization >> 1117: /[{}[\],]/ `] = lit` -l8yHixblpPQpHfrS/PFUryfpfmMuRMhhusxjwhbjlz0= -`; - -module.exports[n`DFA minimization >> 1118: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/ `] = lit` -rSwHzrzQXcNkfv6igx3nWbliVDorK2aIVgShCy8HuQY= -`; - -module.exports[n`DFA minimization >> 1119: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/ `] = lit` -vAWlB1EdyUqSGPPC0ql3/BUjpcILwwRJYbUAuqQM8gY= -`; - -module.exports[n`DFA minimization >> 1120: /(content-type:\s*application\/javascript[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i `] = lit` -5lxKonrTP7DN3d13MSa7rk/j5/f975lDsl4fblAq3ZM= -`; - -module.exports[n`DFA minimization >> 1121: /(content-type:\s*(?:application\/json|\w+\/(?:[\w.-]+\+)+json(?![+\w.-]))[\s\S]... `] = lit` -SIdRaG73cxiAUtpy6SPeCXCpMOYQKJ+ufqmP/Klv38A= -`; - -module.exports[n`DFA minimization >> 1122: /(content-type:\s*(?:application\/xml|\w+\/(?:[\w.-]+\+)+xml(?![+\w.-]))[\s\S]*?... `] = lit` -geP71EK+ytprQu7ObY1uXLXaDbBS/rpAGptF6p0ZT8g= -`; - -module.exports[n`DFA minimization >> 1123: /(content-type:\s*text\/xml[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i `] = lit` -RhWoHMPX5YSfzLPlHnkQCJUR1SfmeQ+8hEJmQgH9r/E= -`; - -module.exports[n`DFA minimization >> 1124: /(content-type:\s*text\/html[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i `] = lit` -QrFcEv0z908TeR+DG+lou7gzXIMiioOSRujBXKR3LGI= -`; - -module.exports[n`DFA minimization >> 1125: /(content-type:\s*text\/css[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i `] = lit` -OdeqpWcmAViqDIBxkUntV1cMuvUuwZyZjBPyvZkSHDk= -`; - -module.exports[n`DFA minimization >> 1126: /\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[a-zA-Z\d+=\/]+"|(... `] = lit` -ER9OxJybYBzr0rO0l+t+Eamk7l6u9dijVa4u2x8RY/8= -`; - -module.exports[n`DFA minimization >> 1127: /\b\d{7,}\b/ `] = lit` -+0m+Utup+ubzFyuPwWVisyRCD5jCtCxws4afKKhE1R4= -`; - -module.exports[n`DFA minimization >> 1128: /\b\d{1,6}\b/ `] = lit` -FrBR8k0boiaYJu7ZNqWFn7X7RiEwBG7ZZ4aPPL6P8BA= -`; - -module.exports[n`DFA minimization >> 1129: /\b(?:max-age=|includeSubDomains|preload)/ `] = lit` -0vwin5MSqQBlmmedCiBL8zz6VfAlSes3KB9ViwvTlLA= -`; - -module.exports[n`DFA minimization >> 1130: /\b\d{8,}\b/ `] = lit` -ytwxvxlavC+6ol5Vng6c7kVjaD2I2AY+mHN88y3g1ms= -`; - -module.exports[n`DFA minimization >> 1131: /\b\d{1,7}\b/ `] = lit` -CZltS1jgOKzZ689GMxSs2vZRqsbxvOQ9nygMKE2HrnQ= -`; - -module.exports[n`DFA minimization >> 1132: /(?:\B'|REM)(?:[^\n\r]*)/i `] = lit` -pxJNjxq20E1ftEW7ihNa5ArTxtQ8HN4VI4xbpA53l28= -`; - -module.exports[n`DFA minimization >> 1133: /\B#[0-9A-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i `] = lit` -lD4IdDf/BOYHG5qFKbZak/PlexwXlszlTdJ1vVgqJwg= -`; - -module.exports[n`DFA minimization >> 1134: /\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|... `] = lit` -cKVAvL+sVbxrSKdKh7i06TdIhuW4HcbJzy0FVCy0aFk= -`; - -module.exports[n`DFA minimization >> 1135: /\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK... `] = lit` -QQ0I4ITFrab5iTjBK++XXYgmbXDG46Vfwk6tsS9Q6k4= -`; - -module.exports[n`DFA minimization >> 1136: /(?:\B@[^\s]+)/i `] = lit` -zEDo4CpOSRXg/fDzf93Dgtqc7+mTpCi55ctMj2B0WU8= -`; - -module.exports[n`DFA minimization >> 1137: /<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i `] = lit` -Fzc79GlNTBZlXDGR4DsuSZ/nISbJ+hAr1k8YE3T+72A= -`; - -module.exports[n`DFA minimization >> 1138: /[\[,;:()\]]/ `] = lit` -FBcixEQjLEb7L3AMkonK0EqRw8rKUkf6lmx6GnOvoks= -`; - -module.exports[n`DFA minimization >> 1139: /\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i `] = lit` -5cUA3/L/f4xncnMmj4SjKG3bgl+T8xzIgF2p3f5k+Xc= -`; - -module.exports[n`DFA minimization >> 1140: /\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invo... `] = lit` -5m2Rw/avJJI+HAvhb1JiNXgi2G/VR+mOPAfqhKZcUhI= -`; - -module.exports[n`DFA minimization >> 1141: /(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ `] = lit` -YYBknKxL1FB13uzzQ9F7hpTW0DPmQpRLwMSdsmphWn0= -`; - -module.exports[n`DFA minimization >> 1142: /[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=... `] = lit` -Oi+Li3tkUQ56OXCSm89/D+5b0jY47xKnPJ54cBMVmXg= -`; - -module.exports[n`DFA minimization >> 1143: /[\[\](){},;]/ `] = lit` -0PFMHC+DvccriYdqAJ2Uo+HWzTlnMVJNLOnj6j/5ppM= -`; - -module.exports[n`DFA minimization >> 1144: /(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/ `] = lit` -eETdSsR+o+L/uPnTEqrYhx6CIj2emtJpGp3YwOm0E9o= -`; - -module.exports[n`DFA minimization >> 1145: /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|... `] = lit` -9O/UJAzEGAqBSAjqXopz1Bw3XmnqsknH6RcJGt3q3Bg= -`; - -module.exports[n`DFA minimization >> 1146: /\S(?:.*(?:(?:\\ )|\S))?/ `] = lit` -p29Pi+fuhI9BmHl8jZIuOnsAn7+LRb+bjeZISIP1NHs= -`; - -module.exports[n`DFA minimization >> 1147: /^!|\*\*?|\?/ `] = lit` -3G22zc99sZNfwwbcNFJZOimmu6azYbFJPOGaciIHGk8= -`; - -module.exports[n`DFA minimization >> 1148: /\// `] = lit` -6c0qv2Vd5FCWwFQc50hf+iGXtDiS4c+TyfmZQbyGrR8= -`; - -module.exports[n`DFA minimization >> 1149: /(^|[^\\])\[[^\[\]]*\]/ `] = lit` -4e2maiTLdocpWGLWLbCXOxgqP5eyjU+ED43Jwi21eH4= -`; - -module.exports[n`DFA minimization >> 1150: /[.,:;(){}]/ `] = lit` -9xJfDVj+7dZO8NBeYNiUGDWUTZLqBKmnwBGsBJek2PY= -`; - -module.exports[n`DFA minimization >> 1151: /"[^"]*"/ `] = lit` -HANgfZfKHaSKv1EiA5n0bsOD1RQJm1mLEXzdFMG/3+4= -`; - -module.exports[n`DFA minimization >> 1152: /^[ \t]*(?:volume|book|part(?! of)|chapter|section|table)\b.+/im `] = lit` -igafSdEb5AFbFrjthmM4pnsO41CeEpEi8u8aeRUCYPc= -`; - -module.exports[n`DFA minimization >> 1153: /(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:one|two|three|four|five|six|seven|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1154: /(^|[^-])\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buyi... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1155: /(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1156: /(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1157: /(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1158: /(^|[^-])\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1159: /\S(?:\s*\S)*/ `] = lit` -r7fpOEgIGQ3P61cZwH9UN1tF50DNchzVUb2XQos5Ft0= -`; - -module.exports[n`DFA minimization >> 1160: /^[ \t]*[;#].*$/m `] = lit` -X2euVCVA1D1fZNx1CuD5RKzQqI5Jvtp80qIsujX88v0= -`; - -module.exports[n`DFA minimization >> 1161: /^[ \t]*\[.*?\]/m `] = lit` -98E59hXhP9+Ae+dbQ2vMQSa7rXDdLkuas32YIE/CXhY= -`; - -module.exports[n`DFA minimization >> 1162: /^[ \t]*[^\s=]+?(?=[ \t]*=)/m `] = lit` -sxjY6QzDarGacieJdb4HhKdCcw+RN/gQVqm25yK6hw4= -`; - -module.exports[n`DFA minimization >> 1163: /^[=]/ `] = lit` -4aMh4gnPQjcDMSEx3iJeyM08ndzynUUGu4GyE+j1fZY= -`; - -module.exports[n`DFA minimization >> 1164: /\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|c... `] = lit` -Bdoae9GIDausdYiKmjskHG6ohvZaYQo4PRcHwmSriYQ= -`; - -module.exports[n`DFA minimization >> 1165: /\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|D... `] = lit` -tE2Yp1q0nnN+p6HoFanh8Ur9M8WpQvypiydZj//mfgU= -`; - -module.exports[n`DFA minimization >> 1166: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?/i `] = lit` -wG10JoqPaZgKZyzfsEQwVSLeSVDoYlXuUkPMv9hf+Kk= -`; - -module.exports[n`DFA minimization >> 1167: /[=!*\/%+\-^&|]=|>>?=?|<> 1168: /"""(?:\\[\s\S]|(?!""")[^\\])*"""/ `] = lit` -45EY8nIPfvPAqvOwm/cqp6BwyW+U6Jb39h5PB/SGEhw= -`; - -module.exports[n`DFA minimization >> 1169: /"(?:\\.|[^\\\r\n"])*"/ `] = lit` -vAWlB1EdyUqSGPPC0ql3/BUjpcILwwRJYbUAuqQM8gY= -`; - -module.exports[n`DFA minimization >> 1170: /(^|[^\\])#.*/ `] = lit` -7FFQH5rdX0J3jugR8ferC9qCouujbBnoQI+5j573gwI= -`; - -module.exports[n`DFA minimization >> 1171: /\bNB\..*/ `] = lit` -8zXYUwtwVZdApxBDgiht7VQAXNBk+9Xh7fjOSf3DWZQ= -`; - -module.exports[n`DFA minimization >> 1172: /\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|b... `] = lit` -x3Z6bifrX0ju+nC6BUtFBXQnq8b6rshFirfpoTbi0s0= -`; - -module.exports[n`DFA minimization >> 1173: /\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?... `] = lit` -HP1+QCm5nYzNT5yeZmeHUu77F0+3SVoSSsn1m0eTk9Y= -`; - -module.exports[n`DFA minimization >> 1174: /[=a][.:]|_\./ `] = lit` -4ynF3zKLcMNp03KtStzjftIANBe97G2nmp4OK7VJK/8= -`; - -module.exports[n`DFA minimization >> 1175: /'(?:''|[^'\r\n])*'/ `] = lit` -fpr8ze6p/+SF14UEZw7UGAjtaMQiaZfOl5VfU8kEnp8= -`; - -module.exports[n`DFA minimization >> 1176: /(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^... `] = lit` -EqnQyMEi90JGs2jsy88hXNMC6roeCdbjS3hJRc9Slnw= -`; - -module.exports[n`DFA minimization >> 1177: /[~}]|[\/\\]\.?|[bfM]\.|t[.:]/ `] = lit` -54QzDMKw7CNlXqCzAF1Ff+AI2IWsn14lY3KpoEkLN/o= -`; - -module.exports[n`DFA minimization >> 1178: /&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|\`:?|[\^LS]:|"/ `] = lit` -NmDwlMIC4HCqo6bSaXiV20tfvrwXOLwfH6OqtabJyDU= -`; - -module.exports[n`DFA minimization >> 1179: /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|de... `] = lit` -kbB4HdxQK3KSmeyYKKCwMbrkVmCB+qNQ2+5lqxnS0BA= -`; - -module.exports[n`DFA minimization >> 1180: /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d... `] = lit` -yjEgYfFjAlhP9j18GOG+vMtJBnmzDsXnouBgbO4uG3Y= -`; - -module.exports[n`DFA minimization >> 1181: /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ `] = lit` -Kg2ypn3Vwpje0V8zznaDHprp/BGbyq5bsYM51H1pKeI= -`; - -module.exports[n`DFA minimization >> 1182: /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1183: /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/ `] = lit` -9YQOSPgOpudiAX3oTuPJwxN3mFHBLO3GmmRKxuQs8+4= -`; - -module.exports[n`DFA minimization >> 1184: /\b[A-Z](?:\w*[a-z]\w*)?\b/ `] = lit` -YuS2N5y75WZQ+DyaJHVGS5FZOP9oDLE9ZQrzLcjuFxQ= -`; - -module.exports[n`DFA minimization >> 1185: /\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/ `] = lit` -5RN6F56s4cDe+Ml9jsyiFrFWNQGzAZG8n+YMHkC1Isg= -`; - -module.exports[n`DFA minimization >> 1186: /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*\/%&|^!=<>]=?)/m `] = lit` -4euJZ69lrlAeqKtektI63TuL5Tolzd04GGlmIAYDlxQ= -`; - -module.exports[n`DFA minimization >> 1187: /[<>(),.:]/ `] = lit` -GYUXUqUIokaNPG5lxLtvEitK9qJG4hZKegUTuf0Ez0A= -`; - -module.exports[n`DFA minimization >> 1188: /[?&|]/ `] = lit` -yl97V7tUXfUM/+zO8/kfW2NZDxy2+BiUVW6HNK7jIr4= -`; - -module.exports[n`DFA minimization >> 1189: /(\:\:)[a-z_]\w*/ `] = lit` -mtw0xBXQrgoM1WNtZSxia42EOMaQ09LEUSnREiBhqyk= -`; - -module.exports[n`DFA minimization >> 1190: /(^|[^\\])\/\*\*[^\/][\s\S]*?(?:\*\/|$)/ `] = lit` -CpzWQMbXPbm2DGjJ6B0cnQlOsnmFPZ30q9waivEt26o= -`; - -module.exports[n`DFA minimization >> 1191: /(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m `] = lit` -sBK1onWpJuxLkCT2gRq+0iMTmxHiPfHRWAV4Htu0uds= -`; - -module.exports[n`DFA minimization >> 1192: /(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m `] = lit` -OvinhPsbJRBWj0DOxK+1RAwET2UOsrFFb48e0H6DWOg= -`; - -module.exports[n`DFA minimization >> 1193: /(@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?)(?:(?:[a-zA-Z]\w+\... `] = lit` -1r8VenEzLGzMlW+CnOZRol/73ABPSOb+yO/D0S+RcJ8= -`; - -module.exports[n`DFA minimization >> 1194: /(@param\s+)<[A-Z]\w*>/ `] = lit` -Cf+7SZBUM5xPiaO7Vqr3TZKBF/ISQdkRZMOsYQEAdCo= -`; - -module.exports[n`DFA minimization >> 1195: /\b[A-Z]\w*/ `] = lit` -Ye1IBpG9ZARUu5zhItXFiGwfWUmbeqmESVDcqbuJnCY= -`; - -module.exports[n`DFA minimization >> 1196: /[#()[\],.]/ `] = lit` -axnRX/z+kH2AeanGZ1HoV+TpKS4hHZp+dCuvzYWAqZo= -`; - -module.exports[n`DFA minimization >> 1197: /[.<>]/ `] = lit` -dyWW0YpK0XtDFT7xjihfA5QsIaQ7twCB84OPVHFtU1k= -`; - -module.exports[n`DFA minimization >> 1198: /(\{@code\s+)(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?... `] = lit` -yISBxRQmrZPqV1Bsr5a6s0ZvGauDBDr2iiuD9Ld1uJA= -`; - -module.exports[n`DFA minimization >> 1199: /(<(code|pre|tt)>(?!)\s*)[\s\S]+?(?=\s*<\/\2>)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1200: /(#\s*)\w+(?=\s*\()/ `] = lit` -TlJUCpB449LECPNizrZ4vpCSeqjAnQRR8whzagqeYUU= -`; - -module.exports[n`DFA minimization >> 1201: /(#\s*)\w+/ `] = lit` -QtVgv5TnoL8Kn16xmIO/NuI1PFQsuK90eGlqadO4VLs= -`; - -module.exports[n`DFA minimization >> 1202: /\b(?:[a-z]\w*\s*\.\s*)+/ `] = lit` -8adCQOv+wGtqQ+ku7x16Y3DMqhh/sWsFJ6O1oDY70kU= -`; - -module.exports[n`DFA minimization >> 1203: /(^(?:\s*(?:\*\s*)*)).*[^*\s].*$/m `] = lit` -9vYv/pivdbxix4eVqZNEVXa0WCm8VqXdOymnkmp50wc= -`; - -module.exports[n`DFA minimization >> 1204: /.+/ `] = lit` -rIhgRGY3kbL2VTfMGEqLkvsM/LV0ZOa8GsFYtkNr61w= -`; - -module.exports[n`DFA minimization >> 1205: /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forS... `] = lit` -EAA1wVsJHjuuY236zGuhwqvtc9gS/pWE8Vy84QFX/w4= -`; - -module.exports[n`DFA minimization >> 1206: /\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?/i `] = lit` -aKAthtTBMHCimtjXtzBNwWaxshXQcEESFZgBLyw5C3s= -`; - -module.exports[n`DFA minimization >> 1207: /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Uni... `] = lit` -7t0qla/3UyAQgA+qS61C4Trni7qA/2mJsfN8zO6xj8U= -`; - -module.exports[n`DFA minimization >> 1208: /'[^\d\s\\]\w*/ `] = lit` -47DI6/+gym4mjt+mPFWwrTg+qfOq49bJre7W2N7gOQc= -`; - -module.exports[n`DFA minimization >> 1209: /\$+(?:\w+\b|(?={))/i `] = lit` -45PpxINQFDolmzR89PTO7EV/Uy0B9rntgW5mrFRIXW0= -`; - -module.exports[n`DFA minimization >> 1210: /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clon... `] = lit` -zCYAQRLnJc0+B/AgVrm7vKualr+E2ocrQfbtIwXn30E= -`; - -module.exports[n`DFA minimization >> 1211: /\?>$|^<\?(?:php(?=\s)|=)?/i `] = lit` -w4K7a84eISzT7cm5WYmznUl+PfLfl7jOgmhpA/QYPTM= -`; - -module.exports[n`DFA minimization >> 1212: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1213: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1214: /(\\|namespace\s+|use\s+)[\w\\]+/ `] = lit` -hvQKKRnqjLQ9bi3/2yecJYT36WC9da8M5iL2fHa7seM= -`; - -module.exports[n`DFA minimization >> 1215: /(->)[\w]+/ `] = lit` -QZnX39EzA5oHG5VxiboO5YKgukmEtGi8ORGiHWBz6ys= -`; - -module.exports[n`DFA minimization >> 1216: /\b[A-Z_][A-Z0-9_]*\b/ `] = lit` -Ry3r3sbzG3/gdvXz2PZqCHjwx1BPcSxI3frFfvi9dFI= -`; - -module.exports[n`DFA minimization >> 1217: /\b(?:null)\b/i `] = lit` -ZHrD3UdyZbdEkJM1DZtZRMU3v5uNwK55VoT/PlfNfoQ= -`; - -module.exports[n`DFA minimization >> 1218: /\\/ `] = lit` -puLSgWdy/KnH7ew8SQuX3rvKJhZD9Mgx9qCyqaJPZH8= -`; - -module.exports[n`DFA minimization >> 1219: /^<<<'[^']+'|[a-z_]\w*;$/i `] = lit` -7FSKMWeMTlS21cqeZUK1wJ5iKZgIebDwq4a+VlkAO80= -`; - -module.exports[n`DFA minimization >> 1220: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i `] = lit` -kSAxM5wplQZukT27mG8xFKxcfHzWa9g6hCkyJK5tSaQ= -`; - -module.exports[n`DFA minimization >> 1221: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\... `] = lit` -IgZZhFwuuXoSu3My/uuCSGU9OJSfTBshcQxCxACpXYc= -`; - -module.exports[n`DFA minimization >> 1222: /^<<<'?|[';]$/ `] = lit` -Z34sCltfdejfTZgnJEBVMEh27HT9flbgjazRFGh/dg8= -`; - -module.exports[n`DFA minimization >> 1223: /^<<<"?|[";]$/ `] = lit` -kPejf3PFjbSX3HEZwZ0EgHyS5t+jZgf4G9UWapxi8ns= -`; - -module.exports[n`DFA minimization >> 1224: /^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+... `] = lit` -2suc1Sj2Xvza0inq4oHWVyDLHo3yiaewZwZcEO4KcmE= -`; - -module.exports[n`DFA minimization >> 1225: /^[\t ]*at [\w$.]+(?:)?\([^()]*\)/m `] = lit` -bbiRv5zCpLWtWF9Ebo7PG5HcUQC5zt2hZzKSiwEZnro= -`; - -module.exports[n`DFA minimization >> 1226: /^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m `] = lit` -f6zb0WT8dOtifE1jhosu0Esv2TDZXQHVmUUVun0zntA= -`; - -module.exports[n`DFA minimization >> 1227: /[:]/ `] = lit` -gwaQCkXxPWUSEYeW+09l3l+4TOJc1EmyLFMyRC6rH5I= -`; - -module.exports[n`DFA minimization >> 1228: /[\w$]+(?=\.(?:|[\w$]+)\()/ `] = lit` -Fy0Qn3hXfuhnn9JF18neWXD1Mx8SI2BJtaRHD1d3Rqw= -`; - -module.exports[n`DFA minimization >> 1229: /(?:|[\w$]+)(?=\()/ `] = lit` -4kNg1ZeY5sCZlKp2kQXq6b0PJsaJ3MCQfTuFqDE9K84= -`; - -module.exports[n`DFA minimization >> 1230: /[a-z]\w*/ `] = lit` -0EwVrR9mzhMIjML4teAovoYDSnNnBuHwKogOxvZjtVY= -`; - -module.exports[n`DFA minimization >> 1231: /[.()]/ `] = lit` -RpN0MGbObmTE11XB2XqTfj1MiU+sbq73qp5fuIVBk48= -`; - -module.exports[n`DFA minimization >> 1232: /\.{3}/ `] = lit` -jFUaKSEaKOLlSg9wUWQ88qG+nhM/agcxCdFCFI6TxYk= -`; - -module.exports[n`DFA minimization >> 1233: /\d+/ `] = lit` -T1tiIJjbJgPlEh6hZSYJgpqFViePCmBeCxRBY6JwWD0= -`; - -module.exports[n`DFA minimization >> 1234: /\b[a-z]+(?: [a-z]+)*\b/ `] = lit` -IG+jPcKy2wpZtvKEc3YBI0aS8teoADmJaIW5uvQ9Ne4= -`; - -module.exports[n`DFA minimization >> 1235: /^(\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m `] = lit` -UKzJSnDwfKGKhQNSHAdhi1wHv2eI1hAAA6W7Kw+T+OQ= -`; - -module.exports[n`DFA minimization >> 1236: /^(\s*)"[^"]*"/ `] = lit` -ZOZffRyuEkDk1TM44BQTc4Dqlbq5UWzWce/TfktiEKg= -`; - -module.exports[n`DFA minimization >> 1237: /^(:?\s*)[\w$.]+(?=:|$)/ `] = lit` -SzEua3lJD9cWuFhYD5pS/bAMZsoLXqbbDDMTQk9Vq/k= -`; - -module.exports[n`DFA minimization >> 1238: /(:\s*)\S.*/ `] = lit` -XF0mJcradLG1yAaKrAEUOD+Mq+K/6T3sfZSGF3Z6Zl4= -`; - -module.exports[n`DFA minimization >> 1239: /^(\s*)at/ `] = lit` -yxrcwk7udHRL433l2WFMFi13Cmf90alJN1uAIGSMOmk= -`; - -module.exports[n`DFA minimization >> 1240: /[\w$]+(?=$|:)/ `] = lit` -Iy8BkYI2b6PSO1B0VDl8dWtDwT9I9tZhe/fT0UzW8GU= -`; - -module.exports[n`DFA minimization >> 1241: /[.:]/ `] = lit` -ASeCz/zGJWlP6+bVgaO3zlJak/rHsH7RqdR6zaCIZ3c= -`; - -module.exports[n`DFA minimization >> 1242: /(\()\w+.\w+:\d+(?=\))/ `] = lit` -iw2AUe0nbdPIO1Rlyz85hZekj5HYVdhbVXYhAem7/0g= -`; - -module.exports[n`DFA minimization >> 1243: /(\()[^()]*(?=\))/ `] = lit` -7hLUQtrVWDOt/fjCE8JKAYt3FunvfBM1rTzeIK+BU0I= -`; - -module.exports[n`DFA minimization >> 1244: /^\w+\.\w+/ `] = lit` -SwH92l6dB/XWbHFDWbSCqDcTBTfTh3FdEEuc3Ro5HOU= -`; - -module.exports[n`DFA minimization >> 1245: /^(?:Unknown Source|Native Method)$/ `] = lit` -sS/C07wF5Ie8ftXlP9+lIA6Fw9IfgpED5KWPfzQsKsY= -`; - -module.exports[n`DFA minimization >> 1246: /\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Pr... `] = lit` -8jyh3DT6Wj8f/sbQLWHytiXDKFIHI1rDgVl2y9oWpZM= -`; - -module.exports[n`DFA minimization >> 1247: /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?l?/i `] = lit` -TQW+b9AY1kFr3M1Q69RIkJ0NOOR8l1liTrf+msj2zgs= -`; - -module.exports[n`DFA minimization >> 1248: /-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[:?\/%^]/ `] = lit` -WIlyG2pX9DnlZ5+SG0psUZzYIEBs3mwqPQWTJ2YRPXE= -`; - -module.exports[n`DFA minimization >> 1249: /[,.]/ `] = lit` -sGL+nN5FRynK4TDrbA47Hcca7HR5FpU5k6kNarXrHyA= -`; - -module.exports[n`DFA minimization >> 1250: /\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ `] = lit` -uSMsC5rkvUtylFJE4X4gDEEsxJZfRt/27L9bcUqcyFo= -`; - -module.exports[n`DFA minimization >> 1251: /[|;@]/ `] = lit` -ZH4ACPocP7QqTpa7JKkTWB5Oqs9ut5oFgU0inVMSHCE= -`; - -module.exports[n`DFA minimization >> 1252: /((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/ `] = lit` -xHLavUwPZHqGjx1DtSnFBb06Ar5eHMdn0hT5CYKK3cs= -`; - -module.exports[n`DFA minimization >> 1253: /(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ `] = lit` -phKKUTwbLqcyKtxY1Q/8zw1j7nkHPu7WYgKG08+m+yM= -`; - -module.exports[n`DFA minimization >> 1254: /(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/ `] = lit` -ZJ42D49UsSzugQ2Mo5vXhMAflr83D8Uy499wvZ0vtik= -`; - -module.exports[n`DFA minimization >> 1255: /\bwith\s+\w+/ `] = lit` -7M+Z8eBwZ8KNnaFFVYpznnEbUaaDBjFeBdJGJwUlj1M= -`; - -module.exports[n`DFA minimization >> 1256: /=>/ `] = lit` -+YDr1KDwxKEqNkrMdogbwJv4QNXH3RpafFzuw1CcKIY= -`; - -module.exports[n`DFA minimization >> 1257: /\bwith\b/ `] = lit` -1rYkCzRLWT+Iu+fP4tobPBd8HDZDtfqCzRx8DHjszdM= -`; - -module.exports[n`DFA minimization >> 1258: /\B\$\w+/ `] = lit` -RQJC+6hkWbDXNo5naUkdYhLDRPuqQa8CZNP/KrZmQto= -`; - -module.exports[n`DFA minimization >> 1259: /\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|mo... `] = lit` -0o9dNehq871SsDXnEO1aXjAiDnrVaM5FsPQzb+gFO00= -`; - -module.exports[n`DFA minimization >> 1260: /(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/ `] = lit` -yAyhJIeO33ZjlX2cNmJWHDoppBbF6FoaTtA9WLaTIUI= -`; - -module.exports[n`DFA minimization >> 1261: /::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/ `] = lit` -8MSQfJIbc7Foxc9zdtTcseBy31hJ9JKkg2grl7oN1RA= -`; - -module.exports[n`DFA minimization >> 1262: /"(?:[^"\r\n\\]|\\[^\r\n(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ `] = lit` -6cgrsmDlSAYsNsTjDgZplc8mWbtjRiqT+pkGGPs6tlE= -`; - -module.exports[n`DFA minimization >> 1263: /"(?:[^"\r\n\\]|\\[^\r\n(]|\\\((?:[^()]|\([^()]*\))*\))*"/ `] = lit` -0KfdAJbAdSRiSbmxsghTt9DfPphK8v87oula7i3goUg= -`; - -module.exports[n`DFA minimization >> 1264: /(\bdef\s+)[a-z_]\w+/i `] = lit` -hVRbkPTaA5txuvuseCABch7L7C+ZGTsARMc4U+GTJy0= -`; - -module.exports[n`DFA minimization >> 1265: /\b[a-z_]\w*(?=\s*:(?!:))/i `] = lit` -bqeNOU77nwQTXoEJBxrY/zh4+Ro6Ir7DZuGhpOt1QXw= -`; - -module.exports[n`DFA minimization >> 1266: /\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*\/%]=?|[<>?]|\b(?:and|or|not)\b/ `] = lit` -z/TtQm3pRY4ZCv0ALojkuldtzPF2hKCUCW1EVsxP7ww= -`; - -module.exports[n`DFA minimization >> 1267: /\b[a-z_]\w*(?=\s*\()/i `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 1268: /\|=?/ `] = lit` -wMV1mgVdsNAOAbGbTEhn5j6It59gJfXvFvtbUM4eOXw= -`; - -module.exports[n`DFA minimization >> 1269: /((?:^|[^\\])(?:\\{2})*)\\\((?:[^()]|\([^()]*\))*\)/ `] = lit` -XvThindlHefC4sqiDsJ1gMPgozpomXKbTPteEdxShOM= -`; - -module.exports[n`DFA minimization >> 1270: /^\\\(|\)$/ `] = lit` -hleiMX5JETfldD7Xbbt2XJOrwKSCgW4eo2AJkh4q/r8= -`; - -module.exports[n`DFA minimization >> 1271: /^(\\\()[\s\S]+(?=\)$)/ `] = lit` -goyDmJZMeHLvOnao/I0l8EEzeG0iohVFJzDcOtMBxRA= -`; - -module.exports[n`DFA minimization >> 1272: /\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|c... `] = lit` -bEAfreiEcW7wAUluFTFh4lOafH4IA+sasb9KUkHXS/A= -`; - -module.exports[n`DFA minimization >> 1273: /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|ne... `] = lit` -8XfSQuFTNthoXVX0u3SOE45/zo5s8t9Dl4S6/bGXI6c= -`; - -module.exports[n`DFA minimization >> 1274: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)[_$... `] = lit` -wDtIGfbXFpTn5AvdX6f0AY9zZFrCgkt9p++WrXsEBQ8= -`; - -module.exports[n`DFA minimization >> 1275: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?... `] = lit` -e0mpEHOqMfoFhyPQX92fFKEHBq2yAieEOZDOUVNd1c0= -`; - -module.exports[n`DFA minimization >> 1276: /(@(?:param|arg|argument|property)\s+(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\s+)?)... `] = lit` -qe0iz6zBDGDDXhixXYA/R1/FSnjfS/wOZ/7cqX3MX1o= -`; - -module.exports[n`DFA minimization >> 1277: /(@(?:param|arg|argument|property)\s+(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\s+)?)... `] = lit` -8npoPtiio/4Qo9Kvf9ADKrA2Q+VEPHrh6691e++jWwk= -`; - -module.exports[n`DFA minimization >> 1278: /(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ `] = lit` -q54Wuf8GvHLG0WgDRajf7wbIUj75lq1Qrw9VpiPqVMQ= -`; - -module.exports[n`DFA minimization >> 1279: /^#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/ `] = lit` -ZdM8LmJuWefG7c0pHYbuz1jz+itha6Rs3QOL4NXd4OY= -`; - -module.exports[n`DFA minimization >> 1280: /[=[\]]/ `] = lit` -76adNdF3rb+0QK4y9iufJVAfBrwdt+/4s06rXVWQ/ho= -`; - -module.exports[n`DFA minimization >> 1281: /(@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:{(... `] = lit` -EJNr+Eo3RXecTTpOsZj6DK+R7jAWgQ241wjOC9aGus8= -`; - -module.exports[n`DFA minimization >> 1282: /(@[a-z]+\s+){(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}/ `] = lit` -JWAeyKBsh2LkFulJeX39ZdQ0Cl2VdsfEwlp5mt3KT8s= -`; - -module.exports[n`DFA minimization >> 1283: /<[\s\S]+/ `] = lit` -hNvy2s0EmYw7PM24WXcHYbse5hBGs2dkzr8pGfF0Ics= -`; - -module.exports[n`DFA minimization >> 1284: /(^\[)[$\w\xA0-\uFFFF\.]+/ `] = lit` -Jn5AOpc1JyS7zt5d0pEqDHJiTl3UG2QROcHROtGlWsI= -`; - -module.exports[n`DFA minimization >> 1285: /(=)[\s\S]*(?=\]$)/ `] = lit` -4pJtmh9DompD/gcl6dKgtSV+/4qTvlZ3d1injuMY5n8= -`; - -module.exports[n`DFA minimization >> 1286: /=>|\.\.\.|[&|?:*]/ `] = lit` -TmUTr2TY53Ing1c1A/t7gV1bZsNcT7Bkmqo3n1I6CQw= -`; - -module.exports[n`DFA minimization >> 1287: /[.,;=<>{}()[\]]/ `] = lit` -TX5ry5GJqEOmS+llWpPstgL82rGoMKw7Vnyw2a6Lzso= -`; - -module.exports[n`DFA minimization >> 1288: /^(\s*(?:\*\s*)?).+$/m `] = lit` -Jczs6H5OHrLft6rtq/L7VmAXmpsGiXGq0ZfG1L3JDv0= -`; - -module.exports[n`DFA minimization >> 1289: /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bf... `] = lit` -EEv2TMdwlTZNQCMSDRnUZI/8LhFiCoiA7Oo9zV+UCnM= -`; - -module.exports[n`DFA minimization >> 1290: /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call... `] = lit` -EWrFQO3HOqMfJi8+xPlpY7DfNcvI25NMbDKApHNBkq0= -`; - -module.exports[n`DFA minimization >> 1291: /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/ `] = lit` -A+WMEIFdsJVnsb6qToyf3vlQ0LGonwVru7Zv0KmdkvM= -`; - -module.exports[n`DFA minimization >> 1292: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/ `] = lit` -tEbPi2ipjdVe5dc3UarK5kt2F2wbkXpVO9RLWT1kwy0= -`; - -module.exports[n`DFA minimization >> 1293: /\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b... `] = lit` -036tEER3ShCC0X/cJdVexvBlTAivpkTB1fr1jYZ0aM8= -`; - -module.exports[n`DFA minimization >> 1294: /\bconsole(?=\s*\.)/ `] = lit` -9J43ujJN+QtXk0fuANwVHykvHKWRznCBtkk15MBITKk= -`; - -module.exports[n`DFA minimization >> 1295: /^[A-Z][\s\S]*/ `] = lit` -j9Hr8fbLzSwIfWphg8/yJCs5O4ecA9E3/Cf6XOD/6rI= -`; - -module.exports[n`DFA minimization >> 1296: /\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|... `] = lit` -do8+JcwfHECe99wkz1kYZFRRfelMAIz98T2CbN9AVJo= -`; - -module.exports[n`DFA minimization >> 1297: /\b(?:[A-Z]\w*)Error\b/ `] = lit` -FxNcphl5TgqXRd406PZYFoNr0SMJx0JcS7h67b6RyTk= -`; - -module.exports[n`DFA minimization >> 1298: /\b(?:as|default|export|from|import)\b/ `] = lit` -zC7w51SFzTx+WmqWz4kpGbo6qzgA3pCCVytnCj/RfgM= -`; - -module.exports[n`DFA minimization >> 1299: /\bundefined\b/ `] = lit` -eeblowWuzxSV6T11M/sl4I4HfdYmOzU1qIu5m43o8oU= -`; - -module.exports[n`DFA minimization >> 1300: /\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugg... `] = lit` -8aCAExevTx7QoVyoodsGQeOhfIFoN5x2yVMQXXxbg1s= -`; - -module.exports[n`DFA minimization >> 1301: /@+\w+/ `] = lit` -0L9yxLzW19Hm9j+wvViRFhsS5eaaHtGGltDkntjzOKs= -`; - -module.exports[n`DFA minimization >> 1302: /[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]... `] = lit` -hgH2IZjYIHoToOSVwTBJ/yaMIYWNgIir6yAF0tajKRU= -`; - -module.exports[n`DFA minimization >> 1303: /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/ `] = lit` -OUP0TJ7X6gP3K9XGjp4HqS2yX54t5/vhPcyTYXsfsro= -`; - -module.exports[n`DFA minimization >> 1304: /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1(?=\s*:)/ `] = lit` -CgoUl2rJQB6FepL78okPumpsUFajR504FZ/DCU901TE= -`; - -module.exports[n`DFA minimization >> 1305: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*:)/ `] = lit` -MVwTQZAnYk9Kp9UkUIzbiTfd0EIuAl8AaE083WjJwBQ= -`; - -module.exports[n`DFA minimization >> 1306: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/ `] = lit` -/isXkmOYxoLWiaLCvKJDiBfuhTWAkaCQZ1len9BDhc4= -`; - -module.exports[n`DFA minimization >> 1307: /[{}[\]();,.]/ `] = lit` -cL2HxM2p/FcOqSmfqb0J4OVMJEPHlnV3HJO5n9O96gg= -`; - -module.exports[n`DFA minimization >> 1308: /^\S.*/m `] = lit` -OX3K41p3Pyj269A9pgyoIvUSSWlRPyJq4FO47j+CyB8= -`; - -module.exports[n`DFA minimization >> 1309: /^[ \t]+at[ \t]+.*/m `] = lit` -a8ArX73Hi2p417cxTD9A7aE2FuAh/ICyJJZZvl4Wnpg= -`; - -module.exports[n`DFA minimization >> 1310: /\b(?:at|new)\b/ `] = lit` -pYRjH7HAhEMS22Ik2ngVpBClwBl7zWSw5PxRdHWe55k= -`; - -module.exports[n`DFA minimization >> 1311: /[ \t]+at[ \t]+(?:node\.js|\|.*(?:node_modules|\(\\)|\(\> 1312: /(\bat\s+|\()(?:[a-zA-Z]:)?[^():]+(?=:)/ `] = lit` -9IHqPEnhSw2TNho/OxQuYHimgBGT3yicePKQ0GR07eU= -`; - -module.exports[n`DFA minimization >> 1313: /(at\s+(?:new\s+)?)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/ `] = lit` -fIPVPlNijamnIVjH1gOTYicCLXjVRjYwM3hAT/Zu2Vw= -`; - -module.exports[n`DFA minimization >> 1314: /\[(?:as\s+)?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/ `] = lit` -cxIzHP6FRVHO11eMk0Q7w5CUGommYaik8VYsSEPTtnQ= -`; - -module.exports[n`DFA minimization >> 1315: /:[0-9]+(?::[0-9]+)?\b/ `] = lit` -ZK4N3tTZLLd7F//eBD8aK4fNzA3osGcpMYMThXYxvkg= -`; - -module.exports[n`DFA minimization >> 1316: /((?:\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:gl... `] = lit` -OsePVB7PbIJ4F9qlL4u6E8ikRM8HanLOy9/0P0Bx4z8= -`; - -module.exports[n`DFA minimization >> 1317: /((?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*)\`(?:\\[\s\S]|\\\${(?:[^{}]|{(?:[^{... `] = lit` -EYUr793ttX0+IM5ojFLccP6XT/mdRscgVIhSI/qT6Ko= -`; - -module.exports[n`DFA minimization >> 1318: /((?:\bsvg)\s*)\`(?:\\[\s\S]|\\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\\${)[^\\\\\`])*\`... `] = lit` -pURCGxR7YJVM2x3hQBAq9s2ASJRir6PMhowNB3CEeIU= -`; - -module.exports[n`DFA minimization >> 1319: /((?:\b(?:md|markdown))\s*)\`(?:\\[\s\S]|\\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\... `] = lit` -Y2ZDmI79MH6Q9HyNgDAoD9B5vLmXSw8qnApHrsIm63Q= -`; - -module.exports[n`DFA minimization >> 1320: /((?:\b(?:gql|graphql(?:\s*\.\s*experimental)?))\s*)\`(?:\\[\s\S]|\\\${(?:[^{}]|{(?... `] = lit` -Wkvwvc2/KCEzup7lHK7QwoGBj0jfs+fV+zwAwn7/LFo= -`; - -module.exports[n`DFA minimization >> 1321: /\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|els... `] = lit` -d611Q0T3tQ/hyllZ8/x3vgAGwLOwx+gnj9FVFPO0Oyw= -`; - -module.exports[n`DFA minimization >> 1322: /(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*\.?(?:\d+(?:_\d+)*)?|\... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1323: /&&|\|\||[-+*^%÷⊻&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==... `] = lit` -IYLGCJ/aKDqn440UQ31FIvlS7zANWu5RG+KXLYFpJCU= -`; - -module.exports[n`DFA minimization >> 1324: /::?|[{}[\]();,.?]/ `] = lit` -thRQ65pK/MEmd9jU2Hx9QI8A8z9viXBKBOh526tVoXE= -`; - -module.exports[n`DFA minimization >> 1325: /\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[πℯγφ]/ `] = lit` -QIv5fh7U2J01d1004sVWRDzgUYEYs0H4tFWev9B2/HI= -`; - -module.exports[n`DFA minimization >> 1326: /(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ `] = lit` -iUPJjTZtkrd3b1L18XdFTImqBQOS8mZV2OeYU5G+YMA= -`; - -module.exports[n`DFA minimization >> 1327: /r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/ `] = lit` -/oy5Gj0dUxW6DFrVEmHZqMUtXEHx3xVcHj/ftfPHAII= -`; - -module.exports[n`DFA minimization >> 1328: /"""[\s\S]+?"""|\w*"(?:\\.|[^"\\\r\n])*"|(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r... `] = lit` -HDI5dLofjmfbqnhIvYmpVjG1huWeafgguqMxAEHHUY4= -`; - -module.exports[n`DFA minimization >> 1329: /\bc\s.*/i `] = lit` -Jm2IJK35pwGDe0SDG0RmWyhojA3fGWtfUeX22aeoD/I= -`; - -module.exports[n`DFA minimization >> 1330: /\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[TKU]_[\w?]+... `] = lit` -UpjEMszLthSusCTItYQ7iL7R1YnMN7q6A/90I/Z0ugI= -`; - -module.exports[n`DFA minimization >> 1331: /("|').*?\1/ `] = lit` -dibihUd8PEklcwa5an6OxIjliH+vFT7mMaCxP8VyLrQ= -`; - -module.exports[n`DFA minimization >> 1332: /\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs... `] = lit` -+eA5EGNyEvpIxiLVXUuQRYRMf+nkVT83pcYx/eZK4fg= -`; - -module.exports[n`DFA minimization >> 1333: /\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\b/i `] = lit` -EsQmrFrh4mj65NRFoW8jQ+cZUOZyZqWN/ZJb/PzGYYU= -`; - -module.exports[n`DFA minimization >> 1334: /\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i `] = lit` -ociqsBXnzWbZ5FNHDy0ap+9Wej0Mj9bGdEnm0DgxxTc= -`; - -module.exports[n`DFA minimization >> 1335: /[+>\\,()]/ `] = lit` -VFkr7toxbQSc4KEtXYa0ePQUnapF3b88ht2w4s4HivM= -`; - -module.exports[n`DFA minimization >> 1336: /\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i `] = lit` -srjfb6ZkbxXbB9D+05MQE/P1RvFwSqkuwwrGdcwph+U= -`; - -module.exports[n`DFA minimization >> 1337: /&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnolo... `] = lit` -uYaoqv83+cRIpFpJlrMHnDXgUJi+0QLrC78A+PBne0k= -`; - -module.exports[n`DFA minimization >> 1338: /\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hot... `] = lit` -mCjdmmWSHN5K76fREp30dVrhfhYmQ0YTQCojq1IrTYs= -`; - -module.exports[n`DFA minimization >> 1339: /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\... `] = lit` -5BnmmRfr9Ak52XizdKx+RTjM1UOgidtimxXQ1uDCbuU= -`; - -module.exports[n`DFA minimization >> 1340: /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|o... `] = lit` -nYmPg+MSIPRSd8oi60J7sHcH/mSMHL4XimPUWlrn3Wg= -`; - -module.exports[n`DFA minimization >> 1341: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ `] = lit` -XiqcxFunvsYaiPu6Z+EynJHUIN7hPhKZHJW7oor0LLk= -`; - -module.exports[n`DFA minimization >> 1342: /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const... `] = lit` -ZdLb1trLlECX/B0DuRU8B4AP95A5UnApS3yJcN2zbBk= -`; - -module.exports[n`DFA minimization >> 1343: /\w+@|@\w+/ `] = lit` -JCCZ4flCF8uRCTCViZefu49W1icuBnBnQ8DZFuJmkuU= -`; - -module.exports[n`DFA minimization >> 1344: /(\.)\w+(?=\s*\{)/ `] = lit` -1+c+TFMcKQ5pAz0Vn5XRGZP+1GaQgt1FHqnzboJ+X4c= -`; - -module.exports[n`DFA minimization >> 1345: /%.*/m `] = lit` -N51T6qjEvqpKWIRrooURbO+MyxbDBIeldCBQVywmXws= -`; - -module.exports[n`DFA minimization >> 1346: /[[\]{}&]/ `] = lit` -KJru+PRm7HrmftaQvmArqSHvIC+mX350Df8a51f+0u4= -`; - -module.exports[n`DFA minimization >> 1347: /(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1348: /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+... `] = lit` -2Q4Asbot6nGOUNGsrVFNnGUZ+iixVHWEvi78onBixz8= -`; - -module.exports[n`DFA minimization >> 1349: /(\\\\url\{)[^}]+(?=\})/ `] = lit` -oXVoB+AmMSpUmgk6omEVyjDOeCCrZ/+V+FOP6B9pTE0= -`; - -module.exports[n`DFA minimization >> 1350: /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subpar... `] = lit` -IdjI28WIAQYT4fTpugnUOtla67GyqpTkwHo1O3mK10I= -`; - -module.exports[n`DFA minimization >> 1351: /\\(?:[^a-z()[\]]|[a-z*]+)/i `] = lit` -2h0RtEsd9hVJUzuFEPuVMtrBXQWntoJDZJ60rh+pMWA= -`; - -module.exports[n`DFA minimization >> 1352: /\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\... `] = lit` -rkI1ifPKBREWXsEPZ4ccE10B5JAsXXMBGFbl1iXu8+4= -`; - -module.exports[n`DFA minimization >> 1353: /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1354: /^\{\*[\s\S]*/ `] = lit` -E4QhnqKJhFTXO32JePEsJGyWh01L9ViXr05G49/XlLY= -`; - -module.exports[n`DFA minimization >> 1355: /^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ `] = lit` -PCgNOWeq9amJT0NdiYcV955PKvF6KUcYdXQRymDQE98= -`; - -module.exports[n`DFA minimization >> 1356: /\}$/ `] = lit` -NwnMtGEq7SbXmOD/yKIKF6cVRWP02p/ECTIM5e6zuOM= -`; - -module.exports[n`DFA minimization >> 1357: /\S(?:[\s\S]*\S)?/ `] = lit` -r7fpOEgIGQ3P61cZwH9UN1tF50DNchzVUb2XQos5Ft0= -`; - -module.exports[n`DFA minimization >> 1358: /^\{\/?/ `] = lit` -RZvAOWtU+/ZWoeDYSjkKPIepO3SYjUt0MIcGq6Xuogw= -`; - -module.exports[n`DFA minimization >> 1359: /%(?:(?!\{).*|\{[\s\S]*?%\})/ `] = lit` -Vrxwzh+drpbWeIUqUuCuytYRt46sElYaVT0yVebCX7s= -`; - -module.exports[n`DFA minimization >> 1360: /[=|]|<<|>>/ `] = lit` -JTEaKQwpt5JyJyM+OLezcBpa2L+xrYjjFAweFfsWDzs= -`; - -module.exports[n`DFA minimization >> 1361: /\b\d+(?:\/\d+)?\b/ `] = lit` -MfEW2bQIDx8VnVYpYDCqAQZghw+BDr7LdBbn7nU9+zs= -`; - -module.exports[n`DFA minimization >> 1362: /'[^()#'\s]+/ `] = lit` -bwOlyj1tjvTXL7vg2SGRjn4TyMgLnT3mncU5LJoa9cU= -`; - -module.exports[n`DFA minimization >> 1363: /#\\(?:[ux][a-fA-F\d]+|[-a-zA-Z]+|\S)/ `] = lit` -YNc1ajISraQG5YKVW5F3hJvNMIfPlXjeQE8yj2BCN4w= -`; - -module.exports[n`DFA minimization >> 1364: /(\()(?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let... `] = lit` -ntNE5mxBz0SZm8CmBq3NVBFjuLDyqMvlgVojRfQY54c= -`; - -module.exports[n`DFA minimization >> 1365: /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|... `] = lit` -ZBIbFL1l/qi7wDjPasmvLHS1LSLA2vvaEKY02kji6zw= -`; - -module.exports[n`DFA minimization >> 1366: /(^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[+-]?(?:(?:\d*\.?\d+(?:[eE][+-]?\d+)... `] = lit` -RwjjP/sbTlLOXzj+TQLYlk6K2ukJtG75ydfyAkaxzto= -`; - -module.exports[n`DFA minimization >> 1367: /(^|[\s()])#[ft](?=[()\s]|$)/ `] = lit` -tO/DvJQjzVddZOwQymxDMFKK7k1vH6ASQtC6AIENHq8= -`; - -module.exports[n`DFA minimization >> 1368: /(\()(?:[-+*%\/]|[<>]=?|=>?)(?=[()\s]|$)/ `] = lit` -FGFnSIHUb4XP01JP+R4ru2fKA4CMhoAQ2mbhWRQUeHA= -`; - -module.exports[n`DFA minimization >> 1369: /(\()[^()'\s]+(?=[()\s]|$)/ `] = lit` -dqxswkUo9gZIXT4GXyysM3/oN7lsI35BGZXdqtWBqtc= -`; - -module.exports[n`DFA minimization >> 1371: /(\\new\s+)[\w-]+/ `] = lit` -83eeQdQ4ah/dW0Eofyngt5yU5KB32JRxPmjaFy2GsJ4= -`; - -module.exports[n`DFA minimization >> 1372: /\\[a-z][-\w]*/i `] = lit` -OjOI4B4kTRKtBUaq7kBDrWdaj7VC6LSA7OuXN12dJKI= -`; - -module.exports[n`DFA minimization >> 1373: /(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]... `] = lit` -/vbApkOJfoVkBrmz95Ckw1E2bpLnUO1u0jw8I6czzdc= -`; - -module.exports[n`DFA minimization >> 1374: /(\(lambda\s+)[^()'\s]+/ `] = lit` -9GAYbFpXbJ5VbGFGjdkmqEQrP75+RWEhKf6O37DBEq4= -`; - -module.exports[n`DFA minimization >> 1375: /(\(lambda\s+\()[^()']+/ `] = lit` -qrkd3s6t8y1GrBwzmjWVRrwmIlUN/5x9dzm3dHUM/Dw= -`; - -module.exports[n`DFA minimization >> 1376: /#/ `] = lit` -iTSkK/WN4wjCrvJicCGzg2A5zUfYwUiirQ5qvIdS2Ws= -`; - -module.exports[n`DFA minimization >> 1377: /^\\/ `] = lit` -puLSgWdy/KnH7ew8SQuX3rvKJhZD9Mgx9qCyqaJPZH8= -`; - -module.exports[n`DFA minimization >> 1378: /^(#)[\s\S]+$/ `] = lit` -aaLUd7GyQef+u+w70m5ne3JeeY753OjbCsiGcDYi8KE= -`; - -module.exports[n`DFA minimization >> 1379: /#\{[\s\S]*?#\}/ `] = lit` -FfNNWWPHMhovbkLoZ/Mz15KFu4vv0WbYYN1xd3yFSdY= -`; - -module.exports[n`DFA minimization >> 1380: /^#\{|#\}$/ `] = lit` -OvJHJJ8vqxU02ZpoWR1G8BHOA/KVlJq+G4vejRDXn/U= -`; - -module.exports[n`DFA minimization >> 1381: /\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|en... `] = lit` -AonOshnFUHZfbUghkP0lxHTstLl36W6JetfZ+PjGwRo= -`; - -module.exports[n`DFA minimization >> 1382: /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[d... `] = lit` -Td3zsCttNeeLsUMJNdREvFEtKejTxZSoyPXoGvR61H8= -`; - -module.exports[n`DFA minimization >> 1383: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^... `] = lit` -hmGESO0rLhPX9C7a1PxaxZaoeJa+f4jdnMIoFYn6f80= -`; - -module.exports[n`DFA minimization >> 1384: /(^|[\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_l... `] = lit` -5/LhNm3aIGWVE/A3rAEgPtjIq/4n0wDGYQjIJ68kR1Y= -`; - -module.exports[n`DFA minimization >> 1385: /;;;.*/ `] = lit` -RCvRIycbWi79u0SuJ7Ue4dCDB4Rq8WaYOWI4Uz6v2mE= -`; - -module.exports[n`DFA minimization >> 1386: /#?'[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -vdInqlCuV/dkZKUscqi4i+bobCSi7lOqQ8h8JNDnHk4= -`; - -module.exports[n`DFA minimization >> 1387: /:[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -FeQQ/Yc/vE6eKUlcFoU8jcCF0QsM2y5vW8MXKCFqidY= -`; - -module.exports[n`DFA minimization >> 1388: /,@?[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -5xwssbYgmdJx+yFcyWmSXmP0h1obXatN5F43JjV2SpA= -`; - -module.exports[n`DFA minimization >> 1389: /(\()declare(?=[\s\)])/ `] = lit` -o9jmjiPT+JMEecBffY473OHUgOqmCjuk+pr8BC+WA5Y= -`; - -module.exports[n`DFA minimization >> 1390: /(\()interactive(?=[\s\)])/ `] = lit` -rQ6fnVP9BbDMqufBdsdJ0elT/cdryh2FItjN8FvUxNA= -`; - -module.exports[n`DFA minimization >> 1391: /([\s([])(?:t|nil)(?=[\s)])/ `] = lit` -vlreIkTQ4zyiqi0ZdM/gFCNE/eYxge9gMao5HDBoEgQ= -`; - -module.exports[n`DFA minimization >> 1392: /([\s([])[-+]?\d+(?:\.\d*)?(?=[\s)])/ `] = lit` -oTIJ2mnWzZ7+FD3ckbiDADNjfanGb0o1IrsoCclq5Ng= -`; - -module.exports[n`DFA minimization >> 1393: /(\()def(?:var|const|custom|group)\s+[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -QDC5R9psqZsEKMxRTwz1OuW7FBxrqUKPAuU7SMYTzhs= -`; - -module.exports[n`DFA minimization >> 1394: /(\()(?:cl-)?(?:defun\*?|defmacro)\s+[-+*\/_~!@$%^=<>{}\w]+\s+\([\s\S]*?\)/ `] = lit` -MUZy04AqdIP5LYqkRCCd633G9INPttm36z9dUQi5Us8= -`; - -module.exports[n`DFA minimization >> 1395: /(\()lambda\s+\((?:&?[-+*\/_~!@$%^=<>{}\w]+\s*)*\)/ `] = lit` -WM5CUfg2sU7Hi+UJ4fC4dWE1XbKoH4O39uH9aj8O6TM= -`; - -module.exports[n`DFA minimization >> 1396: /(\()[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -yZtSQVbBOEpeoilWpXkannWUTqWngO3FsXhC+TSj5gQ= -`; - -module.exports[n`DFA minimization >> 1397: /(?:['\`,]?\(|[)\[\]])/ `] = lit` -uWy2FQEh+aKpaSzxLca5pBHvHUaC6ODpVYxYbdFDtjY= -`; - -module.exports[n`DFA minimization >> 1398: /[-A-Z]+(?=[.,\s])/ `] = lit` -QqW5WokwedbRwbHfJsmzXxyIYkurSY6AArzPUueezBc= -`; - -module.exports[n`DFA minimization >> 1399: /\`[-+*\/_~!@$%^=<>{}\w]+'/ `] = lit` -3JDTBLUXPZE1WN+aFr/1x9kTA0MeVbPiWfM7C9TrGsI= -`; - -module.exports[n`DFA minimization >> 1400: /(\()(?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|o... `] = lit` -EDte1E2+9bMlZcTxK/g8DjoyekIc9fuHmC7kyBa8Icw= -`; - -module.exports[n`DFA minimization >> 1401: /(\()(?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ `] = lit` -f9B1nOamY6kELAJrX+EdJVSKg0QjoU7n/Io+/Uy6nPg= -`; - -module.exports[n`DFA minimization >> 1402: /^def[a-z]+/ `] = lit` -RjqSUMiFy6635NAU27NUorJcrWE5rk/UdDsE1DtHqac= -`; - -module.exports[n`DFA minimization >> 1403: /[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -uwVrYJUtOJinDPPLH58Zj+0ZXScQycLElWs2YUeeXjk= -`; - -module.exports[n`DFA minimization >> 1404: /^(?:cl-)?def\S+/ `] = lit` -s6/Yamf9r8U7pQHjqrm6VxFquTo6L9bn07QyboD4E4o= -`; - -module.exports[n`DFA minimization >> 1405: /^lambda/ `] = lit` -HwAeno4u18S1mVMSAmVOzEGgrXbrEK428GN7AfeHZiA= -`; - -module.exports[n`DFA minimization >> 1406: /(\s)\.(?=\s)/ `] = lit` -byRL7aoxr2Y6QQFFdw1VpkQCwtRq6YTIcvGsDaN3f1k= -`; - -module.exports[n`DFA minimization >> 1407: /(\()[\s\S]*(?=\))/ `] = lit` -2IvA5Ro0+Gp04wMiEX0z6l9MH/YIlOY9U4IneLrPrXg= -`; - -module.exports[n`DFA minimization >> 1408: /(^\s)[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -aZlDHIa1WdTNu4nM2hJzhiDV3mlLSfbs0wh7v8whRSU= -`; - -module.exports[n`DFA minimization >> 1409: /&(?:rest|body)\s+\S+(?:\s+\S+)*/ `] = lit` -jhXWzat/axL4CV34bDHAAa/efM96IXgkY0ePzzqzufs= -`; - -module.exports[n`DFA minimization >> 1410: /&(?:optional|aux)\s+\S+(?:\s+\S+)*/ `] = lit` -+ytg/Xr9EtazfNNNrRrVFYlrpyB1iZlsewUGXgOfHGo= -`; - -module.exports[n`DFA minimization >> 1411: /&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ `] = lit` -CH5wZi4sLl45zpRmd0aKTt8p1sbPJwueI5yrTfuDOss= -`; - -module.exports[n`DFA minimization >> 1412: /&[-+*\/_~!@$%^=<>{}\w]+/ `] = lit` -4QN7JEeY+Mg0AjnhGyLkyAijaxCiRFPosYYKur0AvHM= -`; - -module.exports[n`DFA minimization >> 1413: /(\()[-+*\/_~!@$%^=<>{}\w]+\s+\S[\s\S]*(?=\))/ `] = lit` -opfwG/oGde0ds/XnRoxJ8DZ8GY4iPydRY9RjO7pWTNM= -`; - -module.exports[n`DFA minimization >> 1414: /\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i `] = lit` -GvnvdklNX2Z+gTuODlQgfuK7E/RbwyyLv5l4gINrpsk= -`; - -module.exports[n`DFA minimization >> 1415: /[a-z_](?:-?[a-z]|[\d_])*/i `] = lit` -27HA9uQ76B3PAQBCfjS/KJndXRZ/OeNkPEsd3BtZW4c= -`; - -module.exports[n`DFA minimization >> 1416: /[(){}\[\]|.,:;\`]/ `] = lit` -ypvqOu93PWPWclh6E8qGyUi8siD/NhrasU6Rf4Ttdn8= -`; - -module.exports[n`DFA minimization >> 1417: /(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/ `] = lit` -Y74Xlr9aQx5/prNoYChPJEv8x36g3jRubSJmhsiYRjA= -`; - -module.exports[n`DFA minimization >> 1418: /\\[^\s,;\])}]+/ `] = lit` -c+WfkT+IW4y/dHCicg5xrhwMNfTcK+EgTtxXUyue52s= -`; - -module.exports[n`DFA minimization >> 1419: /(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fa... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1420: /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: ... `] = lit` -FDehOxQypbG1NSKALtU9iGdQMq+UTh3e7sMN4vDIacU= -`; - -module.exports[n`DFA minimization >> 1421: /(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1422: /(^|(?!\.&\.)[^&])&(?!&)\d*/m `] = lit` -GD/QRIMo4c9ZxLG3jT7X/5nDHyCduB8FKiNtJ+M6hi0= -`; - -module.exports[n`DFA minimization >> 1423: /\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<> 1424: /(^|[^\\])\/\*[\s\S]*?\*\// `] = lit` -T9n8faXydDsZ7hooTAvPDvKSVmp2Ie5MlhgWHyBUdzU= -`; - -module.exports[n`DFA minimization >> 1425: /('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/ `] = lit` -dLgUJke5QxA1PKdS19t1uqkbAGqNsZf0g3//QrNCJwE= -`; - -module.exports[n`DFA minimization >> 1426: /<\[[\s\S]*?\]>/ `] = lit` -x/hDZpw57ST9LP4btBWQlrKkDcl/xhGVBkKY2vUxea4= -`; - -module.exports[n`DFA minimization >> 1427: /\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/ `] = lit` -BFio1chW8sp5vRm/0q0p7Jx2maax4yM6V2I/e58JNZE= -`; - -module.exports[n`DFA minimization >> 1428: /\/(?:\[[^\r\n\]]*\]|\\.|[^\/\\\r\n\[])+\/[gimyu]{0,5}/ `] = lit` -yDmOk1yA11MtdGoK4+2OAqftRH4rmBiydeIOXFYls4s= -`; - -module.exports[n`DFA minimization >> 1429: /( )\.(?= )/ `] = lit` -LxkKaQHwgkMkbiBvAK929MNPs9Sknom+ghphBtj7YBo= -`; - -module.exports[n`DFA minimization >> 1430: /(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m `] = lit` -ypJmElAhoukQVs6eGjgnmLlENCHwQB+EkcbO119vjo0= -`; - -module.exports[n`DFA minimization >> 1431: /(^|[^\\])#\{[^}]+\}/m `] = lit` -EQyk8LXe/MrOV9HZLG1OiHUl9DTWEgyOkZSHYB5lkjA= -`; - -module.exports[n`DFA minimization >> 1432: /[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i `] = lit` -+HJOOcmZMtjnMSMY9aC3WoTlrE1EccT8OE0/vjwZsNc= -`; - -module.exports[n`DFA minimization >> 1433: /(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i `] = lit` -qXbZqLHK/KzkpxyQUll8r8BuD4V64Ymv70OlfSvAASA= -`; - -module.exports[n`DFA minimization >> 1434: /\b[a-z_][a-z_0-9]*\b/ `] = lit` -N+1zyb5vMITCWbDDsM5VVvBBr8krpujO6+l5I+qhcFU= -`; - -module.exports[n`DFA minimization >> 1435: /[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b... `] = lit` -jhwaqez2oa6KH2IjpGKgT9WEqGs26XGCfY2DjQeOSnk= -`; - -module.exports[n`DFA minimization >> 1436: /[{}[\];(),.!*=<>]/ `] = lit` -81K/7b0ZiYB2jeCxr88aIy1v7WZFj2QZtF1+p/mLgTY= -`; - -module.exports[n`DFA minimization >> 1437: /\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_... `] = lit` -UOY4guaDuy4Q4/4U/DBiZ5wqsDu9a6KTLtzwzf7zLnc= -`; - -module.exports[n`DFA minimization >> 1438: /(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1439: /\.{3}|…|,|!/ `] = lit` -Yf9l+o9ZXTTiNjbmI89/PPLxpoOpY74QEieUt+REaUA= -`; - -module.exports[n`DFA minimization >> 1440: /\bOBTW\s+[\s\S]*?\s+TLDR\b/ `] = lit` -VcYgGZjQH/a62/4xbZggsXBdiJrYNZ0+KKdZw6TpCbY= -`; - -module.exports[n`DFA minimization >> 1441: /\bBTW.+/ `] = lit` -esR+Psl4oMcYbfiBl8m99KshC7xwg21IiqDmixXYamc= -`; - -module.exports[n`DFA minimization >> 1442: /"(?::.|[^":])*"/ `] = lit` -CkmzjTjJcYZJ+D1Upn3VxJV1Cy9W5TVWurWUtEgmkYk= -`; - -module.exports[n`DFA minimization >> 1443: /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ `] = lit` -vPcsmCOqKiMEXHzDUYv8XhE9JlEywdxJGKAKr6lP+C4= -`; - -module.exports[n`DFA minimization >> 1444: /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/ `] = lit` -L+Dr9Bst2ISo7ayjF4GaR4hiatCAa8uRhNOVxmwgigc= -`; - -module.exports[n`DFA minimization >> 1445: /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/ `] = lit` -0o0fSoMkB+jPEYm4uWx9R2jEKqYcG+deTlVsXpe3DYo= -`; - -module.exports[n`DFA minimization >> 1446: /'Z(?=\s|,|$)/ `] = lit` -3/CpZxtvNtZhMp+z2BEHD/th0VLBDzDhpNFPoYaiNf4= -`; - -module.exports[n`DFA minimization >> 1447: /(^|\s)(?:WIN|FAIL)(?=\s|,|$)/ `] = lit` -2WdOZxmAaI5wn0/iYkZ2Wrt38/IDlQtDt778iReVgo8= -`; - -module.exports[n`DFA minimization >> 1448: /(^|\s)IT(?=\s|,|$)/ `] = lit` -S0s2bTrS6it2fnfeubHZSO0izpzRhoXSfBh28ZvK+I8= -`; - -module.exports[n`DFA minimization >> 1449: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|B... `] = lit` -DBIar33Sx64SgdlIGULVTEGkaSGV3Uf5XI/K6WjXTpw= -`; - -module.exports[n`DFA minimization >> 1450: /:\{[^}]+\}/ `] = lit` -DDatnOuddR/EAkAj7V+kcXmaM1WpSNa9PfWCTnlETgg= -`; - -module.exports[n`DFA minimization >> 1451: /A(?=\s)/ `] = lit` -2VH4aMQPkm/59D8UkXrrOTnuRjxIvNmM9S2zUTeQePc= -`; - -module.exports[n`DFA minimization >> 1452: /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS ... `] = lit` -cPWXs3EvBqmKkm7nF/YMQOeTv3R7veH3qI7CVjMU0M0= -`; - -module.exports[n`DFA minimization >> 1453: /:\([a-f\d]+\)/i `] = lit` -aWM9JF5l91tllM5Bbm71pBE9CZDpn/RyBrBoPnRq5zI= -`; - -module.exports[n`DFA minimization >> 1454: /:\[[^\]]+\]/ `] = lit` -BN7yxypYUppEM4PybmSoxf6n7RAYSfJOcm1VZGHpijk= -`; - -module.exports[n`DFA minimization >> 1455: /:[)>o":]/ `] = lit` -amErkzCFMDPeahUPjWzvl7gKpR69517o+oFH1sWcUwI= -`; - -module.exports[n`DFA minimization >> 1456: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/ `] = lit` -i8LroXLhKu2I76H0IaOsXGy1AP0FH31T7PO5w4oOG8Q= -`; - -module.exports[n`DFA minimization >> 1457: /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/ `] = lit` -RNwdrp+9F6bu0fbROSXbq6rgAdzm2XdEf44YrOV+5L0= -`; - -module.exports[n`DFA minimization >> 1458: /(?:::|[?:+!])?=|[|@]/ `] = lit` -pImd3jP52iBajAXeUvasQM7wjg0ZmNYj5sM0oTonv9A= -`; - -module.exports[n`DFA minimization >> 1459: /[:;(){}]/ `] = lit` -xLhllOQ5ZIqwtoJgvMYfklp6z8z61h79TC3Oo7bX0Hk= -`; - -module.exports[n`DFA minimization >> 1460: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/ `] = lit` -mHTl3BloiKt31dkLMNAfEkH1nP/wlwW2KFlmv0k60ig= -`; - -module.exports[n`DFA minimization >> 1461: /^[^:=\r\n]+(?=\s*:(?!=))/m `] = lit` -Sbgbw/1xSivZDa3D2j++E83x6x24FB7IT0tRDfLPyIw= -`; - -module.exports[n`DFA minimization >> 1462: /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|... `] = lit` -xjEcTkKjPD9T+m80eYC09K2LmlqZ1V9xlUkMzI5fXFs= -`; - -module.exports[n`DFA minimization >> 1463: /\$+(?:[^(){}:#=\s]+|(?=[({]))/ `] = lit` -en6oXVY8Aa6RQCHF1t9b8U7z61VFTwNm0mu4c+dIOwI= -`; - -module.exports[n`DFA minimization >> 1464: /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|... `] = lit` -vMk4FgichelkVsKfYd88Ibru6oMcQHj/WOEWsuNwayc= -`; - -module.exports[n`DFA minimization >> 1465: /(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/ `] = lit` -TWJHecGDqEtQjOGlszzldd56y81Be+6gPRKoL5upjz8= -`; - -module.exports[n`DFA minimization >> 1466: /\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwis... `] = lit` -sJoXdPFFHXD0ko8WBIzQGqLc7gqD+xCRfWW8+WLbfOc= -`; - -module.exports[n`DFA minimization >> 1467: /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/ `] = lit` -10DBhYBpDPJoB2ultmf+K+AMUSwJNi+ObjfbBctQsJg= -`; - -module.exports[n`DFA minimization >> 1468: /\.{3}|[.,;\[\](){}!]/ `] = lit` -PuplYmwsw4q0SH1qmWXcKHEgS1iOBVtdMEmksbuv4CI= -`; - -module.exports[n`DFA minimization >> 1469: /%\{[\s\S]*?\}%/ `] = lit` -dnzLHE71cg5P9REAmL+T0FulcFwfsG2xDtsfOtXfOj4= -`; - -module.exports[n`DFA minimization >> 1470: /\B'(?:''|[^'\r\n])*'/ `] = lit` -fpr8ze6p/+SF14UEZw7UGAjtaMQiaZfOl5VfU8kEnp8= -`; - -module.exports[n`DFA minimization >> 1471: /\b0x[\da-fA-F]+\b|\b\d+\.?\d*|\B\.\d+/ `] = lit` -jDAoxKnAQgL//+DN+2cXfLn1Z8VD7F3iWZxUlZHhP/k= -`; - -module.exports[n`DFA minimization >> 1472: /\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc... `] = lit` -QwV0QigrpGwtOlXtAtq0+ZmHYzp7BP5+TVi1nbQp5Gw= -`; - -module.exports[n`DFA minimization >> 1474: /<<|>>|[.,:;?\[\](){}]/ `] = lit` -1GioMaoY9KvKFVRr+RFwcBjkNWRHa/6Uhnr8AGYEFQw= -`; - -module.exports[n`DFA minimization >> 1475: /\`(?:\\.|[^\\\\\`\r\n])*\`/ `] = lit` -Qi0q9PSUW8GeOTbX+jzvhJb8ekaI8PnJrUT/TIPVMHE= -`; - -module.exports[n`DFA minimization >> 1476: /-[^\d\W]\w*/ `] = lit` -bDrAErCiFUHD7gfzd7dv5FGZbFvDCAW6Lw/yLSDXX4U= -`; - -module.exports[n`DFA minimization >> 1477: /\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/ `] = lit` -YwzHEDPbRItsCAvTf2gyl2+2zVri6MN5FSz8vDZkWww= -`; - -module.exports[n`DFA minimization >> 1478: /::.+/ `] = lit` -NzE1+ULQ2gyeY1E3Si8Vt5bnZF5Wmk75iDWMddJM1Lk= -`; - -module.exports[n`DFA minimization >> 1479: /@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|a... `] = lit` -5fdKg4wOnwV+7Y7/fGmKRCl0EMTemhZZifOpitlidCo= -`; - -module.exports[n`DFA minimization >> 1480: /\w+(?=:)/ `] = lit` -3dwV+KAGedQmwakNN3Y5Av02mYwHcEk6INvc5A75aoo= -`; - -module.exports[n`DFA minimization >> 1481: /\.\.\.|->|&|\.?=/ `] = lit` -faXCXpvA32zafBqT8ZdKvZq2h055j5rwTQoVvMxsTEA= -`; - -module.exports[n`DFA minimization >> 1482: /\(#|#\)|[,:;\[\](){}]/ `] = lit` -nt+H+sYmqBTIe8EX/+LOIulvkZK5CRA5a/bCq/cdeis= -`; - -module.exports[n`DFA minimization >> 1483: /\$(?:10|\d)/ `] = lit` -Bh+1kTnCEglPrcNTlU9S8YkbC9n9tEbW4XwiaaSeC8U= -`; - -module.exports[n`DFA minimization >> 1484: /"[^"\r\n]*"/ `] = lit` -kGSWTytEBPEJ+KorH4wy+qTwNYCH2mNg6EyKLWIwi1Y= -`; - -module.exports[n`DFA minimization >> 1485: /\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Con... `] = lit` -drHAsepqHEPsGWKHn0ASlnkpAyBYWGorvSWJWBWvVM8= -`; - -module.exports[n`DFA minimization >> 1486: /\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i `] = lit` -O78rBVdwGSsnzCKBEyxHyRp6F2d4evTsrYs+AZGAslw= -`; - -module.exports[n`DFA minimization >> 1487: /[.,:;()\[\]]/ `] = lit` -Na/CIDtjDVWPjKmFIdw0sz9CklPxUWlk2ZOMQTForBY= -`; - -module.exports[n`DFA minimization >> 1488: /(^[ \t]*)#.+/m `] = lit` -LF+Y3oY8L41TXS1aM+ApS25D7sbBslRpuSbZAD9AI5k= -`; - -module.exports[n`DFA minimization >> 1489: /(\w)[?%#$]/ `] = lit` -U0Q06VKmkbsUuy2Ls3NPxVytFiuNbqhtqLOHzsMRZ3s= -`; - -module.exports[n`DFA minimization >> 1490: /((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i `] = lit` -SXdPjn134KOxO+1XP5NHDTXo3v2Phin+U0yvqM7hPUY= -`; - -module.exports[n`DFA minimization >> 1491: /^#Rem\s+[\s\S]*?^#End/im `] = lit` -Ouvs7ni1ln34IcG5Tbx6hLAhqVSp6zY3H5nlc/KFo9c= -`; - -module.exports[n`DFA minimization >> 1492: /'.+/ `] = lit` -xF3/JlSNcviDwItdO7sJrvvZe6B82nNd8zqMchmRXKk= -`; - -module.exports[n`DFA minimization >> 1493: /\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|n... `] = lit` -t5sQy/bru+I69EM5ARsuVuluzYhoF4hSOhXpdLpfj7k= -`; - -module.exports[n`DFA minimization >> 1494: /@@?\w*/ `] = lit` -jWbJICe2n/m9jLUuN/sr6EC4eqQvwVS7F08bjeY+WME= -`; - -module.exports[n`DFA minimization >> 1495: /(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)... `] = lit` -XodjL5JIz4asBnd6gQ0ORZ32PMZVkSczqTVrVSmAxuI= -`; - -module.exports[n`DFA minimization >> 1496: /\.{3}|[-=]>|~=|(?:[-+*\/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/ `] = lit` -t4WR/jE2EDvq10Z+lEiiwTmLdikIGPLVAC0j7JwGg0Q= -`; - -module.exports[n`DFA minimization >> 1497: /[.,()[\]{}\\]/ `] = lit` -HJR2bgObFB7btBBy8nUim5sjE+8cGInqjH38u/FxzHw= -`; - -module.exports[n`DFA minimization >> 1498: /\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/ `] = lit` -h49vosF/PVUmeJ181wFOf59LGuwob300S9JjL0tedu0= -`; - -module.exports[n`DFA minimization >> 1499: /\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|stat... `] = lit` -gmm/SANHXXMfAli3aa1AN4tmnYgDOzW7fyLIqDs8JZQ= -`; - -module.exports[n`DFA minimization >> 1500: /'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/ `] = lit` -msAOOWij6aNkJAjTYbu840QMFx8R9K9j+H8f3zc825I= -`; - -module.exports[n`DFA minimization >> 1501: /(\b(?:class|extends)[ \t]+)\w+/ `] = lit` -qpovLNtFOqbHUOLJmLLtc/Sn2V4H6b/BgAjh2S2rkvI= -`; - -module.exports[n`DFA minimization >> 1502: /#\{[^{}]*\}/ `] = lit` -ZXiClpNklDSZcBCQdy6JO20P/k39y+jlEDdwvrr/GLk= -`; - -module.exports[n`DFA minimization >> 1503: /(^#\{)[\s\S]+(?=\})/ `] = lit` -WbFz1fcq9M6Wn+fC4OoUYJOt9V5cHH+jWYvpMemDvi0= -`; - -module.exports[n`DFA minimization >> 1504: /#\{|\}/ `] = lit` -smXVmDKNHBB86N4ysLr6o94EnvqQhWPNYbwo1M5RZAo= -`; - -module.exports[n`DFA minimization >> 1505: /\/\*[\s\S]*?(?:$|\*\/)/ `] = lit` -76hWEYQHJx6zFHl2n5C2hfO11sFFewRAAJwmMZYL/bM= -`; - -module.exports[n`DFA minimization >> 1506: /\$[\w.]+/ `] = lit` -edJ0ejQdHF6JEtRlrzLhQuS8pFBFAIdgahKhFpE21dQ= -`; - -module.exports[n`DFA minimization >> 1509: /(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i `] = lit` -V9IFUn1kp/BpwgCNe+BY0ktTeo5A3O3kgy/fAZSlIOY= -`; - -module.exports[n`DFA minimization >> 1510: /[-+*\/=%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY... `] = lit` -cgsL3/Q4T+L86coaknTmzG/UrrAI/JN01+na1PBOYdM= -`; - -module.exports[n`DFA minimization >> 1511: /[;[\](),.{}:]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 1512: /(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/ `] = lit` -Zh+1kgkq26AELLDuVx2mrze+w27l2h3EzC59ctoX6sc= -`; - -module.exports[n`DFA minimization >> 1513: /\`(?:\\[\s\S]|[^\\\\\`]|\`\`)*\`/ `] = lit` -MkwekHiEbt9hK8o4qnC+yq+fjxKAumF7xsFV4FaOd78= -`; - -module.exports[n`DFA minimization >> 1514: /\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ `] = lit` -jkTvhg/86ix05G3MZui7Lapgd5+Ff4dFwlReCognDXU= -`; - -module.exports[n`DFA minimization >> 1515: /[A-Za-z][A-Za-z0-9]*(?=\()/ `] = lit` -Hv2iJ0t5Ff/seEUEKF4X2At9pyBA1QbAwmluDN/9zuU= -`; - -module.exports[n`DFA minimization >> 1516: /=|\.\./ `] = lit` -Fh2FyN+W4KopYNQOsJejkc8R2r+OTmYmtgK92OpbEpo= -`; - -module.exports[n`DFA minimization >> 1517: /[{}[\];(),:]/ `] = lit` -BcW2jl+LTpQFuWdxPnJQkKHX9Z0/VP8e3uhZR2e8e2Y= -`; - -module.exports[n`DFA minimization >> 1518: /^([\t ]*);.*/m `] = lit` -yRjXsxT4+uGRIc+HZuHaPyrmioZ1SYfRd2n/nRBNUcI= -`; - -module.exports[n`DFA minimization >> 1519: /^>.+/m `] = lit` -ziNVGl84CajMdpNRoXoAO/jgLOywHD8PTSnPp4P2nWo= -`; - -module.exports[n`DFA minimization >> 1520: /^([\t ]*)#[\t ]*\w+[\t ]*$/m `] = lit` -LtFlvSgcUGldl4X3MEkWlyxDjhQ8MShWYg3LGbcstr0= -`; - -module.exports[n`DFA minimization >> 1521: /^([\t ]*)@\w+(?=[\t ]|$).*/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1522: /(^[ \t]*)[^#@>;\s].*/m `] = lit` -zgSnGu6kdcWVyE2pKjRAcs068xMojgc0VW9eQk14Vys= -`; - -module.exports[n`DFA minimization >> 1523: /^@\w+/ `] = lit` -ilIvR/2/jC3viAYCo4Q48z8zDnY/6Qk+n6wKjfC3jFc= -`; - -module.exports[n`DFA minimization >> 1524: /\\[{}\[\]"]/ `] = lit` -LpXH/Yy5bySDaevLMiXTplJxbSGc3+EjiVvwVuqUn7k= -`; - -module.exports[n`DFA minimization >> 1525: /(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/ `] = lit` -UOd4aoegN/VTyL4gQnb4pRD/7yZJ+ARMnuekgdy6fsU= -`; - -module.exports[n`DFA minimization >> 1526: /(^>)\w+/ `] = lit` -fglgw5xl5vZGbGBxqoIopiB94/kc81QcZjU4BlZrpy8= -`; - -module.exports[n`DFA minimization >> 1527: /\{[^\r\n\[\]{}]*\}/ `] = lit` -KLs4GnzLILWkWUA6z2NHmpFUiD2CkkiAmp4YwfFAv80= -`; - -module.exports[n`DFA minimization >> 1528: /\[[\t ]*\w+[^\r\n\[\]]*\]/ `] = lit` -cI78CosW29tmut6tAcnXmFrV0x2P7UkZEurOgtFproA= -`; - -module.exports[n`DFA minimization >> 1529: /(\s)\w+:/ `] = lit` -nYD4kEzODUBqaLie10gH3clPx92ILUuZwIucNOslwtI= -`; - -module.exports[n`DFA minimization >> 1530: /(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/ `] = lit` -iduKQOz8lh+g9tOJJqXWoS4NhPj7UkAjKZVSyp5hc5Y= -`; - -module.exports[n`DFA minimization >> 1531: /^(\[[\t ]*)\w+/ `] = lit` -QgX2LG3F4Ux9dSfwQmRs6yHDbfMhqpzulaxgi0l3La0= -`; - -module.exports[n`DFA minimization >> 1532: /([\t ])\S+/ `] = lit` -PBBNtvN+pFESpbNA+/UCspUdhddi4gMO6e0ht63scpY= -`; - -module.exports[n`DFA minimization >> 1533: /\S(?:.*\S)?/ `] = lit` -vUJQRrUxXqt/RvRB401hp6egmeapmz+Q5Jdusvdnh3k= -`; - -module.exports[n`DFA minimization >> 1534: /;.*$/m `] = lit` -/PoR6ZGPtYpU4SyeXidmnvJ6rhMHusfjHCA2g501ADM= -`; - -module.exports[n`DFA minimization >> 1535: /(?:\b|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1536: /[\[\]*+\-\/%<>=&|$!]/ `] = lit` -KFHM3OkUlu9uUtXpTCZbvTgMWZmIiXxA01QpVgTL51M= -`; - -module.exports[n`DFA minimization >> 1537: /(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m `] = lit` -5xT8SqNIggL/B/ZfZY0gkqwVBa+wFbNOkPcet8mudc4= -`; - -module.exports[n`DFA minimization >> 1538: /\[?BITS (?:16|32|64)\]?/ `] = lit` -vtIWV6W16LxYduMGpY5EYkU/LEKXVRAOKFiKO8QDaOk= -`; - -module.exports[n`DFA minimization >> 1539: /(?:extern|global)[^;\r\n]*/i `] = lit` -oYYstLe6b7wvzpjdNclO9PPLXsRTgj9Qeei2ZjOHH8c= -`; - -module.exports[n`DFA minimization >> 1540: /(?:CPU|FLOAT|DEFAULT).*$/m `] = lit` -EOmnSH7xz1ZXzpeTjlxtzzLLttNkNf7Dp4NzNhb6Sdg= -`; - -module.exports[n`DFA minimization >> 1541: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp... `] = lit` -CuPF36ylEi3GcPZx3AIKTy2C8LWH3V0aOpS4NOfDFfU= -`; - -module.exports[n`DFA minimization >> 1542: /(^\s*)section\s*[a-zA-Z.]+:?/im `] = lit` -SNfURi7jcbjotmtpniwAk0/JC1ECLLGCNZLkPYxZZTs= -`; - -module.exports[n`DFA minimization >> 1543: /[,:=[\]{}()-]/ `] = lit` -ScvIco+J7DvLDAEH98befW6QG/40H+FP08QBIMuWGN8= -`; - -module.exports[n`DFA minimization >> 1544: /(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z... `] = lit` -+rpiVFD59rbfZ9tk7dQQP9fusj2XLRa6elULB0G9eho= -`; - -module.exports[n`DFA minimization >> 1545: /(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/ `] = lit` -k480BHIk8JNlaemeveXfsOVRjoA22919dT12TmbJpms= -`; - -module.exports[n`DFA minimization >> 1546: /(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[eE... `] = lit` -+Yo570WalTKxaKCaHpTKCNs7qfDly0E6Q4Sh8fff5T8= -`; - -module.exports[n`DFA minimization >> 1547: /(^|[[{(=:,\s])(?:true|false|yes|no)(?=$|[\]}),:=\s])/i `] = lit` -WzpbPeVNH2qCiGfi8RztICemtCUJ+tIfKs0ZuFyN6CA= -`; - -module.exports[n`DFA minimization >> 1548: /(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i `] = lit` -ueh3GtEeO6TBJAhq5NoweuvwBeOVsfiuImI5kHPT/Lc= -`; - -module.exports[n`DFA minimization >> 1549: /(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2... `] = lit` -cbkL/Au43kRvIrQy2Tr+t3787fG/BBjFmcYkPaubT7s= -`; - -module.exports[n`DFA minimization >> 1550: /(^|[[{(=:,\s])(?:[^#"\',:=[\]{}()\s\`-]|[:-][^"\',=[\]{}()\s])(?:[^,:=\]})(\s]+|... `] = lit` -Trt8VMTkvQf/bdRMlY9cAmwjNhEseznLJxTIcghMjnA= -`; - -module.exports[n`DFA minimization >> 1551: /\$[a-z_]+/i `] = lit` -+hqR4sKAw4OfICk5tiYjPYJMRoWJ4ragu53spUKmtHQ= -`; - -module.exports[n`DFA minimization >> 1553: /(^|[^"{\\])#.*/ `] = lit` -mBDxXJzHtqtmc4ViycZ7dGmly1SBB2Iug/RAgq1D/Q8= -`; - -module.exports[n`DFA minimization >> 1554: /\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)... `] = lit` -fONkhb25iSQheAVUC3ab+HIEqIlv2dR52BwHItdza6c= -`; - -module.exports[n`DFA minimization >> 1555: /\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|conve... `] = lit` -25fmb6FuNL7OkHuw3M2z2PHTMoQvh/9f98q/Nijf+Uk= -`; - -module.exports[n`DFA minimization >> 1556: /[({\[]\.|\.[)}\]]|[\`(){}\[\],:]/ `] = lit` -djw2fyKHPwxjMJ26jbzWsFk3g0jpeHWGGWa4v2DW7ZI= -`; - -module.exports[n`DFA minimization >> 1557: /(?:(?:\b(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[... `] = lit` -BLfY/z4d1SnMExaBW+xK5XoCLEw+JMXJFPPfAr5MVeA= -`; - -module.exports[n`DFA minimization >> 1558: /(?:(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+|\`[^\`\r\n]+\`)\*?(?:\[[^\]]+\])?(?=\s*... `] = lit` -DFX8vZVS+kJ8AcVpOCaB49T4m7HnaJStW4Oeb9vZrHw= -`; - -module.exports[n`DFA minimization >> 1559: /\`[^\`\r\n]+\`/ `] = lit` -dsJ8GFwZpTobx4KyksMVPBqFVZUeq00CcwP+aj42BeM= -`; - -module.exports[n`DFA minimization >> 1560: /(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]])... `] = lit` -3J5M1GxdLqt21LyNhXR4IHE2YGQAVq6RE5NeaoCPxPY= -`; - -module.exports[n`DFA minimization >> 1561: /\*$/ `] = lit` -giUA77QaleuzEkaX62LbqhZhlumrRrdrmGXspD9PiLc= -`; - -module.exports[n`DFA minimization >> 1562: /\`/ `] = lit` -p7FHTHsk4i8OrXD2TLtQOWczKGLQTkhVODrqnTj/Yio= -`; - -module.exports[n`DFA minimization >> 1563: /\/\*[\s\S]*?\*\/|#.*/ `] = lit` -q9G0EBxu6SwPQHL3H89YpcoUnQb6pGlt34R4Sf2YlJA= -`; - -module.exports[n`DFA minimization >> 1564: /\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ `] = lit` -rdLEyKkrcM5ttcstUs8DgMY0Vy5IszL71svsQJISVCo= -`; - -module.exports[n`DFA minimization >> 1565: /\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLi... `] = lit` -ta+w4IDPhmR/C/zOPv1MIt+X48aSF3pnNv58V8PuWI0= -`; - -module.exports[n`DFA minimization >> 1566: /[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ `] = lit` -3jHmA91nJgtaGig8sfDvTsxkXvocoJSuK6o28Owy4tE= -`; - -module.exports[n`DFA minimization >> 1567: /[{}()[\].,:;]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 1568: /"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/ `] = lit` -82hVR7Nc6ouXKQGN/lTJCxK0Y4s08FoMCqgNlLbg5Xk= -`; - -module.exports[n`DFA minimization >> 1569: /\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/ `] = lit` -yjJwGuJ7lsy7iCmeX8aYgYXwU+E9ynDSXfX77tHC5b8= -`; - -module.exports[n`DFA minimization >> 1570: /\$(?=\{)/ `] = lit` -rAnvF26m+nvkZwGuEbviBwnYEyOV9aEeJkFvDTQPcNs= -`; - -module.exports[n`DFA minimization >> 1571: /([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&... `] = lit` -Aj1rJNNtx3cEu2HfFtY1HDWlzkTxy7QWmqQTjnOHyo0= -`; - -module.exports[n`DFA minimization >> 1572: /(^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*}/ `] = lit` -QlxyptttxulF5uR26IlYpmhsNz16b/WqOmT5YP/DV5c= -`; - -module.exports[n`DFA minimization >> 1573: /^\$(?=\{)/ `] = lit` -rAnvF26m+nvkZwGuEbviBwnYEyOV9aEeJkFvDTQPcNs= -`; - -module.exports[n`DFA minimization >> 1574: /\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|liston... `] = lit` -OeTpsa3Dlu5PhFpGlvt/w401u9f6I5O8vtHzRakCHvA= -`; - -module.exports[n`DFA minimization >> 1575: /\\\${[\w\.:\^-]+}|\$\([\w\.:\^-]+\)/i `] = lit` -L5cukWdn/O84NCGSyiif9GIVUunBNufcQjdzuE7+RTY= -`; - -module.exports[n`DFA minimization >> 1576: /\$\w+/i `] = lit` -RQJC+6hkWbDXNo5naUkdYhLDRPuqQa8CZNP/KrZmQto= -`; - -module.exports[n`DFA minimization >> 1577: /--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/ `] = lit` -afNhrxioi5zUgHpt0LD2VxxH6mtsox8usagKbQJ5Gl4= -`; - -module.exports[n`DFA minimization >> 1578: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/ `] = lit` -V+fCiWnWyhdIK/5NHVXpCgOMWtCGu7QYQGzHgavpLf4= -`; - -module.exports[n`DFA minimization >> 1580: /(^\s*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|end... `] = lit` -P843SuGlD9FBrf7DJ6fB6QkGqGCVYTlJmR0RZUnOzOk= -`; - -module.exports[n`DFA minimization >> 1581: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n]... `] = lit` -JBVkuDZDDr9B+R6TtXFKgue6Kj5rwvWQ2137oepITuM= -`; - -module.exports[n`DFA minimization >> 1582: /\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|el... `] = lit` -fMQuwYbWwrdRlC5IOQts1Iu7gsX2/yYpXroHZCoCz7g= -`; - -module.exports[n`DFA minimization >> 1583: /-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ `] = lit` -bY9kclhfo8vpXvtCbrryeBI0ztw6hsG/XL9YEojgYvg= -`; - -module.exports[n`DFA minimization >> 1584: /\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i `] = lit` -7JjXr//5LGUnDw8UUZ5R+W1vXo6eit0kVwTcEvAwD/k= -`; - -module.exports[n`DFA minimization >> 1585: /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|externa... `] = lit` -6yflPWOUqSB3ZNIQ8mVEHADnnDJck0latTgPmSrB140= -`; - -module.exports[n`DFA minimization >> 1586: /:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lx... `] = lit` -9HICAb20Vk0aA/8ENotYgjhLZd4SMbgcAYD0qU/HSWQ= -`; - -module.exports[n`DFA minimization >> 1587: /[(){}\[\]|.,:;]|\b_\b/ `] = lit` -HLJU8/B6xfY6xgitCiD9lqk3BkdIJdgZAuGgBNTRuTY= -`; - -module.exports[n`DFA minimization >> 1588: /\B#\w+/ `] = lit` -68v9J3ODe9Zv+yldcqT6TmMLMDaCYISVNWp6/qeF+Co= -`; - -module.exports[n`DFA minimization >> 1589: /\B~\w+/ `] = lit` -6KD4WcmR2Iu5H7CFosmkWOfeCnShWLKr1FU6LLoM6HE= -`; - -module.exports[n`DFA minimization >> 1590: /\B'\w+/ `] = lit` -hQ6ISfwfkujv7xRUCp63u6hVMJqZct9wCSXkNeEa39A= -`; - -module.exports[n`DFA minimization >> 1591: /\`\w+/ `] = lit` -dqdC/I2glWJVoH+WSCyGhalGIB8hQ4oGZ6t7yXOUFKk= -`; - -module.exports[n`DFA minimization >> 1592: /\b[A-Z]\w+/ `] = lit` -kNMYxDU6qvpFx2lLAjD6nh0uzoQ3CUd54+mPcJ2RxoU= -`; - -module.exports[n`DFA minimization >> 1593: /(['\`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i `] = lit` -pCeuBhUlXgqvdNWcLCoOD3fm2D22TGEZRm6nwaqbA+U= -`; - -module.exports[n`DFA minimization >> 1594: /\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|rea... `] = lit` -anCd2E5TQWMTtVuQpBDYbEwaBg4+o2qtJXD39orVvFc= -`; - -module.exports[n`DFA minimization >> 1595: /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)... `] = lit` -s5jY1Wsi8B9/zFn73ZQ5xzMPOcrV9bAmG8iBAlanwSg= -`; - -module.exports[n`DFA minimization >> 1596: /\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|... `] = lit` -YdRFIBzWBlu2PeTL3qb64NAa/SllcAmtckH/Z5jF3hg= -`; - -module.exports[n`DFA minimization >> 1597: /\bCL_(?:TRUE|FALSE)\b/ `] = lit` -An1pWwrUb0lTkayeCJmVj5Ki9RjDTrA1N2TpopRHy4U= -`; - -module.exports[n`DFA minimization >> 1600: /\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FIL... `] = lit` -9PxvnKeJ5sChTMK/pavxXp+UniDqlN3x8vcOZxMp/8Y= -`; - -module.exports[n`DFA minimization >> 1601: /\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQu... `] = lit` -RjTuWGyA1/3HK3ndcULtfFCeHsuhU9lmJHRINVMbaEk= -`; - -module.exports[n`DFA minimization >> 1602: /\/\*[\s\S]*?\*\/|%.*/ `] = lit` -caIQnmdzsPE7RfrbyK2zq0qXhRSPnOf+zp/F2lhxTdY= -`; - -module.exports[n`DFA minimization >> 1603: /\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:c... `] = lit` -3FeEPe7k3ZDgl25OtOkUSbk3Opljqpuf04LnbjdTtHk= -`; - -module.exports[n`DFA minimization >> 1604: /\b(?:0[bx][\da-f]+|\d+\.?\d*(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i `] = lit` -z9OiiYW43OQN2kV7u/fgZ67M+Y6QmGJa4W7nLPE4vCU= -`; - -module.exports[n`DFA minimization >> 1605: /\b[A-Z][A-Za-z\d]*|\`(?:[^\`\\]|\\.)+\`/ `] = lit` -VE50U6sTWVSJ/nAcAEWQ5mt2bBGX5bSAP1XgpuBkEdU= -`; - -module.exports[n`DFA minimization >> 1606: /:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|... `] = lit` -ztCCtNjAFcjbXcpdOmVJJ0fmUUPpk0NlHdBIMh0Z1EM= -`; - -module.exports[n`DFA minimization >> 1607: /[\[\](){}.:;?]/ `] = lit` -hh9TWwQqBJr0xYzX52+Gw+8bMdLkc8jIEQ4b+4btJeU= -`; - -module.exports[n`DFA minimization >> 1608: /"(?:[^"\\]|\\[\s\S])*"/ `] = lit` -901gjCaUOwjwFLfIL54nMX9rgHEl6ouvkBv/aY0K38w= -`; - -module.exports[n`DFA minimization >> 1609: /'(?:[^'\\]|\\[\s\S])*'/ `] = lit` -D547X8KZ44dtJLwcTjCZDS+2/WcVUHbpxGIAR2njePA= -`; - -module.exports[n`DFA minimization >> 1610: /\b[a-z][A-Za-z\d]*(?=\()/ `] = lit` -X5gyjdvWSEb//iOfY8C6ZhOCOeYYOFMTSj0MmVLbBkc= -`; - -module.exports[n`DFA minimization >> 1611: /(\{)[A-Z][A-Za-z\d]*\b/ `] = lit` -3vAqj6ijHj41Uff3PQu++eBoXv+9cyoT36wUhrlaQGQ= -`; - -module.exports[n`DFA minimization >> 1612: /\/\*[\s\S]*?\*\/|\\\\.*/ `] = lit` -pfsQmv1nAo+aMU/vyaCHtEaIdGOM6x9tg/Pcy5wHNhs= -`; - -module.exports[n`DFA minimization >> 1613: /\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g ... `] = lit` -av09LU6/bMvGgs1H98DnFnqe73iqfTP5q9YwzkU1A8I= -`; - -module.exports[n`DFA minimization >> 1614: /\w[\w ]*?(?= *\()/ `] = lit` -d5CaNdithIMEYCYYWgRGKesVHl79Eq6jHEceNJt4OsQ= -`; - -module.exports[n`DFA minimization >> 1615: /\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(... `] = lit` -TuIWeqQuGCGJlAWoP0v3msVp1M8pRxOB3Eha+aapvVg= -`; - -module.exports[n`DFA minimization >> 1616: /[\[\]{}().,:;|]/ `] = lit` -jLIQTDIiDKncUhQ2pLsYL77igYwrrZ0a/O1ASt6l3hE= -`; - -module.exports[n`DFA minimization >> 1617: /"(?:[^"\\\r\n]|\\.)*"/ `] = lit` -vAWlB1EdyUqSGPPC0ql3/BUjpcILwwRJYbUAuqQM8gY= -`; - -module.exports[n`DFA minimization >> 1618: /((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?:... `] = lit` -OPUm4fF3ip1bw2sbxpZdGFzOIg734pQ+RQAEQSkLfIo= -`; - -module.exports[n`DFA minimization >> 1619: /[\[\](){};]/ `] = lit` -shnDSjYmMCVMm3QOuG92jSEC39aqWEGBHBrYWqUGXHs= -`; - -module.exports[n`DFA minimization >> 1620: /(\s)#.*/ `] = lit` -QTZheWpwRPeSrSuqV8E7JKBWr4VPdBW1vMr4sryCdWQ= -`; - -module.exports[n`DFA minimization >> 1621: /(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/ `] = lit` -hONzFd2aItuy7yFRZ3FlzAmunzWa32lYdGrMHtcLV74= -`; - -module.exports[n`DFA minimization >> 1622: /(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)... `] = lit` -nUVTT1c8Z5XWInULakvOSPDrhpB3hlnMXAOdNbxWMqs= -`; - -module.exports[n`DFA minimization >> 1623: /(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ `] = lit` -bUAx7gd+9/Eo0bnwA0gtBKdKo4g43JkzL3CFb52/aa8= -`; - -module.exports[n`DFA minimization >> 1624: /(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ `] = lit` -3TlRya/olseqzBAbaQztxWlgc4uAG9s5B8dVazKCKlk= -`; - -module.exports[n`DFA minimization >> 1625: /\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i `] = lit` -vfPp5LRqeoUkJ1N6di1fd15xhudwHuyhCFJGVfmWdwY= -`; - -module.exports[n`DFA minimization >> 1626: /\b(?:0x[a-f\d]+|\d+\.?\d*(?:e[+-]?\d+)?)\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1627: /[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in... `] = lit` -l9/M0kQ9uIo2ESDsaSRQg/TQd8n1y3nykJH3P5frEIc= -`; - -module.exports[n`DFA minimization >> 1628: /\.|:+/ `] = lit` -Gfk8XyC1jEtafq/Rz/q5qVuq3X3z9fLzn1F+ijWFuP4= -`; - -module.exports[n`DFA minimization >> 1629: /(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/ `] = lit` -vFAayNiodc1ex4JK6h8OYpKJ9P9eJiRPL/D6U7d2Qv8= -`; - -module.exports[n`DFA minimization >> 1630: /(^@)(?:GET_|SET_)/ `] = lit` -tGzqJIe3h1H2lwCyldb2PXttMaYbYk0Fn9DmyNcJ1bU= -`; - -module.exports[n`DFA minimization >> 1631: /\(\.|\.\)|[()\[\]:;,.]/ `] = lit` -mGWi+4qccdM2ApG5djS4ppl7D4fmTUw+ZjQZTCas3uc= -`; - -module.exports[n`DFA minimization >> 1632: /\(\*[\s\S]+?\*\)/ `] = lit` -TN008ZYd1IQnPNs2UMHGO/RzQuuHd3AEPSsMzmO6SlE= -`; - -module.exports[n`DFA minimization >> 1633: /\{[\s\S]+?\}/ `] = lit` -MuTQ8xtrscFhkgzH8zUaeJqz5z26gkVD8jcjm0PkDLA= -`; - -module.exports[n`DFA minimization >> 1634: /(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i `] = lit` -+HYX3cqcDQQuZ6dlAQtFPheM1HZENJvn/TlMp7yNRZc= -`; - -module.exports[n`DFA minimization >> 1635: /(?:[&%]\d+|\$[a-f\d]+)/i `] = lit` -fVUuuXiaEgi8lPTGp1/D7Wc90gxam37gkmCveDu1b1k= -`; - -module.exports[n`DFA minimization >> 1636: /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i `] = lit` -3/clMOAxgJqO3gw7g8LQKChBLrOfuiwhA44J/sZjUzI= -`; - -module.exports[n`DFA minimization >> 1637: /\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/i `] = lit` -IDfD5QMPbYctM50xboYbzIj2kWqDV3yIQw9cxm43U4Q= -`; - -module.exports[n`DFA minimization >> 1638: /(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|down... `] = lit` -3P1EYv4TbYAZ6pG5Kvdm2ICmMu1cI0v+AcBdbgQHJKA= -`; - -module.exports[n`DFA minimization >> 1639: /(^|[^&])\b(?:dispose|exit|false|new|true)\b/i `] = lit` -g88nF/oSPsnAk6mKAjpCj9YuVx3GfoaoAxdnCQKUOCM= -`; - -module.exports[n`DFA minimization >> 1640: /(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initializa... `] = lit` -OPWs5k9oWZv0ch+pXjHuDjDwP9abI4YJqYYtdmzOcoY= -`; - -module.exports[n`DFA minimization >> 1641: /(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|c... `] = lit` -GWn4Qbmrd7wN77W5kqPWDa59qbnmAxjJFBRV6baCAYo= -`; - -module.exports[n`DFA minimization >> 1642: /(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ `] = lit` -ndu7BvDrJmis19xCOnNcLHApZS7sLT//dU/+U51HqlM= -`; - -module.exports[n`DFA minimization >> 1643: /\(\*[\s\S]+?\*\)|\/\/.*/ `] = lit` -zdXSHDhnkdQHDS2MAuItNfIm7R/gvnjLmOs3BB9OUVo= -`; - -module.exports[n`DFA minimization >> 1644: /\w+(?=\s*\()/i `] = lit` -o6lXUcNyzD/nzKnl9btnLf5BYKIC3oqCVwGcFsU1zhQ= -`; - -module.exports[n`DFA minimization >> 1645: /->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/ `] = lit` -YKSlGb1mBN7G61xAwx9rnNJ+EKr4lvAr4tk9RCaUN/Y= -`; - -module.exports[n`DFA minimization >> 1646: /\(\.|\.\)|[()\[\]:;,.{}]/ `] = lit` -WOl+icuapgKcKJ5a6mS4qaEZyqMhwOC5uRzP1lJd1CE= -`; - -module.exports[n`DFA minimization >> 1647: /(["'\`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i `] = lit` -cCS47yuNTZ/cG5R0oQDjD8stiy75stCGsKDrIO+RdZM= -`; - -module.exports[n`DFA minimization >> 1648: /(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|o... `] = lit` -xthO3nDlPe+1/LuSPplWhtyIogFQjGoKA0xmIivB0Zw= -`; - -module.exports[n`DFA minimization >> 1649: /(^|[^&])\b(?:True|False)\b/i `] = lit` -72hNZeAduiAAb9ZlfP9TnvC2g2hcd1/aYX5q82oibHw= -`; - -module.exports[n`DFA minimization >> 1650: /(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i `] = lit` -O2+qPwsx6iiYmiE79auPKQ3+/JfTPcnq8RCnpnJOLkc= -`; - -module.exports[n`DFA minimization >> 1651: /%[01]+|&[0-7]+|\$[a-f\d]+/i `] = lit` -6wdZ5mF/30PllH9x6Mx3QOrCfV9P3uUySpHf3/jBQnQ= -`; - -module.exports[n`DFA minimization >> 1652: /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i `] = lit` -07+9FJWPPv5jK5mOo/i+7kHIErcAq2FJs5fMT/jnKHs= -`; - -module.exports[n`DFA minimization >> 1653: /(\btype\s+\w+\s+is\s+)(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:... `] = lit` -lKmyrKdkVam55I+GVx7261T5kiXeH8Mfr647LvZRFv4= -`; - -module.exports[n`DFA minimization >> 1654: /(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^(... `] = lit` -N3eLsMkePy1Fje8MncMBBpv6ECHcUpMbQcdE6Vf0Gj0= -`; - -module.exports[n`DFA minimization >> 1655: /(:\s*)(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]... `] = lit` -80wSR206RDNI+uKPZgh3jGdWIKA6RnyzfghoRVVrRzM= -`; - -module.exports[n`DFA minimization >> 1656: /[;,]/ `] = lit` -ks1vBUT876FtEaqH+NuSIhU+5MsXdf7ila2pgUoncUg= -`; - -module.exports[n`DFA minimization >> 1657: /YES|NO/ `] = lit` -7nHh0KxaTGq7YnXH1vO0N9w3rgBD7sTGsxrojcNWOFw= -`; - -module.exports[n`DFA minimization >> 1658: /((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s... `] = lit` -VSFSK/hOFc6aE1O4u6zW+zlmuE8b+lqteGEU4h5g7hI= -`; - -module.exports[n`DFA minimization >> 1659: /TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ `] = lit` -Tb4EsDajHHEwzKE8Vt6Ky3Ay4+/QhbU4UnbTE8Szhhg= -`; - -module.exports[n`DFA minimization >> 1660: /(^|\s)\d+(?:\.\d+)?(?!\S)/ `] = lit` -+/m6mrskM5ln9JGPnw6PV1RoEsCjzfTiHCgB/E27VeU= -`; - -module.exports[n`DFA minimization >> 1661: /^[-A-Z\d]+/ `] = lit` -mV5QFe/cqII++jk6qLlQ2C3BHhiWO7PPmZcgWUAcMhk= -`; - -module.exports[n`DFA minimization >> 1662: /^TLIST/ `] = lit` -VbioUdnxwJvwETZEUgblFtuwfSB/AwPln9GGx/dLPXs= -`; - -module.exports[n`DFA minimization >> 1663: /^(\s*)\[[-\w]+\]/ `] = lit` -u9cZ7kbwYLRdGqQgbsXKCYJzA6s3av0OzjfP8Cg6twQ= -`; - -module.exports[n`DFA minimization >> 1664: /^(\s*)[\s\S]+/ `] = lit` -jaSRELIgS9Ix2MehB//+JgZzneU7n2hA/cvXMvg5QUw= -`; - -module.exports[n`DFA minimization >> 1665: /^(\s*\(\s*)\w+/ `] = lit` -4qQeTrhKqpPR+jIrrFasM0Y57/fYzQSgQqw1mg50hm0= -`; - -module.exports[n`DFA minimization >> 1666: /[-\w]+/ `] = lit` -1OPOdMqiC81t9FAVQswT4fdh2oe+rztEOW4a5HJdycc= -`; - -module.exports[n`DFA minimization >> 1667: /^\(|\)$|,/ `] = lit` -TWrJo+kPSRUdjngo30EkkcLjbUydEbPRs7HPeRs0vCM= -`; - -module.exports[n`DFA minimization >> 1668: /\/\*[\s\S]*?\*\/|\bREM[^;]*;|<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\... `] = lit` -w1YBjRYaim43Ibqrdlow05TGNL1lglMc0ODcFM9wavA= -`; - -module.exports[n`DFA minimization >> 1669: /\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(... `] = lit` -pljhNcSPssnPG1fStUgT6fQDEoW8yATE26OiXiMw8eY= -`; - -module.exports[n`DFA minimization >> 1670: /[_a-z]\w*(?=\s*\()/i `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 1671: /<>|[<>]=?|!=|\*\*|[-+*\/|=@]/ `] = lit` -Emm0UIAwS8jntbWPZAT7inqCV5f0JzazEaKN6KZMlYs= -`; - -module.exports[n`DFA minimization >> 1672: /[:.;,()[\]]/ `] = lit` -Na/CIDtjDVWPjKmFIdw0sz9CklPxUWlk2ZOMQTForBY= -`; - -module.exports[n`DFA minimization >> 1673: /((?:^|[^\w-])(?:function|method)\s+)\w+/i `] = lit` -JRtbX5YEnZ3qZmojbPO0FUNLL82UcXGD6dgofBAIDPc= -`; - -module.exports[n`DFA minimization >> 1674: /((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|insta... `] = lit` -dG9bLcYvmhsbIX6SmzWDx+2HFN1L/CXXF7zRrZME4tg= -`; - -module.exports[n`DFA minimization >> 1675: /\b(?:and|not|or)\b/i `] = lit` -HP1RWD0wTlOtEw4Yh4F85qB/PzegqDoV1lDU/3NXy+U= -`; - -module.exports[n`DFA minimization >> 1676: /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given... `] = lit` -pDiineWtsUYn9WRBbq6qgvkVFkLzjuu+bwjnROdRfZY= -`; - -module.exports[n`DFA minimization >> 1677: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1678: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?... `] = lit` -HD3NTk2QzrjmpMcloU4tuglw3kziKKPZqoU5dVPHXFI= -`; - -module.exports[n`DFA minimization >> 1679: /[&*$@%]\{\^[A-Z]+\}/ `] = lit` -VnqFqPmJTvgWBXOTNWb+t+GtIJSQpJNlYVvDsKPflBQ= -`; - -module.exports[n`DFA minimization >> 1680: /[&*$@%]\^[A-Z_]/ `] = lit` -tP4w2Zj7vUPrtWsxIH3cXXgBzuMeR6QY3BxV4yYKCWU= -`; - -module.exports[n`DFA minimization >> 1681: /[&*$@%]#?(?=\{)/ `] = lit` -EuASvuwV4q5Zb37U1OusVpFcv/NudY3oQgAncA0Fc24= -`; - -module.exports[n`DFA minimization >> 1682: /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i `] = lit` -0fWGimG8uNW1jbKVvzwMjPrhaTMmVDNJAUaCo+cUcVE= -`; - -module.exports[n`DFA minimization >> 1683: /[&*$@%]\d+/ `] = lit` -sO1qAoCXEPImost/QvZPullbQSY8MiZruz99KXAQK/s= -`; - -module.exports[n`DFA minimization >> 1684: /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_\`{|}~]/ `] = lit` -bIK5we7Zu3vlAq9R941q+TmdGPSlRQYtsBIiDVv+f2k= -`; - -module.exports[n`DFA minimization >> 1685: /<(?![<=])\S*>|\b_\b/ `] = lit` -8cihx3Bp/9qJSUcwa1TCKH3HGmqG7O1O2DF5NIVRPqA= -`; - -module.exports[n`DFA minimization >> 1686: /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ `] = lit` -GIFEELpSjwCmieV027SeFNx4ZVROmBkDPCFZwmSUhyk= -`; - -module.exports[n`DFA minimization >> 1687: /sub [a-z0-9_]+/i `] = lit` -ZoyvQwWFSsKMwcFJkkfTRM/c9eEtbkKh8vPIkO/DF3A= -`; - -module.exports[n`DFA minimization >> 1688: /(^\s*)=\w+[\s\S]*?=cut.*/m `] = lit` -ll/iiMwt3g4feudT2G5AY8rlaMXqlbBCu5rPwQ7qyOM= -`; - -module.exports[n`DFA minimization >> 1689: /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1690: /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/ `] = lit` -No10iu8UKB1bJDsPWUBdfUpwn+04EN86w3dfL0XV2ag= -`; - -module.exports[n`DFA minimization >> 1691: /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/ `] = lit` -cXulw6C2q5WsLYUPbPKoUlJUYQy8SXi4CgADol7Br7w= -`; - -module.exports[n`DFA minimization >> 1692: /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/ `] = lit` -a1iTtfVjVTfIfpvcUeR0gDFoHnhUSLrBezOeT2Z6hlM= -`; - -module.exports[n`DFA minimization >> 1693: /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/ `] = lit` -iXBrRnDPuKbeMEE8nkNORU/UjeThXeoVS2rEaVtGPac= -`; - -module.exports[n`DFA minimization >> 1694: /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/ `] = lit` -2d65ITLjQpwNr3tt92YP4367eKvvKsq/g2tUwdgMYmU= -`; - -module.exports[n`DFA minimization >> 1695: /("|\`)(?:(?!\1)[^\\]|\\[\s\S])*\1/ `] = lit` -9kycROjFj4JsuGf2c8WFqFNu43gtONkNC3wbyMOgp78= -`; - -module.exports[n`DFA minimization >> 1696: /'(?:[^'\\\r\n]|\\.)*'/ `] = lit` -tJehzulrEzsAjHy3PS5oK30Fm7MRSmb5799H1g0dc34= -`; - -module.exports[n`DFA minimization >> 1697: /\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1698: /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/ `] = lit` -8esIzt3+rAzmohFR8E1qu+8P9WvRRM8RX6uxnSqbbsw= -`; - -module.exports[n`DFA minimization >> 1699: /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/ `] = lit` -1CEwWk227EpNOwT3iBwnL+JHApjh6GoFJy5LBaNVRWQ= -`; - -module.exports[n`DFA minimization >> 1700: /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/ `] = lit` -A3hhooI4aH6JNNJMT8rSIVxXgOVaYRMmSnBar68CLLg= -`; - -module.exports[n`DFA minimization >> 1701: /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/ `] = lit` -V21Qz+g1Jsr+PlPC/KQzoswoJtVDAAdJMBjR1Y10GKg= -`; - -module.exports[n`DFA minimization >> 1702: /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/ `] = lit` -cz3yD6YDEqZ/mErM9awU8XmU3eGoTgELQKYS4vpUw3I= -`; - -module.exports[n`DFA minimization >> 1703: /(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1704: /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\... `] = lit` -EiOH7lWwWEBbqerCZfwJj2Q3S1DowFKjuVogNGiG8pk= -`; - -module.exports[n`DFA minimization >> 1705: /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[ms... `] = lit` -sj0p8xvaAg/3KuFmxkHGY+kC56aOn4lmNcvuL0/+p5g= -`; - -module.exports[n`DFA minimization >> 1706: /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[ms... `] = lit` -j+UiltmPTsbgtpA6CFEQ3QpBRGQzKL5Qk6jg26gu7yc= -`; - -module.exports[n`DFA minimization >> 1707: /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][... `] = lit` -U1LJ2x+lzzy52LoxS0ALiIxxkteX3b5CUEdCz6Ygg3Q= -`; - -module.exports[n`DFA minimization >> 1708: /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpo... `] = lit` -yWYdVDD+0Ut+615l35mJI9YNr5FPKuXy5qwfRwoq5Qo= -`; - -module.exports[n`DFA minimization >> 1709: /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:l... `] = lit` -MFQSyLkijIT201RFIMd2SIneLljXhsPhdvQDkTSlqqQ= -`; - -module.exports[n`DFA minimization >> 1710: /sub/ `] = lit` -PlJNYm72Sdht2QqhLoyMcFXaLeG+H+FPth9FlNQuwsk= -`; - -module.exports[n`DFA minimization >> 1711: /(@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[a-zA-Z]\w*|[|\\[\]]... `] = lit` -B4qJEZsJCpN5xayswoanedXTQwREaBDedMFH4jcrKjM= -`; - -module.exports[n`DFA minimization >> 1712: /(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|va... `] = lit` -CgD6OISnOeyb6zioYQPVSxT5QYhZBMHVRgD1DNicDnc= -`; - -module.exports[n`DFA minimization >> 1713: /\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|m... `] = lit` -6ohDCjoFA64dx5GaBppVi2ft9shKt8H3Yek2FyLCaUQ= -`; - -module.exports[n`DFA minimization >> 1714: /[|\\[\]()]/ `] = lit` -OxbUpqP09bY+d++XDH/z+YfDhnfnQ+9cu3iKe54aR28= -`; - -module.exports[n`DFA minimization >> 1715: /\$this\b/ `] = lit` -9t5b/K0IgqVKqy2pTCm2f+7WtL9PEw9h0JKkkiXH6RQ= -`; - -module.exports[n`DFA minimization >> 1716: /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POS... `] = lit` -U8oiyl1a5AeADOZyp750d0Cqa09ApGVvW2R7DdOBQ/0= -`; - -module.exports[n`DFA minimization >> 1717: /\b[\w\\]+::/ `] = lit` -LfKnAXcTIGI3CwwbPGXHVUm+6sxVRaBqZw3hpr7S09g= -`; - -module.exports[n`DFA minimization >> 1718: /static|self|parent/ `] = lit` -I+GGL37S4s1v3zsd3yRsZW2u+3eFnY9mcFzC5IxI7Us= -`; - -module.exports[n`DFA minimization >> 1719: /::|\\/ `] = lit` -G19s2cBIUkN22SNJafScC9SV/FDbSjW5SEetT/6W1Ss= -`; - -module.exports[n`DFA minimization >> 1720: /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)... `] = lit` -HQJfy2nx/hotkl+7Evp06a0k8h+CJNOwS0dtJPXYfHE= -`; - -module.exports[n`DFA minimization >> 1722: /\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i `] = lit` -7ZjccXe8oeT8+iIQOzzR34+uGYnlHhC3we7JWk7K0pM= -`; - -module.exports[n`DFA minimization >> 1723: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|... `] = lit` -9XXKiVV2drG2WRbGVVh21toF1G7bUg0KtG8P6MUiPIU= -`; - -module.exports[n`DFA minimization >> 1724: /[;[\]()\`,.]/ `] = lit` -LPPcPRcSpYOkAdCiDiz1dqEmyg4WPwkH2gYVOIkKWxs= -`; - -module.exports[n`DFA minimization >> 1725: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/ `] = lit` -BwczitZlB+OdjiQetDELpYgvgJ5WMWxwZ8eKgvSvM24= -`; - -module.exports[n`DFA minimization >> 1726: /@[\w.$]+/ `] = lit` -NLNS3KELBLojZrTLJdN0EKQDJTR9T1z3bCWN7dpS7Ws= -`; - -module.exports[n`DFA minimization >> 1727: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/ `] = lit` -9hazWTcGrOoF6Jbrx1/KPNqe7v9Ks64Nultq5p01Hig= -`; - -module.exports[n`DFA minimization >> 1729: /:=/ `] = lit` -rqspkmfhclDjP18gPpfITefAVT5FAYEcWvKTonb48pI= -`; - -module.exports[n`DFA minimization >> 1730: /@(["'\`])(?:\\[\s\S]|(?!\1)[^\\])+\1/ `] = lit` -pqm5slEuNgRMVAhWjNHPDVq26KWqwp9NxfghjQYNWt4= -`; - -module.exports[n`DFA minimization >> 1731: /\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwis... `] = lit` -LH6dXKwxnZloKptNQCjAS06BNkvg4NnbwPfp7oLVkcI= -`; - -module.exports[n`DFA minimization >> 1732: /[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ `] = lit` -lLyyNgVA8N5mAA0uaipRXZIvyMLOZcTSUn/dmiGJfpE= -`; - -module.exports[n`DFA minimization >> 1733: /[,;\[\](){}]/ `] = lit` -0PFMHC+DvccriYdqAJ2Uo+HWzTlnMVJNLOnj6j/5ppM= -`; - -module.exports[n`DFA minimization >> 1734: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/).*)/ `] = lit` -wUS0o3mGY+HZPdtDo83pRtR5j0PLaGdeSO/qphpEBow= -`; - -module.exports[n`DFA minimization >> 1735: /#"(?:[^"\r\n]|"")*"(?!")/ `] = lit` -Mv12ofwsdT67VhVDq9R7uduBFRd6LzuCQwC4VzQ13so= -`; - -module.exports[n`DFA minimization >> 1736: /\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ `] = lit` -uBLrWT+bWbdYTl56q5YjwQt7rj3mDSaD7QgM+VE/MfA= -`; - -module.exports[n`DFA minimization >> 1737: /\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ `] = lit` -+0hpTtaZjRygIba2C/twXbhiCxLo726dbysWPBC6ul0= -`; - -module.exports[n`DFA minimization >> 1738: /\bOccurrence\.(?:First|Last|All)\b/ `] = lit` -EoAAmqE6FdbrRWonEYwKphfad1MQYPaUNKobaDfUzlI= -`; - -module.exports[n`DFA minimization >> 1739: /\bOrder\.(?:Ascending|Descending)\b/ `] = lit` -sFPfjtX81pmjN8HE8i5fHuLbCOXyGHvKKCvV9wDgzrY= -`; - -module.exports[n`DFA minimization >> 1740: /\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ `] = lit` -KQDmnbJ7yby5PnXOyBJ/NM4y+SgNd773tG2p0aBsE5A= -`; - -module.exports[n`DFA minimization >> 1741: /\bMissingField\.(?:Error|Ignore|UseNull)\b/ `] = lit` -DoHmIK5VoIXgHJAUFFlWE54m6rxnQRUr2vTWOXCMSdk= -`; - -module.exports[n`DFA minimization >> 1742: /\bQuoteStyle\.(?:Csv|None)\b/ `] = lit` -/tL8QGgiOvArEOYixI6mv1a/AGQLavL83QW7LLYrOdM= -`; - -module.exports[n`DFA minimization >> 1743: /\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ `] = lit` -ZOvhWuDWp2/327eEgqWFfhO38X0ZL0oT+LfloOCj0Io= -`; - -module.exports[n`DFA minimization >> 1744: /\bGroupKind\.(?:Global|Local)\b/ `] = lit` -sW3MusMdYO+Ile+q9gXH3LQDrV3odBXWBKYOHSReEU0= -`; - -module.exports[n`DFA minimization >> 1745: /\bExtraValues\.(?:List|Ignore|Error)\b/ `] = lit` -ITXVWsiNBLWUab4gIpwZ1YTAk2W89BazrPKYd3t8o/I= -`; - -module.exports[n`DFA minimization >> 1746: /\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex... `] = lit` -4cO4/hmKWPWe2US+6phglE2AqwfFhFedCV/0qXokjTw= -`; - -module.exports[n`DFA minimization >> 1747: /\bJoinSide\.(?:Left|Right)\b/ `] = lit` -0wUj+kIs2SOYgi0IDvbRB/GwehKQT7KyBhCLt4y9L+U= -`; - -module.exports[n`DFA minimization >> 1748: /\bPrecision\.(?:Double|Decimal)\b/ `] = lit` -KAdYiTGe0SoccPTAdP8ia9lu7YgdI27scFOi6/nt4EQ= -`; - -module.exports[n`DFA minimization >> 1749: /\bRelativePosition\.From(?:End|Start)\b/ `] = lit` -bzZjE6uGS0vKh0OGVnZIPXu7E1okMVtUskIiCz3ArGw= -`; - -module.exports[n`DFA minimization >> 1750: /\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ `] = lit` -Dn739JDHbL7ZjdXeV2/sJeRwUeT7dEMwegU5ZhPKa7Q= -`; - -module.exports[n`DFA minimization >> 1751: /\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Func... `] = lit` -i70j445wo8AOUzDkOdutY7W0J4+Iw4XmAEaKO7VU7BA= -`; - -module.exports[n`DFA minimization >> 1752: /(^|[^#\w.])(?!\d)[\w.]+(?=\s*\()/ `] = lit` -ZECyCg4DH7qpzHDBHl30SJnhFKk1hTlFKcNRyY1kTNE= -`; - -module.exports[n`DFA minimization >> 1753: /\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|lo... `] = lit` -Qw0VgvN6MuM9il0ub65Wu2zEnZTY6tW//P+hinJdypI= -`; - -module.exports[n`DFA minimization >> 1754: /\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+... `] = lit` -luAsinf0aJlDCGXp4taNCHZpHtP8quS/e+jU/j+d25g= -`; - -module.exports[n`DFA minimization >> 1755: /\[[a-z](?:\[(?:\[[^\]]*]|[^\[\]])*]|[^\[\]])*]/i `] = lit` -qEovOJdUjPDm7mjmK2LlDAOJ271XoRriR53I8kJ344k= -`; - -module.exports[n`DFA minimization >> 1756: /\$(?:true|false)\b/i `] = lit` -E//V91qF9b2BYla43qLE+Ygk22c9aqxcJsImOo4IByI= -`; - -module.exports[n`DFA minimization >> 1757: /\$\w+\b/ `] = lit` -RQJC+6hkWbDXNo5naUkdYhLDRPuqQa8CZNP/KrZmQto= -`; - -module.exports[n`DFA minimization >> 1758: /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|E... `] = lit` -PQijYJC8YM8wFpIVekQVdWzkCTi2KljZ9ou6juc8fjc= -`; - -module.exports[n`DFA minimization >> 1759: /[|{}[\];(),.]/ `] = lit` -D97cEBxPYQKYUsUuTqYgwRvzPdROP8fGCJfNCBIruck= -`; - -module.exports[n`DFA minimization >> 1760: /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Co... `] = lit` -g7DhbXPYgUX/Zj6uGtkFrn5vQ4jM2ixNJVfgLYWaagY= -`; - -module.exports[n`DFA minimization >> 1761: /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir... `] = lit` -Vdj+s15q4M5WXu6f/kmqIy4EuqMl7fN3nuEGuDAQsZs= -`; - -module.exports[n`DFA minimization >> 1762: /(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match... `] = lit` -Bof+WVytnrgP5WXNVhuGtLyQiFqvgM0IvMVGLgZZ7Fs= -`; - -module.exports[n`DFA minimization >> 1763: /(^|[^\`])<#[\s\S]*?#>/ `] = lit` -hdg5m+Ols8Xm7d6wlY62EU6jz4rwDucq/VIee12Kpmc= -`; - -module.exports[n`DFA minimization >> 1764: /(^|[^\`])#.*/ `] = lit` -duEdRjLR2gyxzWie15olCez4NjaqcPrc6PLbbkLwVtc= -`; - -module.exports[n`DFA minimization >> 1765: /"(?:\`[\s\S]|[^\`"])*"/ `] = lit` -5K1zuabjw2m7G26IUIfT6WOvVjaf13esyEJkyxT84GI= -`; - -module.exports[n`DFA minimization >> 1766: /'(?:[^']|'')*'/ `] = lit` -OSHWhWgHeo4xD+CoR/FNrMLmUKeazUVBJgQHJPZvv5Y= -`; - -module.exports[n`DFA minimization >> 1767: /(^|[^\`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/ `] = lit` -TqUt+Zupuk/k8fzz4As76bM+3ld7u8YiQAaudyesvVc= -`; - -module.exports[n`DFA minimization >> 1768: /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implemen... `] = lit` -tpCxS8WhplbJcHTUJgjGazkLOGKfyXkv8OUSmJdVUwE= -`; - -module.exports[n`DFA minimization >> 1769: /\b(?!XML\b)[A-Z][A-Z\d_]+\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1770: /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/ `] = lit` -ymqkjl0KbapHlqWg//+ViscrHSweNCg4N6A6dvpK+E4= -`; - -module.exports[n`DFA minimization >> 1771: /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ `] = lit` -F01G5LORFrF39YuOJI5sks3/ohxM3RbnbWP6bFLrF+Q= -`; - -module.exports[n`DFA minimization >> 1772: /\b(?:fx|fy|xf[xy]?|yfx?)\b/ `] = lit` -wFNyqaXlH/lkU96PaQ5NmgNs/FtlbrWGcat/jGDSI6U= -`; - -module.exports[n`DFA minimization >> 1773: /\b[A-Z_]\w*/ `] = lit` -mJJ3BOz91xlfDCaiJjjvPdLtxESZWyAony2UmbEreaw= -`; - -module.exports[n`DFA minimization >> 1774: /\b[a-z]\w*(?:(?=\()|\/\d+)/ `] = lit` -cVwzqbgV8Iy84TPtdwbKdFQfZDTQfVcodT9xksbamcs= -`; - -module.exports[n`DFA minimization >> 1775: /\b\d+\.?\d*/ `] = lit` -M+D1xPQWkcPMzj23cvNzSSPvUPLjERydOQWizRQATHU= -`; - -module.exports[n`DFA minimization >> 1776: /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/ `] = lit` -j20PnK3hyM5r5bxRYH0x/5f/nIGs4M03GkVxzlzA40U= -`; - -module.exports[n`DFA minimization >> 1777: /[(){}\[\],]/ `] = lit` -iglKt0sw55oGX36OeEv6h6ML3VYcy2o/r8eRjdtkOhE= -`; - -module.exports[n`DFA minimization >> 1778: /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ `] = lit` -LIrjeC/TEc9//DKTEVXoUhLS3BGBvzy3w8/sKTtRrwM= -`; - -module.exports[n`DFA minimization >> 1779: /^[ \t]*[#!].*$/m `] = lit` -JQHYZPuwOFCDgegdGv0ZRAq26vMxrkHyOeb07t+6J7M= -`; - -module.exports[n`DFA minimization >> 1780: /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?= *[=:] *| )/m `] = lit` -vuikBU97rGG+0Vp2ieu7quYhTmrBVLOMx06KfNdGxag= -`; - -module.exports[n`DFA minimization >> 1781: /[=:]/ `] = lit` -c6C5h5UUVujI79/PUNroJnVWJh5I4E/fqDkr6E77lt8= -`; - -module.exports[n`DFA minimization >> 1782: /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?: *[=:] *| ))(?:\\(?:\r\n|[\s\S])|[^... `] = lit` -MLewVfRWMBzZF0FT4ldH+8aWE23dDkMknQ1vZgg7FYI= -`; - -module.exports[n`DFA minimization >> 1783: /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1784: /\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ `] = lit` -wSZFc7e6fvKEKyRhg0UaCZ1bKVOs1tvcmGuutmpvHhg= -`; - -module.exports[n`DFA minimization >> 1785: /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i `] = lit` -Q4T7YcwULPn6Q0AM1yiuOLZ/nUWrAYzAch2IjIMK/qM= -`; - -module.exports[n`DFA minimization >> 1786: /(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i `] = lit` -2t5U4Z8nUpqlsMfOqzBB29k8hdi3EuqLd3rL5LXjvrA= -`; - -module.exports[n`DFA minimization >> 1787: /(\[\s*)[a-z_]\w*(?=\s*=)/i `] = lit` -TVFo5ZKB18y44Z/dDzlBN8VFJQxScf9k8zzQ1BD7lpw= -`; - -module.exports[n`DFA minimization >> 1788: /(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/ `] = lit` -EK/wo9Tvc8VjzrkTud92tzH0EGTCTUzmt+JwUOPGIY4= -`; - -module.exports[n`DFA minimization >> 1789: /(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*... `] = lit` -hF0V3kZYdcjCbCl73y2QbdQtmdeAnpJnk4XAitab5Wg= -`; - -module.exports[n`DFA minimization >> 1790: /[<>.,]/ `] = lit` -x+Na3pzalo4FC5Bnzc78p7M1CJIWgX1Y5DDCfxuu+bY= -`; - -module.exports[n`DFA minimization >> 1791: /[.\-!=|]+/ `] = lit` -cJrKFQGby14FbwVK6CKKasUnYEpnnD9iKHbAXpUnAQs= -`; - -module.exports[n`DFA minimization >> 1792: /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ]+.+)*/m `] = lit` -+3PWUKleFm+R8gzMjiGeLiPAfdf3ZUx6S22ku/uZGAU= -`; - -module.exports[n`DFA minimization >> 1793: /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1794: /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1795: /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1796: /(^[\t ]*)<.+/m `] = lit` -KcEAST+TElFWukZ2kDmswCHa/OvbSWWScFTfh1rllro= -`; - -module.exports[n`DFA minimization >> 1797: /((?:^|\n)[\t ]*)doctype(?: .+)?/ `] = lit` -L+8bAzkfdkWkZ6/DyWM4IvkOz/UvDUZWK9QuyfzSGSs= -`; - -module.exports[n`DFA minimization >> 1798: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m `] = lit` -kVH32+iWfQQwpxKAsgzDGH3Qf7iajdlJz2119DITH6A= -`; - -module.exports[n`DFA minimization >> 1799: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m `] = lit` -rMZnqvEQEhKdG8rbVqSeI2QvGQ07BVNE6AYzu4Qg26c= -`; - -module.exports[n`DFA minimization >> 1800: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m `] = lit` -TZyiBlkiiNWUUzTtC2wDMPbt8JFP30pI85qHTEWGS74= -`; - -module.exports[n`DFA minimization >> 1801: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m `] = lit` -bVzEZAxIoZuH28Un6gKoHN04E46bx9+BZjb1HRS0/iY= -`; - -module.exports[n`DFA minimization >> 1802: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m `] = lit` -m8kALa5WPcZ0WxaN0l4if3antMjiKSAKT3tmWZt2yxA= -`; - -module.exports[n`DFA minimization >> 1803: /(^[\t ]*)mixin .+/m `] = lit` -6ugO8OGtZrw7whmhUY1ygJH2S+eG1xAGWSHDTRHMCqs= -`; - -module.exports[n`DFA minimization >> 1804: /(^[\t ]*)\+.+/m `] = lit` -vx1yRLnh3AmsYMecwejbSmL7k6vzHp3P4+4QCVLrDxE= -`; - -module.exports[n`DFA minimization >> 1805: /#[\w\-]+/ `] = lit` -mR+VyCZsnA9ZGh1nhBNBKl625SxeVRh8WsVtxvnrga4= -`; - -module.exports[n`DFA minimization >> 1806: /\.[\w\-]+/ `] = lit` -L7ZR/nSSNBrPHNw7jJkFgRVczgi/4KxjuGnXJLKvPYQ= -`; - -module.exports[n`DFA minimization >> 1807: /(^[\t ]*(?:-|!?=)).+/m `] = lit` -lWleHBHc4nQljVAQquSy63lZL42kHPQd4xHOa+kU21E= -`; - -module.exports[n`DFA minimization >> 1808: /^each .+? in\b/ `] = lit` -GwHizM2alcMjdKVlPxUUUULn1Zc+zqj+Odkzt6igtgE= -`; - -module.exports[n`DFA minimization >> 1809: /^(?:if|unless|else|case|when|default|while)\b/ `] = lit` -UwLH0K1xfZFCrdNx/gPMLElX+oBRtH+w2MirlxdCHSg= -`; - -module.exports[n`DFA minimization >> 1810: /^mixin/ `] = lit` -QcK61mGDGFlXyPs3StrcqOFBhLlgcreVkF3lOvACwgk= -`; - -module.exports[n`DFA minimization >> 1811: /\w+(?=\s*\(|\s*$)/ `] = lit` -THuOiM+siVV4G/1MAGc8Uz6/r1pKYVjdRSd3UsqjnL0= -`; - -module.exports[n`DFA minimization >> 1812: /[(),.]/ `] = lit` -u1Sz7nz4vMrqxaMQRV31FvX/WSp9PWFE8qcoMYbbCkc= -`; - -module.exports[n`DFA minimization >> 1813: /\b(?:each|in)\b/ `] = lit` -1i3G1QN8mpRYEIXPdotTbBpIk65SFj8HFiXoOngndmQ= -`; - -module.exports[n`DFA minimization >> 1814: /^\+\w+/ `] = lit` -2TRocn+miMBf6jWiLCnXJChzluiGVj56g0Jli5N6mio= -`; - -module.exports[n`DFA minimization >> 1815: /&[^(]+\([^)]+\)/ `] = lit` -DUYC1o3EHv9nLVvDJV0VvO4sexsEp1arzesPIyjXn3w= -`; - -module.exports[n`DFA minimization >> 1816: /[\w-]+(?=\s*!?=|\s*[,)])/ `] = lit` -9k9b6vALgQ67m+z0gV7j16Rv9RGWOFuXyaW7eX2L5o8= -`; - -module.exports[n`DFA minimization >> 1817: /[!=(),]+/ `] = lit` -UmmrRJXuICUiNXmDpUqGJeDcqxwKPjZTHQDI2hap6uk= -`; - -module.exports[n`DFA minimization >> 1818: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/ `] = lit` -5MQN1TVdmyDaWqC2UXKYb4J9IPtiGlKz/7tfKNyy5v8= -`; - -module.exports[n`DFA minimization >> 1819: /[{}()\[\];:.]/ `] = lit` -Yk8+vEwAndw3gD0UE+yb+k1flN99PkxnfkAOmVNTfh4= -`; - -module.exports[n`DFA minimization >> 1820: /\{#[\s\S]*?#\}/ `] = lit` -oqcZ1KoYTlvK9MH9OVIoA0w75xQk2Bg3xcsr1OAq0vY= -`; - -module.exports[n`DFA minimization >> 1821: /(^\s*)@.+/m `] = lit` -bt8lWzLmG2x2PQQnGA+1cLo7my+Q5dIPYAGFYoYAIhQ= -`; - -module.exports[n`DFA minimization >> 1822: /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m `] = lit` -qtRFdUDGBcoHQzrzrzHkAWEo/9ZsojhcPWwnLqnjlRk= -`; - -module.exports[n`DFA minimization >> 1823: /(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m `] = lit` -uWkIScfTXOgvuZjBJmPHbjuR9dqCBU/gwpqjv0ljVNU= -`; - -module.exports[n`DFA minimization >> 1824: /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r... `] = lit` -4MFXZ+1RJoxaJpI36WRtNjoco1y75ujeZMMnyS7tq/4= -`; - -module.exports[n`DFA minimization >> 1825: /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(... `] = lit` -wZBFYEbqv0guodlOu83OLQ8AVu0MSlGYj+//0nrd/Rg= -`; - -module.exports[n`DFA minimization >> 1826: /[\w-]+\([^)]*\).*/ `] = lit` -BU7dhhQfIGiCMojIzfGEMVlMYO0Sz1sD/RExRN627Dw= -`; - -module.exports[n`DFA minimization >> 1827: /\{[^\r\n}:]+\}/ `] = lit` -fhj19TqLy3IcOe7Az8QtQRAJYFn5xSm7xLw6idyQovQ= -`; - -module.exports[n`DFA minimization >> 1828: /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/ `] = lit` -s2vDELNWGahHIXx2KJ+sWIIGK9dm7L2mQQopEGSr/YM= -`; - -module.exports[n`DFA minimization >> 1829: /(^([\t ]*)):atpl(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1830: /(^([\t ]*)):coffee(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1831: /(^([\t ]*)):ejs(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1832: /(^([\t ]*)):handlebars(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1833: /(^([\t ]*)):less(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1834: /(^([\t ]*)):livescript(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1835: /(^([\t ]*)):markdown(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1836: /(^([\t ]*)):sass(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1837: /(^([\t ]*)):stylus(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1838: /^\S+/ `] = lit` -hPej3e0ijHrkLuZr6FXN8D5fiIMQPnfHQNNZZ50/hwg= -`; - -module.exports[n`DFA minimization >> 1839: /^[^(]+/ `] = lit` -KG+Wnx5pViN+s+dXrls8teAnuZF8XF+cXekSIQc/PLQ= -`; - -module.exports[n`DFA minimization >> 1840: /\b(?:even|if|odd)\b/ `] = lit` -qUSDpo9aA5Omio3X5N0if4EOiguWokF3QfAkLFTIKOs= -`; - -module.exports[n`DFA minimization >> 1841: /\b(?:true|false|null)\b/ `] = lit` -Mae4Qu+dZcrgYs2Oz2E8YNID9zsiOwo03A1FnlotfjA= -`; - -module.exports[n`DFA minimization >> 1842: /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ `] = lit` -kfKOfFOyjgCBZmC5DIDn4XQk7E3TUUr0MOS1oxqTO9c= -`; - -module.exports[n`DFA minimization >> 1843: /\b[a-zA-Z_]\w*\b/ `] = lit` -y9c0YdbMlRuhocalMZzZ/d9rzWu4akQXSoO7HHk2UjU= -`; - -module.exports[n`DFA minimization >> 1844: /[()\[\]{}:.,]/ `] = lit` -JN/fCHc79rY3Es/Q+sH2dz76lJv4HXs1LkjcFwcPQpU= -`; - -module.exports[n`DFA minimization >> 1845: /\B!(?:important|optional)\b/i `] = lit` -oMdNFx33caaB/naWXN6OsfPxkNGq9+AJ6Tqn/o1xzYI= -`; - -module.exports[n`DFA minimization >> 1846: /#[\da-f]{3,6}/i `] = lit` -8mrnsbboC8MNW7ZRgrefjKQ2bJXdAO4+tTb5SggPofI= -`; - -module.exports[n`DFA minimization >> 1847: /[{}()\[\];:,]/ `] = lit` -BcW2jl+LTpQFuWdxPnJQkKHX9Z0/VP8e3uhZR2e8e2Y= -`; - -module.exports[n`DFA minimization >> 1848: /^[^\s:]+/ `] = lit` -bBDgluSfEDNOp6ST9vwqpPyYA9EogXZBS8tqJdZfeAY= -`; - -module.exports[n`DFA minimization >> 1849: /^{|}$/ `] = lit` -W4AY52cBoSQcGVz0+lDanHZsFAo9JSCbKL809xmRCVc= -`; - -module.exports[n`DFA minimization >> 1850: /^(?:\{\{-?|\{%-?\s*\w+)/ `] = lit` -Qm4mGcXp4YwGkC2l3y+hSEcXX+jo7HvD58wganCAZDs= -`; - -module.exports[n`DFA minimization >> 1851: /-?(?:%\}|\}\})$/ `] = lit` -sq4MIJpas+xzAExMlX7Gt/Dgg58HiBm2D5ad0JLmHXI= -`; - -module.exports[n`DFA minimization >> 1852: /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/ `] = lit` -OntV19dDLTive5kwH1dg69ugveR2JwTX3anXF8FlLKc= -`; - -module.exports[n`DFA minimization >> 1853: /url\((["']?).*?\1\)/i `] = lit` -n7XCNtAxDgcVc3+esWMes/N7+k2tdAuy1gZ/ocgppRU= -`; - -module.exports[n`DFA minimization >> 1854: /(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/ `] = lit` -MXUTbujE3MMpemk/R8jO9womijjbesh4bsosQWk0IE8= -`; - -module.exports[n`DFA minimization >> 1855: /(\b\d+)(?:%|[a-z]+)/ `] = lit` -cx0XFq2coUgpGBsZRYPRgynPpRF1mrDcATDagqEMRT0= -`; - -module.exports[n`DFA minimization >> 1856: /~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| define... `] = lit` -OL9wvncePszHWTAKxsVI7k6ZHPjTbMTONnGP8EV7R4A= -`; - -module.exports[n`DFA minimization >> 1857: /^(?:\{\{|\{%)-?/ `] = lit` -mNHnaSBae5MPYJp4MIhTBup0J+bC5gv27KEl2tZ3ncE= -`; - -module.exports[n`DFA minimization >> 1858: /^['"]|['"]$/ `] = lit` -g6McrMH9hSG6PDcxY+s6WbLo0aQlCWFBNZyiHnazkFc= -`; - -module.exports[n`DFA minimization >> 1859: /(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)... `] = lit` -EwJo+ZGB2OKw+TVu1DWLmbupD/fs5e6ZgUJaBxHRz+s= -`; - -module.exports[n`DFA minimization >> 1860: /(?:\w+|\*)(?=\s*=>)/ `] = lit` -c7Sl0t8Om0RJDOV4ycGexXIGh3zySh0lr95lAkfBp4s= -`; - -module.exports[n`DFA minimization >> 1861: /\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i `] = lit` -3x1vwFqbCOmOMTJQ2RYd+GklMdDdXsPnWTQxdZzPczs= -`; - -module.exports[n`DFA minimization >> 1862: /\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if... `] = lit` -28i2VWQent/9awmorcXGwhFxLSIpfdjFKPdm7Yy3wFY= -`; - -module.exports[n`DFA minimization >> 1863: /=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\... `] = lit` -zpc+i5CV+GccvnMg6idqPWicChf9lFPLwV8kXsnP9S4= -`; - -module.exports[n`DFA minimization >> 1864: /[\[\]{}().,;]|:+/ `] = lit` -W1uBieguVLapdL5040RWdpH5leudRwbz+RaI01uMXA8= -`; - -module.exports[n`DFA minimization >> 1865: /((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\... `] = lit` -46BGTBXl9rQrtw1YJw2u7f3Ro+/oPuBQT2UTbJgIYo8= -`; - -module.exports[n`DFA minimization >> 1866: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|(?!\1)[^\\]|\\[\s\... `] = lit` -Sk4ljhyaSrpu9HEPwZR1ILUTuQCZTZ7Ox/ABj11O5U8= -`; - -module.exports[n`DFA minimization >> 1867: /\$(?:::)?\w+(?:::\w+)*/ `] = lit` -e75+c/ojlBEzvsaIXP7wX86Oj3DdYiagAczp+JxYd0s= -`; - -module.exports[n`DFA minimization >> 1868: /\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|... `] = lit` -9VIPW0Sr3mpNtS2nIl70YfZyPNuet9fGh0gzZnLaR1E= -`; - -module.exports[n`DFA minimization >> 1869: /\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum... `] = lit` -6b/reH0QFD3k2o7Vub6oHrBSrWPuvlaULlKA2VHgeGg= -`; - -module.exports[n`DFA minimization >> 1870: /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1871: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1872: /@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/ `] = lit` -Em9KaZ6SDOgI2viWwDNB+38OtMfLmaERqYOdHx9CvQ4= -`; - -module.exports[n`DFA minimization >> 1873: /::/ `] = lit` -an1yT/lHhXWdaUAa+TzXEckIV45dQ+zUDYmZLMewQQU= -`; - -module.exports[n`DFA minimization >> 1874: /(\.)(?!\d)\w+/ `] = lit` -4ECgLJYUhglw2904kO/VhoYlcMdLb26Kvia9YUst4fo= -`; - -module.exports[n`DFA minimization >> 1875: /(?=\S).*\S(?= *$)/ `] = lit` -fqRLozyGIJhOZXF3a9BMaF3rsLQInwuiYJFoH94ZfWI= -`; - -module.exports[n`DFA minimization >> 1876: /^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/ `] = lit` -Rj3x6ESPNogFTT1OhoD08bSnau2myke/rn3AwRNx28U= -`; - -module.exports[n`DFA minimization >> 1877: /^"[\s\S]*"$/ `] = lit` -tewT8ZB5XpVjrHrcQcRUeKo7ARZCLcJRXm7zuwDot/8= -`; - -module.exports[n`DFA minimization >> 1878: /(\().+?(?=\))/ `] = lit` -sCV6GQfN+1k164UZLH/dJ0xZluyTAm2OYaPEFRUlEXA= -`; - -module.exports[n`DFA minimization >> 1879: /(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/ `] = lit` -hogxl+fJfaqEmxDsdwex2jDbBN82a7uaqKbWSSJ7svs= -`; - -module.exports[n`DFA minimization >> 1880: /(^|[^\\])\$(?:::)?\w+(?:::\w+)*/ `] = lit` -rTbr8OFEBUEziwWIrxVKicK3uEqB5ZwbOP/oThUMsoA= -`; - -module.exports[n`DFA minimization >> 1881: /(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/ `] = lit` -2wpkQufCvYXo8dxDqAm7SnOzuw3cnB4bsx1jEe3uD2Y= -`; - -module.exports[n`DFA minimization >> 1882: /^\$/ `] = lit` -h+83OPIyGjau4l311cB3um/sp043OT4wA/3xoZDgxGE= -`; - -module.exports[n`DFA minimization >> 1883: /\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|f... `] = lit` -XBmbJ9iqiyt1YsbbWqb1JWeyGIcDRDmLFwqhHD1cP6k= -`; - -module.exports[n`DFA minimization >> 1885: /(?:[!"#$%&'*+,\-.\/:<=>?@\\^\`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)... `] = lit` -7qyMcApIl1YBf04rBXAJfgs1UjHUQhRD3x/1O81C0hQ= -`; - -module.exports[n`DFA minimization >> 1886: /[(){}\[\];,|]/ `] = lit` -pMNVrK47diNgCkuYavdj8E2Wl/9cNxI9FJliJTi+E08= -`; - -module.exports[n`DFA minimization >> 1887: /%<[\s\S]+?%>/ `] = lit` -uhzg1WpSUY22h7gk94u3Hm6pgvv5a8mTQZTGn+OWO4A= -`; - -module.exports[n`DFA minimization >> 1888: /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d)?|\B\.\d)\d*(... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1889: /\b__[a-z]+__\b/i `] = lit` -Lv7wLJGjwn+L4JXaxE0lzrGoo2O64hK55hzeQqwVTIc= -`; - -module.exports[n`DFA minimization >> 1890: /(^%< *)-\*-.+?-\*-/ `] = lit` -lWp8/0meoIwCIoapp0N/9RJdHJHplsWhp9OPiHQnSeA= -`; - -module.exports[n`DFA minimization >> 1891: /^%<.*|%>$/ `] = lit` -azlYPVI6przdFFt4EOMbzVkhzmNEQyTYnmlt+YZwlxA= -`; - -module.exports[n`DFA minimization >> 1892: /%< *-\*- *c\d* *-\*-[\s\S]+?%>/i `] = lit` -HFJhGl6Y1iFIEj1axqPwEg4Gdg1GkYAFQem7fweOJQA= -`; - -module.exports[n`DFA minimization >> 1893: /%< *-\*- *c\+\+\d* *-\*-[\s\S]+?%>/i `] = lit` -3JxVxnbUUC9usPWRH0I6FQgUwD48lxtRFw3GlOY/dlw= -`; - -module.exports[n`DFA minimization >> 1894: /%< *-\*- *fortran\d* *-\*-[\s\S]+?%>/i `] = lit` -D73Z0RwN1Ew4U5kZ5wu5Eq7vu/7bskvtnd4P64GzXIQ= -`; - -module.exports[n`DFA minimization >> 1895: /\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compile... `] = lit` -CW4BeCdPFxvv5zY6TxV5kfAJg58fGfk4RBNMnOQtcWE= -`; - -module.exports[n`DFA minimization >> 1896: /\b\w+(?:\.\w+)?\s*(?=\()/ `] = lit` -RM81t7YXIDlevUqEiecwwpwMWFhKr4IabtLuBXP7A3I= -`; - -module.exports[n`DFA minimization >> 1897: /(?:\$[\da-f]+|\b-?\d*\.?\d+(?:e[+-]?\d+)?)\b/i `] = lit` -a4l4VxNpeQqZ4fiKHWKVE5uQ+1TgbBCOpWZM0d0QTso= -`; - -module.exports[n`DFA minimization >> 1898: /(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*\/@]/ `] = lit` -GIXQZ7zNK40pz+oXqLZBYOLKXD2VIpRr1oWo1tZVzMU= -`; - -module.exports[n`DFA minimization >> 1899: /(^\s*)!.*/m `] = lit` -k3hJaO/bjeoVMB1V8gS2lYYcJ2HSigd4wyXvj7OfTEI= -`; - -module.exports[n`DFA minimization >> 1900: /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp... `] = lit` -LJ0cRz5jJhra4O4VLzAOB992bFn3XNg7pTB2GDFp7/s= -`; - -module.exports[n`DFA minimization >> 1901: /(?:\b|-|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\d... `] = lit` -gUzCYnljPlrb88uo3aR8mmmbuiks0SOpMF+XevwvtrQ= -`; - -module.exports[n`DFA minimization >> 1902: /[\[\]*+\-\/%<>=&|$!,.:]/ `] = lit` -UnmdV9KFgMXPg7BN9zG1vDeWNueQSNFAyFbDdZA+d2Y= -`; - -module.exports[n`DFA minimization >> 1903: /(\s*!\s*j[a-z]+\s+)@[fb]/i `] = lit` -/DesWAbZowdqvtqnKrHsIwMvJfW8bfHN7p5fnap/zcc= -`; - -module.exports[n`DFA minimization >> 1904: /(\s*!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i `] = lit` -F+l61W4kMHTMRy4mkqEgxWcr6YPeN4i7zHxkPx0EOj8= -`; - -module.exports[n`DFA minimization >> 1905: /^(\s*!\s*)[\da-z]+(?=\s|$)/im `] = lit` -OY58JBRUhtUkVDGUPVJUWSwlPoN94L7orXEQyaGr6Zk= -`; - -module.exports[n`DFA minimization >> 1906: /(\s*:\s*)[\da-z]+(?=\s)/i `] = lit` -swfj2DU95virchiWUiDR0AgG3rCq4CWYb9S02/YAm7c= -`; - -module.exports[n`DFA minimization >> 1907: /^(\s*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m `] = lit` -HQzO7+JkOtxD6cyCTlMDnvf3yeVKHwUd1PzTAgJbylk= -`; - -module.exports[n`DFA minimization >> 1908: /(?:extern|extern|global)[^;\r\n]*/i `] = lit` -oYYstLe6b7wvzpjdNclO9PPLXsRTgj9Qeei2ZjOHH8c= -`; - -module.exports[n`DFA minimization >> 1909: /(?:CPU|FLOAT|DEFAULT).*/ `] = lit` -EOmnSH7xz1ZXzpeTjlxtzzLLttNkNf7Dp4NzNhb6Sdg= -`; - -module.exports[n`DFA minimization >> 1910: /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|ex... `] = lit` -V4I8DxEg9aWQWpCi6l5PfWJKQ6YyTUjmLpJPH6ezmws= -`; - -module.exports[n`DFA minimization >> 1911: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|by... `] = lit` -2BkJN31sVyfbUg/r1wJX6Ta8h3fC1qJh6Td/oWW6iqc= -`; - -module.exports[n`DFA minimization >> 1912: /\b(?:True|False|None)\b/ `] = lit` -NwoesIFPP0rKBrdbgUGCtYAehw+vCGWuQmS2xfJErDg= -`; - -module.exports[n`DFA minimization >> 1913: /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1914: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/ `] = lit` -XF90SeHc4i7yRHQPxG+dmqFWNtUqY/6++OU+F8ZGZDY= -`; - -module.exports[n`DFA minimization >> 1915: /(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i `] = lit` -w3EQyoHAkTChP/95vtpGvHAReO2klIOfgHyViwNsyMo= -`; - -module.exports[n`DFA minimization >> 1916: /(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i `] = lit` -R1nZBC4kY7/qlH0NRrums2zTTQ397IAVejGeYwavcas= -`; - -module.exports[n`DFA minimization >> 1917: /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i `] = lit` -a3lJD5sws/RUKkZXfjkiqsDvdEA2AFFRPC2xRKOpupc= -`; - -module.exports[n`DFA minimization >> 1918: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g `] = lit` -IlSwaRtcpu++jAGPxSJdXZhVXemc8pgr6ti4HF1GZ+Y= -`; - -module.exports[n`DFA minimization >> 1919: /(\bclass\s+)\w+/i `] = lit` -rNowu+fBkCNpIvi5dqboEWJ3m+oyUIaC4IVR3i1jYbQ= -`; - -module.exports[n`DFA minimization >> 1920: /(^\s*)@\w+(?:\.\w+)*/im `] = lit` -sqr56HTdHgoJ/sQhT+y2ax6kM2tyRi6B8gkVzm/sE6Q= -`; - -module.exports[n`DFA minimization >> 1921: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/ `] = lit` -gxRbzUVb/fAz1CidUf7pGYndAL7DNKVGevDCzF6iu6Q= -`; - -module.exports[n`DFA minimization >> 1922: /(:)[^:(){}]+(?=}$)/ `] = lit` -5MD/ieK6BtC2n/UqsQc7yE2WAVrsbV5OE8rZmm/BY3c= -`; - -module.exports[n`DFA minimization >> 1923: /![sra](?=[:}]$)/ `] = lit` -2unXd7U+ZuhQDJZ/oASDande0FT2hlmd80lpBoepfcg= -`; - -module.exports[n`DFA minimization >> 1924: /\`(?::\S+|[\w.]*)/ `] = lit` -Pbzczg2ik9IXaz4QDYirbJiZX4EhguTP5qqDj2RHuXk= -`; - -module.exports[n`DFA minimization >> 1925: /\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfe... `] = lit` -upy7g3XQPmZxzmqWVTKtokXpBp987WXufi+tucVzp5I= -`; - -module.exports[n`DFA minimization >> 1926: /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|c... `] = lit` -hXepCC+QcWW4N+yWzgLI02kkZ0BMwyW5fYLVgh6JcsQ= -`; - -module.exports[n`DFA minimization >> 1927: /[(){}\[\];.]/ `] = lit` -uxRdPKcHfsjKpUcWGIFEBSQlX2f5vjCSaE7LdGfZjoM= -`; - -module.exports[n`DFA minimization >> 1928: /0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d... `] = lit` -zy/po6rfJqvRjDOfOakCoQY4e9gpFRbYe2eliqe9yDI= -`; - -module.exports[n`DFA minimization >> 1929: /['\/\\]:?|\beach\b/ `] = lit` -Kjz0/L/EAwViZc4Mt4L8ykPZ4WJb/I8j6t0MoBa+6qA= -`; - -module.exports[n`DFA minimization >> 1930: /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/ `] = lit` -YVc/tjtXs/jgJ5KOCm6XLPALvVE5jgB7WHPONgOt3f8= -`; - -module.exports[n`DFA minimization >> 1931: /([\t )\]}])\/.*/ `] = lit` -uJQD26J2z7C13kEfLICn7swbKBXFCgM+eiNJ0u2iThk= -`; - -module.exports[n`DFA minimization >> 1932: /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\... `] = lit` -OZ4t2F0RdJUDA+8CtEzPho3mrVu8OHq06ROmLjpA6V8= -`; - -module.exports[n`DFA minimization >> 1933: /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m `] = lit` -usHKlXinagMvLXD54L0jYchaPIBEZPQeF/Is1AVuZDY= -`; - -module.exports[n`DFA minimization >> 1934: /^#!.+/m `] = lit` -+pZbPYMe9gL6wAqRCx6l2bLSy58hUa+UMNCqlVtovuo= -`; - -module.exports[n`DFA minimization >> 1935: /\b(?:as|import|on)\b/ `] = lit` -A5dmmArrYsM5CDAkbdtRB6wozyEdd9zXXI3z53I5R88= -`; - -module.exports[n`DFA minimization >> 1936: /[{}[\]:;,]/ `] = lit` -KO8sTvWMvVasNzU9TwaRQQH4uBijtn+Pr1hV39YPskc= -`; - -module.exports[n`DFA minimization >> 1938: /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m `] = lit` -qIe085crz6zfL6/zyBz64CUdEczZyhom//YbiXxUIiE= -`; - -module.exports[n`DFA minimization >> 1940: /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m `] = lit` -xjabJvHSVAj7bICSHubXUrVnVOIWOD4sfY2uDnhRf3s= -`; - -module.exports[n`DFA minimization >> 1941: /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=... `] = lit` -8P3Lzc7b5MKBiCE5F/S1VS6GniBX1BTqB1ZCa00tMH8= -`; - -module.exports[n`DFA minimization >> 1942: /^property/ `] = lit` -MqFpW8uq6P4BPb78NWKSdMHYWRMKgQOXfpc+yLmwRRM= -`; - -module.exports[n`DFA minimization >> 1943: /\w+(?:\.\w+)*/ `] = lit` -7dOYwbc8NkGqjELQkIMUirVosrY9PVGAx3VAv/mmy1A= -`; - -module.exports[n`DFA minimization >> 1944: /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|c... `] = lit` -jd3WiW1QBYzX2eotzKsDIRcAyr674uYfI6jX24JJftc= -`; - -module.exports[n`DFA minimization >> 1945: /\$?\b(?!\d)\w+(?=\()/ `] = lit` -WblRqwQwjTbOGCs2eCGSD7vbAKHVUXrSbm2nlg9SgIs= -`; - -module.exports[n`DFA minimization >> 1946: /\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1947: /\$(?!\d)\w+\b/ `] = lit` -E2noJSdMsx8QIMd0D9sqOoY4Nj4zqcRTdAz3aYX8uFY= -`; - -module.exports[n`DFA minimization >> 1948: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/ `] = lit` -ERvKWDGcCQCcDxUy1DgVtctSs4uwBEAYlDt+TywpDSE= -`; - -module.exports[n`DFA minimization >> 1949: /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/ `] = lit` -k4svf2S33O4huwtZh9fr/cqBP+sP2Y4OZp2uni/DvAQ= -`; - -module.exports[n`DFA minimization >> 1950: /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\... `] = lit` -U45C6EEzmgczPoDCGqeSezGtFTkcbTF3Vc8aBinjyZM= -`; - -module.exports[n`DFA minimization >> 1951: /\b(?:TRUE|FALSE)\b/ `] = lit` -zDCAra5oiWgfik89x+aIxaxJSYn+G6sbioLWkmOAZYE= -`; - -module.exports[n`DFA minimization >> 1952: /\.\.(?:\.|\d+)/ `] = lit` -P6fzBIe6NBN1GHHw9NyzeEYkJ/AuD0GzRGij7emMiVY= -`; - -module.exports[n`DFA minimization >> 1953: /\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_rea... `] = lit` -WbBAZWJxd+/L11eJlE5HhkrcgLVd0Ud6SXcMub+/HoQ= -`; - -module.exports[n`DFA minimization >> 1954: /->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/ `] = lit` -BYbfp3az/q1g6Aq5VGfa+Z2i26V7Y8eESTlVD+0Y0lQ= -`; - -module.exports[n`DFA minimization >> 1955: /[(){}\[\],;]/ `] = lit` -0PFMHC+DvccriYdqAJ2Uo+HWzTlnMVJNLOnj6j/5ppM= -`; - -module.exports[n`DFA minimization >> 1956: /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 1957: /%[^%\s]*%/ `] = lit` -cGLgC/KpjK0EKo7ZjoAZaRWXsNebU08N4QrnCZwKzx4= -`; - -module.exports[n`DFA minimization >> 1958: /\b(?:NaN|Inf)\b/ `] = lit` -ggAUM8OahHD11zffAyyxnew7JRd8louV4rWXShtuHIY= -`; - -module.exports[n`DFA minimization >> 1959: /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/ `] = lit` -2dSSPB3KdyiXLrfOhNX5seHseR5zX6BFVA45OuDubCo= -`; - -module.exports[n`DFA minimization >> 1960: /[([)\]']/ `] = lit` -iFjMfnH1UKXltVNQ5BjgAZ0ZrojhlrPfk+V2+lx88BU= -`; - -module.exports[n`DFA minimization >> 1961: /^#lang.+/m `] = lit` -CpAYAYNsWWP2XoeoQjMIX7uNp1GoILN65YL8ltFPQpQ= -`; - -module.exports[n`DFA minimization >> 1962: /'[^([)\]#'\s]+/ `] = lit` -Jy4lLMbZTbMSv+3OZJR/bfjf/TYrmjlbpY/f4r9ZdTg= -`; - -module.exports[n`DFA minimization >> 1963: /([([]lambda\s+[([])[^([)\]'\s]+/ `] = lit` -GTDxpNWN+jXwXAMqgw6GhsyQ3A+LpVgqFui3GdlWF0M= -`; - -module.exports[n`DFA minimization >> 1964: /([([])(?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|l... `] = lit` -FjPJTNUjzVk0TpSxLtP/8iYG6P10KJ6URIBqCk8Qq1s= -`; - -module.exports[n`DFA minimization >> 1965: /([([])(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|ab... `] = lit` -Wlfuul4unPjaLRohQG3gEoGaLXXC3ka0OY/ppjS0fSo= -`; - -module.exports[n`DFA minimization >> 1966: /(^|[\s([)\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[+-]?(?:(?:\d*\.?\d+(?:[eE][+-]?\... `] = lit` -nsI6WLC082ltNVu4URP8lMQwbDXR6wAnLcvd6+l+RZc= -`; - -module.exports[n`DFA minimization >> 1967: /(^|[\s([)\]])#[ft](?=[([)\]\s]|$)/ `] = lit` -ZJ+xbk2P7KJ5fWH2NK9oT7MY0P7vHqgR3C6SxvElF9Y= -`; - -module.exports[n`DFA minimization >> 1968: /([([])(?:[-+*%\/]|[<>]=?|=>?)(?=[([)\]\s]|$)/ `] = lit` -QOOND+XlvKwYzitSQx6dl/Dhf+Jd2wZoOkaU6Q9itIM= -`; - -module.exports[n`DFA minimization >> 1969: /([([])[^([)\]'\s]+(?=[([)\]\s]|$)/ `] = lit` -PfJqdH5vQEZgT8grTolZKpUWlVu8I6rGcuBx63uE1PI= -`; - -module.exports[n`DFA minimization >> 1970: /<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:$-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\... `] = lit` -81Jeu1s9nHpf8BqwxRk+8yfWQkQGL9w9k4avYi+2R58= -`; - -module.exports[n`DFA minimization >> 1971: /^<\/?[^\s>\/]*/i `] = lit` -j/qbUVn85Inwz2qt3Biim1qCN7LaUlfU910HlLPcPKg= -`; - -module.exports[n`DFA minimization >> 1972: /=(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\})/i `] = lit` -Vw2CInQJZSFSPtRGu18PudWK5s3KyXCu1/5P0kjVjyE= -`; - -module.exports[n`DFA minimization >> 1973: /=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i `] = lit` -vbnpI7Vzqk3GdDeWV2vOnK5lLlKHlft64VAw1Prn6UU= -`; - -module.exports[n`DFA minimization >> 1974: /\{\s*\.{3}\s*[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\s*\}/ `] = lit` -a7kRFVNFTvpNqFqpO/LecCXfN67j536F3gc1eipCMKg= -`; - -module.exports[n`DFA minimization >> 1975: /^[A-Z]\w*(?:\.[A-Z]\w*)*$/ `] = lit` -iSw3gucFKDRTZEwcbvJFMBBy/oHvxXa7C5qIfn2eBLg= -`; - -module.exports[n`DFA minimization >> 1976: /\.{3}|[{}.]/ `] = lit` -foJepr8dQ25EX+TrTa0eTxCmA0c8KzlvN133Ouw74eY= -`; - -module.exports[n`DFA minimization >> 1977: /^=(?={)/ `] = lit` -9acW8aIDKp3Z3HCp/qOJsz0q0V0fEHYtB4X1hd1nxTA= -`; - -module.exports[n`DFA minimization >> 1978: /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|ext... `] = lit` -+HHQrCaD3lg94+mFy4b5nXiyMLQexQtWMEg0pGR6VTk= -`; - -module.exports[n`DFA minimization >> 1979: /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~\`]|[+\-*\/]\.?|\b(?:mod|land|lor... `] = lit` -9JeGSzmLW5LqvNL7bPb3w4znl/aS5L/W3dPSzp23vJ8= -`; - -module.exports[n`DFA minimization >> 1980: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/ `] = lit` -MMLItOnbMxy8cqMleQqqoCds31j1Iv2BpUuvQKuJWhA= -`; - -module.exports[n`DFA minimization >> 1981: /\b[A-Z]\w*\b(?!\s*\.)/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 1982: /\b[a-z]\w*(?=::)/ `] = lit` -adN+STQ/eyetLk1QkeeldgA242K707P9mJYqSIeTiQ4= -`; - -module.exports[n`DFA minimization >> 1983: /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{0,2}|[123]... `] = lit` -lVY3KBuIgnc08aF5G1+yWBfd+NCgCbKhHL1/uqUsLYI= -`; - -module.exports[n`DFA minimization >> 1984: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/ `] = lit` -0gfQFmU6BRVqmU/3PQjqDMhimAVP1n6ZYXem2dExmYo= -`; - -module.exports[n`DFA minimization >> 1985: /\\[\\(){}[\]^$+*?|.]/ `] = lit` -Xxqx4eEkedAFwyvE4AWAlP+9d1wDDclbxG87M00EfKM= -`; - -module.exports[n`DFA minimization >> 1986: /\.|\\[wsd]|\\p{[^{}]+}/i `] = lit` -TEncd9fCAnlUvG+lF1Bynt+zvD+Tf0OakIW3S3Sn2RM= -`; - -module.exports[n`DFA minimization >> 1987: /[$^]|\\[ABbGZz]/ `] = lit` -n4Aep2IdCHCePzmNxgb1YthPcbEfPHlPnPZJ8Xrs+Wo= -`; - -module.exports[n`DFA minimization >> 1988: /(?:[+*?]|\{(?:\d+,?\d*)\})[?+]?/ `] = lit` -NsGwy14n/j3RdSKqMC/kvMmHZe6G248YqyMwNnNTKNE= -`; - -module.exports[n`DFA minimization >> 1989: /\\(?![123][0-7]{2})[1-9]/ `] = lit` -6MEOOJPL0pBX6vZwf5pzPuucOqh8VmmNBlUzZ5V8gRQ= -`; - -module.exports[n`DFA minimization >> 1990: /\\k<[^<>']+>/ `] = lit` -/hGG1XRqTCvuSyaTc3ce1eEUEEZfxIW6dyeQxOfekRw= -`; - -module.exports[n`DFA minimization >> 1991: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|> 1992: /\)/ `] = lit` -RqaSAooI0q6WOQnYwkcQLqrupLKdTsKLYwB4a13SRnw= -`; - -module.exports[n`DFA minimization >> 1993: /(^\[)\^/ `] = lit` -3W0P4ecrMepCaoIyP6G29EU1zpIDDIpK/0z5BaJ+9mM= -`; - -module.exports[n`DFA minimization >> 1994: /(?:[^\\-]|\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{... `] = lit` -b+3nPprdj7P+Y5YFuQxt7lvEx+9NiEgyvsYARH21hsE= -`; - -module.exports[n`DFA minimization >> 1995: /\\[wsd]|\\p{[^{}]+}/i `] = lit` -3N8VX+Gcl3hMnPgYuxaOe9Or74EoaLPmlQwhQDee2UA= -`; - -module.exports[n`DFA minimization >> 1996: /(<|')[^<>']+(?=[>']$)/ `] = lit` -E3MH887b3eTV1F37TsUtKwDuxXwCHmjzHYKdG1bJH0Y= -`; - -module.exports[n`DFA minimization >> 1997: /\b(?:bool|char|double|float|null|size_t|ssize_t|string|unichar|void|int|int8|in... `] = lit` -JfphgcYJSVv5vjOFO/kZocHnAm2KCneZQJ4uWRwc1W8= -`; - -module.exports[n`DFA minimization >> 1998: /(?:\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i `] = lit` -Dy0tYb9FfQeJIY64JKyE/t1RbBiunAzYFAli7hN9cjg= -`; - -module.exports[n`DFA minimization >> 1999: /\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./ `] = lit` -mONofRtZcQDYcRWgkESA38eCsyBjoWpUXHM7XpDxPsk= -`; - -module.exports[n`DFA minimization >> 2000: /\b[A-Z0-9_]+\b/ `] = lit` -NOeIFBVNbw18dm/IiqxwvEK3qiGNOfmqAJeRuDB/LXw= -`; - -module.exports[n`DFA minimization >> 2001: /@"[\s\S]*?"/ `] = lit` -a7bmkCIHzAUn20IgdvH6aFzhGtngU3IhzwPXe6M6Iq4= -`; - -module.exports[n`DFA minimization >> 2002: /\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.... `] = lit` -FDRy9sz61F42+y96oqExfOmzjmr5YkZ4+UhuDwv23zo= -`; - -module.exports[n`DFA minimization >> 2003: /[a-z]+$/i `] = lit` -/QKab46UgG+CPdykObAmyqV7Pc44UR0lUzKB2MHTXK8= -`; - -module.exports[n`DFA minimization >> 2004: /^\/|\/$/ `] = lit` -6c0qv2Vd5FCWwFQc50hf+iGXtDiS4c+TyfmZQbyGrR8= -`; - -module.exports[n`DFA minimization >> 2005: /\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ `] = lit` -RgKvvIdBD7vCx0JPK+Ns43qeUcmjpX3eLeRpoB5aDW8= -`; - -module.exports[n`DFA minimization >> 2006: /(\[)[A-Z]\w*(?:\.\w+)*\b/ `] = lit` -cAIO1Dy4owndlzWoYc8CZemPmygVZmCFEuKPIvTNGrg= -`; - -module.exports[n`DFA minimization >> 2007: /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/ `] = lit` -7m5P0kr0Jye+fRDX92mSNEdCt2zL35DiPFxqsZf2spU= -`; - -module.exports[n`DFA minimization >> 2008: /((?:\b(?:class|interface|new|struct|enum)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*... `] = lit` -0R11cod43uPnQ5HJqIvRXwVDS8Xi1uyo8sJbSdYhH3Q= -`; - -module.exports[n`DFA minimization >> 2009: /^(\/)[\s\S]+(?=\/[a-z]*$)/i `] = lit` -0HvnxhyKwYM1lKqX6u88AJJSUpiYaEi+VyQHcsFnhtc= -`; - -module.exports[n`DFA minimization >> 2010: /\$(?:\([^)]*\)|[a-zA-Z]\w*)/ `] = lit` -xFd9E+xsuehqla/6NH2kOIavVaaCIRDIBZHhJkWS1VA= -`; - -module.exports[n`DFA minimization >> 2011: /^\$\(?|\)$/ `] = lit` -5N0F8EbxWCjaLVqat7K13+MnvQ6X4hMbRnQbfc4UZgA= -`; - -module.exports[n`DFA minimization >> 2012: /[a-z_]\w*(?=\()/i `] = lit` -/l7UkHjRum1rPOFJgyMZoSE7VfJNOicvlONUHZ/xhLs= -`; - -module.exports[n`DFA minimization >> 2014: /\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|t... `] = lit` -sf1qdqDcQc3EvjHq4BsPWOE9/kr5mIE9lhUQwRzRx8U= -`; - -module.exports[n`DFA minimization >> 2015: /\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|f... `] = lit` -ER4RfM+KBWvzHnQMImecnRf2fBKOFqzfG47sGBHB3HU= -`; - -module.exports[n`DFA minimization >> 2016: /\b(?:[Tt]rue|[Ff]alse)\b/ `] = lit` -VSYB/JwdmnC76JECfn4Nn5yP1X2ZGA0pl9vthTvhzAg= -`; - -module.exports[n`DFA minimization >> 2017: /(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*)|\B\.\d+)(?:e[+-]?\d+)?j?/i `] = lit` -wtJk9tBTpaY+aJml1iswU7nod6SnNRyvIbXgAHkG0Uo= -`; - -module.exports[n`DFA minimization >> 2018: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at)\b/ `] = lit` -GuW3hcWJSaWUkX2oFIUo8Ax2l7tbY5quo4bTmsDmfL4= -`; - -module.exports[n`DFA minimization >> 2019: /(^|[^\\])#.+/ `] = lit` -+idmrHUQR1xNJS4Jm3KVfnRHCnf2NSetCrR6b9y3DaU= -`; - -module.exports[n`DFA minimization >> 2020: /("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2|(?:^#?(?:(?:[0-9a-fA-F]{2})... `] = lit` -vMaRthpbLhBmTox4AT+gRxwDNbg5GO7Nk19ximn/L4Y= -`; - -module.exports[n`DFA minimization >> 2021: /(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m `] = lit` -zHR49mLpnKk+ZYl9wvLKPyE7TGhlzmJDp89KQkZba9Y= -`; - -module.exports[n`DFA minimization >> 2022: /(^\s*\.\. )[^:]+::/m `] = lit` -PNCgJSh2Rv7rUxWsvA12VJD8q4UvjPA4FSEGSlBXomc= -`; - -module.exports[n`DFA minimization >> 2023: /(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m `] = lit` -r62nXRXilF3XcTV4BzBzJHuJmxWpWqA7Yc//EHEjpzU= -`; - -module.exports[n`DFA minimization >> 2024: /((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~])\2{3,}(?=(?:\r?\n|\r)... `] = lit` -YteW4XoTYAzvBbua2wKQOO2J+pfHbTfMJ/KWR/jtVM4= -`; - -module.exports[n`DFA minimization >> 2025: /(^\s*):[^:\r\n]+:(?= )/m `] = lit` -5KvS+hvf5ihpHCsEXF6rSCx+jvDe/tjPOgu5a3E3Rtw= -`; - -module.exports[n`DFA minimization >> 2026: /(^\s*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (... `] = lit` -AKu1lGqkXfy9KXlD7GjsjzaUnijMWe72VVmXCruBAwY= -`; - -module.exports[n`DFA minimization >> 2027: /::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/ `] = lit` -uRrwS3LMH386kyBUWJ+39oBCzbANTolk4lQAUeq6fv4= -`; - -module.exports[n`DFA minimization >> 2028: /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~]).*(?:(?:\r?\n|\r)\1.*... `] = lit` -IaXqfctBtLWglYxDO5n2IKsCWGsjgbA7a+Pg6kVwTMQ= -`; - -module.exports[n`DFA minimization >> 2029: /(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?=... `] = lit` -mg/UfAUqlqPQ2DSFUx4DhO/CBqwYf+bsZ4g2GOutblI= -`; - -module.exports[n`DFA minimization >> 2030: /(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m `] = lit` -dG4dM0hvxNnYsphLQ0ogV6r1e/GX1pr8MVK1HC73HyI= -`; - -module.exports[n`DFA minimization >> 2031: /(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m `] = lit` -EdQSlhHd9b/4JJNeA3nkvCcBum5yfQI44BFno7zZUZg= -`; - -module.exports[n`DFA minimization >> 2032: /(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2033: /(\s*)(?:=+ +)+=+(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2034: /(^\s*\.\. )\[[^\]]+\]/m `] = lit` -wiXda/dU5TQkOviMDazN2/nM1Mc6li3e7By6oaNIkao= -`; - -module.exports[n`DFA minimization >> 2035: /(^\s*\.\. )_(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m `] = lit` -6GKZDy1xixFg6aUyDwpF4HYITxv1kZzOwjyaKAxJR5Q= -`; - -module.exports[n`DFA minimization >> 2036: /::$/ `] = lit` -an1yT/lHhXWdaUAa+TzXEckIV45dQ+zUDYmZLMewQQU= -`; - -module.exports[n`DFA minimization >> 2037: /^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2038: /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~])\2+(?... `] = lit` -gJtifKo57SU6tF/qsR5uRHPg0e61IVTdGwfKvP7GLdo= -`; - -module.exports[n`DFA minimization >> 2039: /^>>>/ `] = lit` -mDIf8Mx1LGaSKuLkYQlrUdc41ncrPaRpy7lfMHYEmSE= -`; - -module.exports[n`DFA minimization >> 2040: /(^|[\s\-:\/'"<(\[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(\*\*?|\`\`?|\|)(?!\s).*?[^\s]\2... `] = lit` -pK4EjenUNJt7Zc4ukWbev4LZ3J4G9BcF4OdS8ixX12M= -`; - -module.exports[n`DFA minimization >> 2041: /\[[^\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/ `] = lit` -iGZTkuhYXPTElyIMwRTulZ4X4H5pk0zs1xnJ4L0/TNc= -`; - -module.exports[n`DFA minimization >> 2042: /(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s\-.,:;!?\\\/'")\]... `] = lit` -DM2/yjhtzXqtz2Q9Sue0TS6I7GiYw7UV89F/l1I9BqU= -`; - -module.exports[n`DFA minimization >> 2043: /\||(?:\+[=-]+)+\+/ `] = lit` -Tl4Rrmq/FuMCP5iJCF+f6CcGRHS15jAV44yvLJgOS8c= -`; - -module.exports[n`DFA minimization >> 2044: /[=-]+/ `] = lit` -o3GyhXqAwBF4OKDfY1sueDcK086KcCMrptSeS3Y/ofo= -`; - -module.exports[n`DFA minimization >> 2045: /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/ `] = lit` -+uQ3YueXn0nwt4xe8apSZWKTL8ozsFqoIs3udsNtZVI= -`; - -module.exports[n`DFA minimization >> 2046: /( +)[^:]+::/ `] = lit` -KUFj50tmHvs5x8w69hGvCarpRdO6D/R7HvMuBSTrZC8= -`; - -module.exports[n`DFA minimization >> 2047: /^_|:$/ `] = lit` -xzUnt96osNPiE5HkfQ464takBsyClO4r3ENL70p9muQ= -`; - -module.exports[n`DFA minimization >> 2048: /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}... `] = lit` -tmUL+G4SzrlESq/eoG+TjcPAULAMa8Q5Fohm533Ngik= -`; - -module.exports[n`DFA minimization >> 2049: /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~]+$/ `] = lit` -tmUL+G4SzrlESq/eoG+TjcPAULAMa8Q5Fohm533Ngik= -`; - -module.exports[n`DFA minimization >> 2050: /^::/ `] = lit` -an1yT/lHhXWdaUAa+TzXEckIV45dQ+zUDYmZLMewQQU= -`; - -module.exports[n`DFA minimization >> 2051: /^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_\`{|}~])\1*)/m `] = lit` -pNQ7bZQQKRMIiu88J9PoxssDaNeyzRNo8kwcSwHPxnA= -`; - -module.exports[n`DFA minimization >> 2052: /\*\*?|\`\`?|\|/ `] = lit` -g4Wj9/+fqp82LAR7gRrz1sF1Vm/xoyRyRd8Hl5OE4w4= -`; - -module.exports[n`DFA minimization >> 2053: /^\[|\]_$/ `] = lit` -xj7AXFgaW+VApfOsPMXuIudWSshI44es1UHh2uE06aw= -`; - -module.exports[n`DFA minimization >> 2054: /^_?\`|\`$|\`?_?_$/ `] = lit` -zxwrT8jbpxUqywRFTnaM8UzOIb2WMuNKc17TMsDA9Rk= -`; - -module.exports[n`DFA minimization >> 2055: /^\||\|$/ `] = lit` -5swum4M2wdhut02BzRvFGhfm5cLyBZW/r5A1GP9qhJk= -`; - -module.exports[n`DFA minimization >> 2056: /(^\*\*).+(?=\*\*$)/ `] = lit` -ODBgy69IgH0eYYc9FyWoOX1ZuloqdFhA0LBtJAXqB9I= -`; - -module.exports[n`DFA minimization >> 2057: /(^\*).+(?=\*$)/ `] = lit` -uUMJtch3w5Bn4UhdYu7lnED69vF+EmZoOtQOzfIwbaw= -`; - -module.exports[n`DFA minimization >> 2058: /(^\`\`).+(?=\`\`$)/ `] = lit` -McLss3JEJVpajdl3FEPDgt4kB9+ALxB6pjoPr4bz6uM= -`; - -module.exports[n`DFA minimization >> 2059: /^:[^:]+:|:[^:]+:$/ `] = lit` -CGkw3A6/dPic31Zj7ItutVaY8fX3Rykrnd/LVajiBYA= -`; - -module.exports[n`DFA minimization >> 2060: /(^\`).+(?=\`$)/ `] = lit` -Dl5Ri+WZiIwYkQYihmeJAsc76gmCbh0pn8knm8USiEQ= -`; - -module.exports[n`DFA minimization >> 2061: /(^\|).+(?=\|$)/ `] = lit` -6/oYFUVVgnHqnspzlfdIkeUpAosVWFVxfEC7BvcjZ1o= -`; - -module.exports[n`DFA minimization >> 2062: /^:|:$/ `] = lit` -gwaQCkXxPWUSEYeW+09l3l+4TOJc1EmyLFMyRC6rH5I= -`; - -module.exports[n`DFA minimization >> 2063: /(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b... `] = lit` -mkWIVKgtwURrbq/MajpB0lfvl7/abKujIUYYpOuVjmU= -`; - -module.exports[n`DFA minimization >> 2064: /@|\bSystem\b/ `] = lit` -k6lLJYeAHDU2EwVU4f/vT1Tda3ui0AcHplj9SMVWKUM= -`; - -module.exports[n`DFA minimization >> 2065: /\b\d{4}-\d{2}-\d{2}\b/ `] = lit` -JBdsJsQyL+1sN3UHFxFUDnRbR7gzdJdzzxISCT4b+BU= -`; - -module.exports[n`DFA minimization >> 2066: /\b\d{2}:\d{2}:\d{2}\b/ `] = lit` -m4JH9X9ML+Fxarf61w5IBzKjaScmIzEb0jhoXmSrUg0= -`; - -module.exports[n`DFA minimization >> 2067: /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ `] = lit` -W90n2WIojBu2A1DpXG0DvfCBMZ0jwzyEX3bF5OUGh4c= -`; - -module.exports[n`DFA minimization >> 2068: /\B\`[^\s\`'",.:;#\/\\()<>\[\]{}]\b/ `] = lit` -gvvwD5xfwtjeimQlUKih9qKInYTJ6VoKWY32fxqe+bI= -`; - -module.exports[n`DFA minimization >> 2069: /:[^\d\s\`'",.:;#\/\\()<>\[\]{}][^\s\`'",.:;#\/\\()<>\[\]{}]*/ `] = lit` -5BwHUS1yX09fbMlkdhRuRVrDWvVwzpncrtdN/gV3ugg= -`; - -module.exports[n`DFA minimization >> 2070: /[+-]?\b(?:\d+\.\d+|\d+)\b/ `] = lit` -4aTvZGRZrv6METzTiDmnQQTx9VxeMOb3xZud1wcrjC8= -`; - -module.exports[n`DFA minimization >> 2071: /(?:\.{2,3})|[\`,.:;=\/\\()<>\[\]{}]/ `] = lit` -KEZBgGxGyqEA/ptwL1odGDYkwVItO7vBMWqYQFynNWo= -`; - -module.exports[n`DFA minimization >> 2072: /[^\d\s\`'",.:;#\/\\()<>\[\]{}][^\s\`'",.:;#\/\\()<>\[\]{}]*/ `] = lit` -GJb8pgMmgRjd8W0nDvEQlZ+VstApGpm/0b8zNOPSIlo= -`; - -module.exports[n`DFA minimization >> 2073: /(^|[^\/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})])... `] = lit` -xiQYb+fh+GLbbIoyTsj+RSm/OTDhHPw6giG8Kyy83T8= -`; - -module.exports[n`DFA minimization >> 2074: /[\w.-]+(?=[ \t]*:)/ `] = lit` -xxqSkAMdsyuHfzdvhD4DOKv0PYCYrevCSSQgLfNtmWI= -`; - -module.exports[n`DFA minimization >> 2075: /[{},.;:=]/ `] = lit` -E9pWStvcz6+LPh+lKTFJYG06GFbujj+3zFUdlBq6JSo= -`; - -module.exports[n`DFA minimization >> 2076: /(^|\s)(?:(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{)|(?:external|import)\b)/ `] = lit` -oTvMnTTlBR77FmhssduvctnnxW3G+A9q0is+VaOX8Nc= -`; - -module.exports[n`DFA minimization >> 2077: /[\w-]+(?=[ \t]*\{)/ `] = lit` -Wt/UhQ5BuVJRlLMHrQD6PFuPi6gGoKyhG6Tpzpd8mE4= -`; - -module.exports[n`DFA minimization >> 2078: /(=[ \t]*)[^,;]+/ `] = lit` -XfVpZ08gFwFFPoZlKRrGct3jWVTdo6zcZ/qCzE38G3Y= -`; - -module.exports[n`DFA minimization >> 2079: /\(optional\)/ `] = lit` -/DMLJjmM6IBUzSz1NwFaulAA0l74VFPsth5HVATJdzw= -`; - -module.exports[n`DFA minimization >> 2080: /(\.)\*/ `] = lit` -4RNO2c2KYCJIxt1aLjnhbQZ5ASM97mfLzwj/bWlmkeg= -`; - -module.exports[n`DFA minimization >> 2081: /^ ?\*{3}[ \t]*Settings[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im `] = lit` -lflPo5s7/jJuUxnuA9fvyVTMjw6eGf0vjmGhLSw76DE= -`; - -module.exports[n`DFA minimization >> 2082: /^ ?\*{3}[ \t]*Variables[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im `] = lit` -trm3uGRodCZI4WJ2o7r+ok1V2DxAJjrLbmqBdaivz10= -`; - -module.exports[n`DFA minimization >> 2083: /^ ?\*{3}[ \t]*Test Cases[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im `] = lit` -rGShP1qDHvhQGLmHXuGuOu4qCB+2e/jRvBDQY5QlDxs= -`; - -module.exports[n`DFA minimization >> 2084: /^ ?\*{3}[ \t]*Keywords[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im `] = lit` -n2TT8qSjHiacEXNFv/ZQTZhqS0uLWe7ZxWwMiOaQZJI= -`; - -module.exports[n`DFA minimization >> 2085: /^ ?\*{3}[ \t]*Tasks[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im `] = lit` -R5TFUmMIw6yllKN6ZpGdlmjz9XfH4xfdPVxYHnG0PWM= -`; - -module.exports[n`DFA minimization >> 2086: /(^[ \t]*| {2}|\t)#.*/m `] = lit` -hCqnct6maygLhL0uLrIEF8FHf+M7Vj4nCibi7BrUJR8= -`; - -module.exports[n`DFA minimization >> 2087: /^ ?\*{3}.+?\*{3}/ `] = lit` -UxPzuv5ls5UDNVu38gLJL2wQQVCKb/Mv2mE8dxN4pK4= -`; - -module.exports[n`DFA minimization >> 2088: /([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3}... `] = lit` -2c5lLNxDi54RRbM/n2yHe1DlnwVkPvSRgkDB4xp+6D0= -`; - -module.exports[n`DFA minimization >> 2089: /([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/ `] = lit` -4PYMVlBrOPvOI7W9x9cEJzUykn7EQ8J0y0/+9UV6l24= -`; - -module.exports[n`DFA minimization >> 2090: /([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/ `] = lit` -kxV8D7ZvFTrXE8RK4TzhZdWuuO4ZklD2EwzWtF3iYUE= -`; - -module.exports[n`DFA minimization >> 2091: /((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/ `] = lit` -sZwYAvjrW/HcceSVuEo+5g3PUtF7bieTvnGvEclaI5I= -`; - -module.exports[n`DFA minimization >> 2092: /([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/ `] = lit` -ik2y+lY/Q3d8rE90IMX42fFtD5XyvLze/mq4fqo1aTw= -`; - -module.exports[n`DFA minimization >> 2093: /(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/ `] = lit` -F33zTEfjtLQXY2fXUVGdcYlLvNBgSJeeujbLLb3m/PM= -`; - -module.exports[n`DFA minimization >> 2094: /([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/ `] = lit` -SGPdsBlHjMTuJKaDQEKmpxLsEvQhNVks0Y/b0aOt9Xg= -`; - -module.exports[n`DFA minimization >> 2095: /^[$@&%]\{|\}$/ `] = lit` -SU8OXMW/zczrA0M7oAuazXB6rTHY/13Nq9oNIRbi0zc= -`; - -module.exports[n`DFA minimization >> 2096: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/ `] = lit` -EGS/LQC3Q3ENKiQoO3HGkoAbrTgEV6eUjgsS1CuP9SY= -`; - -module.exports[n`DFA minimization >> 2097: /\b[A-Z_][A-Z_\d]+\b/ `] = lit` -zMImyKpA3ecZ/PmERS1PVTFuh07gTi+R+FbcoKMM6pY= -`; - -module.exports[n`DFA minimization >> 2098: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2099: /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/ `] = lit` -59LU+Tn3YfGMXKEZNQmx9uVepwD131tra+bALhyrWlg= -`; - -module.exports[n`DFA minimization >> 2100: /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/ `] = lit` -Xu2JKiGSalT+FFIQpVMLe18gefJQumsJHMiDB4CT1VM= -`; - -module.exports[n`DFA minimization >> 2101: /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/ `] = lit` -nzTmCz6ASEwHoR78a5Z0bR1qYbxX5cF2xJ1ATomzh9Q= -`; - -module.exports[n`DFA minimization >> 2102: /b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/ `] = lit` -wAU+nCaDwhdIXCxVgDbDSM/1Pb/lur9vm6G8P9CABcU= -`; - -module.exports[n`DFA minimization >> 2103: /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/ `] = lit` -V8q5JX3twC/1R9bNCs43or0prNSJyU1oJFaqVRxQHnw= -`; - -module.exports[n`DFA minimization >> 2104: /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ `] = lit` -ZoDJyObqf6JYu4K5Ks4aCnUX9+FD2tFU2XabneJBKTY= -`; - -module.exports[n`DFA minimization >> 2105: /'\w+/ `] = lit` -hQ6ISfwfkujv7xRUCp63u6hVMJqZct9wCSXkNeEa39A= -`; - -module.exports[n`DFA minimization >> 2106: /(\$\w+:)[a-z]+/ `] = lit` -EbWLiO2Iig3wh8VIS1CxsCYHbIXYjaFfAq6fnBbG948= -`; - -module.exports[n`DFA minimization >> 2107: /(\bfn\s+)\w+/ `] = lit` -s98KBhOni7sOv33cgU0GUkfLJaSMPr0ypMjLf49ay58= -`; - -module.exports[n`DFA minimization >> 2108: /(\b(?:enum|struct|union)\s+)\w+/ `] = lit` -h7VQVGKY/+5ttl7OsqXTlwzQvG6GevfwWjJLyhjY64Q= -`; - -module.exports[n`DFA minimization >> 2109: /\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|... `] = lit` -w7DsNNkH5FXGvjJozi41K+y2tnbWYP46b/90sTxKWt8= -`; - -module.exports[n`DFA minimization >> 2110: /\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ `] = lit` -7gt3U536w0xtE0dcC9nzpHXRtcE5DGVx3XO8mkX+DsY= -`; - -module.exports[n`DFA minimization >> 2111: /\w+!/ `] = lit` -hbzGo/IhQIGxlCgMcsJI3hbjPCAAN+6FRc9gQl2lNI0= -`; - -module.exports[n`DFA minimization >> 2112: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/ `] = lit` -XAABLXQ4/pFvPAHFTKQddTB3H+x7LZTQGz9dz/UK1qA= -`; - -module.exports[n`DFA minimization >> 2113: /(^|[^\\])\/\*(?:[^*\/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*\/]|\*(?!\/)|\/(?!\*)|\/\*(?... `] = lit` -H2KVqLRqkDtNE8cfXPKEqAG0GDUb+Y8/sgvUoNqYBQo= -`; - -module.exports[n`DFA minimization >> 2114: /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/ `] = lit` -K881k8mx/djnACl+37olmme4WwjdziAse8ssV1UDvLI= -`; - -module.exports[n`DFA minimization >> 2115: /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*... `] = lit` -fqqki3uNGtonn59OANb95Wsztb7zdmY2D7E8cWT73lE= -`; - -module.exports[n`DFA minimization >> 2116: /\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i `] = lit` -2yonDCEBabE/h7zy8Ofj+qYzdE5bDy83euhP0C4zwTQ= -`; - -module.exports[n`DFA minimization >> 2117: /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/i `] = lit` -UvuhBcLMsHWC073kCEqTH/pKJuWwYpwgJ9xQBlbUR4Y= -`; - -module.exports[n`DFA minimization >> 2118: /[$%@.(){}\[\];,\\]/ `] = lit` -8ZrHAE5ebMt4gOMu/iiE/w5m7XpUAQdEDKwWN3Lecdc= -`; - -module.exports[n`DFA minimization >> 2119: /^(\s*)(?:(?:data)?lines|cards);[\s\S]+?^\s*;/im `] = lit` -kfJxW0UaQp1/0o9gaNCW51q3FO637ZfjE+mIVm2WjfM= -`; - -module.exports[n`DFA minimization >> 2120: /(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|... `] = lit` -MmxzMob6OZycDz3hwe4FDXbni0Nd/FgpfydUIMtizbM= -`; - -module.exports[n`DFA minimization >> 2121: /(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\... `] = lit` -ksK88amwtwot5X9Lz4Adspj+5h5uFNX1J3XUXSdEfuo= -`; - -module.exports[n`DFA minimization >> 2122: /(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S... `] = lit` -LOVAmtqTA1VE8IVRruUJwYJl5+5U8uNtBcvSklaxqKI= -`; - -module.exports[n`DFA minimization >> 2123: /(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/... `] = lit` -ZxTQoUNhM+3Vt4g55NG3t65/+e9Gh+DG8YDJvTodG/M= -`; - -module.exports[n`DFA minimization >> 2124: /(^proc\s+\w+\s+)(?!\s)(?:[^;"']|(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')))+;/... `] = lit` -ggPGQEMtiaiAbo8j1neBfVIqUx88pWiIIwekOBKqDnc= -`; - -module.exports[n`DFA minimization >> 2125: /((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF... `] = lit` -RaXQAFuVQbmoMJ7f9b2RXatPnhTvnxIAmsMHBpbnb+k= -`; - -module.exports[n`DFA minimization >> 2126: /&[a-z_][a-z_0-9]*/i `] = lit` -Q5FNmSdaxrCbCfCc4m11QI4aW53ZKCUHL9Auy9PtF4U= -`; - -module.exports[n`DFA minimization >> 2127: /((?:^|\s|=))%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?(?:[^%]\))/i `] = lit` -RsK3A2bErOl6eqkgZUnG/pWMCi0hmX9103i1SLKJzZI= -`; - -module.exports[n`DFA minimization >> 2128: /^%macro[^;]+(?=;)/im `] = lit` -0ny70UzeVHr3WEkWOdu7CHqoiyipQ+kW6jSyZp1Idjc= -`; - -module.exports[n`DFA minimization >> 2129: /^%mend[^;]+(?=;)/im `] = lit` -J0jOGjSXVkk1HI13Wue047XmvGuLHAsz5lxAXrHJ4Cg= -`; - -module.exports[n`DFA minimization >> 2130: /%_\w+(?=\()/ `] = lit` -HTmukP5HivzudaA2+zEsPrhMNvn5IpftWEtXK5hqflY= -`; - -module.exports[n`DFA minimization >> 2131: /\binput\s+[-\w\s\/*.$&]+;/i `] = lit` -hUJcDvnrzhmJ9J9q8lVKx22sFOIPYq2XzBbdmfmI3nY= -`; - -module.exports[n`DFA minimization >> 2132: /(^options)[-'"|\/\\<>*+=:()\w\s]*(?=;)/im `] = lit` -OrzmChide8Nyl0l9GMDK11cqHdOEYaImIjG4P0mlbEw= -`; - -module.exports[n`DFA minimization >> 2134: /%?\w+(?=\()/ `] = lit` -fj03JBBVDWWuM9syMgkpoxSYFoRl01+WNOLvFxUWTrw= -`; - -module.exports[n`DFA minimization >> 2135: /\b(?:format|put)\b=?[\w'$.]+/im `] = lit` -b+O8yAFqLUzuhxkbx5V5El+izSlpIsyn4QahxTzkLJM= -`; - -module.exports[n`DFA minimization >> 2136: /\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i `] = lit` -WhZpWMAH5J6jSDw7V/ydXdyEK3wIr0FVHgnf6l2Sk0A= -`; - -module.exports[n`DFA minimization >> 2137: /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ `] = lit` -bFKvMakrCp5EcJV8KWr+ADuY0rS/c84T9u74PPyaFZs= -`; - -module.exports[n`DFA minimization >> 2138: /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ `] = lit` -aOqj/rtFhTswHpDQGzaZIpcUzXu4O+lmfUrzx5WbrcA= -`; - -module.exports[n`DFA minimization >> 2139: /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/ `] = lit` -XDgk2MtFZVwLoLf9u7Wo+8mBQ7TyBpMKM/HF9iDVbMI= -`; - -module.exports[n`DFA minimization >> 2140: /(^|\s+)(?:proc\s+\w+|quit|run|data(?!\=))\b/i `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2141: /((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|ca... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2142: /\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i `] = lit` -itxHVVZIQaFkqAOsk1KgyovOMm3xNXETxIolkth4G5M= -`; - -module.exports[n`DFA minimization >> 2143: /;/ `] = lit` -AyEXX3OjiD16S+3vdp5kAvMUOQAmGQbB2uS7iXer/Ds= -`; - -module.exports[n`DFA minimization >> 2144: /%macro/i `] = lit` -FmszrrOx8O70KNQojGDJjvRfsD6i4ppjJQYqyYkYGes= -`; - -module.exports[n`DFA minimization >> 2145: /%mend/i `] = lit` -2BtiMDo1kaQ30MeVUIIiA7LJJi855+56oS5e3Iby/uA= -`; - -module.exports[n`DFA minimization >> 2147: /(^\s*|;\s*)\*[^;]*;/m `] = lit` -DYBbkordH5SFraZzngtQxli4qQECHAJ7LvjLZ590pSo= -`; - -module.exports[n`DFA minimization >> 2148: /^(?:format|put)(?=\=)/i `] = lit` -OOUiVnVvCvzH4jjfrbkqexcZ5Iher1zbPuDuJeVnNNg= -`; - -module.exports[n`DFA minimization >> 2149: /^(?:format|put)/i `] = lit` -18tt54O4/hrwpNRHMJUwBRSIL8r7+DW5BOnr5BvW2SQ= -`; - -module.exports[n`DFA minimization >> 2150: /^(?:(?:data)?lines|cards)/i `] = lit` -o9V54m53zfk7hL+y7ZTHxl3WO2zacjhfcW/3vbhOja0= -`; - -module.exports[n`DFA minimization >> 2151: /^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+c... `] = lit` -/omEt3c0Rdn3bvVoNsSPX1qlNwmYNj8h7grD8MtzTpk= -`; - -module.exports[n`DFA minimization >> 2152: /((?:^|[\s])=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|... `] = lit` -o7YGyLdP5oAyU2xdzFQlW4xWDVeMNt3liAbpSet0OvI= -`; - -module.exports[n`DFA minimization >> 2153: /(^|\s)(?:disconnect\s+from|exec(?:ute)?|begin|commit|rollback|reset|validate)\b... `] = lit` -FJTK18ZPar/oEncytFoxbVVZezrsQ/ubayHP7lpkIPI= -`; - -module.exports[n`DFA minimization >> 2154: /(^[ \t]*submit(?:\s+(?:load|parseonly|norun))?)(?:(?:"(?:""|[^"])*"(?!")|'(?:''... `] = lit` -Ej2k2LIVIiFZpZFwRDn4djoWrebwz0iksWYIAbGW7Zg= -`; - -module.exports[n`DFA minimization >> 2155: /(^|\s)(?:submit(?:\s+(?:load|parseonly|norun))?|endsubmit)\b/i `] = lit` -053U3J6W6QqxFvrznKL/qWjSRACmvfcSkuBEUgqr6IU= -`; - -module.exports[n`DFA minimization >> 2156: /((?:^|\s)=?)saveresult\s+[^;]+/im `] = lit` -DGaXfqoeRJUfUB4Z2UmKTOYL9idDzOs/6SE8Jg34A64= -`; - -module.exports[n`DFA minimization >> 2157: /((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im `] = lit` -vvVFYZ+x/uGTob6gZKJcNyzGw/bF00BcH1RvH4j1ejA= -`; - -module.exports[n`DFA minimization >> 2158: /(\s*=\s*)[A-Z\.]+/i `] = lit` -pFA2xxo4NfyJQwqiSpJLRW1djMNnmiI4ur+IgefosH4= -`; - -module.exports[n`DFA minimization >> 2159: /[A-Z]+/i `] = lit` -/QKab46UgG+CPdykObAmyqV7Pc44UR0lUzKB2MHTXK8= -`; - -module.exports[n`DFA minimization >> 2160: /%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i `] = lit` -G/CZjurfYYgXERZ0lBGdrl9s5vV6laPb5Ehlqvt4uns= -`; - -module.exports[n`DFA minimization >> 2161: /%['"()<>=¬^~;,#]/i `] = lit` -Z54tT99X00N47k+V2k7vAyPhGQGl0wisp1KaJo75tWg= -`; - -module.exports[n`DFA minimization >> 2162: /^input/i `] = lit` -43FZgDV3h5FB37QXSt4vgzz+0iQk0I+JjP3RfwVVFjg= -`; - -module.exports[n`DFA minimization >> 2163: /(?:action)/i `] = lit` -pSLihQlvSx8Vakg/x52oixO316UDPih58jnkcrhNuto= -`; - -module.exports[n`DFA minimization >> 2164: /(?:\w|\$\d)+\.\d?/i `] = lit` -qRhx5B1/ZZjfb+tYyO0CYJC1DAeK2QvOmd+ob+DpuDY= -`; - -module.exports[n`DFA minimization >> 2165: /[\w$]+\.\d?/ `] = lit` -RCfu4B5hFEBzrw3THHLMJAceYcRDeXaIuLA/0OrwiLM= -`; - -module.exports[n`DFA minimization >> 2166: /^saveresult\s+\S+/i `] = lit` -bM9pXOMIHfdSULigZ7AMMvbPqj89neQpAgaG3EkM7BA= -`; - -module.exports[n`DFA minimization >> 2167: /^(?:saveresult)/i `] = lit` -j50jS68GkJ/gdtAYKI6MNeuptlEQeaXBpfR8ymWOnrk= -`; - -module.exports[n`DFA minimization >> 2168: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m `] = lit` -kGHI/H6Qy28xw4TCC5FMQr3mbkmBOjqaEpkAH8DThVg= -`; - -module.exports[n`DFA minimization >> 2169: /^(?:[ \t]*)[@+=].+/m `] = lit` -eM3YTSfmuPb0lUzDcLgT3AWVX7HvXPCkb6GoYWnyU/s= -`; - -module.exports[n`DFA minimization >> 2170: /^[ \t]*\$.+/m `] = lit` -sBy6httAn2AiVHZf7oA43Vecorp0yHe1yF2p94EHYV8= -`; - -module.exports[n`DFA minimization >> 2171: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m `] = lit` -gmIJspLt18v/GUGeGiel8J3p+M1aEFWR7tsQgDjgFlE= -`; - -module.exports[n`DFA minimization >> 2172: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/ `] = lit` -Vq+T/jER6azg5mWKTFyxxxhfe8cPH/mgkXGKKF1UYVI= -`; - -module.exports[n`DFA minimization >> 2173: /(?:@[\w-]+|[+=])/m `] = lit` -wz9mXXCQF5XU/QxymGpyYCTRcS8VXx3TYc5JIwUUulU= -`; - -module.exports[n`DFA minimization >> 2174: /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/ `] = lit` -/TqqJke10Ph5HY9i+ivSBpkXDP81lAruKZNw5K5U3FQ= -`; - -module.exports[n`DFA minimization >> 2175: /[^:\s]+(?=\s*:)/ `] = lit` -zKbEtOuwU+jRWnGHFWSG9pqOasSM6++uZjuFQTr/be8= -`; - -module.exports[n`DFA minimization >> 2176: /(\s+)-(?=\s)/ `] = lit` -EkTIQAGpfV90E8pSVKH11d2GSnyAUkJrt88cK58JxiI= -`; - -module.exports[n`DFA minimization >> 2177: /(:)[^:\s]+/ `] = lit` -fvEFpWpj+DuermDz+vH1AvlvbNOkw9Q6JIKEJdCnPeU= -`; - -module.exports[n`DFA minimization >> 2178: /.(?:.*(?:[\r\n]|.$))*/ `] = lit` -8tO5lDtmnlk5tZPzhzx9J0D+6MsA3+zO4Bd4peFJw0s= -`; - -module.exports[n`DFA minimization >> 2179: /^[^\r\n$#*!]+(?=[$#])/m `] = lit` -ATVe0iw8haqhr5ljNyLL4oNYkvvtEmfWYsk9AkTAC+o= -`; - -module.exports[n`DFA minimization >> 2180: /[$#](?:[^\\\r\n'"<]|\\.|(["'])(?:\\[\s\S]|\$\([^)]+\)|\`[^\`]+\`|(?!\1)[^\\])*\1|<... `] = lit` -RxDvJG4AfQ/Zj2hM52/EPaw9Gwyi932gSk0a/DnODHE= -`; - -module.exports[n`DFA minimization >> 2181: /^[^\s@:$#*!\/\\]+@[^\s@:$#*!\/\\]+(?=:|$)/ `] = lit` -aQIk+L/n9JCZDBF9pKHE4XUpB0YTneU7Z5tR19mDo3Q= -`; - -module.exports[n`DFA minimization >> 2182: /(:)[\s\S]+/ `] = lit` -vB+RQ1dUXPlYqy98RNRpH1WMY8CFjzPox3Meo/vCBTI= -`; - -module.exports[n`DFA minimization >> 2183: /(^[$#]\s*)[\s\S]+/ `] = lit` -KlgrUnHYLBNJ8yJzWHp6olBSOI3EUOqMvUnIsQqSgO0= -`; - -module.exports[n`DFA minimization >> 2184: /^[$#]/ `] = lit` -Cl+qzuwc4tpxaMJGEj+1Ud9fj5ej2vXOjOA8QNQ2/h4= -`; - -module.exports[n`DFA minimization >> 2185: /->|\.\.|[\[=]/ `] = lit` -IZ4EPl2HqVyde04Sh2n09us19PPL6uV3iM8gObXjD1k= -`; - -module.exports[n`DFA minimization >> 2186: /[{}(),;:]/ `] = lit` -ZkZiLdOFTS5+qtb/TrUrW9BWRm12bb/+Nkjy3tX7GRw= -`; - -module.exports[n`DFA minimization >> 2187: /"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/ `] = lit` -1f1FlF3oW8ue3SGpFn5IXDINMH7VeuHoTsBrqjtSDGI= -`; - -module.exports[n`DFA minimization >> 2188: /L(?:(?:\w+|\`[^\`\r\n]*\`)\/)*(?:[\w$]+|\`[^\`\r\n]*\`)(?=\s*;)/ `] = lit` -PEycRMvZedFx6df54p9c9Uz15DP00CfUU9KdeF5oKFE= -`; - -module.exports[n`DFA minimization >> 2189: /(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/ `] = lit` -JQqFYeXuy1mPoKbbrza6v3vITEEh3lao8eOMnh3Sj9s= -`; - -module.exports[n`DFA minimization >> 2190: /[\w$]+(?=:)/ `] = lit` -JWxg+q4QtXMzVEojedbEMkPmEXyeywuRHXO+bvbciS8= -`; - -module.exports[n`DFA minimization >> 2191: /(^|[^\w.-])[vp]\d(?![\w.-])/ `] = lit` -PtUFCJ3ELKT/3WD4hPR2iQP/0tNIz3qdZZ+RfqsiEeU= -`; - -module.exports[n`DFA minimization >> 2192: /(^|[^\w.-])(?:true|false)(?![\w.-])/ `] = lit` -UcWo9VF+ZIBrZpbS6uyykTgL43imjg5jPMFpP2Rwg2s= -`; - -module.exports[n`DFA minimization >> 2193: /(^|[^\/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]... `] = lit` -o8PbsRISWjT9ivqnmWkNaUlb28rpxEe25tIO2a7RB8g= -`; - -module.exports[n`DFA minimization >> 2194: /(:)\w+/ `] = lit` -2N1WOoS7J2CeW2kHSBd5Vp3l3sFoegt/DZPDaluhvl8= -`; - -module.exports[n`DFA minimization >> 2195: /^L/ `] = lit` -L8s/HUh09wtZkrHcuf+8CQaLvajoyRuq+vr3Qv5mjJ8= -`; - -module.exports[n`DFA minimization >> 2196: /([();\[])[BCDFIJSVZ]+/ `] = lit` -bjiNz7/0M1cheu7hndQRJfK/2DLFIwhYg4QTkS3yt/g= -`; - -module.exports[n`DFA minimization >> 2197: /([\w$>]:)[BCDFIJSVZ]/ `] = lit` -YFzCdz4vTpPGD/2PGuPQmEokyRUGpbscmlgXMWvwC7c= -`; - -module.exports[n`DFA minimization >> 2198: /(\.end\s+)[\w-]+/ `] = lit` -Qj57Gy4qol6Ik5/zkA4QL03h+Qn6aHpopDggBhJU7lE= -`; - -module.exports[n`DFA minimization >> 2199: /(^|[^\w.-])\.(?!\d)[\w-]+/ `] = lit` -FkzZFeQARec4puYcjD9AwIk2EOxoETc2ayJe5G3HMEQ= -`; - -module.exports[n`DFA minimization >> 2200: /(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|priva... `] = lit` -6IvadhihQ0JS6s2D8RP/QyM1RlOmvhCRKEcc7m+SF1g= -`; - -module.exports[n`DFA minimization >> 2201: /(^L|\/)(?:[\w$]+|\`[^\`\r\n]*\`)$/ `] = lit` -3Clktmrg+A3MLJRG/QYUw5wQluR2fHCv8/qeKDZPx7E= -`; - -module.exports[n`DFA minimization >> 2202: /^(L)(?:(?:\w+|\`[^\`\r\n]*\`)\/)+/ `] = lit` -4JI1MVsyq9uGC9NbrfYJtuzVjrsyEuvkLf5SO+JD+vA= -`; - -module.exports[n`DFA minimization >> 2203: /'(?:''|[^'])*'/ `] = lit` -OSHWhWgHeo4xD+CoR/FNrMLmUKeazUVBJgQHJPZvv5Y= -`; - -module.exports[n`DFA minimization >> 2204: /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i `] = lit` -s22llkH1sumX4lalpFICKfZ5RpAHSiLXq/3Jwh82iSQ= -`; - -module.exports[n`DFA minimization >> 2205: /\b(?:nil|true|false|self|super|new)\b/ `] = lit` -5nDgulRPLQzXHQSDk3i+bnV/J7UlTAb4CvnkXr5brOU= -`; - -module.exports[n`DFA minimization >> 2206: /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/ `] = lit` -ui5+DDR27fjBA2lDulX0toLtNCjA/+QW0/dBZ9klFFk= -`; - -module.exports[n`DFA minimization >> 2207: /[.;:?\[\](){}]/ `] = lit` -hh9TWwQqBJr0xYzX52+Gw+8bMdLkc8jIEQ4b+4btJeU= -`; - -module.exports[n`DFA minimization >> 2208: /\$./ `] = lit` -I5NcHkBhQSFP177MIZGtzt1Dj8g5imp/6cY1fwaifDE= -`; - -module.exports[n`DFA minimization >> 2209: /(\[\s*):[^\[|]*\|/ `] = lit` -Vdl1T7o3ugM+gvKPJy30ElfS6kS5dwl2sKRXqE1je1Y= -`; - -module.exports[n`DFA minimization >> 2210: /\|[^|]+\|/ `] = lit` -55nZcOo9cPhOmVd+qmPSyGJ8lKRkT57zZ3RcNotO8Ro= -`; - -module.exports[n`DFA minimization >> 2211: /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ `] = lit` -dE6QlYDiYvH5i80tLXvDkjIeBzVEAVthtm/1FcfYV8s= -`; - -module.exports[n`DFA minimization >> 2212: /\b\d+(?:\.\d+)?(?:e-?\d+)?/ `] = lit` -90BJ7cjoVy1GNTyNgOqPerLnklgpG05jLgrzhyhsljs= -`; - -module.exports[n`DFA minimization >> 2213: /:[\da-z]+/i `] = lit` -6aIuymN1pOo4z9bf1TyhfcDELbUGXmJJYy+d8Uz7qRI= -`; - -module.exports[n`DFA minimization >> 2214: /[\da-z]+/i `] = lit` -EMI6iLxIooo0o7m4FJVZckeipQyKqxHG/iv4WnodX7I= -`; - -module.exports[n`DFA minimization >> 2215: /\{\*[\s\S]*?\*\}/ `] = lit` -HDntGkRXavyYW9ladxR/0H2V3+TAv84bD1zjOFy0mmY= -`; - -module.exports[n`DFA minimization >> 2216: /\b(?:false|off|on|no|true|yes)\b/ `] = lit` -7M9PecEgrQ/eLc3jiMD2n5R3+mK70ZGzeAoSIeHVicQ= -`; - -module.exports[n`DFA minimization >> 2217: /^\{|\}$/i `] = lit` -W4AY52cBoSQcGVz0+lDanHZsFAo9JSCbKL809xmRCVc= -`; - -module.exports[n`DFA minimization >> 2218: /\$(?!\d)\w+/ `] = lit` -E2noJSdMsx8QIMd0D9sqOoY4Nj4zqcRTdAz3aYX8uFY= -`; - -module.exports[n`DFA minimization >> 2219: /#(?!\d)\w+#/ `] = lit` -yg8y/WfRkhq84fPRW0C3GvcY05oGJQgBLCJNIVt1jYA= -`; - -module.exports[n`DFA minimization >> 2220: /^\/?(?!\d)\w+/ `] = lit` -0pNmDL5Dxjzwup0XNZp8HRVDrKNkiGg3aVTOqaTkL8E= -`; - -module.exports[n`DFA minimization >> 2221: /(?!\d)\w+(?=\()/ `] = lit` -/l7UkHjRum1rPOFJgyMZoSE7VfJNOicvlONUHZ/xhLs= -`; - -module.exports[n`DFA minimization >> 2222: /\w+\s*=\s*(?:(?!\d)\w+)?/ `] = lit` -EPG6QQezf+U+JkReUwHHrS/8fR0Ft7H0oHkJT/Q6vis= -`; - -module.exports[n`DFA minimization >> 2223: /[\[\]().,:\`]|->/ `] = lit` -DjguOCDFkiH6sy2cdpzH6HpJLfujexkEKKWdx56AiyA= -`; - -module.exports[n`DFA minimization >> 2224: /[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/ `] = lit` -lw6NkwCfm/MZNCgwP3VragJKOw0mf9ptlacvSfGuHy4= -`; - -module.exports[n`DFA minimization >> 2225: /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ `] = lit` -Bvc5oAuMmHiDukPb9yPn0k9bwGcDIMHtZ5xGyV/wF80= -`; - -module.exports[n`DFA minimization >> 2226: /\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ `] = lit` -v13Zhdm04E1c6n8Dzd6tQmbpx/1/Uv7JH/0kg/WE95g= -`; - -module.exports[n`DFA minimization >> 2227: /(\.|->)(?!\d)\w+/ `] = lit` -WmE8mAvgC5+f54H47WA4TsCcWb71RBzPb7a3QWzt4OI= -`; - -module.exports[n`DFA minimization >> 2228: /(\[)(?!\d)\w+(?=\])/ `] = lit` -qck/YyAZSTwtFuYs9CuXVGKiU5ELuurUFLGCd/tGEUk= -`; - -module.exports[n`DFA minimization >> 2229: /(\|\s*)@?(?!\d)\w+/ `] = lit` -CYW8+x0NpoNAlUENf/Cy3LLpt8R/pw7AX6k1cDCC0mE= -`; - -module.exports[n`DFA minimization >> 2230: /(=\s*)(?!\d)\w+/ `] = lit` -kA3b+cjn120Og22GWCjzf/nGt5sHi6GbAyjwW6aQuys= -`; - -module.exports[n`DFA minimization >> 2231: /\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120... `] = lit` -20HeAPKpYwvfpfKFjfJU1FshNOx052DO43uBI3rytWg= -`; - -module.exports[n`DFA minimization >> 2232: /\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|co... `] = lit` -gKAML2AvlK4CXBbU5zvPFx2fpu/6qwow7nB4DKtxCok= -`; - -module.exports[n`DFA minimization >> 2233: /=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*\/%^&|<>!=]=?|[~?]/ `] = lit` -GK2On5IkDgkN2lcstKW7wQYOycO7l4JVgrq30m0Hbgc= -`; - -module.exports[n`DFA minimization >> 2234: /(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/ `] = lit` -RvUO9rGl2yyEjhrEZ3Gk4ed3NVnTOYiDnljrfUAItZY= -`; - -module.exports[n`DFA minimization >> 2235: /([<>]=?|\^)\d+\.\d+\.\d+\b/ `] = lit` -8mf2oBqh69GRg/xBvyQ1YYNoKdCIJTnotXzmne1J9Us= -`; - -module.exports[n`DFA minimization >> 2236: /\b(?:FALSE|TRUE)\b/ `] = lit` -zDCAra5oiWgfik89x+aIxaxJSYn+G6sbioLWkmOAZYE= -`; - -module.exports[n`DFA minimization >> 2237: /^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ ... `] = lit` -zrlWg8NTTuGJWYbLCgQOeyFqdpALvhu1nTbMRDoQXYI= -`; - -module.exports[n`DFA minimization >> 2238: /^([ \t]*)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m `] = lit` -qvVQoiIGEDEoY0GNbfvJM2Bm52UvTuEV80yyqaLuQY8= -`; - -module.exports[n`DFA minimization >> 2239: /\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i `] = lit` -iEDz/sEtJTwczmby/OVVtqHhytMV0GPhzZc8fSpo0gE= -`; - -module.exports[n`DFA minimization >> 2240: /\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/ `] = lit` -UOtsXVd+7W6+oiPiVguFDBt1JqiNSQs4lKviPhTb+eg= -`; - -module.exports[n`DFA minimization >> 2241: /\?:?|<=?|>=?|==?|!=|[+*\/%-]|\b(?:and|not|or)\b/ `] = lit` -4CIchLjbbvjQUc0xBMJVKt1jVHfk5rU2/rt1KKo1BBA= -`; - -module.exports[n`DFA minimization >> 2242: /[{}()\[\]|.,:]/ `] = lit` -5tApa0xDBKSzJOwSOXyMFZtDfrpFTcGM+wy8uJaOBzc= -`; - -module.exports[n`DFA minimization >> 2243: /({+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.... `] = lit` -CeIXsa13TQgnQSfAdmGsHmRcUdtVLjJXx2x4wqTEjOg= -`; - -module.exports[n`DFA minimization >> 2244: /({+\/?\s*@?param\??\s+)\.?[\w.]+/ `] = lit` -Uic52leTL49ATckUsC11n0hkwwBFGL3Z14k1kYjy3Wk= -`; - -module.exports[n`DFA minimization >> 2245: /\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|strin... `] = lit` -pizpaFmXWp35i+1q5dx8VwXI1wwjZ5RAjlEdHSJxgy8= -`; - -module.exports[n`DFA minimization >> 2246: /^{+\/?|\/?}+$/ `] = lit` -bB/IHA90TIGmMEezZsgNyzspOA6+1KKZvdGs5aUDX2o= -`; - -module.exports[n`DFA minimization >> 2247: /\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+]))*/ `] = lit` -k4fBWUSh5VQSJkbFMgInN5ig0jIb5kX3Dbf1qJ77Kwo= -`; - -module.exports[n`DFA minimization >> 2248: /(\s)\/\/.*/ `] = lit` -yWpZmRIXEfi08M0emO29/AcF7c1gjnqPu27XsaxNSrw= -`; - -module.exports[n`DFA minimization >> 2249: /({+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|delt... `] = lit` -IIH0ooTQpjAIo5GAqwE4AyTE56X7wnvPa2TnnoUQq/A= -`; - -module.exports[n`DFA minimization >> 2250: /[\[\].?]/ `] = lit` -Ouh4rPG2Po586j8YD2nUX9Xix9m9G2t0SLUjHmYG83I= -`; - -module.exports[n`DFA minimization >> 2251: /(\|[^\S\r\n]*)\w+/ `] = lit` -kc9xZ04owpVIcxUSMeD/DAqnJV2GIHDhKLrdm9jOZaE= -`; - -module.exports[n`DFA minimization >> 2252: /[+-]?\b\d+\.?\d*(?:e[+-]?\d+)?/i `] = lit` -SJ+Hj7X46Mxa/daywuUehtX6EH+LVZ00fNqP5vFWn5k= -`; - -module.exports[n`DFA minimization >> 2253: /[{}.,;()[\]]|\^\^/ `] = lit` -CvKpI40cGo1gltK3ZCMGQgS8/IoWEKYy3qbHrJM/Zwc= -`; - -module.exports[n`DFA minimization >> 2254: /"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ `] = lit` -bAE/a6nrqEvEvC6UBxJODDiqGI9DP/V/OIT3ZeSZUn4= -`; - -module.exports[n`DFA minimization >> 2255: /"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/ `] = lit` -q2BJHXfAE0k/7oyqfcfI/g0WoLdyZTDaC8xv4du9lFM= -`; - -module.exports[n`DFA minimization >> 2256: /<(?:[^\x00-\x20<>"{}|^\`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/ `] = lit` -mqYIBWIkFt2xDCgbtawPh/dRPFV93h5LikypVpulTpo= -`; - -module.exports[n`DFA minimization >> 2257: /(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\d... `] = lit` -svwBTqvvKhcBq9Q/pUxmpbYglBNIPdMjBw6zYxf+DMk= -`; - -module.exports[n`DFA minimization >> 2258: /(?:\ba|@prefix|@base)\b|=/ `] = lit` -SzAxvVhaPcY8xZJ5TOIKK79osP5kzNSerAgJ2p94ilA= -`; - -module.exports[n`DFA minimization >> 2259: /\b(?:graph|base|prefix)\b/i `] = lit` -uHnZ5XTRQ9Om1PtvFa6ndYHs07GXbmyUZ1JU/GFEwJ4= -`; - -module.exports[n`DFA minimization >> 2260: /@[a-z]+(?:-[a-z\d]+)*/i `] = lit` -Q6aZfEFbPPW7C7A8BnUmm0nwIJlP3xJaW5OW83f3syU= -`; - -module.exports[n`DFA minimization >> 2261: /\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DEL... `] = lit` -npeh4/KcQod9y/2OssCFgF6gYnbHKUBlDxzJdowfFrk= -`; - -module.exports[n`DFA minimization >> 2262: /\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE... `] = lit` -qHXQ9th3fpCo4NcazSVasbAdxyheM9ZvM6cnR+YSZKE= -`; - -module.exports[n`DFA minimization >> 2263: /\b(?:GRAPH|BASE|PREFIX)\b/i `] = lit` -uHnZ5XTRQ9Om1PtvFa6ndYHs07GXbmyUZ1JU/GFEwJ4= -`; - -module.exports[n`DFA minimization >> 2264: /[?$]\w+/ `] = lit` -ObCeLLVDwspPfN8nYJkDzQx2WUURlZT4NSCBZjniRY0= -`; - -module.exports[n`DFA minimization >> 2265: /@/ `] = lit` -DaN3z4l9Mz1WDy4EP24sbb7jbXwSWwCA11xcZ8YkrHA= -`; - -module.exports[n`DFA minimization >> 2266: /([^:]*:)[\s\S]+/ `] = lit` -raDLDoijlZWNJkAG18xSqEzqCTXyxfwe117j+7JFTLQ= -`; - -module.exports[n`DFA minimization >> 2267: /\`comment\("(?:\\.|[^\\"])*"\)\`/ `] = lit` -SteZu4HUvg0ograH08cKSFG3duPHwI2Sd8oonNeKh4s= -`; - -module.exports[n`DFA minimization >> 2269: /\w+(?=\s*=(?!=))/ `] = lit` -PX01OpWwgLikVwjPe4cOwnzZ/6ZDFiZRQM7byDI1Pug= -`; - -module.exports[n`DFA minimization >> 2270: /\b(?:f|false|t|true)\b/i `] = lit` -aovF2/Rv4wkvMGC7JbvnxoHwspbS0MrBDxEHGiDX0F8= -`; - -module.exports[n`DFA minimization >> 2271: /[<>=]=?|[-+*\/%|]/ `] = lit` -qb5KXg/plKMNdDeZEgh4tLo2buF4DemGipXrzOSzvGA= -`; - -module.exports[n`DFA minimization >> 2272: /[()[\],]/ `] = lit` -/jAdX6h+lyP0DQlGL7QJKO/MyJdQTH801mu2B4ufIMU= -`; - -module.exports[n`DFA minimization >> 2273: /"(?:\\.|[^\\"])*"/ `] = lit` -NBJW5CrJdsoEdhgCZrk2vcnHTAjHhudOUJ724Qvv0Ag= -`; - -module.exports[n`DFA minimization >> 2274: /\b(?:and|as|by|not|or|xor)\b/i `] = lit` -3HZvnbnC/q84jng/id2DoFueqdlJF7AAb5rp3A0seVo= -`; - -module.exports[n`DFA minimization >> 2275: /\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ `] = lit` -JRho80HGwGeKyNg4p2IBWfANWfczF6OmC23R+2s+Oic= -`; - -module.exports[n`DFA minimization >> 2276: /\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execVM|execFSM|exitW... `] = lit` -iej8X7rdiw9RiPBcdmWlvIv0EgsqWpgoIz75584/ga8= -`; - -module.exports[n`DFA minimization >> 2278: /(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i `] = lit` -l7BPVR+O4ke+BConXG1RdXWwLhijp16S7bGAd18/3MM= -`; - -module.exports[n`DFA minimization >> 2279: /##|>>|&&|\|\||[!=<>]=?|[-+*\/%#^]|\b(?:and|mod|not|or)\b/i `] = lit` -nAO5fwla3/eT4GAs+PZvYOCO5GQiqhKpg6nQqfkPwd8= -`; - -module.exports[n`DFA minimization >> 2280: /\bDIK(?:_[a-z\d]+)+\b/i `] = lit` -rJSYcRw1FtatCJnezyo9TdSoTFPG6oBXrW6Kf+o0Jf0= -`; - -module.exports[n`DFA minimization >> 2281: /(^\s*)#[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im `] = lit` -MGJrR+4G9uzcRv3/glYIKt5HZBtVBdPDiTK4tYPUK8w= -`; - -module.exports[n`DFA minimization >> 2282: /"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/ `] = lit` -4MAeZez3iLXN3rwfJcI8GD6F948pnrk6PsZMxNFD7mA= -`; - -module.exports[n`DFA minimization >> 2283: /\b(?:_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_this... `] = lit` -8lbnrtYULrnhb5YQTg8nGOwltTJW5lRH5mHQidee4As= -`; - -module.exports[n`DFA minimization >> 2284: /#[a-z]+\b/i `] = lit` -l9bWMG1vz5/cpdHRGcVA36Q7LR1wdSimwlVzSYPiWY8= -`; - -module.exports[n`DFA minimization >> 2285: /\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TR... `] = lit` -2xNXc1p5cw19nU78LoE4LIjwyIyrNhAr6AT4l6J6204= -`; - -module.exports[n`DFA minimization >> 2286: /\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVAT... `] = lit` -K06fTKz5CqxzX9m7rsQkD5ItnN2VohpcnCrAKyxTWl0= -`; - -module.exports[n`DFA minimization >> 2287: /\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|D... `] = lit` -/d7n0Wfmp76N87E8kMjlWOBVHQxqDyVenIE8ikfg68U= -`; - -module.exports[n`DFA minimization >> 2288: /%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/ `] = lit` -cp/O4gGbs2UIdkViJTYpMmn4HFPAGJhRojtEp3bb4tw= -`; - -module.exports[n`DFA minimization >> 2289: /\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:T|D|DT|TOD)#[\d_shmd:]*|\b[A-Z]*\#... `] = lit` -Uwxh//SmsJtDiU2DZ43MztYjiJgP2+aRnrkZzM0bzos= -`; - -module.exports[n`DFA minimization >> 2290: /\b(?:TRUE|FALSE|NULL)\b/ `] = lit` -GzZmsD9uulg8Y8WPc716XlurnSuezroj6ctIn5f43uM= -`; - -module.exports[n`DFA minimization >> 2291: /(?:S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-:^\/+])|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE... `] = lit` -Oo02cHTpApcUafTV3gbRvAVBhRSZv00hCmFaU2rgVi4= -`; - -module.exports[n`DFA minimization >> 2292: /[();]/ `] = lit` -6mBNN4T8mJRFffPVOfYaaUEEZn8RrTy4nUPVIp/jC00= -`; - -module.exports[n`DFA minimization >> 2293: /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/ `] = lit` -kpRHl376Y11+/vldF4M/9qlWQncX/f05OWli11NouQk= -`; - -module.exports[n`DFA minimization >> 2294: /\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer... `] = lit` -VV0yXyOJRK4UOAg+z1Ov/D5mgek9gDUs5FaYAu54j28= -`; - -module.exports[n`DFA minimization >> 2295: /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/... `] = lit` -mHVK5/iZAX+gJdpmrkfHQMpKuzOOPDJyJtLgMfBUtuM= -`; - -module.exports[n`DFA minimization >> 2296: /\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/ `] = lit` -xxxH+eWwxHLzoJisR+FbGj4zdO21flkv3vDtJbbBg1o= -`; - -module.exports[n`DFA minimization >> 2297: /@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noretu... `] = lit` -JWKqIjqgLfojXbpplMsHbdk6+WQ8BBNxe+XVG3OYyBQ= -`; - -module.exports[n`DFA minimization >> 2298: /\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2299: /("|')(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/ `] = lit` -CrF1olXE/iS+Na+OMhKq371vPzjMKbvy/6CU4QbxFXc= -`; - -module.exports[n`DFA minimization >> 2300: /\\\((?:[^()]|\([^)]+\))+\)/ `] = lit` -SIKp0II2cSdlNY4JhHNnrza38gLJ4ExfenVT7QJk3Kw= -`; - -module.exports[n`DFA minimization >> 2301: /<#[\s\S]+?#>/ `] = lit` -z74FDM84R9rKClQIbI+0OijxlPSWS7NVRd20uRmnON4= -`; - -module.exports[n`DFA minimization >> 2302: /<#@[\s\S]*?#>/ `] = lit` -VLTuy7qZ6k7ymobdhI6dYLtHBnGSWfZPqcNJIksEbOE= -`; - -module.exports[n`DFA minimization >> 2303: /<#=[\s\S]*?#>/ `] = lit` -yJPJSGBSDpl6TkS2/QTnBnAn04IMvYLEeu8hM1OUCuw= -`; - -module.exports[n`DFA minimization >> 2304: /<#\+[\s\S]*?#>/ `] = lit` -vkG6v7AlLXJtO10JSomdkA8xPDYW8qDTNFAL430sGW4= -`; - -module.exports[n`DFA minimization >> 2305: /<#[\s\S]*?#>/ `] = lit` -f7ZI2yy6pWuIDedSO7/wYlI/Mu5nQAjiGgwoB3AnfZo= -`; - -module.exports[n`DFA minimization >> 2306: /^<#@|#>$/ `] = lit` -kEY7YU9pCjT06LnjAuTAN3TC7K3uVdEhA5GmCw6ug2Y= -`; - -module.exports[n`DFA minimization >> 2307: /^<#=|#>$/ `] = lit` -LbfNAw5ZYZmlgbQn4OAtss7W28WIQb1dEUoMy4m5mvc= -`; - -module.exports[n`DFA minimization >> 2308: /^<#\+|#>$/ `] = lit` -VhvP8JUDclE4+GGpvNtVWSGRinaIxnV1atYy//gH3RY= -`; - -module.exports[n`DFA minimization >> 2309: /^<#|#>$/ `] = lit` -KYsi4t1+cHX95HUhH148TDMCOohvslvB/oz/NqolJb8= -`; - -module.exports[n`DFA minimization >> 2310: /\w+(?=\s)/ `] = lit` -fO6QAPrCyvtusNES7Hdi3tGsYSlqSKecIkhVMsQ/cJU= -`; - -module.exports[n`DFA minimization >> 2311: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/ `] = lit` -hbX23GqpZtZGTY3pyf7y/2xoeIkJtvd/8jYo3MEyodw= -`; - -module.exports[n`DFA minimization >> 2312: /^=|^["']|["']$/ `] = lit` -GWn5pj+Zhdx+fy5HSGGOmFXAG/fYXkpLxJ/4zYkOE4s= -`; - -module.exports[n`DFA minimization >> 2314: /(^|[^\\:])'.*/ `] = lit` -CP6jQ4ktE6acZQnhCRY/dh21GyDyAUVwIMEbuc3Lcqk= -`; - -module.exports[n`DFA minimization >> 2315: /!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;\/?:@&=+$.~*'()]... `] = lit` -OpDyEPF/JNoR+/CRqOBSnFwcLfAIbNhnriv1t3iI2I8= -`; - -module.exports[n`DFA minimization >> 2316: /[*&][^\s[\]{},]+/ `] = lit` -bXLMmJGkdbV7XWI34xaW6JfMGUxV5lpPgllddkZTE0g= -`; - -module.exports[n`DFA minimization >> 2317: /---|[:[\]{}\-,|>?]|\.\.\./ `] = lit` -LmkdjCZGgXFS8yEI7u2vNmqtZ2mz+IE98kncuNCLC04= -`; - -module.exports[n`DFA minimization >> 2318: /not ok[^#{\n\r]*/ `] = lit` -BH8i9VAYoeaziDwantW2StT8Tm8xJq6XcsICCIxfEI0= -`; - -module.exports[n`DFA minimization >> 2319: /ok[^#{\n\r]*/ `] = lit` -NKrpkcLrasplsPRU0+F8VMuDrAQULzxHMC/toEGfLbM= -`; - -module.exports[n`DFA minimization >> 2320: /pragma [+-][a-z]+/ `] = lit` -KtwTb6Dde04hnGlBXK0i64WOoPYUdJBCGlEdCKqxYgg= -`; - -module.exports[n`DFA minimization >> 2321: /bail out!.*/i `] = lit` -/wHzxYZ792NShO1mdQW5rYnTMOXZ6GvwtsoUg7h5UdQ= -`; - -module.exports[n`DFA minimization >> 2322: /TAP version \d+/i `] = lit` -ewKa3VC/ZMWoaaZs+MnnQk+fSYqgzLD1zLyxoETva2A= -`; - -module.exports[n`DFA minimization >> 2323: /\d+\.\.\d+(?: +#.*)?/ `] = lit` -GS6BJbiIXP0+/mz0oO4SkAWTkSBc6Rfyubuphlgd3/k= -`; - -module.exports[n`DFA minimization >> 2324: /([\-:]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#... `] = lit` -1vc4zxYQDihAIePeWuLwPGDeU8dtiskdWxLo5s8EnQQ= -`; - -module.exports[n`DFA minimization >> 2325: /((?:^|[:\-,[{\r\n?])[ \t]*(?:(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z... `] = lit` -3ULi/J768J+co20Q+IKwQmm1OBZJHRq7VHeNibz0xcw= -`; - -module.exports[n`DFA minimization >> 2326: /(^[ \t]*)%.+/m `] = lit` -bc/8lnM2uJacMY1FUYHYKWQcMfd7V3iZFvFxs2jbO6U= -`; - -module.exports[n`DFA minimization >> 2327: /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\... `] = lit` -LXV95mRkbAzSje5Wj8hwlNvlSeWRCNPunHtjVUmGyBA= -`; - -module.exports[n`DFA minimization >> 2328: /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\... `] = lit` -dphai4mHR4+MrHZCK2PbRbuooyE+SpH2YsHji1lENNo= -`; - -module.exports[n`DFA minimization >> 2329: /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\... `] = lit` -+Yh7acdI8iZ0t6EgZjHLmHo38XFrxc8TxVAv+Spzn3U= -`; - -module.exports[n`DFA minimization >> 2330: /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\... `] = lit` -WX3qtfFvgTAKVnGsBccxqm6RkXcTFr3v/r7aiCM64ac= -`; - -module.exports[n`DFA minimization >> 2331: /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;\/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\... `] = lit` -S6jMNQhNmVJYThwAypb6enXaCjWZdntDOnCkJneXoLg= -`; - -module.exports[n`DFA minimization >> 2332: /# Subtest(?:: .*)?/ `] = lit` -ZO0HkntC0TwhdzSmUmLXrJwt9r763QXDMRi3i91xpFg= -`; - -module.exports[n`DFA minimization >> 2333: /(^[^\S\r\n]*)---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[^\S\r\n]*\.\.\.$/m `] = lit` -ngHY89+WJ62f/z7xywMHhjdmFm9YdLwTkKtiaNj+m8E= -`; - -module.exports[n`DFA minimization >> 2334: /!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|ne|in|ni)\b/ `] = lit` -YhMHYRYXLzvYAqdf/Yo+y+VR8HlQyDRS8nM1WYRxopM= -`; - -module.exports[n`DFA minimization >> 2335: /[{}()\[\]]/ `] = lit` -S2A9xAKrNxYGhrILx4/Cl3AfU8uvFW3U+m9pBZpOrMo= -`; - -module.exports[n`DFA minimization >> 2336: /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/ `] = lit` -X/VsFRO+bZjM6c4Dxc8SFvJc2/Z2V+dkzimQc8HUz5E= -`; - -module.exports[n`DFA minimization >> 2337: /(^\s*proc[ \t]+)[^\s]+/m `] = lit` -ADoeF0VjTK1hia7R9Y6XRrhfIWRnwFA8GlcAK1o56XU= -`; - -module.exports[n`DFA minimization >> 2338: /\b(?:elseif|else)\b/ `] = lit` -9cncXtWBFLzQkEYJtnsVPPP6E6GosCuw0DTir/cDZC8= -`; - -module.exports[n`DFA minimization >> 2339: /(^\s*)(?:global|upvar|variable)\b/m `] = lit` -N3P8H3U6NKrSSQMeLabZ4vy7zHjwUZxxpIAWSbeoBDc= -`; - -module.exports[n`DFA minimization >> 2340: /(^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify... `] = lit` -MYx3PTFwuxIvWEPIioTPqi8lvmXGqvg4jPbyHLcd6AQ= -`; - -module.exports[n`DFA minimization >> 2341: /(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/ `] = lit` -L1VBH2JzdmPUvSRQCUepqGnlo/cZLNGl0tYlMFHZdqE= -`; - -module.exports[n`DFA minimization >> 2342: /(\$){[^}]+}/ `] = lit` -j1/v+uTIVzzTUr0/0nGY3jAVuTYNmj76e+0DzE/YAEM= -`; - -module.exports[n`DFA minimization >> 2343: /(^\s*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m `] = lit` -V3so3gsn9OwC4NRBg1hYTHde9Gz9/fD08ZG8RH065VM= -`; - -module.exports[n`DFA minimization >> 2344: /(^\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|co... `] = lit` -y0/GLkwPzMlzhvH1gdRI84H6G/HYesL1I+QdoRO1B4E= -`; - -module.exports[n`DFA minimization >> 2345: /#.*|\[%#[\s\S]*?%\]/ `] = lit` -F0kF8K7mbRjDrfQ2zYljFr/SHywJKfFUVtlgAnAWvvI= -`; - -module.exports[n`DFA minimization >> 2346: /\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FORE... `] = lit` -jhb+L9o49Jt1Fi+ikpQewtIJMaJ3irLnvopySXw5BDY= -`; - -module.exports[n`DFA minimization >> 2347: /=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ `] = lit` -6V7MCNk7NE1meQJcIp9Ocr2fWU+WRuwd145e/isva10= -`; - -module.exports[n`DFA minimization >> 2348: /[[\]{},()]/ `] = lit` -iglKt0sw55oGX36OeEv6h6ML3VYcy2o/r8eRjdtkOhE= -`; - -module.exports[n`DFA minimization >> 2349: /'[^\\']*(?:\\[\s\S][^\\']*)*'/ `] = lit` -D547X8KZ44dtJLwcTjCZDS+2/WcVUHbpxGIAR2njePA= -`; - -module.exports[n`DFA minimization >> 2350: /"[^\\"]*(?:\\[\s\S][^\\"]*)*"/ `] = lit` -901gjCaUOwjwFLfIL54nMX9rgHEl6ouvkBv/aY0K38w= -`; - -module.exports[n`DFA minimization >> 2351: /^(?:\[%|%%)-?|-?%]$/ `] = lit` -WcC0zDe3niPFoytBq4MSCFtobE1H7sWHZrFZBYMGk2I= -`; - -module.exports[n`DFA minimization >> 2352: /\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i `] = lit` -AXBDPzYsgOb6+ySBbF9Pwnt+uTzj8XmkyzBCHExH9Y8= -`; - -module.exports[n`DFA minimization >> 2353: /\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i `] = lit` -m9qr2nyQVZKQZtk0ZmxNWKZavTSr47GmZWibiVhYPUQ= -`; - -module.exports[n`DFA minimization >> 2354: /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\... `] = lit` -fNc/rOqg7u0gP02ycmsgt9j4OxOsHEuCG4+3ZBODe5E= -`; - -module.exports[n`DFA minimization >> 2355: /[.,=[\]{}]/ `] = lit` -XUvbLAUGqCXAYq6gwgMm0FdavTzI0Wb3f0RPiGAn7uE= -`; - -module.exports[n`DFA minimization >> 2356: /(^\s*\[\s*(?:\[\s*)?)(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")(?:\s*\.\s*(?:... `] = lit` -kP7BJCoGukV4P4Myf/rYQtCkQjQRPb0rwhq7dqdWhKo= -`; - -module.exports[n`DFA minimization >> 2357: /(^\s*|[{,]\s*)(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")(?:\s*\.\s*(?:[\w-]+|... `] = lit` -CMRl2v4vDea9g0Nr3dWkPEZsFH2hQdFtqfvPHn4CA2U= -`; - -module.exports[n`DFA minimization >> 2358: /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/ `] = lit` -3kvTHghL+av3L4nOXxNu9EDErra1Ox1/SCG3hYr0who= -`; - -module.exports[n`DFA minimization >> 2359: /\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\... `] = lit` -WPt4Hh4Jo31270/BeCBKFTwGiwMhwpJDtAgXsE+L/uY= -`; - -module.exports[n`DFA minimization >> 2360: /\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ `] = lit` -owMojDN3jLeMjN3TxEd2oPUtrSSABl3OMYP7mQXQRaQ= -`; - -module.exports[n`DFA minimization >> 2361: /\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|... `] = lit` -f13fyA90p742oliQg9XP/wXFLvLULgn4f+4U9t4Tyac= -`; - -module.exports[n`DFA minimization >> 2362: />>|<<|--|\+\+|\*\*|[-+*\/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:Cross|Dot|Clockw... `] = lit` -O5sDaDNIsGWaUZr8/CcAEqC1wQL6lV2E9zsqAQ6TXBY= -`; - -module.exports[n`DFA minimization >> 2363: /[()[\]{};,.]/ `] = lit` -cL2HxM2p/FcOqSmfqb0J4OVMJEPHlnV3HJO5n9O96gg= -`; - -module.exports[n`DFA minimization >> 2364: /(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/ `] = lit` -akdecotern+3zZzTyyE/98TVdTQOX+0NwU/gT690v/c= -`; - -module.exports[n`DFA minimization >> 2365: /(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/ `] = lit` -V9fl703/punq9TrzLmwFm6B9Sc9TRYXeKRLdINkxj+g= -`; - -module.exports[n`DFA minimization >> 2366: /(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/ `] = lit` -lWeyNAHg4q9Lh6hHrUfMvGVxazH0Awvoh5PZFMP34SE= -`; - -module.exports[n`DFA minimization >> 2367: /\w+(?=\s*=)/ `] = lit` -PX01OpWwgLikVwjPe4cOwnzZ/6ZDFiZRQM7byDI1Pug= -`; - -module.exports[n`DFA minimization >> 2368: /[<>|]/ `] = lit` -ev1Vwrdp2ZESIQ8ZhQrxYh6f9DDQ17+pCVO20mGrXwc= -`; - -module.exports[n`DFA minimization >> 2369: /(^|[^\\])#\[\[[\s\S]*?]]#/ `] = lit` -fnKGuic7EH4hNxUipS9duJaMDCFt9Ag4E4rD1l2OTJU= -`; - -module.exports[n`DFA minimization >> 2370: /(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|{[a-z][\w-]*})(?:\s*\((?:[^()]|\([^()]*\))*... `] = lit` -ly3CPL/IulJHJbuOB7WlOWIDNysC+dMXaFmXcCXQ0Kk= -`; - -module.exports[n`DFA minimization >> 2371: /(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))... `] = lit` -UKUqzmu0BG4/dyvleMS9bjpUUwqfRy2ehjaEftzdblM= -`; - -module.exports[n`DFA minimization >> 2372: /^#\[\[|]]#$/ `] = lit` -hMH8fKSNCCJ3wp53DuxmOvbnW857B7ScRrIVz/DwEwo= -`; - -module.exports[n`DFA minimization >> 2373: /(^|[^\\])#\*[\s\S]*?\*#/ `] = lit` -WrqOuyItWOAlAy9O7vI79gtpa9z8/zv6VHE7IfrkIqg= -`; - -module.exports[n`DFA minimization >> 2374: /(^|[^\\])##.*/ `] = lit` -xBjSG+La4uIrKTsrj+ggt48CEyeuADOzIDfDN/DZf3o= -`; - -module.exports[n`DFA minimization >> 2375: /[(){}[\]:,.]/ `] = lit` -JN/fCHc79rY3Es/Q+sH2dz76lJv4HXs1LkjcFwcPQpU= -`; - -module.exports[n`DFA minimization >> 2376: /^#@?(?:[a-z][\w-]*|{[a-z][\w-]*})|\bin\b/ `] = lit` -jPDjARg81KAI1qP/dQfWnNWVrIFqw/I3EFs0TeSvJ0w= -`; - -module.exports[n`DFA minimization >> 2377: /[=!<>]=?|[+*\/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ `] = lit` -1A4zx1/Y0x8VhOesd4Xk0NrNfY/jUiv1sszKj1aO4Fk= -`; - -module.exports[n`DFA minimization >> 2378: /([^\w-])[a-z][\w-]*(?=\()/ `] = lit` -zLtqlVffHu31vJk7TthXtuwaTGpKH4ZQD21Hy7WhGu4= -`; - -module.exports[n`DFA minimization >> 2379: /\B\$\w+\b/ `] = lit` -RQJC+6hkWbDXNo5naUkdYhLDRPuqQa8CZNP/KrZmQto= -`; - -module.exports[n`DFA minimization >> 2380: /\B\`\w+\b/ `] = lit` -dqdC/I2glWJVoH+WSCyGhalGIB8hQ4oGZ6t7yXOUFKk= -`; - -module.exports[n`DFA minimization >> 2382: /\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ `] = lit` -vBF/y9w7C/uHysSRrdU35KjOruEbpUYfQhb0PGD3/SI= -`; - -module.exports[n`DFA minimization >> 2383: /\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b\d*[._]?\d+(?:e[-+]?\d+)?/i `] = lit` -muFI1sS3e+mwAaCb1c2RbqlhLogHX0/e6RDhLBnehqM= -`; - -module.exports[n`DFA minimization >> 2384: /[-+{}^~%*\/?=!<>&|]+/ `] = lit` -++Mrs3WUKl6g9XRLgYM+w2ky0ktE2TxnwqtmNWmEjkA= -`; - -module.exports[n`DFA minimization >> 2385: /[[\];(),.:]/ `] = lit` -Na/CIDtjDVWPjKmFIdw0sz9CklPxUWlk2ZOMQTForBY= -`; - -module.exports[n`DFA minimization >> 2386: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/ `] = lit` -X/VsFRO+bZjM6c4Dxc8SFvJc2/Z2V+dkzimQc8HUz5E= -`; - -module.exports[n`DFA minimization >> 2387: /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/ `] = lit` -X/VsFRO+bZjM6c4Dxc8SFvJc2/Z2V+dkzimQc8HUz5E= -`; - -module.exports[n`DFA minimization >> 2388: /\b(?:use|library)\b/i `] = lit` -2O7cEtgFNJsW0iSPAmY8mCKuHnTPKdw+hbeXjIfVTro= -`; - -module.exports[n`DFA minimization >> 2389: /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'im... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2390: /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i `] = lit` -UWucQgNcRDtjmxgFWyzqAXvBleTDDus+grZx/Ez0pWA= -`; - -module.exports[n`DFA minimization >> 2391: /[<>]=?|:=|[-+*\/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xn... `] = lit` -Es2ZJgUPaoB+fgfMoPIIi6pG7xNHA/JO3xcR/M7LuCQ= -`; - -module.exports[n`DFA minimization >> 2392: /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i `] = lit` -8xj4nHkGHY3VPnjELWYlRN8gGXaUS8Sh4iPdfphWVes= -`; - -module.exports[n`DFA minimization >> 2393: /"\S+?"(?=\()/ `] = lit` -l67m/CJ1gebNHb/AkQ+/NxxbldaPR0B+1T0tLmAO1hI= -`; - -module.exports[n`DFA minimization >> 2394: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/ `] = lit` -4SoBxWi2PHGA0YWopwR5DeqxCOKMtrVay4lSZ47XTNI= -`; - -module.exports[n`DFA minimization >> 2395: /".*/ `] = lit` -+/dgzpjR4XSF/6FTfuO+MGEa6r4xe3rF/jn26dPdFhM= -`; - -module.exports[n`DFA minimization >> 2398: /\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i `] = lit` -cw0cn3nAj+K9uZAGJh84g/MvfzytpAhV/+sVhqlLMdo= -`; - -module.exports[n`DFA minimization >> 2399: /\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/ `] = lit` -eKGrQl9H1fKlcXjCUm+5jVaf9edlB5PdRy/yrmLhp4E= -`; - -module.exports[n`DFA minimization >> 2400: /[{}[\](),;:]/ `] = lit` -BcW2jl+LTpQFuWdxPnJQkKHX9Z0/VP8e3uhZR2e8e2Y= -`; - -module.exports[n`DFA minimization >> 2401: /(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i `] = lit` -bTklgaAmbu316aTW6lykBwQNAznSO3BTXGYUX8fL7dI= -`; - -module.exports[n`DFA minimization >> 2402: /\b(?:True|False|Nothing)\b/i `] = lit` -rZ34JpNz5yYw33z50Piww/91XfScfg3j1uASWZaQABw= -`; - -module.exports[n`DFA minimization >> 2404: /[{}().,:?]/ `] = lit` -Q4OvlwdduxXRezHiMYOFSlZENsEz4M1zKqFpZoqWqPk= -`; - -module.exports[n`DFA minimization >> 2405: /(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i `] = lit` -NRQ51wPlK108ajGhks1aZLZGDf2ZDF1gqkQRxzmk5+o= -`; - -module.exports[n`DFA minimization >> 2406: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n... `] = lit` -SnnyQ2sUFi/jagamM9fqjY03wRk8THspuhc7udnZ2vA= -`; - -module.exports[n`DFA minimization >> 2407: /\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i `] = lit` -Mi09duwEKVta9ZSEs53D0VDik7/8SkczwmXJDeU+vMc= -`; - -module.exports[n`DFA minimization >> 2408: /#[^\S\r\n]*(?:\d+([\/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(... `] = lit` -9Yg6mXrfrqh4FuxtJHluiOXpQuCFACuOSQjTyDT2NS0= -`; - -module.exports[n`DFA minimization >> 2409: /[+\-*\/\\^<=>&#@$%!]/ `] = lit` -BL1wjXGvVUAeFk33xF5tAjZSew5eYhzUN7P54P8JJlU= -`; - -module.exports[n`DFA minimization >> 2410: /([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/ `] = lit` -wZFHkAk4u4I/VWK4azwojEkgkwVKytzQaP9yJZqAzhw= -`; - -module.exports[n`DFA minimization >> 2411: /#.*|\/\/.*|\/\*[\s\S]*?\*\// `] = lit` -IC+JeaJhlhT8kQBlZYghOXsC8Yg/wcabwivXaZiIX/g= -`; - -module.exports[n`DFA minimization >> 2412: /\$\S+/ `] = lit` -YWyetQkvpa35TVpy9egxYVx7rsipzW+4LDPnG86wZSc= -`; - -module.exports[n`DFA minimization >> 2413: /\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|... `] = lit` -0yxXhJYWDMa/YiY5FiISl4O1LP19MNTtovWt3L35gCY= -`; - -module.exports[n`DFA minimization >> 2414: /[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/ `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2415: /\b(?:false|true|F|T)\b/ `] = lit` -Ogt7V+XIvfzmV+M+HVAxOEW4xdMFpR2P4FjWYGBdi7E= -`; - -module.exports[n`DFA minimization >> 2416: /<%|%>|[{}[\]()]/ `] = lit` -qTR+9J/xNkPOGpUOLAqEPxg1FE2iFAPHST+zG/8crGI= -`; - -module.exports[n`DFA minimization >> 2417: /==|&&?|\|\|?|\*\*?|>>>?|<<|==|[<>!~]=?|[-\/%^]|\+!?|\b(?:AND|NOT|OR)\b/ `] = lit` -ABU4jqGGrr+/xEDa96zje69Ad1RhcYh6YVYgddpaCKI= -`; - -module.exports[n`DFA minimization >> 2418: /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/ `] = lit` -+/ZRWAoNIb7FAWb+HGpT2ko3xS3ymGBc/9E7+f3xkeI= -`; - -module.exports[n`DFA minimization >> 2419: /@\S+/ `] = lit` -zEDo4CpOSRXg/fDzf93Dgtqc7+mTpCi55ctMj2B0WU8= -`; - -module.exports[n`DFA minimization >> 2420: /\$[\w!#$%&'*+\-.\/:<=>?@\\^_\`|~]+/i `] = lit` -Sy4hZTQClj/Q2OWW4JkgWAiizAt+vIjVkmC7ZUWQJv0= -`; - -module.exports[n`DFA minimization >> 2421: /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?... `] = lit` -5EG/2ScUFcaXRmQ/RvkwgDwLoNessKtFqD3yJC7RRBc= -`; - -module.exports[n`DFA minimization >> 2422: /\(;[\s\S]*?;\)/ `] = lit` -PITaUGE4GInmkBm4CGaL2Co53LZvKOc4aL4K0PaVVH8= -`; - -module.exports[n`DFA minimization >> 2423: /"(?:\\[\s\S]|[^"\\])*"/ `] = lit` -901gjCaUOwjwFLfIL54nMX9rgHEl6ouvkBv/aY0K38w= -`; - -module.exports[n`DFA minimization >> 2424: /\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end... `] = lit` -qhofsVEfzI4tkikYY/rZsdI9/9/7BHVvlqcXz7ahr0A= -`; - -module.exports[n`DFA minimization >> 2425: /;;.*/ `] = lit` -41LtHrYXKK1rBoOj1lnZYyJGZfEQoJazPUGm5t/29k0= -`; - -module.exports[n`DFA minimization >> 2426: /\b(?:align|offset)=/ `] = lit` -a9+R7kfDQC/JcOWJOUF+8MOAJ4cGV6cQDZZQasEzEUM= -`; - -module.exports[n`DFA minimization >> 2427: /\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32... `] = lit` -XMEcqAZ585mcwpaLzHzNcMEK7Z43QL6DaI9inLGJXCo= -`; - -module.exports[n`DFA minimization >> 2428: /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m `] = lit` -fjoau9Lf35dswLjOSedH2c6jkYzwesUyyUZ/dFT3/N8= -`; - -module.exports[n`DFA minimization >> 2429: /<(nowiki|pre|source)\b[\s\S]*?>[\s\S]*?<\/\1>/i `] = lit` -w9Yc+oh+zNY8aZ8pfkgot/i3IUtTfygbdb0ckBsRGuc= -`; - -module.exports[n`DFA minimization >> 2430: /^(=+).+?\1/m `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2431: /('{2,5}).+?\1/ `] = lit` -tlJ+DAGrFr/TohKPwGh/Gcn8/fYrZeAL3+5m9fuw4DE= -`; - -module.exports[n`DFA minimization >> 2432: /^-{4,}/m `] = lit` -FGvHzPi0gAA8H0atPGCtBrTX8p8ec99dYrgxpl9TrU8= -`; - -module.exports[n`DFA minimization >> 2433: /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i `] = lit` -2NhpJS9ig4yh2QBK+4L2cAG2IhpVLRwuLuwC6Cii1v4= -`; - -module.exports[n`DFA minimization >> 2434: /\[\[.+?\]\]|\[.+?\]/ `] = lit` -JDgriofi1Z4ki92didygBUMEccu2z/P1aTEDHxPGuCM= -`; - -module.exports[n`DFA minimization >> 2435: /__[A-Z]+__/ `] = lit` -7Z78sa+TwLvYhAm6SSzEsWF1jBvUNlhM4ORMG8ryOUw= -`; - -module.exports[n`DFA minimization >> 2436: /\{{3}.+?\}{3}/ `] = lit` -mXZWDbqNt7FnRDAUzN+sFR1AAzcFUeONTgm9TmuTZyo= -`; - -module.exports[n`DFA minimization >> 2437: /^#redirect/im `] = lit` -55mhWnIOF1KjQ/I9NXQosLBYlKrMUzxi25sw/61EMBU= -`; - -module.exports[n`DFA minimization >> 2438: /~{3,5}/ `] = lit` -6KBFSEdOgLUT+ZrhirbK9TiZZNeoZZ3R6rbvk4ykSFg= -`; - -module.exports[n`DFA minimization >> 2439: /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m `] = lit` -9jH9jijjNI1pQoPbPTluk7Y3kzU1mXf3irrjxfJHxXA= -`; - -module.exports[n`DFA minimization >> 2440: /^=+|=+$/ `] = lit` -fhtH6rB/FWdYL0kRUdBf7t8KT5XteTlzhA9BO4BPoMM= -`; - -module.exports[n`DFA minimization >> 2441: /^''+|''+$/ `] = lit` -1WQhK+GTDq9BImsp/fYupaIjnMTUmf+CvPEJJx9Sk/w= -`; - -module.exports[n`DFA minimization >> 2442: /<(?:nowiki|pre|source)\b[\s\S]*?>|<\/(?:nowiki|pre|source)>/i `] = lit` -SpJrLB3/zTbtpmE9Up/WfHYPEArFDjYH6Puvv/D0Ed4= -`; - -module.exports[n`DFA minimization >> 2443: /(''''').+?(?=\1)/ `] = lit` -2iUUH+Wp1ZAityMVMZQDJIbc8qHN/jPiDbkkMRVZkLE= -`; - -module.exports[n`DFA minimization >> 2444: /(''')[^'](?:.*?[^'])?(?=\1)/ `] = lit` -33Lefz6HB3hT3w3DQG48CqWebJLV4TCgSieqPqKKpHA= -`; - -module.exports[n`DFA minimization >> 2445: /('')[^'](?:.*?[^'])?(?=\1)/ `] = lit` -04YU9i9hilOEMd4mDnvRluN3fIWAc54CofHjXVm6PLw= -`; - -module.exports[n`DFA minimization >> 2446: /\$(?:DomainContents|PageRenderDuration)\$/ `] = lit` -SfpuwSFfCYi4ahlD1W/FT6ojBXWZeHBD3VOWDKXDICo= -`; - -module.exports[n`DFA minimization >> 2447: /\$@?(?:#+|[-+*~=^])?[\w.]+\$/ `] = lit` -4NgIpho8hg08B77m4pHJXeq2byCcS24N8zAqPsLYxpM= -`; - -module.exports[n`DFA minimization >> 2448: /\$F:[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]... `] = lit` -hfhbi07rpbtOH27ZLSRGRmvp5t8JKxDo/lUzbvYCLy0= -`; - -module.exports[n`DFA minimization >> 2449: /\$XF:{[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-... `] = lit` -Pw9pCy8Hl9BjnE0SWhlpDoY9iGIAo4SZFyaz9Kf2TLg= -`; - -module.exports[n`DFA minimization >> 2450: /\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\/\w.]+\$/ `] = lit` -cqwqUAr3/UzapN07MlqloVL8XQ7+AhNORhIyPQwpgwM= -`; - -module.exports[n`DFA minimization >> 2451: /\$\w+:{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\w.]+:{(?:![A-Z]+)?/ `] = lit` -rAEusp/JmaMDVNdLrKkgq0z4s5b/PzoMxhaWQwDPafo= -`; - -module.exports[n`DFA minimization >> 2452: /}:[-\w.]+:{/ `] = lit` -Ge6pvbJ5SV/iGHk70VhepqVGfihiPZd2bjMJO01hBdw= -`; - -module.exports[n`DFA minimization >> 2453: /}:[-\w.]+\$/ `] = lit` -UTj4QeqBgtWmo9tIVkgKUOZ82Z31aKPEMfrbp5OC5Qw= -`; - -module.exports[n`DFA minimization >> 2454: /\$/ `] = lit` -h+83OPIyGjau4l311cB3um/sp043OT4wA/3xoZDgxGE= -`; - -module.exports[n`DFA minimization >> 2455: /[$.]/ `] = lit` -mX4qgGeIaW3RNnpCmGMBFf8GnM7WJlmqmkomPmf5Ahk= -`; - -module.exports[n`DFA minimization >> 2456: /#+|[-+*~=^@]/ `] = lit` -NCQijtze9GgqfDjQMDsSchIcpiqzuz/M8zJk5rm6I/I= -`; - -module.exports[n`DFA minimization >> 2457: /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/ `] = lit` -RG8vb7S4gMAqemIl86v4TocUc6DGQJphWpfMSOGnsfw= -`; - -module.exports[n`DFA minimization >> 2458: /\$\w:|[$:?.,|]/ `] = lit` -iIrvGCM6G9BWorBx3cv7WnFMXfE1lk19EmpiuzEx4qU= -`; - -module.exports[n`DFA minimization >> 2459: /[$:{}?.,|]/ `] = lit` -YOPmdk68JFBFM22iAMqx+q/+Lslf1GsHmd4359AOSog= -`; - -module.exports[n`DFA minimization >> 2460: /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/ `] = lit` -kZ0bHXdQdLtUy94j8aBpWaSRPbdA9uCDplBKqORprA0= -`; - -module.exports[n`DFA minimization >> 2461: /![A-Z]+$/ `] = lit` -tWYj2jPVEciSjlIBlMMSD3EsrQM8FjEV3OtlxVtmLkY= -`; - -module.exports[n`DFA minimization >> 2462: /[:{}]/ `] = lit` -JoLWTFDR5WibyUP6WUiMj85yvp+Z6uKK08PZyC9uppI= -`; - -module.exports[n`DFA minimization >> 2463: /[:{}$]/ `] = lit` -u4DW3V/m9jmNztwJl4hLXGrqqVyFviYK48G/637zkWg= -`; - -module.exports[n`DFA minimization >> 2464: /[,.|]/ `] = lit` -7bz1jihrQwBWhBSijccITeciqGZ++z5TDqUMwPWpqNE= -`; - -module.exports[n`DFA minimization >> 2465: /#\d/ `] = lit` -0QgY8BOiXlNF3SQ392OQiuO/mHI1yeydrgRqWF09AtQ= -`; - -module.exports[n`DFA minimization >> 2466: /!/ `] = lit` -N2lpB7h4Z9aZR3CFHpsfBecofCeu1bFqySvoSf6q8aU= -`; - -module.exports[n`DFA minimization >> 2467: /\/\/\/.*/ `] = lit` -MaIOkWf1HfDdC29pigvePBMp/C2Jj4ki3darAMV5nT8= -`; - -module.exports[n`DFA minimization >> 2468: /'''.*/ `] = lit` -DMnm4uGr8pQ+VS9FOtUX0B6nxY0CVwNQqhLZN0teeTQ= -`; - -module.exports[n`DFA minimization >> 2469: /#(?:If|Else|ElseIf|Endif|Pragma)\b/i `] = lit` -VC6xHLU1Qhx/HH7jPqIRA3/jBqKQ5Cl8fDpKdBmeAzM= -`; - -module.exports[n`DFA minimization >> 2470: /\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Cons... `] = lit` -lfpHVIMPflBycXm/2Tr0bmILvvvfr1sJCTBw00UsQWA= -`; - -module.exports[n`DFA minimization >> 2471: /<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAd... `] = lit` -KByA5M4KZswLzXnyiJw6tioMOreydOKEtEUjOzCx9f4= -`; - -module.exports[n`DFA minimization >> 2472: /[.,;:()]/ `] = lit` -H+eI7R+pzJrrTVmMyxCu8YxnT9Hmo2rZ7YJn1unyKGM= -`; - -module.exports[n`DFA minimization >> 2473: /(?:'|\/\/|Rem\b).+/i `] = lit` -B+Hn4nhoPAhVrpf+b4ukoWr7pOczpZYP4NexSRItA2s= -`; - -module.exports[n`DFA minimization >> 2474: /&[bchou][a-z\d]+/i `] = lit` -N9fjXtY9fyaPny+P7zFDwKFhDVyy+Pj+5kDvcqYFNb4= -`; - -module.exports[n`DFA minimization >> 2475: /^Rem/i `] = lit` -d/YvYT6lzIdvjP+UiX1ydM6U8ejx5OIpc6yIkoCdK0g= -`; - -module.exports[n`DFA minimization >> 2476: /\$[\w-:]+/ `] = lit` -rzpqyzutDP15c57O8ct3//nCtor7cQ3V3HFarDMe5PU= -`; - -module.exports[n`DFA minimization >> 2477: /[\w-]+(?::[\w-]+)*(?=\s*\()/ `] = lit` -9HisA8r9QNlAxvP4s/gFcneQhqJWHIBe7r02BzVjIN4= -`; - -module.exports[n`DFA minimization >> 2478: /\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/ `] = lit` -N7Wii+nB35iaFi76u/UFYiHPqOx3HD0M1qPIPub2p1c= -`; - -module.exports[n`DFA minimization >> 2479: /[[\](){},;:\/]/ `] = lit` -zP3pTq+bOoFOCzwlfW/z55vgwIn+IIwybwvzZAHB2BQ= -`; - -module.exports[n`DFA minimization >> 2480: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|{(?!{)(?:{(?:{[^... `] = lit` -HKwy78BwzGUU+dfTdkKhAWQ5kxt/oKl8V/gDrT4EtJw= -`; - -module.exports[n`DFA minimization >> 2481: /\(:[\s\S]*?:\)/ `] = lit` -pes0CDS5OyX0Ad4BaR+1eWBn4unWr8oArgmfht20RWQ= -`; - -module.exports[n`DFA minimization >> 2482: /(["'])(?:\1\1|(?!\1)[\s\S])*\1/ `] = lit` -XDgk2MtFZVwLoLf9u7Wo+8mBQ7TyBpMKM/HF9iDVbMI= -`; - -module.exports[n`DFA minimization >> 2483: /\(#.+?#\)/ `] = lit` -9r3A1McWv5MKfg/Ec7l5pehHow8lY8Nkn3X6eJU8pgY= -`; - -module.exports[n`DFA minimization >> 2484: /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|follow... `] = lit` -dXduCOWcI6oMC8OPIs0IztJhLLXPixB9oGbIhxhEH/o= -`; - -module.exports[n`DFA minimization >> 2485: /(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2486: /(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|co... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2487: /(element\s+)[\w-]+(?::[\w-]+)*/ `] = lit` -Q2Ey+dY3y6H+QdG1HZvUIgHa+YkQrvORVB4Tp2bmQMg= -`; - -module.exports[n`DFA minimization >> 2488: /(attribute\s+)[\w-]+(?::[\w-]+)*/ `] = lit` -WqELIZz27X5u0NBd86Bx2k1w2YX+3zqGwT5KSjibIhU= -`; - -module.exports[n`DFA minimization >> 2489: /(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2490: /[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/ `] = lit` -SLcwPkxMfO6nFX6Oxkkx4iKlS1vZcqzVLwf3dK2QQJw= -`; - -module.exports[n`DFA minimization >> 2491: /(\s)-(?=\s)/ `] = lit` -Lr/AjFfvNs9r78cpJ3eyQK9bHI0kRfgTTR7pdK3P5yE= -`; - -module.exports[n`DFA minimization >> 2492: /=(?:("|')(?:\\[\s\S]|{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|(?!\1)[^\\])*\1|[^... `] = lit` -n11tlDLlOYHhzjmc2LxYIf9tn/OQ7g9QeCmE8eA9Jc0= -`; - -module.exports[n`DFA minimization >> 2493: /^="|"$/ `] = lit` -BpydndKBY2LHbTxRJtXe41GDh02Yb3Wzh3xPGUoUnkU= -`; - -module.exports[n`DFA minimization >> 2494: /{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}/ `] = lit` -NozH8Jtqh6fhutqY+xdsZc4w2UmB7YSnWSwd1T5dcgE= -`; - -module.exports[n`DFA minimization >> 2495: /\/\*[\s\S]*?\*\/|\/\/.*/ `] = lit` -H7ZJEYBnhxKwCUevQceWv4B/nrFP6Rw0PPwY3o9tRsQ= -`; - -module.exports[n`DFA minimization >> 2496: /[{};:]/ `] = lit` -lDB5HG7GuZTVahEvGVhhXhI5gqyIO4xujgXZWmSVUKk= -`; - -module.exports[n`DFA minimization >> 2497: /"(?:[^\\"]|\\.)*"|'[^']*'/ `] = lit` -8vxnP1LTsR55Q4zSm81v4BaKcGNejAb4o5G8QbHU6rM= -`; - -module.exports[n`DFA minimization >> 2498: /(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i `] = lit` -Tlv4wwAhBNU8DloWN8bzlTgGpp/ihnNXAD6KFZCD9WY= -`; - -module.exports[n`DFA minimization >> 2499: /(\s)[a-z_][\w.-]*(?=:)/i `] = lit` -fkGDePm9q4JKlA6vcMjTPUyYUOGKK/iW5BIwp98/gzg= -`; - -module.exports[n`DFA minimization >> 2500: /\B@(?!\d)\w+(?=\s*\()/ `] = lit` -3VfiRXPzBPX59YcDxyaoIHNHcf32Zr9uIT2wmy4zngs= -`; - -module.exports[n`DFA minimization >> 2501: /\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|cont... `] = lit` -38W8/sNF8xv7EldClner5wqDUZHUiFF+hYve/iHgt0w= -`; - -module.exports[n`DFA minimization >> 2502: /\b(?!\d)\w+(?=\s*\()/ `] = lit` -Pzj56ooZK2dcyafycKwYDm3OyTvuhVK39Cp0cgWIiQI= -`; - -module.exports[n`DFA minimization >> 2503: /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+\.?[a-fA-F\d]*(?:[pP][+-]?[a-fA-F\d]+)?|\d+\... `] = lit` -Bw4gYAa7MtaF7YCPSkJu1quiBjjkEtcDBYGSD0j6sH0= -`; - -module.exports[n`DFA minimization >> 2504: /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*\/%^&|<>!=])=?|[?~]/ `] = lit` -S47XQ0toswRy5rnJ/vfJlxz5bNiM4Ryxw7IZFKv8PmQ= -`; - -module.exports[n`DFA minimization >> 2505: /[.:,;(){}[\]]/ `] = lit` -OHFTBemCtRyoCZfb2i6ku3etAe4ylzURp1HkiTlm7Ew= -`; - -module.exports[n`DFA minimization >> 2506: /\/{2}.*/ `] = lit` -JdbUZd7MyF80bJQmmk3EFLhwqUPbwpT8nQRQrqnqagg= -`; - -module.exports[n`DFA minimization >> 2507: /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/ `] = lit` -JVRSMY8X8huSjqsJo3LI2qNyaEMHA/4MyR6h0fYSDdY= -`; - -module.exports[n`DFA minimization >> 2508: /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ `] = lit` -6nQyhoVDRncGcglNKgi+pTuzCP6fvZfnjvKjE0XWNmA= -`; - -module.exports[n`DFA minimization >> 2509: /\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime... `] = lit` -p7SWhG1gT1C2Hyo+xrrTfoOj/5MCaWziAhv2gMeuP50= -`; - -module.exports[n`DFA minimization >> 2510: /\/{3}.*/ `] = lit` -MaIOkWf1HfDdC29pigvePBMp/C2Jj4ki3darAMV5nT8= -`; - -module.exports[n`DFA minimization >> 2511: /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/ `] = lit` -Pa0Xgu0W809htHs8Q+kKU4sfSz8xQlj+K5g7rCMK1iY= -`; - -module.exports[n`DFA minimization >> 2512: /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/ `] = lit` -rBAqk6OSMFoIgO9otQ8RKk0aVc7c9s5uSGeF6EF8i24= -`; - -module.exports[n`DFA minimization >> 2513: /(^|[^\\])'(?:[^'\\\r\n]|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/ `] = lit` -Te9TU3zNTQuVixOgyZZQCMmj9HY7ZbZSAqVV7OVx0aA= -`; diff --git a/tests/__snapshots__/dfa.ts b/tests/__snapshots__/dfa.ts deleted file mode 100644 index 643a02c8..00000000 --- a/tests/__snapshots__/dfa.ts +++ /dev/null @@ -1,740 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`DFA >> fromNFA >> /a?/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a??/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a+/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /a+?/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a|b)+c/ `] = lit` -(0) -> (1) : a b - -(1) -> (1) : a b - -> [2] : c - -[2] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a*b*c*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> fromNFA >> /a*b*?c*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> fromNFA >> /a*?b*c*?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> fromNFA >> /a+b+?c+/ `] = lit` -(0) -> (1) : a - -(1) -> (1) : a - -> (2) : b - -(2) -> (2) : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> fromNFA >> /a{4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a{4}?/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(a|){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(|a){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(|a|){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a{2,4}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a{2,4}?/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a{2,6}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> [5] : a - -[5] -> [6] : a - -[6] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(ab){0,3}/ `] = lit` -[0] -> (1) : a - -(1) -> [2] : b - -[2] -> (3) : a - -(3) -> [4] : b - -[4] -> (5) : a - -(5) -> [6] : b - -[6] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(){100,1000}/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a+|/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /|a+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /a*/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /a*?/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a|)+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a*)+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a*){4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a+|){4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a+)+/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a+|){0,4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a+){4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> [4] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a*){4,}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /((a*)+)?/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> fromNFA >> /(a|b)?c/ `] = lit` -(0) -> (1) : a b - -> [2] : c - -(1) -> [2] : c - -[2] -> none -`; - -module.exports[n`DFA >> fromNFA >> /(a+|b+)*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`DFA >> fromNFA >> /()*/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> fromNFA >> /([^\s\S])*/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a*|b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`DFA >> fromNFA >> /a+|b+|c+/ `] = lit` -(0) -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -[2] -> [2] : b - -[3] -> [3] : c -`; - -module.exports[n`DFA >> fromNFA >> /(a*|b*)+/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`DFA >> fromNFA >> /[^\s\S]/ `] = lit` -(0) -> none -`; - -module.exports[n`DFA >> fromNFA >> /ab[^\s\S]ba/ `] = lit` -(0) -> none -`; - -module.exports[n`DFA >> fromNFA >> /([^\s\S]|a|[^\s\S]|b[^\s\S]b|[^\s\S])a/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> none -`; - -module.exports[n`DFA >> fromNFA >> /[^\s\S]+/ `] = lit` -(0) -> none -`; - -module.exports[n`DFA >> fromNFA >> /[^\s\S]*/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> fromNFA >> /[^\s\S]?/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a+|aaab/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -> [5] : b - -[4] -> [4] : a - -[5] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a+|a*aa*/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`DFA >> fromNFA >> /(?:a+){2,}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`DFA >> fromNFA >> /abc|ab|abd|abcd/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : b - -[2] -> [3] : c - -> [4] : d - -[3] -> [4] : d - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /abc?|abd|abcd/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : b - -[2] -> [3] : c - -> [4] : d - -[3] -> [4] : d - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /food|fool|foot/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> [4] : d l t - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /fo(od|ol|ot)/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> [4] : d l t - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /bet|get|pet|set/ `] = lit` -(0) -> (1) : b g p s - -(1) -> (2) : e - -(2) -> [3] : t - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /bet|bat|bit/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a e i - -(2) -> [3] : t - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /a(?:bc)?|dbc/ `] = lit` -(0) -> [1] : a - -> (2) : d - -[1] -> (3) : b - -(2) -> (3) : b - -(3) -> [4] : c - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /\d+(?:\.\d+)?(?:e[+-]?\d+)?/i `] = lit` -(0) -> [1] : 0-9 - -[1] -> [1] : 0-9 - -> (2) : '.' - -> (3) : E e - -(2) -> [4] : 0-9 - -(3) -> (5) : '+' '-' - -> [6] : 0-9 - -[4] -> (3) : E e - -> [4] : 0-9 - -(5) -> [6] : 0-9 - -[6] -> [6] : 0-9 -`; - -module.exports[n`DFA >> fromNFA >> /<[=>]?|>=?|=>?|:=|\/=?/ `] = lit` -(0) -> (1) : ':' - -> [2] : '/' '>' - -> [3] : '<' - -> [4] : '=' - -(1) -> [5] : '=' - -[2] -> [5] : '=' - -[3] -> [5] : '=' '>' - -[4] -> [5] : '>' - -[5] -> none -`; - -module.exports[n`DFA >> fromNFA >> /\{[^\r\n}:]+\}/ `] = lit` -(0) -> (1) : '{' - -(1) -> (2) : not U+A U+D ':' '}' - -(2) -> (2) : not U+A U+D ':' '}' - -> [3] : '}' - -[3] -> none -`; - -module.exports[n`DFA >> fromNFA >> /'(?:%.|[^%'\r\n])+'/ `] = lit` -(0) -> (1) : ''' - -(1) -> (2) : '%' - -> (3) : not U+A U+D '%' ''' - -(2) -> (3) : not U+A U+D U+2028 U+2029 - -(3) -> (2) : '%' - -> (3) : not U+A U+D '%' ''' - -> [4] : ''' - -[4] -> none -`; - -module.exports[n`DFA >> fromNFA >> /&[bchou][a-z\d]+/i `] = lit` -(0) -> (1) : '&' - -(1) -> (2) : B C H O U b c h o u - -(2) -> [3] : 0-9 A-Z a-z - -[3] -> [3] : 0-9 A-Z a-z -`; - -module.exports[n`DFA >> fromNFA >> /"(?:[^\\"]|\\.)*"|'[^']*'/ `] = lit` -(0) -> (1) : ''' - -> (2) : '"' - -(1) -> [3] : ''' - -> (4) : not ''' - -(2) -> [3] : '"' - -> (5) : '\' - -> (6) : not '"' '\' - -[3] -> none - -(4) -> [3] : ''' - -> (4) : not ''' - -(5) -> (6) : not U+A U+D U+2028 U+2029 - -(6) -> [3] : '"' - -> (5) : '\' - -> (6) : not '"' '\' -`; - -module.exports[n`DFA >> Minimize >> /[^\s\S]/ `] = lit` -(0) -> none -`; - -module.exports[n`DFA >> Minimize >> /[^\s\S]*/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> Minimize >> /a*b*c*/ `] = lit` -[0] -> [0] : a - -> [1] : b - -> [2] : c - -[1] -> [1] : b - -> [2] : c - -[2] -> [2] : c -`; - -module.exports[n`DFA >> Minimize >> /a+b+c+/ `] = lit` -(0) -> (1) : a - -(1) -> (1) : a - -> (2) : b - -(2) -> (2) : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> Minimize >> /a+b+c+|a*/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a - -> (2) : b - -(2) -> (2) : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> Minimize >> /a*(a+b+c+)?/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a - -> (2) : b - -(2) -> (2) : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`DFA >> Minimize >> /a+|a*aa*/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`DFA >> Minimize >> /(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/ `] = lit` -(0) -> (1) : '.' - -> [2] : 0-9 - -(1) -> [3] : 0-9 - -[2] -> [2] : 0-9 - -> [3] : '.' - -> (4) : E - -[3] -> [3] : 0-9 - -> (4) : E - -(4) -> (5) : '+' '-' - -> [6] : 0-9 - -(5) -> [6] : 0-9 - -[6] -> [6] : 0-9 -`; - -module.exports[n`DFA >> Minimize >> /ab+/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`DFA >> Complement >> /[^\s\S]/ `] = lit` -[0] -> [1] : all - -[1] -> [1] : all -`; - -module.exports[n`DFA >> Complement >> /(?:)/ `] = lit` -(0) -> [1] : all - -[1] -> [1] : all -`; - -module.exports[n`DFA >> Complement >> /[\s\S]*/ `] = lit` -(0) -> none -`; - -module.exports[n`DFA >> Complement >> /[\s\S]+/ `] = lit` -[0] -> none -`; - -module.exports[n`DFA >> Complement >> /a+/ `] = lit` -[0] -> (1) : a - -> [2] : not a - -(1) -> (1) : a - -> [2] : not a - -[2] -> [2] : all -`; - -module.exports[n`DFA >> Complement >> /a*b*c*/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -> [4] : not a-c - -(1) -> (1) : a - -> (2) : b - -> (3) : c - -> [4] : not a-c - -(2) -> (2) : b - -> (3) : c - -> [4] : not b c - -(3) -> (3) : c - -> [4] : not c - -[4] -> [4] : all -`; diff --git a/tests/__snapshots__/enfa.ts b/tests/__snapshots__/enfa.ts deleted file mode 100644 index 09864388..00000000 --- a/tests/__snapshots__/enfa.ts +++ /dev/null @@ -1,5337 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`ENFA >> fromRegex >> /a?/ `] = lit` -(0) -> (1) : a - -> [2] : ε - -(1) -> [2] : ε - -[2] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a??/ `] = lit` -(0) -> [1] : ε - -> (2) : a - -[1] -> none - -(2) -> [1] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> [3] : ε - -[3] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a+?/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> [3] : ε - -> (1) : ε - -[3] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a|b)+c/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -> (3) : b - -(2) -> (4) : ε - -(3) -> (4) : ε - -(4) -> (1) : ε - -> (5) : ε - -(5) -> [6] : c - -[6] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a*b*c*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -> [8] : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : c - -[8] -> none - -(9) -> (7) : ε - -> [8] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a*b*?c*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : ε - -> [7] : ε - -(5) -> (8) : b - -(6) -> (9) : c - -[7] -> none - -(8) -> (4) : ε - -> (5) : ε - -(9) -> (6) : ε - -> [7] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a*?b*c*?/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : a - -(3) -> (6) : b - -(4) -> [7] : ε - -> (8) : ε - -(5) -> (1) : ε - -> (2) : ε - -(6) -> (3) : ε - -> (4) : ε - -[7] -> none - -(8) -> (9) : c - -(9) -> [7] : ε - -> (8) : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a+b+?c+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : b - -(5) -> (6) : ε - -> (4) : ε - -(6) -> (7) : ε - -(7) -> (8) : c - -(8) -> (7) : ε - -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a{4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a{4}?/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a|){3}/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (3) : ε - -(3) -> (4) : a - -> (5) : ε - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (7) : a - -> (8) : ε - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(|a){3}/ `] = lit` -(0) -> (1) : ε - -> (2) : a - -(1) -> (3) : ε - -(2) -> (3) : ε - -(3) -> (4) : ε - -> (5) : a - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (7) : ε - -> (8) : a - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(|a|){3}/ `] = lit` -(0) -> (1) : ε - -> (2) : a - -> (3) : ε - -(1) -> (4) : ε - -(2) -> (4) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -> (6) : a - -> (7) : ε - -(5) -> (8) : ε - -(6) -> (8) : ε - -(7) -> (8) : ε - -(8) -> (9) : ε - -> (10) : a - -> (11) : ε - -(9) -> [12] : ε - -(10) -> [12] : ε - -(11) -> [12] : ε - -[12] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a{2,4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -> [4] : ε - -(3) -> (5) : a - -> [4] : ε - -[4] -> none - -(5) -> [4] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a{2,4}?/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> [3] : ε - -> (4) : a - -[3] -> none - -(4) -> [3] : ε - -> (5) : a - -(5) -> [3] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a{2,6}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -> [4] : ε - -(3) -> (5) : a - -> [4] : ε - -[4] -> none - -(5) -> (6) : a - -> [4] : ε - -(6) -> (7) : a - -> [4] : ε - -(7) -> [4] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(ab){0,3}/ `] = lit` -(0) -> (1) : a - -> [2] : ε - -(1) -> (3) : b - -[2] -> none - -(3) -> (4) : a - -> [2] : ε - -(4) -> (5) : b - -(5) -> (6) : a - -> [2] : ε - -(6) -> (7) : b - -(7) -> [2] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(){100,1000}/ `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a+|/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> [4] : ε - -(3) -> (1) : ε - -> (5) : ε - -[4] -> none - -(5) -> [4] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /|a+/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> [3] : ε - -(2) -> (4) : a - -[3] -> none - -(4) -> (2) : ε - -> (5) : ε - -(5) -> [3] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a*/ `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -[2] -> none - -(3) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a*?/ `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : a - -(3) -> [1] : ε - -> (2) : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(a|)+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -> (3) : ε - -(2) -> (4) : ε - -(3) -> (4) : ε - -(4) -> (1) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a*)+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -> (3) : ε - -(2) -> (4) : a - -(3) -> (1) : ε - -> [5] : ε - -(4) -> (2) : ε - -> (3) : ε - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a*){4}/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : a - -(5) -> (7) : ε - -> (8) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : a - -(8) -> (10) : ε - -> [11] : ε - -(9) -> (7) : ε - -> (8) : ε - -(10) -> (12) : a - -[11] -> none - -(12) -> (10) : ε - -> [11] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(a+|){4}/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (5) : ε - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (4) : ε - -(6) -> (8) : a - -(7) -> (9) : ε - -(8) -> (6) : ε - -> (10) : ε - -(9) -> (11) : ε - -> (12) : ε - -(10) -> (9) : ε - -(11) -> (13) : a - -(12) -> (14) : ε - -(13) -> (11) : ε - -> (15) : ε - -(14) -> (16) : ε - -> (17) : ε - -(15) -> (14) : ε - -(16) -> (18) : a - -(17) -> [19] : ε - -(18) -> (16) : ε - -> (20) : ε - -[19] -> none - -(20) -> [19] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(a+)+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : a - -(3) -> (2) : ε - -> (4) : ε - -(4) -> (1) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a+|){0,4}/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -> [3] : ε - -(1) -> (4) : a - -(2) -> (5) : ε - -[3] -> none - -(4) -> (1) : ε - -> (6) : ε - -(5) -> (7) : ε - -> (8) : ε - -> [3] : ε - -(6) -> (5) : ε - -(7) -> (9) : a - -(8) -> (10) : ε - -(9) -> (7) : ε - -> (11) : ε - -(10) -> (12) : ε - -> (13) : ε - -> [3] : ε - -(11) -> (10) : ε - -(12) -> (14) : a - -(13) -> (15) : ε - -(14) -> (12) : ε - -> (16) : ε - -(15) -> (17) : ε - -> (18) : ε - -> [3] : ε - -(16) -> (15) : ε - -(17) -> (19) : a - -(18) -> (20) : ε - -(19) -> (17) : ε - -> (21) : ε - -(20) -> [3] : ε - -(21) -> (20) : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(a+){4}/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : a - -(5) -> (4) : ε - -> (6) : ε - -(6) -> (7) : ε - -(7) -> (8) : a - -(8) -> (7) : ε - -> (9) : ε - -(9) -> (10) : ε - -(10) -> (11) : a - -(11) -> (10) : ε - -> [12] : ε - -[12] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a*){4,}/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : a - -(5) -> (7) : ε - -> (8) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : a - -(8) -> (10) : ε - -(9) -> (7) : ε - -> (8) : ε - -(10) -> (11) : ε - -> (12) : ε - -(11) -> (13) : a - -(12) -> (10) : ε - -> [14] : ε - -(13) -> (11) : ε - -> (12) : ε - -[14] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /((a*)+)?/ `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> (4) : ε - -[2] -> none - -(3) -> (5) : a - -(4) -> (1) : ε - -> (6) : ε - -(5) -> (3) : ε - -> (4) : ε - -(6) -> [2] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(a|b)?c/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : ε - -(1) -> (4) : ε - -(2) -> (4) : ε - -(3) -> [5] : c - -(4) -> (3) : ε - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a+|b+)*/ `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> (4) : ε - -[2] -> none - -(3) -> (5) : a - -(4) -> (6) : b - -(5) -> (3) : ε - -> (7) : ε - -(6) -> (4) : ε - -> (8) : ε - -(7) -> (9) : ε - -(8) -> (9) : ε - -(9) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /()*/ `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /([^\s\S])*/ `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a*|b*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -> (3) : ε - -> (4) : ε - -(1) -> (5) : a - -(2) -> [6] : ε - -(3) -> (7) : b - -(4) -> [6] : ε - -(5) -> (1) : ε - -> (2) : ε - -[6] -> none - -(7) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a+|b+|c+/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -> (3) : ε - -(1) -> (4) : a - -(2) -> (5) : b - -(3) -> (6) : c - -(4) -> (1) : ε - -> (7) : ε - -(5) -> (2) : ε - -> (8) : ε - -(6) -> (3) : ε - -> (9) : ε - -(7) -> [10] : ε - -(8) -> [10] : ε - -(9) -> [10] : ε - -[10] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /(a*|b*)+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -> (3) : ε - -> (4) : ε - -> (5) : ε - -(2) -> (6) : a - -(3) -> (7) : ε - -(4) -> (8) : b - -(5) -> (7) : ε - -(6) -> (2) : ε - -> (3) : ε - -(7) -> (1) : ε - -> [9] : ε - -(8) -> (4) : ε - -> (5) : ε - -[9] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /[^\s\S]/ `] = lit` -(0) -> none -`; - -module.exports[n`ENFA >> fromRegex >> /ab[^\s\S]ba/ `] = lit` -(0) -> none -`; - -module.exports[n`ENFA >> fromRegex >> /([^\s\S]|a|[^\s\S]|b[^\s\S]b|[^\s\S])a/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /[^\s\S]+/ `] = lit` -(0) -> none -`; - -module.exports[n`ENFA >> fromRegex >> /[^\s\S]*/ `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /[^\s\S]?/ `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a+|aaab/ `] = lit` -(0) -> (1) : ε - -> (2) : a - -(1) -> (3) : a - -(2) -> (4) : a - -(3) -> (1) : ε - -> (5) : ε - -(4) -> (6) : a - -(5) -> [7] : ε - -(6) -> (8) : b - -[7] -> none - -(8) -> [7] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /a+|a*aa*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -> (3) : ε - -(1) -> (4) : a - -(2) -> (5) : a - -(3) -> (6) : a - -(4) -> (1) : ε - -> (7) : ε - -(5) -> (2) : ε - -> (3) : ε - -(6) -> (8) : ε - -> (9) : ε - -(7) -> [10] : ε - -(8) -> (11) : a - -(9) -> [10] : ε - -[10] -> none - -(11) -> (8) : ε - -> (9) : ε -`; - -module.exports[n`ENFA >> fromRegex >> /(?:a+){2,}/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : a - -(6) -> (5) : ε - -> (7) : ε - -(7) -> (4) : ε - -> [8] : ε - -[8] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /abc|ab|abd|abcd/ `] = lit` -(0) -> (1) : a - -> (2) : a - -> (3) : a - -> (4) : a - -(1) -> (5) : b - -(2) -> (6) : b - -(3) -> (7) : b - -(4) -> (8) : b - -(5) -> (9) : c - -(6) -> [10] : ε - -(7) -> (11) : d - -(8) -> (12) : c - -(9) -> [10] : ε - -[10] -> none - -(11) -> [10] : ε - -(12) -> (13) : d - -(13) -> [10] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /abc?|abd|abcd/ `] = lit` -(0) -> (1) : a - -> (2) : a - -> (3) : a - -(1) -> (4) : b - -(2) -> (5) : b - -(3) -> (6) : b - -(4) -> (7) : c - -> (8) : ε - -(5) -> (9) : d - -(6) -> (10) : c - -(7) -> (8) : ε - -(8) -> [11] : ε - -(9) -> [11] : ε - -(10) -> (12) : d - -[11] -> none - -(12) -> [11] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /food|fool|foot/ `] = lit` -(0) -> (1) : f - -> (2) : f - -> (3) : f - -(1) -> (4) : o - -(2) -> (5) : o - -(3) -> (6) : o - -(4) -> (7) : o - -(5) -> (8) : o - -(6) -> (9) : o - -(7) -> (10) : d - -(8) -> (11) : l - -(9) -> (12) : t - -(10) -> [13] : ε - -(11) -> [13] : ε - -(12) -> [13] : ε - -[13] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /fo(od|ol|ot)/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -> (4) : o - -> (5) : o - -(3) -> (6) : d - -(4) -> (7) : l - -(5) -> (8) : t - -(6) -> [9] : ε - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /bet|get|pet|set/ `] = lit` -(0) -> (1) : b - -> (2) : g - -> (3) : p - -> (4) : s - -(1) -> (5) : e - -(2) -> (6) : e - -(3) -> (7) : e - -(4) -> (8) : e - -(5) -> (9) : t - -(6) -> (10) : t - -(7) -> (11) : t - -(8) -> (12) : t - -(9) -> [13] : ε - -(10) -> [13] : ε - -(11) -> [13] : ε - -(12) -> [13] : ε - -[13] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /bet|bat|bit/ `] = lit` -(0) -> (1) : b - -> (2) : b - -> (3) : b - -(1) -> (4) : e - -(2) -> (5) : a - -(3) -> (6) : i - -(4) -> (7) : t - -(5) -> (8) : t - -(6) -> (9) : t - -(7) -> [10] : ε - -(8) -> [10] : ε - -(9) -> [10] : ε - -[10] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /a(?:bc)?|dbc/ `] = lit` -(0) -> (1) : a - -> (2) : d - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : b - -(3) -> (6) : c - -(4) -> [7] : ε - -(5) -> (8) : c - -(6) -> (4) : ε - -[7] -> none - -(8) -> [7] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /\d+(?:\.\d+)?(?:e[+-]?\d+)?/i `] = lit` -(0) -> (1) : ε - -(1) -> (2) : 0-9 - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : '.' - -> (5) : ε - -(4) -> (6) : ε - -(5) -> (7) : E e - -> [8] : ε - -(6) -> (9) : 0-9 - -(7) -> (10) : '+' '-' - -> (11) : ε - -[8] -> none - -(9) -> (6) : ε - -> (12) : ε - -(10) -> (11) : ε - -(11) -> (13) : ε - -(12) -> (5) : ε - -(13) -> (14) : 0-9 - -(14) -> (13) : ε - -> (15) : ε - -(15) -> [8] : ε -`; - -module.exports[n`ENFA >> fromRegex >> /<[=>]?|>=?|=>?|:=|\/=?/ `] = lit` -(0) -> (1) : '<' - -> (2) : '>' - -> (3) : '=' - -> (4) : ':' - -> (5) : '/' - -(1) -> (6) : '=' '>' - -> (7) : ε - -(2) -> (8) : '=' - -> (9) : ε - -(3) -> (10) : '>' - -> (11) : ε - -(4) -> (12) : '=' - -(5) -> (13) : '=' - -> (14) : ε - -(6) -> (7) : ε - -(7) -> [15] : ε - -(8) -> (9) : ε - -(9) -> [15] : ε - -(10) -> (11) : ε - -(11) -> [15] : ε - -(12) -> [15] : ε - -(13) -> (14) : ε - -(14) -> [15] : ε - -[15] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /\{[^\r\n}:]+\}/ `] = lit` -(0) -> (1) : '{' - -(1) -> (2) : ε - -(2) -> (3) : not U+A U+D ':' '}' - -(3) -> (2) : ε - -> (4) : ε - -(4) -> [5] : '}' - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /'(?:%.|[^%'\r\n])+'/ `] = lit` -(0) -> (1) : ''' - -(1) -> (2) : ε - -(2) -> (3) : '%' - -> (4) : not U+A U+D '%' ''' - -(3) -> (5) : not U+A U+D U+2028 U+2029 - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (2) : ε - -> (7) : ε - -(7) -> [8] : ''' - -[8] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /&[bchou][a-z\d]+/i `] = lit` -(0) -> (1) : '&' - -(1) -> (2) : B C H O U b c h o u - -(2) -> (3) : ε - -(3) -> (4) : 0-9 A-Z a-z - -(4) -> (3) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> fromRegex >> /"(?:[^\\"]|\\.)*"|'[^']*'/ `] = lit` -(0) -> (1) : '"' - -> (2) : ''' - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (7) : not '"' '\' - -> (8) : '\' - -(4) -> (9) : '"' - -(5) -> (10) : not ''' - -(6) -> (11) : ''' - -(7) -> (12) : ε - -(8) -> (13) : not U+A U+D U+2028 U+2029 - -(9) -> [14] : ε - -(10) -> (5) : ε - -> (6) : ε - -(11) -> [14] : ε - -(12) -> (3) : ε - -> (4) : ε - -(13) -> (12) : ε - -[14] -> none -`; - -module.exports[n`ENFA >> fromRegex options >> {"assertions":"disable"}: /^foo$|bar/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : r - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> fromRegex options >> {"assertions":"ignore"}: /^foo$|bar/ `] = lit` -(0) -> (1) : ε - -> (2) : b - -(1) -> (3) : f - -(2) -> (4) : a - -(3) -> (5) : o - -(4) -> (6) : r - -(5) -> (7) : o - -(6) -> [8] : ε - -(7) -> (9) : ε - -[8] -> none - -(9) -> [8] : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /()/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -(3) -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /()/ (right) `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b/ (right) `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : b - -(3) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b?/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : ε - -(3) -> (4) : ε - -(4) -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b?/ (right) `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : b - -> (4) : ε - -(3) -> (4) : ε - -(4) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -(3) -> (6) : b - -(4) -> [7] : ε - -(5) -> [7] : ε - -(6) -> (3) : ε - -> (4) : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b*/ (right) `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> (4) : ε - -(3) -> (5) : b - -(4) -> [1] : ε - -(5) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b+/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> [6] : ε - -(5) -> (3) : ε - -> (7) : ε - -[6] -> none - -(7) -> [6] : ε -`; - -module.exports[n`ENFA >> union >> /()/ ∪ /b+/ (right) `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> (3) : ε - -> (5) : ε - -(5) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /()/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : a - -(3) -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /()/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : a - -(3) -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : b - -(3) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b?/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : a - -(3) -> (4) : ε - -(4) -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b?/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : b - -> (4) : ε - -(3) -> (4) : ε - -(4) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : a - -(3) -> (6) : b - -(4) -> [7] : ε - -(5) -> [7] : ε - -(6) -> (3) : ε - -> (4) : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b*/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> (4) : ε - -(3) -> (5) : b - -(4) -> [1] : ε - -(5) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b+/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : a - -(3) -> (5) : b - -(4) -> [6] : ε - -(5) -> (3) : ε - -> (7) : ε - -[6] -> none - -(7) -> [6] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /b+/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> (3) : ε - -> (5) : ε - -(5) -> [1] : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /()/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : a - -> (5) : ε - -(3) -> [6] : ε - -(4) -> (5) : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /()/ (right) `] = lit` -(0) -> (1) : a - -> [2] : ε - -> (3) : ε - -(1) -> [2] : ε - -[2] -> none - -(3) -> (4) : ε - -(4) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : a - -> (5) : ε - -(3) -> [6] : ε - -(4) -> (5) : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b/ (right) `] = lit` -(0) -> (1) : a - -> [2] : ε - -> (3) : ε - -(1) -> [2] : ε - -[2] -> none - -(3) -> (4) : b - -(4) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b?/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : a - -> (6) : ε - -(3) -> (4) : ε - -(4) -> [7] : ε - -(5) -> (6) : ε - -(6) -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b?/ (right) `] = lit` -(0) -> (1) : a - -> [2] : ε - -> (3) : ε - -(1) -> [2] : ε - -[2] -> none - -(3) -> (4) : b - -> (5) : ε - -(4) -> (5) : ε - -(5) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : a - -> (6) : ε - -(3) -> (7) : b - -(4) -> [8] : ε - -(5) -> (6) : ε - -(6) -> [8] : ε - -(7) -> (3) : ε - -> (4) : ε - -[8] -> none -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b*/ (right) `] = lit` -(0) -> (1) : a - -> [2] : ε - -> (3) : ε - -(1) -> [2] : ε - -[2] -> none - -(3) -> (4) : ε - -> (5) : ε - -(4) -> (6) : b - -(5) -> [2] : ε - -(6) -> (4) : ε - -> (5) : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b+/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : a - -> (5) : ε - -(3) -> (6) : b - -(4) -> (5) : ε - -(5) -> [7] : ε - -(6) -> (3) : ε - -> (8) : ε - -[7] -> none - -(8) -> [7] : ε -`; - -module.exports[n`ENFA >> union >> /a?/ ∪ /b+/ (right) `] = lit` -(0) -> (1) : a - -> [2] : ε - -> (3) : ε - -(1) -> [2] : ε - -[2] -> none - -(3) -> (4) : ε - -(4) -> (5) : b - -(5) -> (4) : ε - -> (6) : ε - -(6) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /()/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -> (5) : ε - -(3) -> [6] : ε - -(4) -> (7) : a - -(5) -> [6] : ε - -[6] -> none - -(7) -> (4) : ε - -> (5) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /()/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : ε - -(4) -> (1) : ε - -> [2] : ε - -(5) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -> (5) : ε - -(3) -> [6] : ε - -(4) -> (7) : a - -(5) -> [6] : ε - -[6] -> none - -(7) -> (4) : ε - -> (5) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : b - -(4) -> (1) : ε - -> [2] : ε - -(5) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b?/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (4) : ε - -(4) -> [7] : ε - -(5) -> (8) : a - -(6) -> [7] : ε - -[7] -> none - -(8) -> (5) : ε - -> (6) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b?/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : b - -> (6) : ε - -(4) -> (1) : ε - -> [2] : ε - -(5) -> (6) : ε - -(6) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (7) : b - -(4) -> [8] : ε - -(5) -> (9) : a - -(6) -> [8] : ε - -(7) -> (3) : ε - -> (4) : ε - -[8] -> none - -(9) -> (5) : ε - -> (6) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b*/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : ε - -> (6) : ε - -(4) -> (1) : ε - -> [2] : ε - -(5) -> (7) : b - -(6) -> [2] : ε - -(7) -> (5) : ε - -> (6) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b+/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (6) : b - -(4) -> (7) : a - -(5) -> [8] : ε - -(6) -> (3) : ε - -> (9) : ε - -(7) -> (4) : ε - -> (5) : ε - -[8] -> none - -(9) -> [8] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /b+/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : ε - -(4) -> (1) : ε - -> [2] : ε - -(5) -> (6) : b - -(6) -> (5) : ε - -> (7) : ε - -(7) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /()/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -(3) -> [5] : ε - -(4) -> (6) : a - -[5] -> none - -(6) -> (4) : ε - -> (7) : ε - -(7) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /()/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> [5] : ε - -(4) -> (6) : a - -[5] -> none - -(6) -> (4) : ε - -> (7) : ε - -(7) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : b - -(3) -> (1) : ε - -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b?/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -> (4) : ε - -(2) -> (5) : ε - -(3) -> (4) : ε - -(4) -> [6] : ε - -(5) -> (7) : a - -[6] -> none - -(7) -> (5) : ε - -> (8) : ε - -(8) -> [6] : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b?/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : b - -> (5) : ε - -(3) -> (1) : ε - -> [6] : ε - -(4) -> (5) : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -(3) -> (6) : b - -(4) -> [7] : ε - -(5) -> (8) : a - -(6) -> (3) : ε - -> (4) : ε - -[7] -> none - -(8) -> (5) : ε - -> (9) : ε - -(9) -> [7] : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b*/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> [6] : ε - -(4) -> (7) : b - -(5) -> [6] : ε - -[6] -> none - -(7) -> (4) : ε - -> (5) : ε -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b+/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> (6) : a - -(5) -> (3) : ε - -> (7) : ε - -(6) -> (4) : ε - -> (8) : ε - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> union >> /a+/ ∪ /b+/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> [5] : ε - -(4) -> (6) : b - -[5] -> none - -(6) -> (4) : ε - -> (7) : ε - -(7) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /ab/ ∪ /ba/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : a - -(3) -> (5) : a - -(4) -> (6) : b - -(5) -> [7] : ε - -(6) -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /ab/ ∪ /ba/ (right) `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> [3] : b - -(2) -> (4) : b - -[3] -> none - -(4) -> (5) : a - -(5) -> [3] : ε -`; - -module.exports[n`ENFA >> union >> /foo/ ∪ /bar/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : f - -(3) -> (5) : a - -(4) -> (6) : o - -(5) -> (7) : r - -(6) -> (8) : o - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> union >> /foo/ ∪ /bar/ (right) `] = lit` -(0) -> (1) : f - -> (2) : ε - -(1) -> (3) : o - -(2) -> (4) : b - -(3) -> [5] : o - -(4) -> (6) : a - -[5] -> none - -(6) -> (7) : r - -(7) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /a*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : a - -(3) -> (6) : a - -(4) -> [7] : ε - -(5) -> [7] : ε - -(6) -> (3) : ε - -> (4) : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /a/ ∪ /a*/ (right) `] = lit` -(0) -> [1] : a - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> (4) : ε - -(3) -> (5) : a - -(4) -> [1] : ε - -(5) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /a*b*c*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (7) : a - -(4) -> (8) : ε - -> (9) : ε - -(5) -> (10) : a - -(6) -> [11] : ε - -(7) -> (3) : ε - -> (4) : ε - -(8) -> (12) : b - -(9) -> (13) : ε - -> (14) : ε - -(10) -> (5) : ε - -> (6) : ε - -[11] -> none - -(12) -> (8) : ε - -> (9) : ε - -(13) -> (15) : c - -(14) -> [11] : ε - -(15) -> (13) : ε - -> (14) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /a*b*c*/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : ε - -> (6) : ε - -(4) -> (1) : ε - -> [2] : ε - -(5) -> (7) : a - -(6) -> (8) : ε - -> (9) : ε - -(7) -> (5) : ε - -> (6) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> (12) : ε - -(10) -> (8) : ε - -> (9) : ε - -(11) -> (13) : c - -(12) -> [2] : ε - -(13) -> (11) : ε - -> (12) : ε -`; - -module.exports[n`ENFA >> union >> /a|b|c{2}/ ∪ /a{2}|b{2}|c/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -> (4) : b - -> (5) : c - -(2) -> (6) : a - -> (7) : b - -> (8) : c - -(3) -> (9) : a - -(4) -> (10) : b - -(5) -> (11) : ε - -(6) -> (12) : ε - -(7) -> (12) : ε - -(8) -> (13) : c - -(9) -> (11) : ε - -(10) -> (11) : ε - -(11) -> [14] : ε - -(12) -> [14] : ε - -(13) -> (12) : ε - -[14] -> none -`; - -module.exports[n`ENFA >> union >> /a|b|c{2}/ ∪ /a{2}|b{2}|c/ (right) `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -> (4) : ε - -(1) -> [5] : ε - -(2) -> [5] : ε - -(3) -> (6) : c - -(4) -> (7) : a - -> (8) : b - -> (9) : c - -[5] -> none - -(6) -> [5] : ε - -(7) -> (10) : a - -(8) -> (11) : b - -(9) -> (12) : ε - -(10) -> (12) : ε - -(11) -> (12) : ε - -(12) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /ba/ ∪ /ab/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : b - -(3) -> (5) : b - -(4) -> (6) : a - -(5) -> [7] : ε - -(6) -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> union >> /ba/ ∪ /ab/ (right) `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> [3] : a - -(2) -> (4) : a - -[3] -> none - -(4) -> (5) : b - -(5) -> [3] : ε -`; - -module.exports[n`ENFA >> union >> /bar/ ∪ /foo/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : f - -(2) -> (4) : b - -(3) -> (5) : o - -(4) -> (6) : a - -(5) -> (7) : o - -(6) -> (8) : r - -(7) -> [9] : ε - -(8) -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> union >> /bar/ ∪ /foo/ (right) `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : f - -(3) -> [5] : r - -(4) -> (6) : o - -[5] -> none - -(6) -> (7) : o - -(7) -> [5] : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /a/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> [6] : ε - -(4) -> (7) : a - -(5) -> [6] : ε - -[6] -> none - -(7) -> (4) : ε - -> (5) : ε -`; - -module.exports[n`ENFA >> union >> /a*/ ∪ /a/ (right) `] = lit` -(0) -> (1) : ε - -> [2] : ε - -> (3) : ε - -(1) -> (4) : a - -[2] -> none - -(3) -> (5) : a - -(4) -> (1) : ε - -> [2] : ε - -(5) -> [2] : ε -`; - -module.exports[n`ENFA >> union >> /a*b*c*/ ∪ /a*/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : ε - -> (4) : ε - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (7) : a - -(4) -> [8] : ε - -(5) -> (9) : a - -(6) -> (10) : ε - -> (11) : ε - -(7) -> (3) : ε - -> (4) : ε - -[8] -> none - -(9) -> (5) : ε - -> (6) : ε - -(10) -> (12) : b - -(11) -> (13) : ε - -> (14) : ε - -(12) -> (10) : ε - -> (11) : ε - -(13) -> (15) : c - -(14) -> [8] : ε - -(15) -> (13) : ε - -> (14) : ε -`; - -module.exports[n`ENFA >> union >> /a*b*c*/ ∪ /a*/ (right) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -> (3) : ε - -(1) -> (4) : a - -(2) -> (5) : ε - -> (6) : ε - -(3) -> (7) : ε - -> (8) : ε - -(4) -> (1) : ε - -> (2) : ε - -(5) -> (9) : b - -(6) -> (10) : ε - -> [11] : ε - -(7) -> (12) : a - -(8) -> [11] : ε - -(9) -> (5) : ε - -> (6) : ε - -(10) -> (13) : c - -[11] -> none - -(12) -> (7) : ε - -> (8) : ε - -(13) -> (10) : ε - -> [11] : ε -`; - -module.exports[n`ENFA >> union >> /a{2}|b{2}|c/ ∪ /a|b|c{2}/ (left) `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -> (4) : b - -> (5) : c - -(2) -> (6) : a - -> (7) : b - -> (8) : c - -(3) -> (9) : ε - -(4) -> (9) : ε - -(5) -> (10) : c - -(6) -> (11) : a - -(7) -> (12) : b - -(8) -> (13) : ε - -(9) -> [14] : ε - -(10) -> (9) : ε - -(11) -> (13) : ε - -(12) -> (13) : ε - -(13) -> [14] : ε - -[14] -> none -`; - -module.exports[n`ENFA >> union >> /a{2}|b{2}|c/ ∪ /a|b|c{2}/ (right) `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -> (4) : ε - -(1) -> (5) : a - -(2) -> (6) : b - -(3) -> [7] : ε - -(4) -> (8) : a - -> (9) : b - -> (10) : c - -(5) -> [7] : ε - -(6) -> [7] : ε - -[7] -> none - -(8) -> (11) : ε - -(9) -> (11) : ε - -(10) -> (12) : c - -(11) -> [7] : ε - -(12) -> (11) : ε -`; - -module.exports[n`ENFA >> append >> /()/ * /()/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> [3] : ε - -[3] -> none -`; - -module.exports[n`ENFA >> append >> /()/ * /b/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> [3] : b - -[3] -> none -`; - -module.exports[n`ENFA >> append >> /()/ * /b?/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : b - -> [4] : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> append >> /()/ * /b*/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : b - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> append >> /()/ * /b+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> (3) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a/ * /()/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> [3] : ε - -[3] -> none -`; - -module.exports[n`ENFA >> append >> /a/ * /b/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> [3] : b - -[3] -> none -`; - -module.exports[n`ENFA >> append >> /a/ * /b?/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : b - -> [4] : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> append >> /a/ * /b*/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : b - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> append >> /a/ * /b+/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> (3) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a?/ * /()/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> append >> /a?/ * /b/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> [4] : b - -[4] -> none -`; - -module.exports[n`ENFA >> append >> /a?/ * /b?/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : b - -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a?/ * /b*/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : ε - -> [5] : ε - -(4) -> (6) : b - -[5] -> none - -(6) -> (4) : ε - -> [5] : ε -`; - -module.exports[n`ENFA >> append >> /a?/ * /b+/ `] = lit` -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : b - -(5) -> (4) : ε - -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> append >> /a*/ * /()/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a*/ * /b/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a*/ * /b?/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : b - -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> append >> /a*/ * /b*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -> [6] : ε - -(5) -> (7) : b - -[6] -> none - -(7) -> (5) : ε - -> [6] : ε -`; - -module.exports[n`ENFA >> append >> /a*/ * /b+/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -(5) -> (6) : b - -(6) -> (5) : ε - -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> append >> /a+/ * /()/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a+/ * /b/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a+/ * /b?/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : b - -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> append >> /a+/ * /b*/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -> [6] : ε - -(5) -> (7) : b - -[6] -> none - -(7) -> (5) : ε - -> [6] : ε -`; - -module.exports[n`ENFA >> append >> /a+/ * /b+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : b - -(6) -> (5) : ε - -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> append >> /ab/ * /ba/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /foo/ * /bar/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> (4) : ε - -(4) -> (5) : b - -(5) -> (6) : a - -(6) -> [7] : r - -[7] -> none -`; - -module.exports[n`ENFA >> append >> /a/ * /a*/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : a - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> append >> /a*/ * /a*b*c*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -> (6) : ε - -(5) -> (7) : a - -(6) -> (8) : ε - -> (9) : ε - -(7) -> (5) : ε - -> (6) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> [12] : ε - -(10) -> (8) : ε - -> (9) : ε - -(11) -> (13) : c - -[12] -> none - -(13) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> append >> /a|b|c{2}/ * /a{2}|b{2}|c/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : ε - -(2) -> (4) : ε - -(3) -> (5) : c - -(4) -> (6) : ε - -(5) -> (4) : ε - -(6) -> (7) : a - -> (8) : b - -> (9) : c - -(7) -> (10) : a - -(8) -> (11) : b - -(9) -> [12] : ε - -(10) -> [12] : ε - -(11) -> [12] : ε - -[12] -> none -`; - -module.exports[n`ENFA >> append >> /ba/ * /ab/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /bar/ * /foo/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : r - -(3) -> (4) : ε - -(4) -> (5) : f - -(5) -> (6) : o - -(6) -> [7] : o - -[7] -> none -`; - -module.exports[n`ENFA >> append >> /a*/ * /a/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> append >> /a*b*c*/ * /a*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -> (8) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : c - -(8) -> (10) : ε - -(9) -> (7) : ε - -> (8) : ε - -(10) -> (11) : ε - -> [12] : ε - -(11) -> (13) : a - -[12] -> none - -(13) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> append >> /a{2}|b{2}|c/ * /a|b|c{2}/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : a - -(2) -> (5) : b - -(3) -> (6) : ε - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (7) : ε - -(7) -> (8) : a - -> (9) : b - -> (10) : c - -(8) -> [11] : ε - -(9) -> [11] : ε - -(10) -> (12) : c - -[11] -> none - -(12) -> [11] : ε -`; - -module.exports[n`ENFA >> prepend >> /()/ * /()/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> [3] : ε - -[3] -> none -`; - -module.exports[n`ENFA >> prepend >> /b/ * /()/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : ε - -(2) -> [3] : ε - -[3] -> none -`; - -module.exports[n`ENFA >> prepend >> /b?/ * /()/ `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> prepend >> /b*/ * /()/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /b+/ * /()/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : b - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /()/ * /a/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> [3] : a - -[3] -> none -`; - -module.exports[n`ENFA >> prepend >> /b/ * /a/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : ε - -(2) -> [3] : a - -[3] -> none -`; - -module.exports[n`ENFA >> prepend >> /b?/ * /a/ `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`ENFA >> prepend >> /b*/ * /a/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /b+/ * /a/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : b - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /()/ * /a?/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : a - -> [4] : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> prepend >> /b/ * /a?/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : ε - -(2) -> (3) : a - -> [4] : ε - -(3) -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> prepend >> /b?/ * /a?/ `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : a - -> [5] : ε - -(4) -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /b*/ * /a?/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : a - -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> prepend >> /b+/ * /a?/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : b - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : a - -> [6] : ε - -(5) -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> prepend >> /()/ * /a*/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : a - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> prepend >> /b/ * /a*/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : a - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> prepend >> /b?/ * /a*/ `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : ε - -> [5] : ε - -(4) -> (6) : a - -[5] -> none - -(6) -> (4) : ε - -> [5] : ε -`; - -module.exports[n`ENFA >> prepend >> /b*/ * /a*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -> [6] : ε - -(5) -> (7) : a - -[6] -> none - -(7) -> (5) : ε - -> [6] : ε -`; - -module.exports[n`ENFA >> prepend >> /b+/ * /a*/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : b - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -> [6] : ε - -(5) -> (7) : a - -[6] -> none - -(7) -> (5) : ε - -> [6] : ε -`; - -module.exports[n`ENFA >> prepend >> /()/ * /a+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> (3) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /b/ * /a+/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> (3) : ε - -> [5] : ε - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /b?/ * /a+/ `] = lit` -(0) -> (1) : b - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : a - -(5) -> (4) : ε - -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> prepend >> /b*/ * /a+/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : b - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -(5) -> (6) : a - -(6) -> (5) : ε - -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> prepend >> /b+/ * /a+/ `] = lit` -(0) -> (1) : ε - -(1) -> (2) : b - -(2) -> (1) : ε - -> (3) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : a - -(6) -> (5) : ε - -> [7] : ε - -[7] -> none -`; - -module.exports[n`ENFA >> prepend >> /ba/ * /ab/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /bar/ * /foo/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : r - -(3) -> (4) : ε - -(4) -> (5) : f - -(5) -> (6) : o - -(6) -> [7] : o - -[7] -> none -`; - -module.exports[n`ENFA >> prepend >> /a*/ * /a/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /a*b*c*/ * /a*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -> (8) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : c - -(8) -> (10) : ε - -(9) -> (7) : ε - -> (8) : ε - -(10) -> (11) : ε - -> [12] : ε - -(11) -> (13) : a - -[12] -> none - -(13) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> prepend >> /a{2}|b{2}|c/ * /a|b|c{2}/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : a - -(2) -> (5) : b - -(3) -> (6) : ε - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (7) : ε - -(7) -> (8) : a - -> (9) : b - -> (10) : c - -(8) -> [11] : ε - -(9) -> [11] : ε - -(10) -> (12) : c - -[11] -> none - -(12) -> [11] : ε -`; - -module.exports[n`ENFA >> prepend >> /ab/ * /ba/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -(2) -> (3) : ε - -(3) -> (4) : b - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> prepend >> /foo/ * /bar/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> (4) : ε - -(4) -> (5) : b - -(5) -> (6) : a - -(6) -> [7] : r - -[7] -> none -`; - -module.exports[n`ENFA >> prepend >> /a/ * /a*/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : ε - -> [4] : ε - -(3) -> (5) : a - -[4] -> none - -(5) -> (3) : ε - -> [4] : ε -`; - -module.exports[n`ENFA >> prepend >> /a*/ * /a*b*c*/ `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (5) : ε - -> (6) : ε - -(5) -> (7) : a - -(6) -> (8) : ε - -> (9) : ε - -(7) -> (5) : ε - -> (6) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> [12] : ε - -(10) -> (8) : ε - -> (9) : ε - -(11) -> (13) : c - -[12] -> none - -(13) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> prepend >> /a|b|c{2}/ * /a{2}|b{2}|c/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : ε - -(2) -> (4) : ε - -(3) -> (5) : c - -(4) -> (6) : ε - -(5) -> (4) : ε - -(6) -> (7) : a - -> (8) : b - -> (9) : c - -(7) -> (10) : a - -(8) -> (11) : b - -(9) -> [12] : ε - -(10) -> [12] : ε - -(11) -> [12] : ε - -[12] -> none -`; - -module.exports[n`ENFA >> quantify >> /a/{1,1} `] = lit` -(0) -> [1] : a - -[1] -> none -`; - -module.exports[n`ENFA >> quantify >> /a*/{1,1} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -[2] -> none - -(3) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{1,1}? `] = lit` -(0) -> [1] : a - -[1] -> none -`; - -module.exports[n`ENFA >> quantify >> /a*/{1,1}? `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -[2] -> none - -(3) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{0,1} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> [2] : a - -[2] -> none -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,1} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> [2] : ε - -[2] -> none - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,1} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -[2] -> none - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{0,1}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> [1] : a -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,1}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> [1] : ε - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> [1] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,1}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> [1] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{3,3} `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : a - -(3) -> (4) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{3,3} `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (1) : ε - -> (2) : ε - -(6) -> (8) : a - -(7) -> (9) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> [12] : ε - -(10) -> (6) : ε - -> (7) : ε - -(11) -> (13) : a - -[12] -> none - -(13) -> (14) : b - -(14) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{3,3} `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (3) : b - -(3) -> (1) : ε - -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : ε - -(6) -> (7) : a - -(7) -> (8) : b - -(8) -> (6) : ε - -> (9) : ε - -(9) -> (10) : ε - -(10) -> (11) : ε - -(11) -> (12) : a - -(12) -> (13) : b - -(13) -> (11) : ε - -> [14] : ε - -[14] -> none -`; - -module.exports[n`ENFA >> quantify >> /a/{3,3}? `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : a - -(3) -> (4) : ε - -(4) -> [5] : a - -[5] -> none -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{3,3}? `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (1) : ε - -> (2) : ε - -(6) -> (8) : a - -(7) -> (9) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> [12] : ε - -(10) -> (6) : ε - -> (7) : ε - -(11) -> (13) : a - -[12] -> none - -(13) -> (14) : b - -(14) -> (11) : ε - -> [12] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{3,3}? `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (3) : b - -(3) -> (1) : ε - -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : ε - -(6) -> (7) : a - -(7) -> (8) : b - -(8) -> (6) : ε - -> (9) : ε - -(9) -> (10) : ε - -(10) -> (11) : ε - -(11) -> (12) : a - -(12) -> (13) : b - -(13) -> (11) : ε - -> [14] : ε - -[14] -> none -`; - -module.exports[n`ENFA >> quantify >> /a/{0,3} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -[2] -> none - -(3) -> (4) : ε - -> [2] : ε - -(4) -> (5) : a - -(5) -> (6) : ε - -> [2] : ε - -(6) -> [2] : a -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,3} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> (4) : ε - -[2] -> none - -(3) -> (5) : a - -(4) -> (6) : ε - -> [2] : ε - -(5) -> (7) : b - -(6) -> (8) : ε - -> (9) : ε - -(7) -> (3) : ε - -> (4) : ε - -(8) -> (10) : a - -(9) -> (11) : ε - -> [2] : ε - -(10) -> (12) : b - -(11) -> (13) : ε - -> [2] : ε - -(12) -> (8) : ε - -> (9) : ε - -(13) -> (14) : a - -(14) -> (15) : b - -(15) -> (13) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,3} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -[2] -> none - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> (6) : ε - -(6) -> (7) : ε - -> [2] : ε - -(7) -> (8) : ε - -(8) -> (9) : a - -(9) -> (10) : b - -(10) -> (8) : ε - -> (11) : ε - -(11) -> (12) : ε - -> [2] : ε - -(12) -> (13) : ε - -(13) -> (14) : a - -(14) -> (15) : b - -(15) -> (13) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{0,3}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : a - -(3) -> [1] : ε - -> (4) : ε - -(4) -> (5) : a - -(5) -> [1] : ε - -> (6) : ε - -(6) -> [1] : a -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,3}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> (4) : ε - -(3) -> (5) : a - -(4) -> [1] : ε - -> (6) : ε - -(5) -> (7) : b - -(6) -> (8) : ε - -> (9) : ε - -(7) -> (3) : ε - -> (4) : ε - -(8) -> (10) : a - -(9) -> [1] : ε - -> (11) : ε - -(10) -> (12) : b - -(11) -> (13) : ε - -> [1] : ε - -(12) -> (8) : ε - -> (9) : ε - -(13) -> (14) : a - -(14) -> (15) : b - -(15) -> (13) : ε - -> [1] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,3}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> (6) : ε - -(6) -> [1] : ε - -> (7) : ε - -(7) -> (8) : ε - -(8) -> (9) : a - -(9) -> (10) : b - -(10) -> (8) : ε - -> (11) : ε - -(11) -> [1] : ε - -> (12) : ε - -(12) -> (13) : ε - -(13) -> (14) : a - -(14) -> (15) : b - -(15) -> (13) : ε - -> [1] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{0,} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -[2] -> none - -(3) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> (4) : ε - -[2] -> none - -(3) -> (5) : a - -(4) -> (1) : ε - -> [2] : ε - -(5) -> (6) : b - -(6) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,} `] = lit` -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -[2] -> none - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> (6) : ε - -(6) -> (1) : ε - -> [2] : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{0,}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : a - -(3) -> [1] : ε - -> (2) : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{0,}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -> (4) : ε - -(3) -> (5) : a - -(4) -> [1] : ε - -> (2) : ε - -(5) -> (6) : b - -(6) -> (3) : ε - -> (4) : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{0,}? `] = lit` -(0) -> [1] : ε - -> (2) : ε - -[1] -> none - -(2) -> (3) : ε - -(3) -> (4) : a - -(4) -> (5) : b - -(5) -> (3) : ε - -> (6) : ε - -(6) -> [1] : ε - -> (2) : ε -`; - -module.exports[n`ENFA >> quantify >> /a/{3,} `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : a - -(3) -> (4) : ε - -(4) -> (5) : a - -(5) -> (4) : ε - -> [6] : ε - -[6] -> none -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{3,} `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (1) : ε - -> (2) : ε - -(6) -> (8) : a - -(7) -> (9) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> (12) : ε - -(10) -> (6) : ε - -> (7) : ε - -(11) -> (13) : a - -(12) -> (9) : ε - -> [14] : ε - -(13) -> (15) : b - -[14] -> none - -(15) -> (11) : ε - -> (12) : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{3,} `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (3) : b - -(3) -> (1) : ε - -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : ε - -(6) -> (7) : a - -(7) -> (8) : b - -(8) -> (6) : ε - -> (9) : ε - -(9) -> (10) : ε - -(10) -> (11) : ε - -(11) -> (12) : a - -(12) -> (13) : b - -(13) -> (11) : ε - -> (14) : ε - -(14) -> (10) : ε - -> [15] : ε - -[15] -> none -`; - -module.exports[n`ENFA >> quantify >> /a/{3,}? `] = lit` -(0) -> (1) : a - -(1) -> (2) : ε - -(2) -> (3) : a - -(3) -> (4) : ε - -(4) -> (5) : a - -(5) -> [6] : ε - -> (4) : ε - -[6] -> none -`; - -module.exports[n`ENFA >> quantify >> /(ab)*/{3,}? `] = lit` -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -(3) -> (5) : b - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (1) : ε - -> (2) : ε - -(6) -> (8) : a - -(7) -> (9) : ε - -(8) -> (10) : b - -(9) -> (11) : ε - -> (12) : ε - -(10) -> (6) : ε - -> (7) : ε - -(11) -> (13) : a - -(12) -> [14] : ε - -> (9) : ε - -(13) -> (15) : b - -[14] -> none - -(15) -> (11) : ε - -> (12) : ε -`; - -module.exports[n`ENFA >> quantify >> /(ab)+/{3,}? `] = lit` -(0) -> (1) : ε - -(1) -> (2) : a - -(2) -> (3) : b - -(3) -> (1) : ε - -> (4) : ε - -(4) -> (5) : ε - -(5) -> (6) : ε - -(6) -> (7) : a - -(7) -> (8) : b - -(8) -> (6) : ε - -> (9) : ε - -(9) -> (10) : ε - -(10) -> (11) : ε - -(11) -> (12) : a - -(12) -> (13) : b - -(13) -> (11) : ε - -> (14) : ε - -(14) -> [15] : ε - -> (10) : ε - -[15] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a*b*c+/ `] = lit` -Before: /a*b*c+/ -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (8) : c - -(8) -> (7) : ε - -> [9] : ε - -[9] -> none - - -After: /a*b*c+/ -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (8) : c - -(8) -> (7) : ε - -> [9] : ε - -[9] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a?b?/ `] = lit` -Before: /a?b?/ -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> (3) : b - -> [4] : ε - -(3) -> [4] : ε - -[4] -> none - - -After: /a|a?b/ -(0) -> (1) : a - -> (2) : b - -(1) -> (3) : ε - -(2) -> [4] : ε - -(3) -> (2) : b - -> [4] : ε - -[4] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a??b?/ `] = lit` -Before: /a??b?/ -(0) -> (1) : ε - -> (2) : a - -(1) -> (3) : b - -> [4] : ε - -(2) -> (1) : ε - -(3) -> [4] : ε - -[4] -> none - - -After: /a|a?b/ -(0) -> (1) : b - -> (2) : a - -(1) -> [3] : ε - -(2) -> (4) : ε - -[3] -> none - -(4) -> (1) : b - -> [3] : ε -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a??b??/ `] = lit` -Before: /a??b??/ -(0) -> (1) : ε - -> (2) : a - -(1) -> [3] : ε - -> (4) : b - -(2) -> (1) : ε - -[3] -> none - -(4) -> [3] : ε - - -After: /a|a?b/ -(0) -> (1) : b - -> (2) : a - -(1) -> [3] : ε - -(2) -> (4) : ε - -[3] -> none - -(4) -> [3] : ε - -> (1) : b -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a?b??/ `] = lit` -Before: /a?b??/ -(0) -> (1) : a - -> (2) : ε - -(1) -> (2) : ε - -(2) -> [3] : ε - -> (4) : b - -[3] -> none - -(4) -> [3] : ε - - -After: /a|a?b/ -(0) -> (1) : a - -> (2) : b - -(1) -> (3) : ε - -(2) -> [4] : ε - -(3) -> [4] : ε - -> (2) : b - -[4] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /a*b*c*/ `] = lit` -Before: /a*b*c*/ -(0) -> (1) : ε - -> (2) : ε - -(1) -> (3) : a - -(2) -> (4) : ε - -> (5) : ε - -(3) -> (1) : ε - -> (2) : ε - -(4) -> (6) : b - -(5) -> (7) : ε - -> [8] : ε - -(6) -> (4) : ε - -> (5) : ε - -(7) -> (9) : c - -[8] -> none - -(9) -> (7) : ε - -> [8] : ε - - -After: /a+|a*b+|(?:a*(?:a|b+))?c+/ -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : ε - -> (5) : ε - -(2) -> (6) : ε - -> (7) : ε - -(3) -> (8) : ε - -> [9] : ε - -(4) -> (1) : a - -(5) -> (6) : ε - -> (7) : ε - -(6) -> (2) : b - -(7) -> (8) : ε - -> [9] : ε - -(8) -> (3) : c - -[9] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /(a*b*c*)*/ `] = lit` -Before: /(a*b*c*)*/ -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : ε - -> (4) : ε - -[2] -> none - -(3) -> (5) : a - -(4) -> (6) : ε - -> (7) : ε - -(5) -> (3) : ε - -> (4) : ε - -(6) -> (8) : b - -(7) -> (9) : ε - -> (10) : ε - -(8) -> (6) : ε - -> (7) : ε - -(9) -> (11) : c - -(10) -> (1) : ε - -> [2] : ε - -(11) -> (9) : ε - -> (10) : ε - - -After: /(?:c|(?:b|a+)b*)c*(?:a*b*c*)*/ -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (4) : ε - -> (5) : ε - -(2) -> (6) : ε - -> (7) : ε - -(3) -> (8) : ε - -> (9) : ε - -(4) -> (1) : a - -(5) -> (6) : ε - -> (7) : ε - -(6) -> (2) : b - -(7) -> (8) : ε - -> (9) : ε - -(8) -> (3) : c - -(9) -> (10) : ε - -> [11] : ε - -(10) -> (4) : ε - -> (5) : ε - -[11] -> none -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /(a||b)(|c|d)(||f|g)/ `] = lit` -Before: /(a||b)(|c|d)(||f|g)/ -(0) -> (1) : a - -> (2) : ε - -> (3) : b - -(1) -> (4) : ε - -(2) -> (4) : ε - -(3) -> (4) : ε - -(4) -> (5) : ε - -> (6) : c - -> (7) : d - -(5) -> (8) : ε - -(6) -> (8) : ε - -(7) -> (8) : ε - -(8) -> (9) : ε - -> (10) : ε - -> (11) : f - -> (12) : g - -(9) -> [13] : ε - -(10) -> [13] : ε - -(11) -> [13] : ε - -(12) -> [13] : ε - -[13] -> none - - -After: /[fg]|(?:c|[ab]c?|[ab]?d)[fg]?/ -(0) -> (1) : a - -> (2) : f - -> (3) : g - -> (4) : c - -> (5) : d - -> (6) : b - -(1) -> (7) : ε - -(2) -> [8] : ε - -(3) -> [8] : ε - -(4) -> (9) : ε - -(5) -> (9) : ε - -(6) -> (7) : ε - -(7) -> (10) : ε - -> (4) : c - -> (5) : d - -[8] -> none - -(9) -> (11) : ε - -> (12) : ε - -> (2) : f - -> (3) : g - -(10) -> (9) : ε - -(11) -> [8] : ε - -(12) -> [8] : ε -`; - -module.exports[n`ENFA >> withoutEmptyWord >> /((a||b)(|c|d)(||f|g))*/ `] = lit` -Before: /((a||b)(|c|d)(||f|g))*/ -(0) -> (1) : ε - -> [2] : ε - -(1) -> (3) : a - -> (4) : ε - -> (5) : b - -[2] -> none - -(3) -> (6) : ε - -(4) -> (6) : ε - -(5) -> (6) : ε - -(6) -> (7) : ε - -> (8) : c - -> (9) : d - -(7) -> (10) : ε - -(8) -> (10) : ε - -(9) -> (10) : ε - -(10) -> (11) : ε - -> (12) : ε - -> (13) : f - -> (14) : g - -(11) -> (15) : ε - -(12) -> (15) : ε - -(13) -> (15) : ε - -(14) -> (15) : ε - -(15) -> (1) : ε - -> [2] : ε - - -After: /(?:[fg]|(?:[cd]|[ab][cd]?)[fg]?)(?:[ab]?[cd]?[fg]?)*/ -(0) -> (1) : a - -> (2) : f - -> (3) : g - -> (4) : c - -> (5) : d - -> (6) : b - -(1) -> (7) : ε - -(2) -> (8) : ε - -(3) -> (8) : ε - -(4) -> (9) : ε - -(5) -> (9) : ε - -(6) -> (7) : ε - -(7) -> (10) : ε - -> (4) : c - -> (5) : d - -(8) -> (11) : ε - -> [12] : ε - -(9) -> (13) : ε - -> (14) : ε - -> (2) : f - -> (3) : g - -(10) -> (9) : ε - -(11) -> (1) : a - -> (15) : ε - -> (6) : b - -[12] -> none - -(13) -> (8) : ε - -(14) -> (8) : ε - -(15) -> (7) : ε -`; diff --git a/tests/__snapshots__/nfa.ts b/tests/__snapshots__/nfa.ts deleted file mode 100644 index 89f7b42e..00000000 --- a/tests/__snapshots__/nfa.ts +++ /dev/null @@ -1,1687 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`NFA >> fromRegex >> /a?/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a??/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a+/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /a+?/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a|b)+c/ `] = lit` -(0) -> (1) : a b - -(1) -> (1) : a b - -> [2] : c - -[2] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a*b*c*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`NFA >> fromRegex >> /a*b*?c*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`NFA >> fromRegex >> /a*?b*c*?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -> [2] : b - -> [3] : c - -[2] -> [2] : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`NFA >> fromRegex >> /a+b+?c+/ `] = lit` -(0) -> (1) : a - -(1) -> (1) : a - -> (2) : b - -(2) -> (2) : b - -> [3] : c - -[3] -> [3] : c -`; - -module.exports[n`NFA >> fromRegex >> /a{4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a{4}?/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(a|){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(|a){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(|a|){3}/ `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> [3] : a - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a{2,4}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a{2,4}?/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a{2,6}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [3] : a - -[3] -> [4] : a - -[4] -> [5] : a - -[5] -> [6] : a - -[6] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(ab){0,3}/ `] = lit` -[0] -> (1) : a - -(1) -> [2] : b - -[2] -> (3) : a - -(3) -> [4] : b - -[4] -> (5) : a - -(5) -> [6] : b - -[6] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(){100,1000}/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a+|/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /|a+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /a*/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /a*?/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a|)+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a*)+/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a*){4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a+|){4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a+)+/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a+|){0,4}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a+){4}/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : a - -[4] -> [4] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a*){4,}/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /((a*)+)?/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> fromRegex >> /(a|b)?c/ `] = lit` -(0) -> (1) : a b - -> [2] : c - -(1) -> [2] : c - -[2] -> none -`; - -module.exports[n`NFA >> fromRegex >> /(a+|b+)*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`NFA >> fromRegex >> /()*/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> fromRegex >> /([^\s\S])*/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a*|b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`NFA >> fromRegex >> /a+|b+|c+/ `] = lit` -(0) -> [1] : a - -> [2] : b - -> [3] : c - -[1] -> [1] : a - -[2] -> [2] : b - -[3] -> [3] : c -`; - -module.exports[n`NFA >> fromRegex >> /(a*|b*)+/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`NFA >> fromRegex >> /[^\s\S]/ `] = lit` -(0) -> none -`; - -module.exports[n`NFA >> fromRegex >> /ab[^\s\S]ba/ `] = lit` -(0) -> none -`; - -module.exports[n`NFA >> fromRegex >> /([^\s\S]|a|[^\s\S]|b[^\s\S]b|[^\s\S])a/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> fromRegex >> /[^\s\S]+/ `] = lit` -(0) -> none -`; - -module.exports[n`NFA >> fromRegex >> /[^\s\S]*/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> fromRegex >> /[^\s\S]?/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a+|aaab/ `] = lit` -(0) -> [1] : a - -> (2) : a - -[1] -> [1] : a - -(2) -> (3) : a - -(3) -> (4) : a - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a+|a*aa*/ `] = lit` -(0) -> [1] : a - -> (2) : a - -> [3] : a - -[1] -> [1] : a - -(2) -> (2) : a - -> [3] : a - -[3] -> [4] : a - -[4] -> [4] : a -`; - -module.exports[n`NFA >> fromRegex >> /(?:a+){2,}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> fromRegex >> /abc|ab|abd|abcd/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -> [3] : b - -(2) -> [3] : c d - -> (4) : c - -[3] -> none - -(4) -> [3] : d -`; - -module.exports[n`NFA >> fromRegex >> /abc?|abd|abcd/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -> [3] : b - -(2) -> (4) : c - -> [5] : d - -[3] -> [5] : c - -(4) -> [5] : d - -[5] -> none -`; - -module.exports[n`NFA >> fromRegex >> /food|fool|foot/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> [4] : d l t - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /fo(od|ol|ot)/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> [4] : d l t - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /bet|get|pet|set/ `] = lit` -(0) -> (1) : b g p s - -(1) -> (2) : e - -(2) -> [3] : t - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /bet|bat|bit/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a e i - -(2) -> [3] : t - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /a(?:bc)?|dbc/ `] = lit` -(0) -> [1] : a - -> (2) : d - -[1] -> (3) : b - -(2) -> (3) : b - -(3) -> [4] : c - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /\d+(?:\.\d+)?(?:e[+-]?\d+)?/i `] = lit` -(0) -> [1] : 0-9 - -[1] -> [1] : 0-9 - -> (2) : '.' - -> (3) : E e - -(2) -> [4] : 0-9 - -(3) -> (5) : '+' '-' - -> [6] : 0-9 - -[4] -> (3) : E e - -> [4] : 0-9 - -(5) -> [6] : 0-9 - -[6] -> [6] : 0-9 -`; - -module.exports[n`NFA >> fromRegex >> /<[=>]?|>=?|=>?|:=|\/=?/ `] = lit` -(0) -> (1) : ':' - -> [2] : '/' '>' - -> [3] : '<' - -> [4] : '=' - -(1) -> [5] : '=' - -[2] -> [5] : '=' - -[3] -> [5] : '=' '>' - -[4] -> [5] : '>' - -[5] -> none -`; - -module.exports[n`NFA >> fromRegex >> /\{[^\r\n}:]+\}/ `] = lit` -(0) -> (1) : '{' - -(1) -> (2) : not U+A U+D ':' '}' - -(2) -> (2) : not U+A U+D ':' '}' - -> [3] : '}' - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex >> /'(?:%.|[^%'\r\n])+'/ `] = lit` -(0) -> (1) : ''' - -(1) -> (2) : '%' - -> (3) : not U+A U+D '%' ''' - -(2) -> (3) : not U+A U+D U+2028 U+2029 - -(3) -> (2) : '%' - -> (3) : not U+A U+D '%' ''' - -> [4] : ''' - -[4] -> none -`; - -module.exports[n`NFA >> fromRegex >> /&[bchou][a-z\d]+/i `] = lit` -(0) -> (1) : '&' - -(1) -> (2) : B C H O U b c h o u - -(2) -> [3] : 0-9 A-Z a-z - -[3] -> [3] : 0-9 A-Z a-z -`; - -module.exports[n`NFA >> fromRegex >> /"(?:[^\\"]|\\.)*"|'[^']*'/ `] = lit` -(0) -> (1) : ''' - -> (2) : '"' - -(1) -> [3] : ''' - -> (4) : not ''' - -(2) -> [3] : '"' - -> (5) : '\' - -> (6) : not '"' '\' - -[3] -> none - -(4) -> [3] : ''' - -> (4) : not ''' - -(5) -> (6) : not U+A U+D U+2028 U+2029 - -(6) -> [3] : '"' - -> (5) : '\' - -> (6) : not '"' '\' -`; - -module.exports[n`NFA >> fromRegex options >> {"assertions":"disable"}: /^foo$|bar/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> [3] : r - -[3] -> none -`; - -module.exports[n`NFA >> fromRegex options >> {"assertions":"ignore"}: /^foo$|bar/ `] = lit` -(0) -> (1) : b - -> (2) : f - -(1) -> (3) : a - -(2) -> (4) : o - -(3) -> [5] : r - -(4) -> [5] : o - -[5] -> none -`; - -module.exports[n`NFA >> union >> /()/ ∪ /()/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> union >> /()/ ∪ /b/ `] = lit` -[0] -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /()/ ∪ /b?/ `] = lit` -[0] -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /()/ ∪ /b*/ `] = lit` -[0] -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> union >> /()/ ∪ /b+/ `] = lit` -[0] -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> union >> /a/ ∪ /()/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a/ ∪ /b/ `] = lit` -(0) -> [1] : a b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a/ ∪ /b?/ `] = lit` -[0] -> [1] : a b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a/ ∪ /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a/ ∪ /b+/ `] = lit` -(0) -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a?/ ∪ /()/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a?/ ∪ /b/ `] = lit` -[0] -> [1] : a b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a?/ ∪ /b?/ `] = lit` -[0] -> [1] : a b - -[1] -> none -`; - -module.exports[n`NFA >> union >> /a?/ ∪ /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a?/ ∪ /b+/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /()/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /b/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> none -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /b?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> none -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /b+/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a+/ ∪ /()/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> union >> /a+/ ∪ /b/ `] = lit` -(0) -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> none -`; - -module.exports[n`NFA >> union >> /a+/ ∪ /b?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> none -`; - -module.exports[n`NFA >> union >> /a+/ ∪ /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /a+/ ∪ /b+/ `] = lit` -(0) -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [2] : b -`; - -module.exports[n`NFA >> union >> /ab/ ∪ /ba/ `] = lit` -(0) -> (1) : a - -> (2) : b - -(1) -> [3] : b - -(2) -> [3] : a - -[3] -> none -`; - -module.exports[n`NFA >> union >> /foo/ ∪ /bar/ `] = lit` -(0) -> (1) : b - -> (2) : f - -(1) -> (3) : a - -(2) -> (4) : o - -(3) -> [5] : r - -(4) -> [5] : o - -[5] -> none -`; - -module.exports[n`NFA >> union >> /a/ ∪ /a*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -[1] -> none - -[2] -> [2] : a -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /a*b*c*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -[2] -> [2] : a - -> [3] : b - -> [4] : c - -[3] -> [3] : b - -> [4] : c - -[4] -> [4] : c -`; - -module.exports[n`NFA >> union >> /a|b|c{2}/ ∪ /a{2}|b{2}|c/ `] = lit` -(0) -> (1) : a - -> [2] : a-c - -> (3) : b - -> (4) : c - -(1) -> [2] : a - -[2] -> none - -(3) -> [2] : b - -(4) -> [2] : c -`; - -module.exports[n`NFA >> union >> /ba/ ∪ /ab/ `] = lit` -(0) -> (1) : a - -> (2) : b - -(1) -> [3] : b - -(2) -> [3] : a - -[3] -> none -`; - -module.exports[n`NFA >> union >> /bar/ ∪ /foo/ `] = lit` -(0) -> (1) : b - -> (2) : f - -(1) -> (3) : a - -(2) -> (4) : o - -(3) -> [5] : r - -(4) -> [5] : o - -[5] -> none -`; - -module.exports[n`NFA >> union >> /a*/ ∪ /a/ `] = lit` -[0] -> [1] : a - -> [2] : a - -[1] -> [1] : a - -[2] -> none -`; - -module.exports[n`NFA >> union >> /a*b*c*/ ∪ /a*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -> [3] : b - -> [4] : c - -[2] -> [2] : a - -[3] -> [3] : b - -> [4] : c - -[4] -> [4] : c -`; - -module.exports[n`NFA >> union >> /a{2}|b{2}|c/ ∪ /a|b|c{2}/ `] = lit` -(0) -> (1) : a - -> [2] : a-c - -> (3) : b - -> (4) : c - -(1) -> [2] : a - -[2] -> none - -(3) -> [2] : b - -(4) -> [2] : c -`; - -module.exports[n`NFA >> append >> /()/ * /()/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> append >> /()/ * /b/ `] = lit` -(0) -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> append >> /()/ * /b?/ `] = lit` -[0] -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> append >> /()/ * /b*/ `] = lit` -[0] -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> append >> /()/ * /b+/ `] = lit` -(0) -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> append >> /a/ * /()/ `] = lit` -(0) -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> append >> /a/ * /b/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a/ * /b?/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a/ * /b*/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a/ * /b+/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a?/ * /()/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> append >> /a?/ * /b/ `] = lit` -(0) -> (1) : a - -> [2] : b - -(1) -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a?/ * /b?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a?/ * /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a?/ * /b+/ `] = lit` -(0) -> (1) : a - -> [2] : b - -(1) -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a*/ * /()/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> append >> /a*/ * /b/ `] = lit` -(0) -> (1) : a - -> [2] : b - -(1) -> (1) : a - -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a*/ * /b?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a*/ * /b*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a*/ * /b+/ `] = lit` -(0) -> (1) : a - -> [2] : b - -(1) -> (1) : a - -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a+/ * /()/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> append >> /a+/ * /b/ `] = lit` -(0) -> (1) : a - -(1) -> (1) : a - -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a+/ * /b?/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a - -> [2] : b - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a+/ * /b*/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a - -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /a+/ * /b+/ `] = lit` -(0) -> (1) : a - -(1) -> (1) : a - -> [2] : b - -[2] -> [2] : b -`; - -module.exports[n`NFA >> append >> /ab/ * /ba/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -(2) -> (3) : b - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> append >> /foo/ * /bar/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> (4) : b - -(4) -> (5) : a - -(5) -> [6] : r - -[6] -> none -`; - -module.exports[n`NFA >> append >> /a/ * /a*/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> append >> /a*/ * /a*b*c*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[2] -> [2] : a - -> [3] : b - -> [4] : c - -[3] -> [3] : b - -> [4] : c - -[4] -> [4] : c -`; - -module.exports[n`NFA >> append >> /a|b|c{2}/ * /a{2}|b{2}|c/ `] = lit` -(0) -> (1) : a b - -> (2) : c - -(1) -> (3) : a - -> (4) : b - -> [5] : c - -(2) -> (1) : c - -(3) -> [5] : a - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`NFA >> append >> /ba/ * /ab/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : b - -[4] -> none -`; - -module.exports[n`NFA >> append >> /bar/ * /foo/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : r - -(3) -> (4) : f - -(4) -> (5) : o - -(5) -> [6] : o - -[6] -> none -`; - -module.exports[n`NFA >> append >> /a*/ * /a/ `] = lit` -(0) -> (1) : a - -> [2] : a - -(1) -> (1) : a - -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> append >> /a*b*c*/ * /a*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[2] -> [2] : a - -[3] -> [2] : a - -> [3] : b - -> [4] : c - -[4] -> [2] : a - -> [4] : c -`; - -module.exports[n`NFA >> append >> /a{2}|b{2}|c/ * /a|b|c{2}/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (3) : a - -(2) -> (3) : b - -(3) -> [4] : a b - -> (5) : c - -[4] -> none - -(5) -> [4] : c -`; - -module.exports[n`NFA >> prepend >> /()/ * /()/ `] = lit` -[0] -> none -`; - -module.exports[n`NFA >> prepend >> /b/ * /()/ `] = lit` -(0) -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> prepend >> /b?/ * /()/ `] = lit` -[0] -> [1] : b - -[1] -> none -`; - -module.exports[n`NFA >> prepend >> /b*/ * /()/ `] = lit` -[0] -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> prepend >> /b+/ * /()/ `] = lit` -(0) -> [1] : b - -[1] -> [1] : b -`; - -module.exports[n`NFA >> prepend >> /()/ * /a/ `] = lit` -(0) -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> prepend >> /b/ * /a/ `] = lit` -(0) -> (1) : b - -(1) -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> prepend >> /b?/ * /a/ `] = lit` -(0) -> [1] : a - -> (2) : b - -[1] -> none - -(2) -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b*/ * /a/ `] = lit` -(0) -> [1] : a - -> (2) : b - -[1] -> none - -(2) -> [1] : a - -> (2) : b -`; - -module.exports[n`NFA >> prepend >> /b+/ * /a/ `] = lit` -(0) -> (1) : b - -(1) -> (1) : b - -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> prepend >> /()/ * /a?/ `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> prepend >> /b/ * /a?/ `] = lit` -(0) -> [1] : b - -[1] -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> prepend >> /b?/ * /a?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b*/ * /a?/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> none - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`NFA >> prepend >> /b+/ * /a?/ `] = lit` -(0) -> [1] : b - -[1] -> [1] : b - -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> prepend >> /()/ * /a*/ `] = lit` -[0] -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b/ * /a*/ `] = lit` -(0) -> [1] : b - -[1] -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> prepend >> /b?/ * /a*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b*/ * /a*/ `] = lit` -[0] -> [1] : a - -> [2] : b - -[1] -> [1] : a - -[2] -> [1] : a - -> [2] : b -`; - -module.exports[n`NFA >> prepend >> /b+/ * /a*/ `] = lit` -(0) -> [1] : b - -[1] -> [1] : b - -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> prepend >> /()/ * /a+/ `] = lit` -(0) -> [1] : a - -[1] -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b/ * /a+/ `] = lit` -(0) -> (1) : b - -(1) -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> prepend >> /b?/ * /a+/ `] = lit` -(0) -> [1] : a - -> (2) : b - -[1] -> [1] : a - -(2) -> [1] : a -`; - -module.exports[n`NFA >> prepend >> /b*/ * /a+/ `] = lit` -(0) -> [1] : a - -> (2) : b - -[1] -> [1] : a - -(2) -> [1] : a - -> (2) : b -`; - -module.exports[n`NFA >> prepend >> /b+/ * /a+/ `] = lit` -(0) -> (1) : b - -(1) -> (1) : b - -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> prepend >> /ba/ * /ab/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : a - -(3) -> [4] : b - -[4] -> none -`; - -module.exports[n`NFA >> prepend >> /bar/ * /foo/ `] = lit` -(0) -> (1) : b - -(1) -> (2) : a - -(2) -> (3) : r - -(3) -> (4) : f - -(4) -> (5) : o - -(5) -> [6] : o - -[6] -> none -`; - -module.exports[n`NFA >> prepend >> /a*/ * /a/ `] = lit` -(0) -> (1) : a - -> [2] : a - -(1) -> (1) : a - -> [2] : a - -[2] -> none -`; - -module.exports[n`NFA >> prepend >> /a*b*c*/ * /a*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[2] -> [2] : a - -[3] -> [2] : a - -> [3] : b - -> [4] : c - -[4] -> [2] : a - -> [4] : c -`; - -module.exports[n`NFA >> prepend >> /a{2}|b{2}|c/ * /a|b|c{2}/ `] = lit` -(0) -> (1) : a - -> (2) : b - -> (3) : c - -(1) -> (3) : a - -(2) -> (3) : b - -(3) -> [4] : a b - -> (5) : c - -[4] -> none - -(5) -> [4] : c -`; - -module.exports[n`NFA >> prepend >> /ab/ * /ba/ `] = lit` -(0) -> (1) : a - -(1) -> (2) : b - -(2) -> (3) : b - -(3) -> [4] : a - -[4] -> none -`; - -module.exports[n`NFA >> prepend >> /foo/ * /bar/ `] = lit` -(0) -> (1) : f - -(1) -> (2) : o - -(2) -> (3) : o - -(3) -> (4) : b - -(4) -> (5) : a - -(5) -> [6] : r - -[6] -> none -`; - -module.exports[n`NFA >> prepend >> /a/ * /a*/ `] = lit` -(0) -> [1] : a - -[1] -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> prepend >> /a*/ * /a*b*c*/ `] = lit` -[0] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[1] -> [1] : a - -> [2] : a - -> [3] : b - -> [4] : c - -[2] -> [2] : a - -> [3] : b - -> [4] : c - -[3] -> [3] : b - -> [4] : c - -[4] -> [4] : c -`; - -module.exports[n`NFA >> prepend >> /a|b|c{2}/ * /a{2}|b{2}|c/ `] = lit` -(0) -> (1) : a b - -> (2) : c - -(1) -> (3) : a - -> (4) : b - -> [5] : c - -(2) -> (1) : c - -(3) -> [5] : a - -(4) -> [5] : b - -[5] -> none -`; - -module.exports[n`NFA >> intersect >> /a/ ∩ /b/ `] = lit` -(0) -> none -`; - -module.exports[n`NFA >> intersect >> /a*/ ∩ /a/ `] = lit` -(0) -> [1] : a - -[1] -> none -`; - -module.exports[n`NFA >> intersect >> /b*(ab+)*a/ ∩ /a*(ba+)*/ `] = lit` -(0) -> (1) : a - -> [2] : a - -> (3) : b - -(1) -> (4) : b - -[2] -> none - -(3) -> [2] : a - -> (5) : a - -(4) -> [2] : a - -> (5) : a - -(5) -> (4) : b -`; - -module.exports[n`NFA >> intersect >> /a+/ ∩ /(?:a+){2,}/ `] = lit` -(0) -> (1) : a - -(1) -> [2] : a - -[2] -> [2] : a -`; - -module.exports[n`NFA >> intersect >> /a*/ ∩ /b*/ `] = lit` -[0] -> none -`; diff --git a/tests/char-base.ts b/tests/char-base.ts deleted file mode 100644 index 7351db35..00000000 --- a/tests/char-base.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { assert } from "chai"; -import { CharBase } from "../src/char-base"; -import { CharSet } from "../src/char-set"; -import { Char } from "../src/char-types"; -import { charsFromRegex } from "./helper/chars"; -import { assertEqualSnapshot } from "./helper/snapshot"; - -describe(CharBase.name, function () { - const regexes: RegExp[] = [ - /a/u, - /[^a]/u, - /b/u, - /[^b]/u, - /c/u, - /[^c]/u, - /[ab]/u, - /[^ab]/u, - /\w/u, - /\W/u, - /\d/u, - /\D/u, - /\p{L}/u, - /\P{L}/u, - /\p{Lu}/u, - /\P{Lu}/u, - /\p{Ll}/u, - /\P{Ll}/u, - /[^]/u, - /[]/u, - ]; - const chars = regexes.map(charsFromRegex); - - interface TestCase { - id: string; - sets: CharSet[]; - } - - const cases: TestCase[] = []; - for (let i = 0; i < chars.length; i++) { - for (let j = i + 1; j < chars.length; j++) { - cases.push({ id: [regexes[i], regexes[j]].join(" "), sets: [chars[i], chars[j]] }); - } - } - for (let i = 0; i < chars.length; i++) { - for (let j = i + 1; j < chars.length; j++) { - for (let k = j + 1; k < chars.length; k++) { - cases.push({ - id: [regexes[i], regexes[j], regexes[k]].join(" "), - sets: [chars[i], chars[j], chars[k]], - }); - } - } - } - - cases.forEach(test); - - function test({ id, sets }: TestCase): void { - it(id, function () { - const base = new CharBase(sets); - - assert.isTrue( - base.sets.every(b => !b.isEmpty), - "Expected all base sets to be non-empty" - ); - assert.isTrue( - unionAll(sets).equals(unionAll(base.sets)), - "Expected the union of all base sets to be equal to the union of all input sets." - ); - - for (let i = 0; i < base.sets.length; i++) { - const a = base.sets[i]; - for (let j = i + 1; j < base.sets.length; j++) { - const b = base.sets[j]; - assert.isTrue(a.isDisjointWith(b), "Expected base sets to be disjoint with each other."); - } - } - - for (const s of sets) { - const indexes = base.split(s); - if (indexes.length === 0) { - assert.isTrue(s.isEmpty); - continue; - } - - assert.deepEqual([...new Set(indexes)], indexes, "expected index to be unique"); - assert.deepEqual( - [...indexes].sort((a, b) => a - b), - indexes, - "expected index to be sorted" - ); - - const total = unionAll(indexes.map(i => base.sets[i])); - assert.isTrue(total.equals(s)); - } - - const checkBase = new CharBase(base.sets); - assert.equal(checkBase.sets.length, base.sets.length, "Expected the base sets to be as small as possible."); - assert.isTrue(base.sets.every((s, i) => s.equals(checkBase.sets[i]))); - - if (sets.every(s => s.ranges.length < 10)) { - assertEqualSnapshot(this, base.sets.join("\n")); - } - }); - } -}); - -function unionAll(sets: Iterable, maxCharacter: Char = 0x10ffff): CharSet { - return CharSet.empty(maxCharacter).union(...sets); -} diff --git a/tests/char-map.ts b/tests/char-map.ts deleted file mode 100644 index 0cab48ee..00000000 --- a/tests/char-map.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { assert } from "chai"; -import { CharMap } from "../src/char-map"; -import { CharRange } from "../src/char-set"; - -describe("CharMap", function () { - it("single element operations", function () { - const map = new CharMap(); - map.set(1, "a"); - map.set(2, "b"); - map.set(3, "a"); - map.set(2, "c"); - map.set(3, "d"); - - assert.isTrue(map.delete(1)); - assert.isFalse(map.delete(1)); - assert.isFalse(map.delete(100)); - - map.set(12, "f"); - - assert.strictEqual(map.has(0), false); - assert.strictEqual(map.has(1), false); - assert.strictEqual(map.has(2), true); - assert.strictEqual(map.has(3), true); - assert.strictEqual(map.has(4), false); - - assert.strictEqual(map.has(2.5), false); - assert.strictEqual(map.has(100), false); - - assert.strictEqual(map.get(0), undefined); - assert.strictEqual(map.get(1), undefined); - assert.strictEqual(map.get(2), "c"); - assert.strictEqual(map.get(3), "d"); - assert.strictEqual(map.get(4), undefined); - - assert.strictEqual(map.get(2.5), undefined); - assert.strictEqual(map.get(100), undefined); - - assert.strictEqual(map.delete(2.5), false); - assert.strictEqual(map.delete(100), false); - - assertEqual(map, [ - [{ min: 2, max: 2 }, "c"], - [{ min: 3, max: 3 }, "d"], - [{ min: 12, max: 12 }, "f"], - ]); - - map.filter(value => value !== "d"); - - assertEqual(map, [ - [{ min: 2, max: 2 }, "c"], - [{ min: 12, max: 12 }, "f"], - ]); - }); - - it("range operations", function () { - const map = new CharMap(); - map.setRange({ min: 0, max: 1 }, "a"); - map.setRange({ min: 4, max: 16 }, "b"); - - map.deleteRange({ min: 2, max: 3 }); - - assertEqual(map, [ - [{ min: 0, max: 1 }, "a"], - [{ min: 4, max: 16 }, "b"], - ]); - - map.deleteRange({ min: 1, max: 4 }); - - assertEqual(map, [ - [{ min: 0, max: 0 }, "a"], - [{ min: 5, max: 16 }, "b"], - ]); - - map.clear(); - - assertEqual(map, []); - }); - - it("merge adjacent", function () { - const map = new CharMap(); - - map.set(1, 0); - map.set(2, 0); - - assertEqual(map, [[{ min: 1, max: 2 }, 0]]); - - map.setRange({ min: 4, max: 9 }, 0); - - assertEqual(map, [ - [{ min: 1, max: 2 }, 0], - [{ min: 4, max: 9 }, 0], - ]); - - map.set(3, 0); - - assertEqual(map, [[{ min: 1, max: 9 }, 0]]); - }); - - function assertEqual(charMap: CharMap, expected: Iterable<[CharRange, T]>): void { - assert.deepEqual([...charMap], [...expected]); - } -}); diff --git a/tests/char-set.ts b/tests/char-set.ts deleted file mode 100644 index 5105975e..00000000 --- a/tests/char-set.ts +++ /dev/null @@ -1,333 +0,0 @@ -import { assert } from "chai"; -import { CharRange, CharSet } from "../src/char-set"; -import { Char } from "../src/char-types"; -import { charsFromRegex } from "./helper/chars"; - -function toRanges(input: (string | number | CharRange | [number, number])[]): CharRange[] { - const ranges: CharRange[] = []; - for (const i of input) { - if (typeof i === "number") { - ranges.push({ min: i, max: i }); - } else if (typeof i === "string") { - const cp = i.codePointAt(0); - if (cp === undefined) { - throw new Error("Invalid string"); - } - ranges.push({ min: cp, max: cp }); - } else if (Array.isArray(i)) { - ranges.push({ min: i[0], max: i[1] }); - } else { - ranges.push(i); - } - } - return ranges; -} - -describe("CharSet", function () { - describe("toRanges (test setup)", function () { - it("should work with numbers", function () { - assert.deepStrictEqual(toRanges([1, 97]), [ - { min: 1, max: 1 }, - { min: 97, max: 97 }, - ]); - }); - it("should work with strings", function () { - assert.deepStrictEqual(toRanges(["a", "b"]), [ - { min: 97, max: 97 }, - { min: 98, max: 98 }, - ]); - }); - it("should work with intervals", function () { - assert.deepStrictEqual( - toRanges([ - [1, 3], - [65, 71], - ]), - [ - { min: 1, max: 3 }, - { min: 65, max: 71 }, - ] - ); - }); - it("should work with character ranges", function () { - const ranges: CharRange[] = [ - { min: 2, max: 53 }, - { min: 65, max: 65 }, - { min: 0, max: 0xffff }, - ]; - assert.deepStrictEqual(toRanges(ranges), ranges); - }); - }); - - describe("Basic functionality", function () { - interface TestCase { - title: string; - set: CharSet; - expected: string; - } - - const testCases: TestCase[] = [ - { - title: "Empty set", - set: CharSet.empty(0xffff), - expected: "", - }, - { - title: "[abc]", - // some are intentionally include twice - set: CharSet.empty(0xffff).union(toRanges("ccbbaa".split(""))), - expected: "61..63", - }, - { - title: "[^abc]", - // some are intentionally include twice - set: CharSet.empty(0xffff) - .union(toRanges("ccbbaa".split(""))) - .negate(), - expected: "0..60, 64..ffff", - }, - { - title: "White spaces", - set: CharSet.empty(0xffff).union(toRanges("\n\r\f\t\v \xA0 \n\r".split(""))), - expected: "9..d, 20, a0", - }, - { - title: "Not white spaces", - set: CharSet.empty(0xffff) - .union(toRanges("\n\r\f\t\v \xA0 \n\r".split(""))) - .negate(), - expected: "0..8, e..1f, 21..9f, a1..ffff", - }, - { - title: "[abc123] & [cdf321]", - set: CharSet.empty(0xffff) - .union(toRanges("abc123".split(""))) - .intersect(CharSet.empty(0xffff).union(toRanges("cdf123".split("")))), - expected: "31..33, 63", - }, - ]; - - for (const test of testCases) { - it(test.title, function () { - assert.equal(test.set.toRangesString(), test.expected); - }); - } - }); - - describe("Function tests", function () { - interface PredicateTestCase { - name: string; - cases: (() => boolean)[]; - } - - const charSetOf = charsFromRegex; - const predicateTests: PredicateTestCase[] = [ - { - name: "size", - cases: [ - // eslint-disable-next-line no-empty-character-class - () => charSetOf(/[]/).size == 0, - () => charSetOf(/[^\s\S]/).size == 0, - () => charSetOf(/a/).size == 1, - () => charSetOf(/a/i).size == 2, - () => charSetOf(/\d/).size == 10, - () => charSetOf(/\w/).size == 10 + 26 + 26 + 1, - ], - }, - { - name: CharSet.prototype.has.name, - cases: [ - () => charSetOf(/a/).has("a".charCodeAt(0)), - () => !charSetOf(/b/).has("a".charCodeAt(0)), - () => charSetOf(/\w/).has("a".charCodeAt(0)), - () => !charSetOf(/\W/).has("a".charCodeAt(0)), - ], - }, - { - name: CharSet.prototype.isSupersetOf.name, - cases: [ - () => charSetOf(/a/).isSupersetOf(charSetOf(/a/)), - () => charSetOf(/[a-z]/).isSupersetOf(charSetOf(/a/)), - () => charSetOf(/[a-z]/).isSupersetOf(charSetOf(/[a-z]/)), - () => charSetOf(/\w/).isSupersetOf(charSetOf(/[a-z]/)), - () => charSetOf(/\w/).isSupersetOf(charSetOf(/\d/)), - () => charSetOf(/\w/).isSupersetOf(charSetOf(/\w/)), - () => charSetOf(/\W/).isSupersetOf(charSetOf(/\W/)), - - () => !charSetOf(/\w/).isSupersetOf(charSetOf(/,/)), - () => !charSetOf(/\w/).isSupersetOf(charSetOf(/[,a]/)), - - () => !charSetOf(/\d/).isSupersetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => charSetOf(/[a-z]/).isSupersetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => charSetOf(/\w/).isSupersetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - ], - }, - { - name: CharSet.prototype.isSubsetOf.name, - cases: [ - () => charSetOf(/a/).isSubsetOf(charSetOf(/a/)), - () => charSetOf(/a/).isSubsetOf(charSetOf(/[a-z]/)), - () => charSetOf(/[a-z]/).isSubsetOf(charSetOf(/[a-z]/)), - () => charSetOf(/[a-z]/).isSubsetOf(charSetOf(/\w/)), - () => charSetOf(/\d/).isSubsetOf(charSetOf(/\w/)), - () => charSetOf(/\w/).isSubsetOf(charSetOf(/\w/)), - () => charSetOf(/\W/).isSubsetOf(charSetOf(/\W/)), - - () => !charSetOf(/,/).isSubsetOf(charSetOf(/\w/)), - () => !charSetOf(/[,a]/).isSubsetOf(charSetOf(/\w/)), - - () => charSetOf(/a/).isSubsetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => !charSetOf(/\d/).isSubsetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => charSetOf(/[a-z]/).isSubsetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => !charSetOf(/\w/).isSubsetOf({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - ], - }, - { - name: CharSet.prototype.isDisjointWith.name, - cases: [ - () => charSetOf(/a/).isDisjointWith(charSetOf(/b/)), - () => !charSetOf(/\d/).isDisjointWith(charSetOf(/\w/)), - () => charSetOf(/\w/).isDisjointWith(charSetOf(/\W/)), - () => !charSetOf(/\W/).isDisjointWith(charSetOf(/\W/)), - - () => charSetOf(/,/).isDisjointWith(charSetOf(/\w/)), - () => !charSetOf(/[,a]/).isDisjointWith(charSetOf(/\w/)), - - () => !charSetOf(/a/).isDisjointWith({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => charSetOf(/\d/).isDisjointWith({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => !charSetOf(/[a-z]/).isDisjointWith({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - () => charSetOf(/\W/).isDisjointWith({ min: "a".charCodeAt(0), max: "z".charCodeAt(0) }), - ], - }, - ]; - - for (const predicateTest of predicateTests) { - describe(predicateTest.name, function () { - for (const testCase of predicateTest.cases) { - const caseName = testCase - .toString() - .replace(/\s+/g, " ") - .replace(/^\s*\(\s*\)\s*=>\s*/, ""); - it(caseName, function () { - assert.isTrue(testCase()); - }); - } - }); - } - }); - - describe(CharSet.fromCharacters.name, function () { - const valid: readonly Char[] = [1, 2, 3, 5, 6, 9, 10, 11, 17]; - const expectedForValid: CharRange[] = [ - { min: 1, max: 3 }, - { min: 5, max: 6 }, - { min: 9, max: 11 }, - { min: 17, max: 17 }, - ]; - - it("simple", function () { - assert.deepEqual(CharSet.fromCharacters(255, valid).ranges, expectedForValid); - }); - - it("with duplicates", function () { - const withDuplicates = [...valid, ...valid].sort((a, b) => a - b); - - assert.deepEqual(CharSet.fromCharacters(255, withDuplicates).ranges, expectedForValid); - }); - - it("unsorted", function () { - const unsorted = [...valid].reverse(); - - assert.throws(() => CharSet.fromCharacters(255, unsorted)); - }); - - it("maximum", function () { - assert.throws(() => CharSet.fromCharacters(8, valid)); - }); - }); - - describe("Combinations", function () { - const sets: readonly [CharSet, string][] = [ - // eslint-disable-next-line no-empty-character-class - /[]/, - /[\s\S]/, - /a/, - /a/i, - /b/, - /B/i, - /c/, - /C/i, - /\d/, - /\w/, - /,/, - /[\0-\xF7]/, - /[a-z]/, - /[,a]/, - ].map(x => [charsFromRegex(x), String(x)]); - - for (let i = 0; i < sets.length; i++) { - for (let j = 0; j < sets.length; j++) { - const [left, leftString] = sets[i]; - const [right, rightString] = sets[j]; - - it(`${leftString} and ${rightString}`, function () { - // symmetry - assert.equal(left.equals(right), right.equals(left)); - - assert.isTrue(left.intersect(right).equals(right.intersect(left))); - assert.isTrue(left.union(right).equals(right.union(left))); - - assert.equal(left.isDisjointWith(right), right.isDisjointWith(left)); - - // correctness - assert.equal(left.isDisjointWith(right), left.intersect(right).isEmpty); - - assert.equal(left.isSupersetOf(right), right.without(left).isEmpty); - assert.equal(left.isSubsetOf(right), left.without(right).isEmpty); - - assert.isTrue(left.without(right).isDisjointWith(right)); - assert.isTrue(left.without(right).equals(left.intersect(right.negate()))); - - const cc = left.commonCharacter(right); - assert.equal(left.isDisjointWith(right), cc === undefined); - if (cc !== undefined) { - assert.isTrue(left.intersect(right).has(cc)); - } - - for (const r of right.ranges) { - const cc = left.commonCharacter(r); - assert.equal(left.isDisjointWith(r), cc === undefined); - if (cc !== undefined) { - assert.isTrue(left.intersect(r).has(cc)); - } - } - }); - } - } - }); - - it("should throw for incompatible sets", function () { - const a = CharSet.empty(0xff); - const b = CharSet.empty(0xffff); - - // should throw - assert.throws(() => a.union(b)); - assert.throws(() => b.union(a)); - assert.throws(() => a.intersect(b)); - assert.throws(() => b.intersect(a)); - assert.throws(() => a.without(b)); - assert.throws(() => b.without(a)); - - // should not throw - assert.doesNotThrow(() => a.equals(b)); - assert.doesNotThrow(() => b.equals(a)); - assert.doesNotThrow(() => a.compare(b)); - assert.doesNotThrow(() => b.compare(a)); - assert.doesNotThrow(() => a.isDisjointWith(b)); - assert.doesNotThrow(() => b.isDisjointWith(a)); - assert.doesNotThrow(() => a.isSubsetOf(b)); - assert.doesNotThrow(() => b.isSubsetOf(a)); - assert.doesNotThrow(() => a.isSupersetOf(b)); - assert.doesNotThrow(() => b.isSupersetOf(a)); - }); -}); diff --git a/tests/dfa-min.ts b/tests/dfa-min.ts deleted file mode 100644 index 40584845..00000000 --- a/tests/dfa-min.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { DFA } from "../src/dfa"; -import { assert } from "chai"; -import { literalToString } from "./helper/fa"; -import { Parser } from "../src/js"; -import { NFA } from "../src/nfa"; -import { PrismRegexes } from "./helper/prism-regex-data"; -import { CombinedTransformer, transform } from "../src/ast"; -import * as Transformers from "../src/transformers"; -import { TooManyNodesError } from "../src/errors"; -import { CONFIG_RUN_STRESS_TEST } from "./helper/config"; -import { assertEqualSnapshot } from "./helper/snapshot"; -import { createHash } from "crypto"; -import { toString } from "../src/iter"; - -describe("DFA minimization", function () { - if (!CONFIG_RUN_STRESS_TEST) { - return; - } - - const candidates = PrismRegexes.map((r, i) => ({ regex: r, id: i })).filter( - ({ regex }) => regex.source.length < 1e3 - ); - - function toDFA(regex: RegExp): DFA { - const result = Parser.fromLiteral(regex).parse({ backreferences: "disable" }); - - const applyTransformer = new CombinedTransformer([ - Transformers.inline(), - Transformers.removeDeadBranches(), - Transformers.removeUnnecessaryAssertions(), - Transformers.sortAssertions(), - Transformers.applyAssertions(), - Transformers.removeUnnecessaryAssertions(), - ]); - const modifiedExpression = transform(applyTransformer, result.expression); - - const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression); - - const nfa = NFA.fromRegex(finalExpression, result, { assertions: "disable", unknowns: "disable" }); - - return DFA.fromFA(nfa); - } - - for (const { regex, id } of candidates) { - // node v10 has a bug where all "/" chars are escaped. This escapes all "/" chars to make the - // result consistent across versions. - const source = regex.source.replace(/([^\\](?:\\{2})*)(?=\/)/g, "$1\\"); - - const preview = literalToString({ source, flags: regex.flags }) - // max length of 80 - .replace(/^([^]{80})[^]+/, "$1..."); - - it(`${id}: ${preview}`, function () { - this.timeout(10_000); - - let dfa; - try { - dfa = toDFA(regex); - } catch (error) { - if (error instanceof TooManyNodesError) { - return; - } - throw error; - } - - dfa.minimize(); - - // minimize(minimize(dfa)) == minimize(dfa) - // This is just a basic sanity check - const copy = dfa.copy(); - assert.isTrue(copy.structurallyEqual(dfa), "Copy is not equal to original"); - copy.minimize(); - - if (!copy.structurallyEqual(dfa)) { - assert.equal(copy.toDot(), dfa.toDot()); - assert.fail("structurally equal doesn't work"); - } - - // This way we can detect when the DFA minimization produces incorrect results. - // We could also store the DFA string itself but this results in mega bytes of snapshots. - assertEqualSnapshot( - this, - createHash("sha256") - .update(toString(dfa.transitionIterator(), cs => cs.toRangesString())) - .digest("base64") - ); - }); - } -}); diff --git a/tests/dfa.ts b/tests/dfa.ts deleted file mode 100644 index e0b8f67b..00000000 --- a/tests/dfa.ts +++ /dev/null @@ -1,273 +0,0 @@ -import { DFA } from "../src/dfa"; -import { assert } from "chai"; -import { literalToDFA, literalToNFA, literalToString } from "./helper/fa"; -import { EMPTY_LITERALS, FINITE_LITERALS, NON_EMPTY_LITERALS, NON_FINITE_LITERALS } from "./helper/regexp-literals"; -import { Literal } from "../src/js"; -import { fromStringToUnicode, fromUnicodeToString } from "../src/words"; -import { prefixes } from "./helper/util"; -import { testWordTestCases, wordTestData } from "./helper/word-test-data"; -import { NFA } from "../src/nfa"; -import { assertEqualSnapshot } from "./helper/snapshot"; -import { FROM_REGEX_LITERALS } from "./helper/from-regex-data"; - -describe("DFA", function () { - describe("fromNFA", function () { - for (const literal of FROM_REGEX_LITERALS) { - it(literalToString(literal), function () { - assertEqualSnapshot(this, literalToDFA(literal).toString()); - }); - } - }); - - describe("test", function () { - for (const testCase of wordTestData) { - it(literalToString(testCase.literal), function () { - const dfa = literalToDFA(testCase.literal); - testWordTestCases(dfa, testCase); - }); - - it(literalToString(testCase.literal) + " (minimized)", function () { - const dfa = literalToDFA(testCase.literal); - dfa.minimize(); - testWordTestCases(dfa, testCase); - }); - } - }); - - describe("Minimize", function () { - test([ - /[^\s\S]/, - /[^\s\S]*/, - /a*b*c*/, - /a+b+c+/, - /a+b+c+|a*/, - /a*(a+b+c+)?/, - /a+|a*aa*/, - /(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/, - /ab+/, - ]); - - function test(cases: Literal[]): void { - for (const literal of cases) { - it(literalToString(literal), function () { - const dfa = literalToDFA(literal); - dfa.minimize(); - assertEqualSnapshot(this, dfa.toString()); - }); - } - } - }); - - describe("Minimize & Equal", function () { - test([ - { - literals: [/a+b+c+|a*/, /a*(?:a+b+c+)?/], - }, - { - literals: [/a.*/, /a\w*.*/], - }, - { - literals: [ - /:\w+:/, - /:(?:\w+|ABC|DEF|abc|def|1234567890):/, - /:(?:\w|\w\w|\w+|\w\w\w|ABC|DEF|abc|def|1234567890)+:/, - ], - }, - { - literals: [/[ \t]+\S+|[ \t]+['"]\S|[ \t]+/, /[ \t]+\S*/], - }, - ]); - - interface TestCase { - literals: [Literal, Literal, ...Literal[]]; - } - - function test(cases: TestCase[]): void { - for (const { literals } of cases) { - it(literals.map(literalToString).join(" == "), function () { - const referenceDfa = literalToDFA(literals[0]); - referenceDfa.minimize(); - for (let i = 0; i < literals.length; i++) { - const dfa = literalToDFA(literals[i]); - dfa.minimize(); - assert.isTrue(dfa.structurallyEqual(referenceDfa)); - } - }); - } - } - }); - - describe("Complement", function () { - test([/[^\s\S]/, /(?:)/, /[\s\S]*/, /[\s\S]+/, /a+/, /a*b*c*/]); - - function test(cases: Literal[]): void { - for (const literal of cases) { - it(literalToString(literal), function () { - const dfa = literalToDFA(literal); - dfa.complement(); - assertEqualSnapshot(this, dfa.toString()); - }); - } - } - }); - - describe("isEmpty", function () { - it("constructed from 0 words", function () { - // empty language - assert.isTrue(DFA.fromWords([], { maxCharacter: 0xff }).isEmpty); - assert.isTrue(DFA.fromWords([], { maxCharacter: 0xffff }).isEmpty); - - // language containing the empty word - assert.isFalse(DFA.fromWords([[]], { maxCharacter: 0xff }).isEmpty); - assert.isFalse(DFA.fromWords([[]], { maxCharacter: 0xffff }).isEmpty); - }); - - describe("true", function () { - for (const literal of EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToDFA(literal).isEmpty); - }); - } - }); - - describe("false", function () { - for (const literal of NON_EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToDFA(literal).isEmpty); - }); - } - }); - }); - - describe("isFinite", function () { - describe("true", function () { - for (const literal of FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToDFA(literal).isFinite); - }); - } - }); - - describe("false", function () { - for (const literal of NON_FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToDFA(literal).isFinite); - }); - } - }); - }); - - describe("empty() & all()", function () { - it("empty()", function () { - assert.isTrue(DFA.empty({ maxCharacter: 0xff }).isEmpty); - assert.isTrue(DFA.empty({ maxCharacter: 0xffff }).isEmpty); - - assert.isTrue(DFA.empty({ maxCharacter: 0xff }).isFinite); - assert.isTrue(DFA.empty({ maxCharacter: 0xffff }).isFinite); - }); - - it("all()", function () { - assert.isFalse(DFA.all({ maxCharacter: 0xff }).isEmpty); - assert.isFalse(DFA.all({ maxCharacter: 0xffff }).isEmpty); - - assert.isFalse(DFA.all({ maxCharacter: 0xff }).isFinite); - assert.isFalse(DFA.all({ maxCharacter: 0xffff }).isFinite); - }); - }); - - describe("prefixes", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const nfa = DFA.fromWords(chars, { maxCharacter: 0x10ffff }); - nfa.prefixes(); - - const acutal = [...new Set([...nfa.words()].map(fromUnicodeToString))]; - const expected = [...prefixes(words)]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("Safe creation", function () { - const testDfa = literalToDFA(/a{1000}/); - - it(DFA.fromFA.name, function () { - assert.throws(() => { - DFA.fromFA(testDfa, new DFA.LimitedNodeFactory(100)); - }); - }); - it(DFA.fromIntersection.name, function () { - assert.throws(() => { - DFA.fromIntersection(testDfa, testDfa, new DFA.LimitedNodeFactory(100)); - }); - }); - it(DFA.fromTransitionIterator.name, function () { - assert.throws(() => { - DFA.fromTransitionIterator(testDfa.transitionIterator(), testDfa, new DFA.LimitedNodeFactory(100)); - }); - }); - it(DFA.fromWords.name, function () { - assert.throws(() => { - DFA.fromWords(testDfa.words(), testDfa, new DFA.LimitedNodeFactory(100)); - }); - }); - }); - - describe("fromIntersection", function () { - it("should work", function () { - const r1 = /\d+(?:ab|ba|.)+\w+/; - const r2 = /\w*(?:abc?|abba|\S)+\d+/; - - const r1Nfa = literalToNFA(r1); - const r2Nfa = literalToNFA(r2); - const r1Dfa = literalToDFA(r1); - const r2Dfa = literalToDFA(r2); - - const d1 = DFA.fromFA(NFA.fromIntersection(r1Dfa, r2Dfa)); - const d2 = DFA.fromFA(NFA.fromIntersection(r1Nfa, r2Nfa)); - const d3 = DFA.fromIntersection(r1Dfa, r2Dfa); - const d4 = DFA.fromIntersection(r1Nfa, r2Nfa); - - d1.minimize(); - d2.minimize(); - d3.minimize(); - d4.minimize(); - - assert.isTrue(d1.structurallyEqual(d2)); - assert.isTrue(d2.structurallyEqual(d3)); - assert.isTrue(d3.structurallyEqual(d4)); - }); - }); -}); diff --git a/tests/enfa.ts b/tests/enfa.ts deleted file mode 100644 index 3cfc3364..00000000 --- a/tests/enfa.ts +++ /dev/null @@ -1,697 +0,0 @@ -import { ENFA } from "../src/enfa"; -import { assert } from "chai"; -import { fromStringToUnicode, fromUnicodeToString } from "../src/words"; -import { faEqual, literalToENFA, literalToNFA, literalToString } from "./helper/fa"; -import { EMPTY_LITERALS, FINITE_LITERALS, NON_EMPTY_LITERALS, NON_FINITE_LITERALS } from "./helper/regexp-literals"; -import { Literal, Parser, toLiteral } from "../src/js"; -import { prefixes, suffixes } from "./helper/util"; -import { testWordTestCases, wordTestData } from "./helper/word-test-data"; -import { CharSet } from "../src/char-set"; -import { assertEqualSnapshot } from "./helper/snapshot"; -import { TEST_PAIRS } from "./helper/literal-pair-data"; -import { FROM_REGEX_LITERALS } from "./helper/from-regex-data"; - -describe("ENFA", function () { - describe("fromRegex", function () { - for (const literal of FROM_REGEX_LITERALS) { - it(literalToString(literal), function () { - assertEqualSnapshot(this, literalToENFA(literal).toString()); - }); - } - }); - - describe("fromRegex options", function () { - const options: ENFA.FromRegexOptions[] = [{ assertions: "disable" }, { assertions: "ignore" }]; - const literals: Literal[] = [/^foo$|bar/]; - for (const literal of literals) { - for (const o of options) { - it(JSON.stringify(o) + ": " + literalToString(literal), function () { - const parsed = Parser.fromLiteral(literal).parse(); - const enfa = ENFA.fromRegex(parsed.expression, { maxCharacter: parsed.maxCharacter }, o); - assertEqualSnapshot(this, enfa.toString()); - }); - } - } - }); - - describe("test", function () { - for (const testCase of wordTestData) { - it(literalToString(testCase.literal), function () { - const enfa = literalToENFA(testCase.literal); - testWordTestCases(enfa, testCase); - }); - } - }); - - describe("union", function () { - for (const [literal, other] of TEST_PAIRS) { - it(`${literalToString(literal)} ∪ ${literalToString(other)} (left)`, function () { - const a = literalToENFA(literal); - const b = literalToENFA(other); - a.union(b, "left"); - assertEqualSnapshot(this, a.toString()); - }); - it(`${literalToString(literal)} ∪ ${literalToString(other)} (right)`, function () { - const a = literalToENFA(literal); - const b = literalToENFA(other); - a.union(b, "right"); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("unionInto", function () { - for (const [literal, other] of TEST_PAIRS) { - it(`${literalToString(literal)} ∪ ${literalToString(other)} (left)`, function () { - const a = literalToENFA(literal); - const b = literalToENFA(literal); - const c = literalToENFA(other); - a.union(c, "left"); - b.unionInto(c, "left"); - assert.strictEqual(a.toString(), b.toString()); - }); - it(`${literalToString(literal)} ∪ ${literalToString(other)} (right)`, function () { - const a = literalToENFA(literal); - const b = literalToENFA(literal); - const c = literalToENFA(other); - a.union(c, "right"); - b.unionInto(c, "right"); - assert.strictEqual(a.toString(), b.toString()); - }); - } - }); - - describe("append", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(left)} * ${literalToString(right)}`, function () { - const a = literalToENFA(left); - const b = literalToENFA(right); - a.append(b); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("appendInto", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(left)} * ${literalToString(right)}`, function () { - const a = literalToENFA(left); - const b = literalToENFA(left); - const c = literalToENFA(right); - a.append(c); - b.appendInto(c); - assert.strictEqual(a.toString(), b.toString()); - }); - } - }); - - describe("prepend", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(right)} * ${literalToString(left)}`, function () { - const a = literalToENFA(left); - const b = literalToENFA(right); - a.prepend(b); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("prependInto", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(right)} * ${literalToString(left)}`, function () { - const a = literalToENFA(left); - const b = literalToENFA(left); - const c = literalToENFA(right); - a.prepend(c); - b.prependInto(c); - assert.strictEqual(a.toString(), b.toString()); - }); - } - }); - - describe("quantify", function () { - test([ - { - literal: /a/, - min: 1, - max: 0, - lazy: false, - expected: Error, - }, - { - literal: /a/, - min: Infinity, - max: Infinity, - lazy: false, - expected: Error, - }, - { - literal: /a/, - min: NaN, - max: NaN, - lazy: false, - expected: Error, - }, - { - literal: /a/, - min: -1, - max: 0, - lazy: false, - expected: Error, - }, - { - literal: /a/, - min: 0.5, - max: 1.5, - lazy: false, - expected: Error, - }, - - { - literal: /a/, - min: 1, - max: 1, - lazy: false, - }, - { - literal: /a*/, - min: 1, - max: 1, - lazy: false, - }, - - { - literal: /a/, - min: 1, - max: 1, - lazy: true, - }, - { - literal: /a*/, - min: 1, - max: 1, - lazy: true, - }, - - { - literal: /a/, - min: 0, - max: 1, - lazy: false, - }, - { - literal: /(ab)*/, - min: 0, - max: 1, - lazy: false, - }, - { - literal: /(ab)+/, - min: 0, - max: 1, - lazy: false, - }, - - { - literal: /a/, - min: 0, - max: 1, - lazy: true, - }, - { - literal: /(ab)*/, - min: 0, - max: 1, - lazy: true, - }, - { - literal: /(ab)+/, - min: 0, - max: 1, - lazy: true, - }, - - { - literal: /a/, - min: 3, - max: 3, - lazy: false, - }, - { - literal: /(ab)*/, - min: 3, - max: 3, - lazy: false, - }, - { - literal: /(ab)+/, - min: 3, - max: 3, - lazy: false, - }, - - { - literal: /a/, - min: 3, - max: 3, - lazy: true, - }, - { - literal: /(ab)*/, - min: 3, - max: 3, - lazy: true, - }, - { - literal: /(ab)+/, - min: 3, - max: 3, - lazy: true, - }, - - { - literal: /a/, - min: 0, - max: 3, - lazy: false, - }, - { - literal: /(ab)*/, - min: 0, - max: 3, - lazy: false, - }, - { - literal: /(ab)+/, - min: 0, - max: 3, - lazy: false, - }, - - { - literal: /a/, - min: 0, - max: 3, - lazy: true, - }, - { - literal: /(ab)*/, - min: 0, - max: 3, - lazy: true, - }, - { - literal: /(ab)+/, - min: 0, - max: 3, - lazy: true, - }, - - { - literal: /a/, - min: 0, - max: Infinity, - lazy: false, - }, - { - literal: /(ab)*/, - min: 0, - max: Infinity, - lazy: false, - }, - { - literal: /(ab)+/, - min: 0, - max: Infinity, - lazy: false, - }, - - { - literal: /a/, - min: 0, - max: Infinity, - lazy: true, - }, - { - literal: /(ab)*/, - min: 0, - max: Infinity, - lazy: true, - }, - { - literal: /(ab)+/, - min: 0, - max: Infinity, - lazy: true, - }, - - { - literal: /a/, - min: 3, - max: Infinity, - lazy: false, - }, - { - literal: /(ab)*/, - min: 3, - max: Infinity, - lazy: false, - }, - { - literal: /(ab)+/, - min: 3, - max: Infinity, - lazy: false, - }, - - { - literal: /a/, - min: 3, - max: Infinity, - lazy: true, - }, - { - literal: /(ab)*/, - min: 3, - max: Infinity, - lazy: true, - }, - { - literal: /(ab)+/, - min: 3, - max: Infinity, - lazy: true, - }, - ]); - - interface TestCase { - literal: Literal; - min: number; - max: number; - lazy: boolean; - expected?: typeof Error; - } - - function test(cases: TestCase[]): void { - for (const { literal, min, max, lazy, expected } of cases) { - it(`${literalToString(literal)}{${min},${max === Infinity ? "" : max}}${lazy ? "?" : ""}`, function () { - const enfa = literalToENFA(literal); - - if (!expected) { - enfa.quantify(min, max, lazy); - assertEqualSnapshot(this, enfa.toString()); - } else { - assert.throws(() => enfa.quantify(min, max, lazy)); - } - }); - } - } - }); - - describe("isEmpty", function () { - it("constructed from 0 words", function () { - // empty language - assert.isTrue(ENFA.fromWords([], { maxCharacter: 0xff }).isEmpty); - assert.isTrue(ENFA.fromWords([], { maxCharacter: 0xffff }).isEmpty); - - // language containing the empty word - assert.isFalse(ENFA.fromWords([[]], { maxCharacter: 0xff }).isEmpty); - assert.isFalse(ENFA.fromWords([[]], { maxCharacter: 0xffff }).isEmpty); - }); - - describe("true", function () { - for (const literal of EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToENFA(literal).isEmpty); - }); - } - }); - - describe("false", function () { - for (const literal of NON_EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToENFA(literal).isEmpty); - }); - } - }); - }); - - describe("isFinite", function () { - describe("true", function () { - for (const literal of FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToENFA(literal).isFinite); - }); - } - }); - - describe("false", function () { - for (const literal of NON_FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToENFA(literal).isFinite); - }); - } - }); - }); - - describe("empty() & all()", function () { - it("empty()", function () { - assert.isTrue(ENFA.empty({ maxCharacter: 0xff }).isEmpty); - assert.isTrue(ENFA.empty({ maxCharacter: 0xffff }).isEmpty); - - assert.isTrue(ENFA.empty({ maxCharacter: 0xff }).isFinite); - assert.isTrue(ENFA.empty({ maxCharacter: 0xffff }).isFinite); - }); - - it("all()", function () { - assert.isFalse(ENFA.all({ maxCharacter: 0xff }).isEmpty); - assert.isFalse(ENFA.all({ maxCharacter: 0xffff }).isEmpty); - - assert.isFalse(ENFA.all({ maxCharacter: 0xff }).isFinite); - assert.isFalse(ENFA.all({ maxCharacter: 0xffff }).isFinite); - }); - }); - - describe("prefixes", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const enfa = ENFA.fromWords(chars, { maxCharacter: 0x10ffff }); - enfa.prefixes(); - - const acutal = [...new Set([...enfa.words()].map(fromUnicodeToString))]; - const expected = [...prefixes(words)]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("suffixes", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const enfa = ENFA.fromWords(chars, { maxCharacter: 0x10ffff }); - enfa.suffixes(); - - const acutal = [...new Set([...enfa.words()].map(fromUnicodeToString))]; - const expected = [...suffixes(words)]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("withoutEmptyWord", function () { - test([ - /a*b*c+/, - /a?b?/, - /a??b?/, - /a??b??/, - /a?b??/, - /a*b*c*/, - /(a*b*c*)*/, - /(a||b)(|c|d)(||f|g)/, - /((a||b)(|c|d)(||f|g))*/, - ]); - - type TestCase = Literal; - - function test(cases: TestCase[]): void { - for (const literal of cases) { - it(`${literalToString(literal)}`, function () { - const enfa = literalToENFA(literal); - const before = enfa.toString(); - - enfa.withoutEmptyWord(); - const after = enfa.toString(); - const afterRegex = literalToString(toLiteral(enfa.toRegex())); - - assert.isFalse(enfa.test([])); - - const nfa = literalToNFA(literal); - nfa.withoutEmptyWord(); - - assert.isTrue(faEqual(enfa, nfa)); - - assertEqualSnapshot( - this, - `Before: ${literalToString(literal)}\n${before}\n\n\nAfter: ${afterRegex}\n${after}` - ); - }); - } - } - }); - - describe("Safe creation", function () { - const testENFA = literalToENFA(/a{1000}/); - - it(ENFA.fromFA.name, function () { - assert.throws(() => { - ENFA.fromFA(testENFA, new ENFA.LimitedNodeFactory(100)); - }); - }); - it(ENFA.fromRegex.name, function () { - assert.throws(() => { - ENFA.fromRegex(testENFA.toRegex(), testENFA, {}, new ENFA.LimitedNodeFactory(100)); - }); - }); - it(ENFA.fromTransitionIterator.name, function () { - assert.throws(() => { - ENFA.fromTransitionIterator(testENFA.transitionIterator(), testENFA, new ENFA.LimitedNodeFactory(100)); - }); - }); - it(ENFA.fromWords.name, function () { - assert.throws(() => { - ENFA.fromWords(testENFA.words(), testENFA, new ENFA.LimitedNodeFactory(100)); - }); - }); - }); - - describe(ENFA.Node.name, function () { - it(ENFA.Node.prototype.resolveEpsilon.name, function () { - /** - * This creates the graph. - * - * ```txt - * (0) -> (1) : "a" - * -> (2) : epsilon - * -> (3) : "b" - * - * (1) -> (3) : "c" - * - * (2) -> (4) : "d" - * -> (1) : "e" - * -> (2) : epsilon - * - * (3) -> (1) : epsilon - * ``` - */ - - const a = CharSet.empty(0xffff).union([{ min: 97, max: 97 }]); - const b = CharSet.empty(0xffff).union([{ min: 98, max: 98 }]); - const c = CharSet.empty(0xffff).union([{ min: 99, max: 99 }]); - const d = CharSet.empty(0xffff).union([{ min: 100, max: 100 }]); - const e = CharSet.empty(0xffff).union([{ min: 101, max: 101 }]); - - const n0 = new ENFA.Node(); - const n1 = new ENFA.Node(); - const n2 = new ENFA.Node(); - const n3 = new ENFA.Node(); - const n4 = new ENFA.Node(); - - n0.link(n1, a); - n0.link(n2, null); - n0.link(n3, b); - - n1.link(n3, c); - - n2.link(n4, d); - n2.link(n1, e); - n2.link(n2, null); - - n3.link(n1, null); - - /** - * The node `(0)` will return the resolved list: - * - * ```txt - * [(1), "a"] - * [(4), "d"] - * [(1), "e"] - * [(3), "b"] - * ``` - */ - - const resolved: [ENFA.ReadonlyNode, CharSet][] = []; - n0.resolveEpsilon("out", (charSet, node) => resolved.push([node, charSet])); - - assert.deepEqual(resolved, [ - [n1, a], - [n4, d], - [n1, e], - [n3, b], - ]); - }); - }); -}); diff --git a/tests/helper/chars.ts b/tests/helper/chars.ts deleted file mode 100644 index b493bc1c..00000000 --- a/tests/helper/chars.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { assert } from "chai"; -import { CharSet } from "../../src/char-set"; -import { Literal, Parser } from "../../src/js"; - -export function charsFromRegex(literal: Literal): CharSet { - const parser = Parser.fromLiteral(literal); - const { expression } = parser.parse({ simplify: false }); - - assert.equal(expression.alternatives.length, 1); - const elements = expression.alternatives[0].elements; - assert.equal(elements.length, 1); - const element = elements[0]; - if (element.type === "CharacterClass") { - return element.characters; - } - assert.fail("Only element should have been a character"); -} diff --git a/tests/helper/config.ts b/tests/helper/config.ts deleted file mode 100644 index bf043cd7..00000000 --- a/tests/helper/config.ts +++ /dev/null @@ -1,13 +0,0 @@ -export const CONFIG_UPDATE: boolean = process.argv.indexOf("--update") >= 0; - -export const CONFIG_RUN_TRANSFORMERS: boolean = process.argv.indexOf("--run-transformers") >= 0; - -export const CONFIG_RUN_STRESS_TEST: boolean = process.argv.indexOf("--run-stress-test") >= 0; - -/** - * Setting this to `true` will cause each regex to be parsed with all possible (interesting) parse options. - * - * Since there are quite a number of combinations, the test will then take minutes. Only enable this if you want to - * verify that the parser behaves correctly. - */ -export const CONFIG_ALL_PARSE_OPTIONS: boolean = process.argv.indexOf("--all-parse-options") >= 0; diff --git a/tests/helper/fa.ts b/tests/helper/fa.ts deleted file mode 100644 index cdd51d46..00000000 --- a/tests/helper/fa.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { DFA } from "../../src/dfa"; -import { NFA, ReadonlyNFA } from "../../src/nfa"; -import { ENFA } from "../../src/enfa"; -import { Literal, Parser } from "../../src/js"; -import * as Iter from "../../src/iter"; -import { TransitionIterable } from "../../src/fa-types"; - -export function literalToString(literal: Literal | string): string { - if (typeof literal === "string") { - return literal; - } - return `/${literal.source}/${literal.flags}`; -} - -export function literalToDFA(literal: Literal): DFA { - const parsed = Parser.fromLiteral(literal).parse(); - return DFA.fromFA(NFA.fromRegex(parsed.expression, { maxCharacter: parsed.maxCharacter })); -} - -export function literalToNFA(literal: Literal): NFA { - const parsed = Parser.fromLiteral(literal).parse(); - return NFA.fromRegex(parsed.expression, { maxCharacter: parsed.maxCharacter }); -} - -export function literalToENFA(literal: Literal): ENFA { - const parsed = Parser.fromLiteral(literal).parse(); - return ENFA.fromRegex(parsed.expression, { maxCharacter: parsed.maxCharacter }); -} - -export function removeIndentation(expected: string): string { - // remove trailing spaces and initial line breaks - expected = expected.replace(/^[\r\n]+|\s+$/g, ""); - - const lines = expected.split(/\r\n?|\n/g); - const indentation = /^[ \t]*/.exec(lines[0])![0]; - - if (indentation) { - for (let i = 0; i < lines.length; i++) { - let line = lines[i]; - if (line.startsWith(indentation)) { - line = line.substr(indentation.length); - } - lines[i] = line; - } - } - - return lines.join("\n"); -} - -export function reachableFinalStates(nfa: ReadonlyNFA): number { - const iter = Iter.iterateStates({ - initial: nfa.initial, - getOut(node) { - return node.out.keys(); - }, - isFinal(node) { - return nfa.finals.has(node); - }, - }); - - let count = 0; - for (const final of iter) { - if (nfa.finals.has(final)) { - count++; - } - } - return count; -} - -export function faEqual(a: TransitionIterable, b: TransitionIterable): boolean { - const dfaA = DFA.fromFA(a); - const dfaB = DFA.fromFA(b); - dfaA.minimize(); - dfaB.minimize(); - return dfaA.structurallyEqual(dfaB); -} diff --git a/tests/helper/from-regex-data.ts b/tests/helper/from-regex-data.ts deleted file mode 100644 index d676e7ca..00000000 --- a/tests/helper/from-regex-data.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { Literal } from "../../src/js"; - -export const FROM_REGEX_LITERALS: Literal[] = [ - /a?/, - /a??/, - /a+/, - /a+?/, - /(a|b)+c/, - /a*b*c*/, - /a*b*?c*/, - /a*?b*c*?/, - /a+b+?c+/, - /a{4}/, - /a{4}?/, - /(a|){3}/, - /(|a){3}/, - /(|a|){3}/, - /a{2,4}/, - /a{2,4}?/, - /a{2,6}/, - /(ab){0,3}/, - /(){100,1000}/, - /a+|/, - /|a+/, - /a*/, - /a*?/, - /(a|)+/, - /(a*)+/, - /(a*){4}/, - /(a+|){4}/, - /(a+)+/, - /(a+|){0,4}/, - /(a+){4}/, - /(a*){4,}/, - /((a*)+)?/, - /(a|b)?c/, - /(a+|b+)*/, - /()*/, - /([^\s\S])*/, - /a*|b*/, - /a+|b+|c+/, - /(a*|b*)+/, - /[^\s\S]/, - /ab[^\s\S]ba/, - /([^\s\S]|a|[^\s\S]|b[^\s\S]b|[^\s\S])a/, - /[^\s\S]+/, - /[^\s\S]*/, - /[^\s\S]?/, - /a+|aaab/, - /a+|a*aa*/, - /(?:a+){2,}/, - /abc|ab|abd|abcd/, - /abc?|abd|abcd/, - /food|fool|foot/, - /fo(od|ol|ot)/, - /bet|get|pet|set/, - /bet|bat|bit/, - /a(?:bc)?|dbc/, - /\d+(?:\.\d+)?(?:e[+-]?\d+)?/i, - /<[=>]?|>=?|=>?|:=|\/=?/, - /\{[^\r\n}:]+\}/, - /'(?:%.|[^%'\r\n])+'/, - /&[bchou][a-z\d]+/i, - /"(?:[^\\"]|\\.)*"|'[^']*'/, -]; diff --git a/tests/helper/literal-pair-data.ts b/tests/helper/literal-pair-data.ts deleted file mode 100644 index 283c90a1..00000000 --- a/tests/helper/literal-pair-data.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Literal } from "../../src/js"; - -export type LiteralPair = readonly [Literal, Literal]; - -const data: LiteralPair[] = [ - [/ab/, /ba/], - [/foo/, /bar/], - [/a/, /a*/], - [/a*/, /a*b*c*/], - [/a|b|c{2}/, /a{2}|b{2}|c/], -]; - -export const TEST_PAIRS: readonly LiteralPair[] = [ - // interesting combinations - [/()/, /()/], - [/()/, /b/], - [/()/, /b?/], - [/()/, /b*/], - [/()/, /b+/], - [/a/, /()/], - [/a/, /b/], - [/a/, /b?/], - [/a/, /b*/], - [/a/, /b+/], - [/a?/, /()/], - [/a?/, /b/], - [/a?/, /b?/], - [/a?/, /b*/], - [/a?/, /b+/], - [/a*/, /()/], - [/a*/, /b/], - [/a*/, /b?/], - [/a*/, /b*/], - [/a*/, /b+/], - [/a+/, /()/], - [/a+/, /b/], - [/a+/, /b?/], - [/a+/, /b*/], - [/a+/, /b+/], - - // data - ...data, - ...data.map(([a, b]) => [b, a]), -]; diff --git a/tests/helper/literal-to-string.ts b/tests/helper/literal-to-string.ts deleted file mode 100644 index 75ea5784..00000000 --- a/tests/helper/literal-to-string.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Concatenation, Element, NoParent, Node } from "../../src/ast"; -import { assertNever } from "../../src/util"; - -function toPatternConcatenation(concat: NoParent): string { - let s = ""; - const elements = concat.elements; - for (let i = 0, l = elements.length; i < l; i++) { - s += toPatternElement(elements[i]); - } - return s; -} -function toPatternElement(element: NoParent): string { - switch (element.type) { - case "Alternation": { - return "(?:" + toPatternAlternatives(element.alternatives) + ")"; - } - case "Assertion": { - const kind = element.kind === "ahead" ? "" : "<"; - const negate = element.negate ? "!" : "="; - return `(?${kind}${negate}${toPatternAlternatives(element.alternatives)})`; - } - case "CharacterClass": { - return `[${element.characters.toRangesString()}]`; - } - case "Quantifier": { - let quant: string; - if (element.max === Infinity) { - if (element.min === 0) { - quant = "*"; - } else if (element.min === 1) { - quant = "+"; - } else { - quant = `{${element.min},}`; - } - } else if (element.max === 1) { - if (element.min === 0) { - quant = "?"; - } /* if (element.min === 1) */ else { - quant = "{1}"; - } - } else if (element.min === element.max) { - quant = `{${element.min}}`; - } else { - quant = `{${element.min},${element.max}}`; - } - if (element.lazy) { - quant += "?"; - } - - let content: string; - if ( - element.alternatives.length === 1 && - element.alternatives[0].elements.length === 1 && - element.alternatives[0].elements[0].type === "CharacterClass" - ) { - content = toPatternConcatenation(element.alternatives[0]); - } else { - content = "(?:" + toPatternAlternatives(element.alternatives) + ")"; - } - - if (!content) { - content = "(?:)"; - } - - return content + quant; - } - case "Unknown": { - return `[]Unknown:${element.id}[]`; - } - default: - throw assertNever(element, "Invalid element"); - } -} -function toPatternAlternatives(expressions: readonly NoParent[]): string { - if (expressions.length === 0) { - return "[]"; - } else { - return expressions.map(toPatternConcatenation).join("|"); - } -} - -export function toPatternString(node: NoParent): string { - switch (node.type) { - case "Expression": - return toPatternAlternatives(node.alternatives); - case "Concatenation": - return toPatternConcatenation(node); - default: - return toPatternElement(node); - } -} diff --git a/tests/helper/prism-regex-data.ts b/tests/helper/prism-regex-data.ts deleted file mode 100644 index 983e596f..00000000 --- a/tests/helper/prism-regex-data.ts +++ /dev/null @@ -1,2521 +0,0 @@ -/* eslint-disable */ - -// All of Prism's unique regexes in the master branch as of 2020-08-13 -export const PrismRegexes: readonly RegExp[] = [ - //, - /<\?[\s\S]+?\?>/, - //i, - /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, - /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, - /&#x?[\da-f]{1,8};/i, - /^$|[[\]]/, - /^DOCTYPE/, - /[^\s<>'"]+/, - /\/?>/, - /&[\da-z]{1,8};/i, - /(\[)[\s\S]+(?=\]>$)/, - /"[^"]*"|'[^']*'/, - /^<\/?[^\s>\/]+/, - /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, - /[^\s>\/]+/, - /^<\/?/, - /^[^\s>\/:]+:/, - /"|'/, - /^=/, - /\/\*[\s\S]*?\*\//, - /[^{}\s](?:[^{};"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*?(?=\s*\{)/, - /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, - /!important\b/i, - /[-a-z0-9]+(?=\()/i, - /[(){};:,]/, - /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/, - /\burl\((?:("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?:[^\\\r\n()"']|\\[\s\S])*)\)/i, - /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - /^@[\w-]+/, - /^url/i, - /^\(|\)$/, - /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/, - /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, - /^("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1$/, - /()(?:))*\]\]>|(?!)/i, - //i, - /[\s\S]+/, - /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, - /^$/i, - /^\s*=\s*['"]|['"]\s*$/, - /(^$)/i, - /^\s*style/i, - /.+/i, - /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, - /\b(?:true|false)\b/, - /\w+(?=\()/, - /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, - /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, - /[{}[\];(),.:]/, - /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i, - /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, - /(^|[^\\:])\/\/.*/, - /[.\\]/, - /\b[A-Z](?:[A-Z_]|\dx?)*\b/, - /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, - /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/, - /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/, - /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/, - /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/, - /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, - /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, - /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, - /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, - /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, - /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, - /((?:^|})\s*)(?:catch|finally)\b/, - /(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, - /^`|`$/, - /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/, - /^\${|}$/, - /()(?:))*\]\]>|(?!)/i, - /^\*.*/m, - /(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/m, - /\b\d+\b/, - /[,.:()]/, - /([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/, - /(^|\s)".*/m, - /(\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i, - /(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/, - /(\s)&&?(?=\s)/, - /(\w)(?:->?|=>|[~|{}])(?=\w)/, - /[|{}]/, - /;.*/, - /=\/?|\//, - /[()\[\]]/, - /(?:%[is])?"[^"\n\r]*"/, - /%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i, - /%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i, - /(^|[^\w-])(?:\d*\*\d*|\d+)/, - /(^[ \t]*)(?:[a-z][\w-]*|<[^>\r\n]*>)(?=\s*=)/m, - /(?:(^|[^<\w-])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![\w-])/i, - /(^|[^<\w-])[a-z][\w-]*|<[^>\r\n]*>/i, - /^%[is]/, - /<|>/, - /\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/, - /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/, - /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/, - /--.*/, - /"(?:""|[^"\r\f\n])*"/i, - /\b'\w+/i, - /\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i, - /\b(?:true|false)\b/i, - /<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/, - /\.\.?|[,;():]/, - /'.'/, - /\b[a-z](?:[_a-z\d])*\b/i, - /\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i, - /\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i, - /\{-[\s\S]*?(?:-\}|$)|--.*/, - /[(){}⦃⦄.;@]/, - /\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/, - /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/, - /((?:data|record) +)\S+/, - /(^[ \t]*)[^:\r\n]+?(?=:)/m, - /(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/, - /\/\/.*|\/\*[\s\S]*?\*\//, - /\b(?:0x[\da-f]+|(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i, - /\b(?:false|true)\b/i, - /\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/, - /\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i, - /\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i, - /[()\[\]{}:.;,]/, - /'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/, - /(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i, - /\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i, - /\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i, - /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, - /\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/, - /\b[A-Z][A-Z_]*\b/, - /\.\.|->|[|~]|[*+?]\??/, - /[;:()=]/, - /'(?:\\.|[^\\'\r\n])*'/, - /\[(?:\\.|[^\\\]\r\n])*\]/, - /\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/, - /(->\s*)(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i, - /@\w+(?:::\w+)*/, - /#[ \t]*\w+/, - /\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/, - /[\[\]]/, - /[{}]/, - /\b\w+(?=\s*(?:[,(]|$))/, - /[,()]/, - /\b[a-z]\w*(?=\s*:)/, - /\b[A-Z]\w*(?=\s*:)/, - /([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/, - /(\{)[\s\S]+(?=\})/, - /#.*/, - /[$%]\{?(?:\w\.?[-+:]?)+\}?/, - /\^?.*\$|\^.*\$?/, - /(^\s*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im, - /<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b *.*>/i, - /\[(?:\w,?)+\]/, - /("|').*\1/, - />/, - /^<\/?\w+/, - /.*[^>]/, - /:/, - /(?:⍝|#[! ]).*$/m, - /¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:\d*\.?\d+(?:e[+¯]?\d+)?|¯|∞))?/i, - /:[A-Z][a-z][A-Za-z]*\b/, - /[⍬⌾#⎕⍞]/, - /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/, - /[\[;\]()◇⋄]/, - /'(?:[^'\r\n]|'')*'/, - /⎕[A-Z]+/i, - /[\\\/⌿⍀¨⍨⌶&∥]/, - /[.⍣⍠⍤∘⌸@⌺⍥]/, - /←/, - /[{}⍺⍵⍶⍹∇⍫:]/, - /"(?:\\.|[^"\\\r\n])*"/, - /(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i, - /\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/, - /[{}():,¬«»《》]/, - /\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/, - /--.+/, - /#.+/, - /[&=≠≤≥*+\-\/÷^]|[<>]=?/, - /\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/, - /\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/, - /@@?\w+/, - /(?!\d)\w+(?=\s*\()/, - /(?:true|false)/i, - /(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i, - /\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/, - /::|[?.:,;()[\]{}]/, - /([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/, - /(["'´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/, - /\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i, - /\.\./, - /(\bWITH\s+)COUNT(?=\s+INTO\b)/i, - /(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i, - /(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/, - /\bOPTIONS(?=\s*{)/i, - /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/, - /\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, - /[a-z_]\w*(?=\s*\()/i, - /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i, - />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/, - /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, - />>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/, - /\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/, - /\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/, - /\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/, - /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, - /(^\s*)#\s*[a-z]+(?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, - /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+/, - /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, - /(\b(?:class|struct)\s+\w+\s*:\s*)(?:[^;{}"'])+?(?=\s*[;{])/, - /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, - /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, - /\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/, - /(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i, - /^#/, - /##|\\(?=[\r\n])/, - /\b[a-z_]\w*\b(?!\s*::)/i, - /(\b(?:class|concept|enum|struct|typename)\s+)(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b)\w+/, - /^(#\s*)[a-z]+/, - /\S[\s\S]*/, - /^(#\s*include\s*)<[^>]+>/, - /%.*/, - /@(?:attribute|data|end|relation)\b/i, - /\b\d+(?:\.\d+)?\b/, - /[{},]/, - /(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/, - /^\/\/.*/m, - /&#?[\da-z]{1,8};/i, - /^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m, - /^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m, - /^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, - /^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, - /^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m, - /(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im, - /(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im, - /((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/, - /^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m, - /^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m, - /(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\]\\]|\\.)*\]|[^\]\\]|\\.)*\]/m, - /^'{3,}$/m, - /^<{3,}$/m, - /^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m, - /\b[a-z\d][a-z\d-]*::?(?:(?:\S+)??\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/, - /(^|[^\\])(?:(?:\B\[(?:[^\]\\"]|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"]|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m, - /\((?:C|TM|R)\)/, - /(^| )\+$/m, - /^\++|\++$/, - /^(?:-+|\.+)|(?:-+|\.+)$/, - /^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/, - /^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/, - /"(?:[^"\\]|\\.)*"/, - /\w+(?==)/, - /^\[|\]$|,/, - /=/, - /(?!^\s+$).+/, - /(^[ \t]*)/m, - /<\d+>/, - /^[a-z\d-]+(?=:)/, - /^::?/, - /^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/, - /(?!\|)(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*])?(?:[<^>](?:\.[<^>])?|\.[<^>])?[a-z]*)(?=\|)/, - /(^|[^\\])[|!]=*/, - /([$`])(?:(?!\1)[^\\]|\\.)*\1/, - /'(?:[^'\\]|\\.)*'/, - /(?:\[(?:[^\]\\"]|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/, - /^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/, - /^\{.+\}$/, - /^(['_])[\s\S]+\1$/, - /^\*[\s\S]+\*$/, - /^[$`]|[$`]$/, - /^'|'$/, - /^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/, - /^[=?!#%@$]|!(?=[:}])/, - /^\{|\}$|::?/, - /^(?:''?|__?)|(?:''?|__?)$/, - /^\*\*?|\*\*?$/, - /(^\{)[a-z\d,+_-]+/, - /\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/, - /(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i, - />>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/, - /\?\.?|::|[{}[\];(),.:]/, - /(\b(?:namespace|using)\s+)(?:@?\b[A-Za-z_]\w*\b)(?:\s*\.\s*(?:@?\b[A-Za-z_]\w*\b))*(?=\s*[;{])/, - /(\b(?:default|typeof|sizeof)\s*\(\s*)(?:[^()\s]|\s(?!\s*\))|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\)))*(?=\s*\))/, - /(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)(?=\s+(?:(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/, - /(\bnew\s+)(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)(?=\s*[[({])/, - /(?:@?\b[A-Za-z_]\w*\b)\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)(?=\s*\()/, - /\b((?:(?:\b(?:class|enum|interface|struct)\b)\s+(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)|where\s+(?:@?\b[A-Za-z_]\w*\b))\s*:\s*)(?:(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)|(?:\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:\s*,\s*(?:(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)|(?:\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)))*(?=\s*(?:where|[{;]|=>|$))/, - /(^\s*)#.*/m, - /((?:^|[^\s\w>)?])\s*\[\s*)(?:(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b)\s*:\s*)?(?:(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)(?:\s*\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\))*\))?)(?:\s*,\s*(?:(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)(?:\s*\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\))*\))?))*(?=\s*\])/, - /([(,]\s*)(?:@?\b[A-Za-z_]\w*\b)(?=\s*:)/, - /<%--[\s\S]*?--%>/, - /()[\s\S]*?(?=<\/script>)/i, - /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - /<%\s*@.*%>/i, - /<%.*%>/i, - /(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|(?:\{(?!\{)(?:(?![}:])(?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\)))*(?::[^}\r\n]+)?\})|[^\\{"])*"/, - /(^|[^@\\])\$"(?:\\.|\{\{|(?:\{(?!\{)(?:(?![}:])(?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\([^\s\S]*\))*\))*\))*\)))*(?::[^}\r\n]+)?\})|[^\\"{])*"/, - /(^|[^$\\])(?:@"(?:""|\\[\s\S]|[^\\"])*"(?!"))/, - /(^|[^@$\\])(?:"(?:\\.|[^\\"\r\n])*")/, - /'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/, - /\./, - /[<>()?,.:[\]]/, - /^(?:@?\b[A-Za-z_]\w*\b)/, - /,/, - /[:,]/, - /(\busing\s+static\s+)(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)(?=\s*;)/, - /(\busing\s+(?:@?\b[A-Za-z_]\w*\b)\s*=\s*)(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)(?=\s*;)/, - /(\busing\s+)(?:@?\b[A-Za-z_]\w*\b)(?=\s*=)/, - /(\b(?:\b(?:class|enum|interface|struct)\b)\s+)(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)/, - /(\bcatch\s*\(\s*)(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)/, - /(\bwhere\s+)(?:@?\b[A-Za-z_]\w*\b)/, - /(\b(?:is(?:\s+not)?|as)\s+)(?:(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*)(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)/, - /\b(?:(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?)(?=\s+(?!(?:\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:@?\b[A-Za-z_]\w*\b)(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/, - /<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>/, - /(?:(?:\((?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+(?:,(?:[^,()<>[\];=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>)|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|(?:\((?:[^()]|[^\s\S])*\)))*\)))*\)))*\))|(?:\[\s*(?:,\s*)*\]))+)+\))|(?:(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*))(?:\s*(?:\?\s*)?(?:\[\s*(?:,\s*)*\]))*(?:\s*\?)?/, - /(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/, - /^(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b)(?=\s*:)/, - /\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\))*\)/, - /(?!(?:\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?)(?:\s*\.\s*(?:(?:@?\b[A-Za-z_]\w*\b)(?:\s*(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|(?:<(?:[^<>;=+\-*/%&|^]|[^\s\S])*>))*>))*>))*>))?))*/, - /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i, - /<%\s*?[$=%#:]{0,2}|%>/i, - /((?:^|[^{])(?:\{\{)*)(?:\{(?!\{)(?:(?![}:])(?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\)))*(?::[^}\r\n]+)?\})/, - /((?:^|[^{])(?:\{\{)*)(?:\{(?!\{)(?:(?![}:])(?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\([^\s\S]*\))*\))*\))*\)))*(?::[^}\r\n]+)?\})/, - /^\{|\}$/, - /(^\{(?:(?![}:])(?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\((?:[^"'/()]|(?:\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'))|\([^\s\S]*\))*\))*\))*\)))*)(?::[^}\r\n]+)(?=\}$)/, - /(^\{(?:(?![}:])(?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\((?:[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|(?:"(?:\\.|[^\\"\r\n])*"|'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})')|\([^\s\S]*\))*\))*\))*\)))*)(?::[^}\r\n]+)(?=\}$)/, - /^:/, - /(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/, - /\.\w+(?= )/, - /\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/, - /#?\$[\da-f]{2,4}\b/i, - /#?%[01]+\b/, - /#?\b\d+\b/, - /\b[xya]\b/i, - /"(?:[^"\n\r]|"")*"/m, - /^[ \t]*[^\s:]+?(?=:(?:[^:]|$))/m, - /%\w+%/, - /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/, - /\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/, - /\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i, - /\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|programfiles|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\b/i, - /\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|IsObject|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|ltrim|rtrim|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|strreplace|sb_seticon|sb_setparts|sb_settext|strsplit|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__New|__Call|__Get|__Set)\b/i, - /\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i, - /#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\b/i, - /\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Region|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|TryAgain|Throw|Try|Catch|Finally|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i, - /[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+?(?=\()/m, - /[{}[\]():,]/, - /(^|\s);.*/, - /(^\s*)\/\*[^\r\n]*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m, - /\b\w+(?=\()/, - /[$@]\w+/, - /\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i, - /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i, - /\b(?:True|False)\b/i, - /<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i, - /[\[\]().,:]/, - /(^\s*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m, - /(["'])(?:\1\1|(?!\1)[^\r\n])*\1/, - /(^\s*)#\w+/m, - /(^\s*)#(?:comments-start|cs)[\s\S]*?^\s*#(?:comments-end|ce)/m, - /([%$@])\w+\1/, - /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/, - /^#!\s*\/.*/, - /(^|[^"{\\$])#.*/, - /(\b(?:for|select)\s+)\w+(?=\s+in\s)/, - /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/, - /\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/, - /\$(?:\w+|[#?*!@$])/, - /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/, - /(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/, - /(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/, - /(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/, - /\B&\d\b/, - /\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/, - /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/, - /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/, - /\b\w+(?=\s*\(\s*\)\s*\{)/, - /((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/, - /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/, - /(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\2)[^\\])*\2/, - /\$?\(\([\s\S]+?\)\)/, - /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/, - /\$\{[^}]+\}/, - /(^|[\s;|&]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/, - /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/, - /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/, - /\(\(?|\)\)?|,|;/, - /^\$\(|^`|\)$|`$/, - /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/, - /^\d/, - /\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/, - /^\$\(\(/, - /(\{)\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/, - /(^\$\(\([\s\S]+)\)\)/, - /(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i, - /\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i, - /\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i, - /<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i, - /[,;:()]/, - /(?:!|REM\b).+/i, - /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i, - /^REM/i, - /[&@]/, - /[()']/, - /^::.*/m, - /^:.*/m, - /((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im, - /((?:^|[&(])[ \t]*)for(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* \S+ in \([^)]+\) do/im, - /((?:^|[&(])[ \t]*)if(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|\S+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:"[^"]*"|\S+))/im, - /((?:^|[&()])[ \t]*)else\b/im, - /((?:^|[&(])[ \t]*)set(?: ?\/[a-z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im, - /((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/im, - /^for\b|\b(?:in|do)\b/i, - /"(?:[\\"]"|[^"])*"(?!")/, - /%%?[~:\w]+%?|!\S+!/, - /(?:\b|-)\d+\b/, - /[()',]/, - /^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i, - /\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i, - /^else\b/i, - /^set\b/i, - /[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/, - /^\w+\b/i, - /\^/, - /\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im, - /\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/, - /(^\s*):\S+/m, - /\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/, - /\]/, - /[^\s=\]]+/, - /^\[\/?[^\s=\]]+/, - /=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/i, - /^\[\/?/, - /^(\s*)["']|["']$/, - /^[\s\S]*?%%[\s\S]*?%%/, - /\S+(?=:)/, - /%\w+/, - /%[%?]|[|:;\[\]<>]/, - /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/, - /(^|[^@])\b(?:0x[\da-f]+|\d+)/i, - /^%?\{|%?\}$/, - /[$@](?:<[^\s>]+>)?[\w$]+/, - /::=|[|()[\]{}*+?]|\.{3}/, - /"[^\r\n"]*"|'[^\r\n']*'/, - /<[^<>\r\n\t]+>(?=\s*::=)/, - /<[^<>\r\n\t]+>/, - /^<|>$/, - /[.,]/, - /\S+/, - /\+/, - /-/, - /\[|\]/, - /(?:\brem|').*/i, - /\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i, - /\b(?!\d)\w+(?=[\t ]*\()/i, - /(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i, - /--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i, - /[.,;()[\]{}]/, - /\b(?:LINE_NUM)\b/i, - /(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im, - /([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/, - /"(?:[^"\r\n]|"")*"(?!")/, - /(\bAs[\t ]+)\w+/i, - /(^#error).+/, - /^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/, - /\b[TF]\b/, - /(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/, - /\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/, - /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/, - /(^|[^\\$])#.*/, - /(?:function|hook|event) \w+(?:::\w+)?/, - /(?:global|local) \w+/i, - /const \w+/i, - /\b(?:TODO|FIXME|XXX)\b/, - /^(?:function|hook|event)/, - /(?:global|local)/, - /const/, - /\/\/.*/, - /\[[\w\.]+\]/, - /\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/, - /\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.[0-9]+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.[0-9]+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/, - /\b-?(?:0x[0-9a-fA-F]+|[0-9]+)(?:\.[0-9a-fA-F]+)?\b/i, - /[{}[\];(),:=]|IL_[0-9A-Za-z]+/, - /(^|\W)\.[a-z]+(?=\s)/, - /(?:::|[:|'])\b[a-z][\w*+!?-]*\b/i, - /\b(?:true|false|nil)\b/, - /\b[\da-f]+\b/i, - /[{}\[\](),]/, - /([^\w+*'?-])(?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def\-|defn|defn\-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|\-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^\w+*'?-])/, - /\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|(?:CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/, - /\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/, - /\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/, - /\b(?:ON|OFF|TRUE|FALSE)\b/, - /\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/, - /\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/, - /\b\d+(?:\.\d+)*\b/, - /\b[a-z_]\w*(?=\s*\()\b/i, - /[()>}]|\$[<{]/, - /"(?:[^\\"]|\\.)*"/, - /\b\w+::\w+\b/, - /\${(?:[^{}$]|\${[^{}$]*})*}/, - /\${|}/, - /\w+/, - /#(?!\{).+/, - /(?!\d)\w+(?=\s*:(?!:))/, - /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/, - /###[\s\S]+?###/, - /\/{3}[\s\S]*?\/{3}/, - /`(?:\\[\s\S]|[^\\`])*`/, - /@(?!\d)\w+/, - /'''[\s\S]*?'''/, - /"""[\s\S]*?"""/, - /'(?:\\[\s\S]|[^\\'])*'/, - /"(?:\\[\s\S]|[^\\"])*"/, - /#\{[^}]+\}/, - /\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/, - /\b(?:false|true)\b/, - /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i, - /<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-+*/=<>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/, - /[rs]?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, - /\w+\s*\|\|[\s\S]+?\|\|/, - /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/, - /@(?:\w+:)?(?:\w*|\[[^\]]+\])/, - /((?:^|[^\\])(?:\\{2})*){(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/, - /\b(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src|disown-opener|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox|upgrade-insecure-requests)\b/i, - /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/, - /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/, - /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/, - /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/, - /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/, - /\b[A-Z]\w*(?:[?!]|\b)/, - /\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/, - /(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i, - /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/, - /(\bdef\s+)[\w.]+/, - /@\[.+?\]/, - /\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/, - /^=begin\s[\s\S]*?^=end/m, - /%[qQiIwWxs]?(?:([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1|\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}|\[(?:[^\[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/, - /("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - /%r(?:([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}|\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}|\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}|\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}|<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3})/, - /(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/, - /\w+$/, - /\{\{.+?\}\}/, - /\{%.+?%\}/, - /(\.\s*)(?:is_a|responds_to)\?/, - /^@\[|\]$/, - /^\{\{|\}\}$/, - /^\{%|%\}$/, - /^#\{|\}$/, - /\\[\da-f]{1,8}/i, - /(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i, - /(\s)[+\-*\/](?=\s)/, - /\B#(?:[\da-f]{1,2}){3,4}\b/i, - /\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i, - /(\b\d+)(?:%|[a-z]+\b)/, - /(^|[^\w.-])-?\d*\.?\d+/, - /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, - /:[-\w]+/, - /\.[-\w]+/, - /#[-\w]+/, - />|\+|~|\|\|/, - /[(),]/, - /\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i, - /\[(?:[^[\]"']|("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1)*\]/, - /[\w-]+(?=\()/, - /^\[|\]$/, - /[|~*^$]?=/, - /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/, - /(\(\s*)(?:even|odd)(?=\s*\))/i, - /(\s)[si]$/i, - /^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/, - /^(\s*)[-\w\xA0-\uFFFF]+/, - /[\dn]+/, - /[+-]/, - /\|$/, - /(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/, - /\$\w+/, - /\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i, - /\b\w+\b(?=\s*\()/, - /\b(?:true|false|null)\b/i, - /\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/, - /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/, - /[()[\]{},;.]/, - /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/, - /(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/, - /(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/, - /`(?:[^`\\\r\n])*`/, - /\B@\w*/, - /\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/, - /\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/, - /\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/, - /\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]*/i, - /^\s*#!.+/, - /(^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\/|\/\/.*|\/\*[\s\S]*?\*\/)/, - /\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?|\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"|\bq"((?!\d)\w+)$[\s\S]*?^\1"|\bq"(.)[\s\S]*?\2"|'(?:\\(?:\W|\w+)|[^\\])'|(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/m, - /\bq\{(?:\{[^{}]*\}|[^{}])*\}/, - /((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]*/i, - /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/, - /\b(?:async|sync|yield)\*/, - /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/, - /@\w+/, - /r?("""|''')[\s\S]*?\1/, - /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, - /\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i, - /\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i, - /\b\d+\.?\d*|\B\.\d+\b/i, - /:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i, - /[;\[\](){}`,.]/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/, - /'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/, - /\[[ \w\xA0-\uFFFF]+\]/, - /"(?:[^"]|"")*"(?!")/, - /\b(?:TRUE|FALSE|NULL)\b/i, - /--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/, - /\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/, - /\b(?:Some|None)\b/, - /\b(?:False|True)\b/, - /\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/, - /\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/, - /\.\.|[{}\[\](),./]/, - /\b[A-Z]\w*\b/, - /"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/, - /`[^`]*`/, - /\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/, - /\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/, - /\bsha256:[\da-fA-F]{64}\b/, - /^env/, - /sha256/, - /[\da-fA-F]{64}/, - /\$\{[^{}]*\}/, - /\$\{|\}/, - /(^\$\{)[\s\S]+(?=\}$)/, - /^(?:\*{3}|-{3}|\+{3}).*$/m, - /^@@.*@@$/m, - /^\d+.*$/m, - /^(?:[-].*(?:\r\n?|\n|(?![\s\S])))+/m, - /^(?:[<].*(?:\r\n?|\n|(?![\s\S])))+/m, - /^(?:[+].*(?:\r\n?|\n|(?![\s\S])))+/m, - /^(?:[>].*(?:\r\n?|\n|(?![\s\S])))+/m, - /^(?:[ ].*(?:\r\n?|\n|(?![\s\S])))+/m, - /^(?:[!].*(?:\r\n?|\n|(?![\s\S])))+/m, - /(.)(?=[\s\S]).*(?:\r\n?|\n)?/, - /[\s\S]/, - /^{#[\s\S]*?#}$/, - /\b[a-z_]\w+(?=\s*\()/i, - /\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/, - /[-+*/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, - /[Tt]rue|[Ff]alse|[Nn]one/, - /\b\w+?\b/, - /[{}[\](),.:;]/, - /(^{%[+-]?\s*)\w+/, - /^{[{%][+-]?|[+-]?[}%]}$/, - /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, - /(\|)\w+/, - /(\bis\s+(?:not\s+)?)(?!not\b)\w+/, - /^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m, - /[()]/, - /(^|\s)(?:IN|CH|CS|HS)(?=\s|$)/, - /(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/, - /(^\$ORIGIN[ \t]+)\S+/m, - /(^|\s)@(?=\s|$)/, - /("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/, - /---|\.\.\.|[:[\]{}\-,|>?]/, - /(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im, - /\(\*[\s\S]*?\*\)/, - /\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i, - /\([:/]|[:/]\)|[.,;()[\]{}]/, - /[-=|*/!]/, - /"[^"\r\n]*"|'[^'\r\n]*'/, - /\?[^?\r\n]*\?/, - /^(\s*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im, - /[;#].*/, - /(^[ \t]*)\[.+]/m, - /(^[ \t]*)[^\s=]+(?=[ \t]*=)/m, - /=.*/, - /\\\\[\[\]{},!?.*]/, - /[!?]|\.\.|\*{1,2}/, - /[\[\]{},]/, - /'(?:%.|[^%'\r\n])+'/, - /\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i, - /:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/, - /\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/, - /\b[A-Z][\dA-Z_]*\b/, - /\b0[xcb][\da-f](?:_*[\da-f])*\b/i, - /(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i, - /"([^[]*)\[[\s\S]*?\]\1"/, - /"([^{]*)\{[\s\S]*?\}\1"/, - /"(?:%\s*\n\s*%|%.|[^%"\r\n])*"/, - /^#[\s\S]*/, - /^<%[-_=]?|[-_]?%>$/, - /#.*/m, - /\w+\??:(?!:)/, - /\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i, - /\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/, - /<<|>>|[.,%\[\]{}()]/, - /~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/, - /(^|[^:]):\w+/, - /(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/, - /(^|[^&])&\d+/, - /\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/, - /~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/, - /("""|''')[\s\S]*?\1/, - /([^<])<(?!<)/, - /([^>])>(?!>)/, - /--.*|{-[\s\S]*?-}/, - /\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/, - /\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/, - /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i, - /\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/, - /\b(?:[A-Z]\w*\.)*[a-z]\w*\b/, - /\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/, - /[{}[\]|(),.:]/, - /'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/, - /^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m, - /"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/, - /\b(?:import|as|exposing)\b/, - /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m, - /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i, - /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/, - /(?!\d)\w+(?=\s*(?:[({]))/, - /[\[\](){},;]|\.+|:+/, - /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/, - /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/, - /^<%[-=]?|-?%>$/, - /(^|[^.])\.\.(?!\.)/, - /^<%=?|%>$/, - /%.+/, - /\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/, - /\b[a-z][\w@]*(?=\()/, - /\b[a-z][\w@]*/, - /[()[\]{}:;,.#|]|<<|>>/, - /"(?:\\.|[^\\"\r\n])*"/, - /'(?:\\.|[^\\'\r\n])+'(?=\()/, - /'(?:\\.|[^\\'\r\n])+'/, - /\$\\?./, - /\d+#[a-z0-9]+/i, - /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, - /(^|[^@])(?:\b|\?)[A-Z_][\w@]*/, - /[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/, - /(^|[^<])<(?!<)/, - /(^|[^>])>(?!>)/, - /(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i, - /\b(?:TRUE|FALSE)\b/i, - /[-+*/^%=&,]|<[=>]?|>=?/, - /[[\]();{}|]/, - /(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i, - /(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/, - /\b[A-Z]\w*(?=\()/i, - /\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i, - /\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/, - /!$/, - /'/, - /\$?[A-Z]+\$?\d+/i, - /\$?[A-Z]+/i, - /\$?\d+/, - /[^[\]]+$/, - /\[[^[\]]+\]$/, - /[[\]]/, - /\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/, - /([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/, - /\[<.+?>\]/, - /(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/, - /(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/, - /^[^\r\n\S]*#.*/m, - /\b0x[\da-fA-F]+(?:un|lf|LF)?\b/, - /\b0b[01]+(?:y|uy)?\b/, - /(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i, - /\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/, - /[_a-z]\w*(?=\s*\{)/i, - /(^|[^\\])\(\*[\s\S]*?\*\)/, - /^\[<|>\]$/, - /->|\*/, - /^\w+$|(^|;\s*)[A-Z]\w*(?=\()/, - /(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/, - /(^|\s)R\/\s+(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/, - /(^|\s)[tf](?=\s|$)/, - /(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/, - /(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/, - /(^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri\-curry|if\*|loop|bi\-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri\-curry\*|tri\-curry@|bi\-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi\-curry@|find\-last\-from|trim\-head\-slice|map\-as|each\-from|none\?|trim\-tail|partition|if\-empty|accumulate\*|reject!|find\-from|accumulate\-as|collector\-for\-as|reject|map|map\-sum|accumulate!|2each\-from|follow|supremum\-by|map!|unless\-empty|collector|padding|reduce\-index|replicate\-as|infimum\-by|trim\-tail\-slice|count|find\-index|filter|accumulate\*!|reject\-as|map\-integers|map\-find|reduce|selector|interleave|2map|filter\-as|binary\-reduce|map\-index\-as|find|produce|filter!|replicate|cartesian\-map|cartesian\-each|find\-index\-from|map\-find\-last|3map\-as|3map|find\-last|selector\-as|2map\-as|2map\-reduce|accumulate|each|each\-index|accumulate\*\-as|when\-empty|all\?|collector\-as|push\-either|new\-like|collector\-for|2selector|push\-if|2all\?|map\-reduce|3each|any\?|trim\-slice|2reduce|change\-nth|produce\-as|2each|trim|trim\-head|cartesian\-find|map\-index|if\-zero|each\-integer|unless\-zero|\(find\-integer\)|when\-zero|find\-last\-integer|\(all\-integers\?\)|times|\(each\-integer\)|find\-integer|all\-integers\?|unless\-negative|if\-positive|when\-positive|when\-negative|unless\-positive|if\-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong\-values|to\-fixed\-point|alist>quot|cond|cleave|call\-effect|recursive\-hashcode|spread|deep\-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart\-unless\*|keep\-inputs|reduce\-outputs|smart\-when\*|cleave>array|smart\-with|smart\-apply|smart\-if|inputs\/outputs|output>sequence\-n|map\-outputs|map\-reduce\-outputs|dropping|output>array|smart\-map\-reduce|smart\-2map\-reduce|output>array\-n|nullary|inputsequence)(?=\s|$)/, - /(^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get\-retainstack|not|tuple\?|dup|3nipd|call|\-rotd|object|drop|assert=|assert\?|\-rot|execute|boa|get\-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get\-datastack|assert|2drop||boolean\?|identity\-hashcode|identity\-tuple\?|null|composed\?|new|5drop|rot|\-roll|xor|identity\-tuple|boolean)(?=\s|$)/, - /(^|\s)(?:member\-eq\?|mismatch|append|assert\-sequence=|longer|repetition|clone\-like|3sequence|assert\-sequence\?|last\-index\-from|reversed|index\-from|cut\*|pad\-tail|join\-as|remove\-eq!|concat\-as|but\-last|snip|nths|nth|sequence|longest|slice\?||remove\-nth|tail\-slice|empty\?|tail\*|member\?|virtual\-sequence\?|set\-length|drop\-prefix|iota|unclip|bounds\-error\?|unclip\-last\-slice|non\-negative\-integer\-expected|non\-negative\-integer\-expected\?|midpoint@|longer\?|\?set\-nth|\?first|rest\-slice|prepend\-as|prepend|fourth|sift|subseq\-start|new\-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set\-last|index|4sequence|max\-length|set\-second|immutable\-sequence|first2|first3|supremum|unclip\-slice|suffix!|insert\-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete\-all|indices|snip\-slice||check\-slice|sequence\?|head|append\-as|halves|sequence=|collapse\-slice|\?second|slice\-error\?|product|bounds\-check\?|bounds\-check|immutable|virtual\-exemplar|harvest|remove|pad\-head|last|set\-fourth|cartesian\-product|remove\-eq|shorten|shorter|reversed\?|shorter\?|shortest|head\-slice|pop\*|tail\-slice\*|but\-last\-slice|iota\?|append!|cut\-slice|new\-resizable|head\-slice\*|sequence\-hashcode|pop|set\-nth|\?nth|second|join|immutable\-sequence\?||3append\-as|virtual\-sequence|subseq\?|remove\-nth!|length|last\-index|lengthen|assert\-sequence|copy|move|third|first|tail\?|set\-first|prefix|bounds\-error||exchange|surround|cut|min\-length|set\-third|push\-all|head\?|subseq\-start\-from|delete\-slice|rest|sum\-lengths|head\*|infimum|remove!|glue|slice\-error|subseq|push|replace\-slice|subseq\-as|unclip\-last)(?=\s|$)/, - /(^|\s)(?:number=|next\-power\-of\-2|\?1\+|fp\-special\?|imaginary\-part|float>bits|number\?|fp\-infinity\?|bignum\?|fp\-snan\?|denominator|gcd|\*|\+|fp\-bitwise=|\-|u>=|\/|>=|bitand|power\-of\-2\?|log2\-expects\-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp\-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next\-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp\-qnan\?|simple\-gcd|complex||real|>fraction|double>bits|bitor|rem|fp\-nan\-payload|real\-part|log2\-expects\-positive\?|prev\-float|align|unordered\?|float|fp\-nan\?|abs|bitxor|integer>fixnum\-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/, - /(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/, - /(^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|>>>>>|<<<<<<<|parse\-complex|malformed\-complex|read\-only|>>>>>>>|call\-next\-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/, - /(^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/, - /(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/, - /(\s)(?:;|:>)(?=\s|$)/, - /(^|\s)[^"\s]\S*(?=\s|$)/, - /"(?:\\\S|[^"\\])*"/, - /(^|\s)(?:! .*|!$)/, - /(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/, - /(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/, - /(^|\s)[+-]?\d+(?=\s|$)/, - /(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i, - /(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/, - /(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/, - /(^|\s)-\d+-\d+\/\d+(?=\s|$)/, - /(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i, - /(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/, - /(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i, - /\\\S/, - /[+?*\[\]^$(){}.|]/, - /\\\S|%\w|\//, - /(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/, - /(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/, - /(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/, - /(^|\s)(?:call|execute|eval)?\((?=\s)/, - /(\s)--(?=\s)/, - /(\s)\)(?=\s|$)/, - /(^|\s)[a-z]*\{(?=\s)/i, - /(\s)\}(?=\s|$)/, - /(^|\s)\[(?=\s)/, - /(\s)\](?=\s|$)/, - /\\[^\s']|%\w/, - /\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/, - /(\/)[idmsr]+(?:-[idmsr]+)?/, - /(\s)[^:\s]+/, - /((?:\n|\r\n)\s*);(?=\s|$)/, - /\b(?:allow|function|if|match|null|return|rules_version|service)\b/, - /&&|\|\||[<>!=]=?|[-+*/%=]|\b(?:in|is)\b/, - /(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/, - /(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/, - /[/]/, - /\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/, - /\*\*/, - /[.$(){}]/, - /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, - /\{\||\|\}/, - /\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/, - /(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/, - /(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/, - /\.(?:TRUE|FALSE)\.(?:_\w+)?/i, - /(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i, - /\(\/|\/\)|[(),;:&]/, - /[BOZ](['"])[A-F0-9]+\1/i, - /(?:\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!\1).)*(?:\1|&)/, - /!.*/, - /\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i, - /\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i, - /\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i, - /\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i, - /\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i, - /(^|(?!\().)\/(?!\))/, - /(&(?:\r\n?|\n)\s*)!.*/, - /^<#--[\s\S]*/, - /^<[\s\S]+>$/, - /^\$\{[\s\S]*\}$/, - /^<\/?|\/?>$/, - /^\$\{|\}$/, - /(^<\/?)[#@][a-z]\w*/i, - /[\s\S]*\S[\s\S]*/, - /<#--[\s\S]*?-->/, - /\b(?:as)\b/, - /\w+(?=\s*\()/, - /\d+(?:\.\d+)?/, - /\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/, - /[,;.:()[\]{}]/, - /((?:^|[^?])\?\s*)\w+/, - /\br("|')(?:(?!\1)[^\\]|\\.)*\1/, - /("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^\s\S])*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*?\})*\1/, - /((?:^|[^\\])(?:\\\\)*)\$\{(?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^\s\S])*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*?\}/, - /\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/, - /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ulf]*/i, - /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at|xor|not)\b/, - /\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/, - /\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/, - /;.*|\B\(.*?\)\B/, - /\b[GM]\d+(?:\.\d+)?\b/, - /\b[A-Z]/, - /"(?:""|[^"])*"/, - /\*\d+/, - /\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/, - /[a-z_]\w*(?=[ \t]*\()/i, - /\b[A-Z][A-Z_\d]*\b/, - /->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/, - /[.:,;()[\]{}]/, - /@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/, - /(^(?:class_name|class|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m, - /\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/, - /\b(?:INF|NAN|PI|TAU)\b/, - /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ +).+/m, - /(^\s*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m, - /(^\s*)\d+/m, - /@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/, - /^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/, - /("""|''')[\s\S]+?\1/, - /(^[ \t]*)#.*/m, - /(^[ \t]*)@\S*/m, - /((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:]+(?:\r?\n|\r|$))*/, - /(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|ghantoH|Grundlage|Hannergrond|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|Lýsing Atburðarásar|Lýsing Dæma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo\-ho\-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m, - /((?:\r?\n|\r)[ \t]*\|.+\|.*)(?:(?:\r?\n|\r)[ \t]*\|.+\|.*)+/, - /(?:\r?\n|\r)[ \t]*\|.+\|.*/, - /(^[ \t]+)(?:'ach|'a|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cando|Cand|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|Entonces|En|Epi|E|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kadar|Kada|Kad|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|ugeholl|Und|Un|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m, - /"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/, - /<[^>]+?>/, - /[^:\r\n]+:/, - /\|/, - /(:)[^\r\n]+/, - /(:)[^\r\n]*/, - /\s*[^\s|][^|]*/, - /^#.*/m, - /^[-–].*/m, - /^\+.*/m, - /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m, - /^commit \w{40}$/m, - /^.*\$ git .*$/m, - /\s--?\w+/m, - /\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/, - /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, - /\b(?:_|iota|nil|true|false)\b/, - /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i, - /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, - /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/, - /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/, - /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, - /\$[a-z_]\w*/i, - /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/, - /[!=|&]|\.{3}/, - /[!(){}\[\]:=,]/, - /\b(?!ID\b)[A-Z][A-Z_\d]*\b/, - /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i, - /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/, - /@[a-z_]\w*/i, - /[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i, - /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[a-zA-Z_]\w*/, - /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/, - /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/, - /^>(?:[\t ]*>)*/m, - /^\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$)\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$))*/m, - /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m, - /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m, - /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/, - /((?:^|[^\\])(?:\\{2})*)(?:\b__(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/, - /((?:^|[^\\])(?:\\{2})*)(?:\b_(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/, - /((?:^|[^\\])(?:\\{2})*)(?:(~~?)(?:(?!~)(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+?\2)/, - /((?:^|[^\\])(?:\\{2})*)(?:!?\[(?:(?!\])(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?)))+\]))/, - /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/, - /``.+?``|`[^`\r\n]+`/, - /^```[\s\S]*?^```$/m, - /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m, - /(^\s*)#+.+/m, - /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/, - /^[\[\]!:]|[<>]/, - /\*\*|__/, - /[*_]/, - /~~?/, - /^(\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$)\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?))(?:\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$))*$/, - /^(\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$))\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)$/, - /^\|?(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+(?:\|(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+)+\|?(?:(?:\n|\r\n?)|$)$/, - /```/, - /==+$|--+$/, - /^#+|#+$/, - /^(!?\[)[^\]]+/, - /(^..)[\s\S]+(?=..$)/, - /(^.)[\s\S]+(?=.$)/, - /(^~~?)[\s\S]+(?=\1$)/, - /(\[)[^\]]+(?=\]$)/, - /(^!?\[)[^\]]+(?=\])/, - /"(?:\\.|[^"\\])*"(?=\)$)/, - /\||:?-{3,}:?/, - /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m, - /^(```).+/, - /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/, - /\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/, - /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i, - /\b(?:setup|given|when|then|and|cleanup|expect|where):/, - /\.+|[{}[\];(),.:$]/, - /#!.+/, - /(^|[^.])@\w+/, - /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/, - /("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/, - /(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/, - /((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ]+.+)*/, - /((?:^|\r?\n|\r)([\t ]*)):ruby(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)[\t ]*)<.+/, - /((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/, - /((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/, - /((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/, - /((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/, - /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ]+.+)/, - /((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/, - /[<>]/, - /^:[\w-]+/, - /(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/, - /\([^)]+\)/, - /\[[^\]]+\]/, - /[\w:-]+(?=\s*!?=|\s*[,)])/, - /[=(),]/, - /(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/, - /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i, - /[+\-*\/]/, - /(?:[-a-z]+-)?url(?=\()/i, - /\$[-\w]+|#\{\$[-\w]+\}/, - /@[\w-]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};])*?(?=\s*\{)/, - /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@])*?(?=\s*\{)/, - /@@?[\w-]+/, - /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, - /@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, - /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/, - /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m, - /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/, - /%[-\w]+/, - /\B!(?:default|optional)\b/i, - /\bnull\b/, - /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/, - /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/, - /((?:^|\r?\n|\r)([\t ]*)):css(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):coffee(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):erb(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):javascript(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):less(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):markdown(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):scss(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /((?:^|\r?\n|\r)([\t ]*)):textile(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/, - /(^|[^\\])\/\/.*/, - /[:()]/, - /@+[\w-]+/, - /@[\w-]+\s*:/, - /( +)(?:from|through)(?= )/, - /@[\w-]+/, - /&/, - /^[a-z]\w*(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])*\./, - /^[*#]+(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*\s+.+/m, - /^(?:(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=^~])+\.\s*)?(?:\|(?:(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=^~_]|[\\/]\d+)+\.)?[^|]*)+\|/m, - /(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*.+?\2(?![a-zA-Z\d])/, - /^\[[^\]]+\]\S+$/m, - /"(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/, - /!(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])*[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/, - /\b\[\d+\]/, - /\b[A-Z\d]+\([^)]+\)/, - /\b\((?:TM|R|C)\)/, - /^[a-z]\w*/, - /\.$/, - /^[*#]+/, - /\||^\./, - /[*_%?@+\-^~]+/, - /[":]/, - /[!:]/, - /(^[a-z]\w*)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])+(?=\.)/, - /(^[*#]+)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/, - /(^|\|(?:\r?\n|\r)?)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=^~_]|[\\/]\d+)+(?=\.)/, - /(^(\*\*?)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\2)/, - /(^(__?)(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\2)/, - /(^\?\?(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\?\?)/, - /(^@(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=@)/, - /(^\+(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=\+)/, - /(^-(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=-)/, - /(^%(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*).+?(?=%)/, - /(^\*\*|__|\?\?|[*_%@+\-^~])(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/, - /(\[)[^\]]+(?=\])/, - /(\])\S+$/, - /(^"(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})*)[^"]+(?=")/, - /(^")(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})+/, - /(:).+/, - /(^!(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])*)[^!\s()]+(?:\([^)]+\))?(?=!)/, - /(^!)(?:(?:\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\})|(?:\)|\((?![^|()\n]+\)))|[<>=])+/, - /(\()[^)]+(?=\))/, - /[\\\/]\d+|\S/, - /\{[^}]+\}/, - /\{\{![\s\S]*?\}\}/, - /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, - /[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/, - /[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/, - /^\{\{\{?|\}\}\}?$/i, - /^(\s*~?\s*)[#\/]\S+?(?=\s*~?\s*$|\s)/i, - /'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+))'/, - /\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/, - /\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/, - /\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i, - /\s\.\s|[-!#$%*+=?&@|~.:<>^\\\/]*\.[-!#$%*+=?&@|~.:<>^\\\/]+|[-!#$%*+=?&@|~.:<>^\\\/]+\.[-!#$%*+=?&@|~.:<>^\\\/]*|[-!#$%*+=?&@|~:<>^\\\/]+|`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/, - /\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/, - /\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/, - /(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\/].*|{-[\s\S]*?-})/m, - /"(?:[^\\"]|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\s+\\)*"/, - /((?:\r?\n|\r|^)\s*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m, - /\b(?:import|qualified|as|hiding)\b/, - /\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/, - /\.{3}|\+\+?|-[->]?|[=!]=?|&&?|\|\|?|<[<=]?|>[>=]?|[*\/%~^]/, - /(["'])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - /~\/(?:[^\/\\\r\n]|\\.)+\/[igmsu]*/, - /#\w+/, - /@:?\w+/, - /\$(?:\w+|(?=\{))/, - /(^|[^\\])\$(?:\w+|\{[^}]+\})/, - /^\$\w*/, - /(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/, - /\b0x[\da-f]+\b|\b\d+\.?\d*(?:e[+-]?\d+)?/i, - /[=\[\]{}]/, - /<<-?(\w+)[\s\S]*?^\s*\1/m, - /[\w-]+(?=\s+{)/, - /[\w-\.]+(?=\s*=(?!=))/, - /"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/, - /"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/, - /(?:resource|data)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+{)/i, - /(?:provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?={)/i, - /(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/, - /(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i, - /(provider|provisioner|variable|output|module|backend)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i, - /\b(?:terraform|var|self|count|module|path|data|local)\b/i, - /[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/, - /(\b(?:terraform|var|self|count|module|path|data|local)\b\.)[\w\*]+/i, - /(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/, - /\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/, - /\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/, - /\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/, - /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m, - /^HTTP\/1.[01] \d+.*/m, - /^[\w-]+:(?=.)/m, - /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/, - /:\w+/, - /(^HTTP\/1.[01] )\d+.*/i, - /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, - /[{}[\],]/, - /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, - /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, - /(content-type:\s*application\/javascript[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /(content-type:\s*(?:application\/json|\w+\/(?:[\w.-]+\+)+json(?![+\w.-]))[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /(content-type:\s*(?:application\/xml|\w+\/(?:[\w.-]+\+)+xml(?![+\w.-]))[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /(content-type:\s*text\/xml[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /(content-type:\s*text\/html[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /(content-type:\s*text\/css[\s\S]*?)(?:\r?\n|\r){2}[\s\S]*/i, - /\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[a-zA-Z\d+=/]+"|(?:max-age|report-uri)=|report-to )/, - /\b\d{7,}\b/, - /\b\d{1,6}\b/, - /\b(?:max-age=|includeSubDomains|preload)/, - /\b\d{8,}\b/, - /\b\d{1,7}\b/, - /(?:\B'|REM)(?:[^\n\r]*)/i, - /\B#[0-9A-F]+|\B`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[+-]?\d+)?/i, - /\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i, - /\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i, - /(?:\B@[^\s]+)/i, - /<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i, - /[\[,;:()\]]/, - /\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i, - /\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/, - /(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/, - /[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/, - /[\[\](){},;]/, - /(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/, - /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/, - /\S(?:.*(?:(?:\\ )|\S))?/, - /^!|\*\*?|\?/, - /\//, - /(^|[^\\])\[[^\[\]]*\]/, - /[.,:;(){}]/, - /"[^"]*"/, - /^[ \t]*(?:volume|book|part(?! of)|chapter|section|table)\b.+/im, - /(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve))\b(?!-)/i, - /(^|[^-])\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:s|ing)?|consulting|contain(?:s|ing)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:ve|s|ving)|hold(?:s|ing)?|impl(?:y|ies)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:s|ing)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:s|ing)?|setting|showing|singing|sleeping|smelling|squeezing|switching|support(?:s|ing)?|swearing|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:s|ing)?|var(?:y|ies|ying)|waiting|waking|waving|wear(?:s|ing)?)\b(?!-)/i, - /(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|unless|the story)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i, - /(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: on| off)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i, - /(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i, - /(^|[^-])\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i, - /\S(?:\s*\S)*/, - /^[ \t]*[;#].*$/m, - /^[ \t]*\[.*?\]/m, - /^[ \t]*[^\s=]+?(?=[ \t]*=)/m, - /^[=]/, - /\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/, - /\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/, - /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?/i, - /[=!*/%+\-^&|]=|>>?=?|<+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/, - /[~}]|[\/\\]\.?|[bfM]\.|t[.:]/, - /&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/, - /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/, - /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i, - /"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/, - /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b)[a-z]\w*(?:\.[a-z]\w*)*\.?/, - /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/, - /\b[A-Z](?:\w*[a-z]\w*)?\b/, - /\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/, - /(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m, - /[<>(),.:]/, - /[?&|]/, - /(\:\:)[a-z_]\w*/, - /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/, - /(^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m, - /(^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m, - /(@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?)(?:(?:[a-zA-Z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/, - /(@param\s+)<[A-Z]\w*>/, - /\b[A-Z]\w*/, - /[#()[\],.]/, - /[.<>]/, - /(\{@code\s+)(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/, - /(<(code|pre|tt)>(?!)\s*)[\s\S]+?(?=\s*<\/\2>)/, - /(#\s*)\w+(?=\s*\()/, - /(#\s*)\w+/, - /\b(?:[a-z]\w*\s*\.\s*)+/, - /(^(?:\s*(?:\*\s*)*)).*[^*\s].*$/m, - /.+/, - /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/, - /\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?/i, - /\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/, - /'[^\d\s\\]\w*/, - /\$+(?:\w+\b|(?={))/i, - /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i, - /\?>$|^<\?(?:php(?=\s)|=)?/i, - /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/, - /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i, - /(\\|namespace\s+|use\s+)[\w\\]+/, - /(->)[\w]+/, - /\b[A-Z_][A-Z0-9_]*\b/, - /\b(?:null)\b/i, - /\\/, - /^<<<'[^']+'|[a-z_]\w*;$/i, - /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, - /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/, - /^<<<'?|[';]$/, - /^<<<"?|[";]$/, - /^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?:\:.*)?$/m, - /^[\t ]*at [\w$.]+(?:)?\([^()]*\)/m, - /^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m, - /[:]/, - /[\w$]+(?=\.(?:|[\w$]+)\()/, - /(?:|[\w$]+)(?=\()/, - /[a-z]\w*/, - /[.()]/, - /\.{3}/, - /\d+/, - /\b[a-z]+(?: [a-z]+)*\b/, - /^(\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m, - /^(\s*)"[^"]*"/, - /^(:?\s*)[\w$.]+(?=:|$)/, - /(:\s*)\S.*/, - /^(\s*)at/, - /[\w$]+(?=$|:)/, - /[.:]/, - /(\()\w+.\w+:\d+(?=\))/, - /(\()[^()]*(?=\))/, - /^\w+\.\w+/, - /^(?:Unknown Source|Native Method)$/, - /\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/, - /(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?l?/i, - /-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[:?\/%^]/, - /[,.]/, - /\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/, - /[|;@]/, - /((?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*)\w+/, - /(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/, - /(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/, - /\bwith\s+\w+/, - /=>/, - /\bwith\b/, - /\B\$\w+/, - /\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/, - /(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/, - /::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/, - /"(?:[^"\r\n\\]|\\[^\r\n(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/, - /"(?:[^"\r\n\\]|\\[^\r\n(]|\\\((?:[^()]|\([^()]*\))*\))*"/, - /(\bdef\s+)[a-z_]\w+/i, - /\b[a-z_]\w*(?=\s*:(?!:))/i, - /\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|or|not)\b/, - /\b[a-z_]\w*(?=\s*\()/i, - /\|=?/, - /((?:^|[^\\])(?:\\{2})*)\\\((?:[^()]|\([^()]*\))*\)/, - /^\\\(|\)$/, - /^(\\\()[\s\S]+(?=\)$)/, - /\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/, - /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/, - /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, - /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/, - /(@(?:param|arg|argument|property)\s+(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\s+)?)[$\w\xA0-\uFFFF.]+(?=\s|$)/, - /(@(?:param|arg|argument|property)\s+(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\s+)?)\[[$\w\xA0-\uFFFF.]+(?:=[^[\]]+)?\](?=\s|$)/, - /(@example\s+)[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/, - /^#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/, - /[=[\]]/, - /(@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/, - /(@[a-z]+\s+){(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}/, - /<[\s\S]+/, - /(^\[)[$\w\xA0-\uFFFF\.]+/, - /(=)[\s\S]*(?=\]$)/, - /=>|\.\.\.|[&|?:*]/, - /[.,;=<>{}()[\]]/, - /^(\s*(?:\*\s*)?).+$/m, - /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, - /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, - /(\.\s*)#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*/, - /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/, - /\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/, - /\bconsole(?=\s*\.)/, - /^[A-Z][\s\S]*/, - /\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/, - /\b(?:[A-Z]\w*)Error\b/, - /\b(?:as|default|export|from|import)\b/, - /\bundefined\b/, - /\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/, - /@+\w+/, - /[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+\b)?/, - /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/, - /("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1(?=\s*:)/, - /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*:)/, - /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/, - /[{}[\]();,.]/, - /^\S.*/m, - /^[ \t]+at[ \t]+.*/m, - /\b(?:at|new)\b/, - /[ \t]+at[ \t]+(?:node\.js|\|.*(?:node_modules|\(\\)|\(\|\$|\(internal\/|\(node\.js)).*/m, - /(\bat\s+|\()(?:[a-zA-Z]:)?[^():]+(?=:)/, - /(at\s+(?:new\s+)?)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/, - /\[(?:as\s+)?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/, - /:[0-9]+(?::[0-9]+)?\b/, - /((?:\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes))\s*)`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /((?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*)`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /((?:\bsvg)\s*)`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /((?:\b(?:md|markdown))\s*)`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /((?:\b(?:gql|graphql(?:\s*\.\s*experimental)?))\s*)`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, - /\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/, - /(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[efp][+-]?\d+(?:_\d+)*)?j?/i, - /&&|\|\||[-+*^%÷⊻&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/, - /::?|[{}[\]();,.?]/, - /\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[πℯγφ]/, - /(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/, - /r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/, - /"""[\s\S]+?"""|\w*"(?:\\.|[^"\\\r\n])*"|(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r\n])'|`(?:[^\\`\r\n]|\\.)*`/, - /\bc\s.*/i, - /\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[TKU]_[\w?]+|".+?"|'.+?')\s*\]/i, - /("|').*?\1/, - /\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i, - /\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\b/i, - /\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i, - /[+>\\,()]/, - /\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i, - /&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i, - /\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i, - /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/, - /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/, - /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/, - /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/, - /\w+@|@\w+/, - /(\.)\w+(?=\s*\{)/, - /%.*/m, - /[[\]{}&]/, - /(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/, - /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/, - /(\\url\{)[^}]+(?=\})/, - /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/, - /\\(?:[^a-z()[\]]|[a-z*]+)/i, - /\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/, - /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/, - /^\{\*[\s\S]*/, - /^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/, - /\}$/, - /\S(?:[\s\S]*\S)?/, - /^\{\/?/, - /%(?:(?!\{).*|\{[\s\S]*?%\})/, - /[=|]|<<|>>/, - /\b\d+(?:\/\d+)?\b/, - /'[^()#'\s]+/, - /#\\(?:[ux][a-fA-F\d]+|[-a-zA-Z]+|\S)/, - /(\()(?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[()\s]|$)/, - /(\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[()\s]|$)/, - /(^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[+-]?(?:(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)(?:[+-](?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[+-]?(?:[\da-fA-F]+(?:\/[\da-fA-F]+)?(?:[+-][\da-fA-F]+(?:\/[\da-fA-F]+)?i)?|[\da-fA-F]+(?:\/[\da-fA-F]+)?i))(?=[()\s]|$)/, - /(^|[\s()])#[ft](?=[()\s]|$)/, - /(\()(?:[-+*%\/]|[<>]=?|=>?)(?=[()\s]|$)/, - /(\()[^()'\s]+(?=[()\s]|$)/, - /(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|[^\s\S])*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m, - /(\\new\s+)[\w-]+/, - /\\[a-z][-\w]*/i, - /(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/, - /(\(lambda\s+)[^()'\s]+/, - /(\(lambda\s+\()[^()']+/, - /#/, - /^\\/, - /^(#)[\s\S]+$/, - /#\{[\s\S]*?#\}/, - /^#\{|#\}$/, - /\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/, - /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i, - /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, - /(^|[\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s;|&])/, - /;;;.*/, - /#?'[-+*/_~!@$%^=<>{}\w]+/, - /:[-+*/_~!@$%^=<>{}\w]+/, - /,@?[-+*/_~!@$%^=<>{}\w]+/, - /(\()declare(?=[\s\)])/, - /(\()interactive(?=[\s\)])/, - /([\s([])(?:t|nil)(?=[\s)])/, - /([\s([])[-+]?\d+(?:\.\d*)?(?=[\s)])/, - /(\()def(?:var|const|custom|group)\s+[-+*/_~!@$%^=<>{}\w]+/, - /(\()(?:cl-)?(?:defun\*?|defmacro)\s+[-+*/_~!@$%^=<>{}\w]+\s+\([\s\S]*?\)/, - /(\()lambda\s+\((?:&?[-+*/_~!@$%^=<>{}\w]+\s*)*\)/, - /(\()[-+*/_~!@$%^=<>{}\w]+/, - /(?:['`,]?\(|[)\[\]])/, - /[-A-Z]+(?=[.,\s])/, - /`[-+*/_~!@$%^=<>{}\w]+'/, - /(\()(?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/, - /(\()(?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/, - /^def[a-z]+/, - /[-+*/_~!@$%^=<>{}\w]+/, - /^(?:cl-)?def\S+/, - /^lambda/, - /(\s)\.(?=\s)/, - /(\()[\s\S]*(?=\))/, - /(^\s)[-+*/_~!@$%^=<>{}\w]+/, - /&(?:rest|body)\s+\S+(?:\s+\S+)*/, - /&(?:optional|aux)\s+\S+(?:\s+\S+)*/, - /&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/, - /&[-+*/_~!@$%^=<>{}\w]+/, - /(\()[-+*/_~!@$%^=<>{}\w]+\s+\S[\s\S]*(?=\))/, - /\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i, - /[a-z_](?:-?[a-z]|[\d_])*/i, - /[(){}\[\]|.,:;`]/, - /(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/, - /\\[^\s,;\])}]+/, - /(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m, - /(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m, - /(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m, - /(^|(?!\.&\.)[^&])&(?!&)\d*/m, - /\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/, - /(^|[^\\])\/\*[\s\S]*?\*\//, - /('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/, - /<\[[\s\S]*?\]>/, - /\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/, - /\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/, - /( )\.(?= )/, - /(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m, - /(^|[^\\])#\{[^}]+\}/m, - /[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i, - /(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i, - /\b[a-z_][a-z_0-9]*\b/, - /[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/, - /[{}[\];(),.!*=<>]/, - /\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/, - /(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/, - /\.{3}|…|,|!/, - /\bOBTW\s+[\s\S]*?\s+TLDR\b/, - /\bBTW.+/, - /"(?::.|[^":])*"/, - /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/, - /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/, - /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/, - /'Z(?=\s|,|$)/, - /(^|\s)(?:WIN|FAIL)(?=\s|,|$)/, - /(^|\s)IT(?=\s|,|$)/, - /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/, - /:\{[^}]+\}/, - /A(?=\s)/, - /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/, - /:\([a-f\d]+\)/i, - /:\[[^\]]+\]/, - /:[)>o":]/, - /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/, - /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/, - /(?:::|[?:+!])?=|[|@]/, - /[:;(){}]/, - /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/, - /^[^:=\r\n]+(?=\s*:(?!=))/m, - /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/, - /\$+(?:[^(){}:#=\s]+|(?=[({]))/, - /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/, - /(?:\b\d+\.?\d*|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/, - /\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/, - /\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/, - /\.{3}|[.,;\[\](){}!]/, - /%\{[\s\S]*?\}%/, - /\B'(?:''|[^'\r\n])*'/, - /\b0x[\da-fA-F]+\b|\b\d+\.?\d*|\B\.\d+/, - /\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/, - /\w+(?=\()|\b(?:about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|CBG|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|Mayatomr|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\b/, - /<<|>>|[.,:;?\[\](){}]/, - /`(?:\\.|[^\\`\r\n])*`/, - /-[^\d\W]\w*/, - /\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/, - /::.+/, - /@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/, - /\w+(?=:)/, - /\.\.\.|->|&|\.?=/, - /\(#|#\)|[,:;\[\](){}]/, - /\$(?:10|\d)/, - /"[^"\r\n]*"/, - /\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\b/i, - /\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i, - /[.,:;()\[\]]/, - /(^[ \t]*)#.+/m, - /(\w)[?%#$]/, - /((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i, - /^#Rem\s+[\s\S]*?^#End/im, - /'.+/, - /\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/, - /@@?\w*/, - /(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/, - /\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/, - /[.,()[\]{}\\]/, - /\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/, - /\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/, - /'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/, - /(\b(?:class|extends)[ \t]+)\w+/, - /#\{[^{}]*\}/, - /(^#\{)[\s\S]+(?=\})/, - /#\{|\}/, - /\/\*[\s\S]*?(?:$|\*\/)/, - /\$[\w.]+/, - /\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|IsBitSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i, - /\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i, - /(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i, - /[-+*\/=%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i, - /[;[\](),.{}:]/, - /(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/, - /`(?:\\[\s\S]|[^\\`]|``)*`/, - /\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/, - /[A-Za-z][A-Za-z0-9]*(?=\()/, - /=|\.\./, - /[{}[\];(),:]/, - /^([\t ]*);.*/m, - /^>.+/m, - /^([\t ]*)#[\t ]*\w+[\t ]*$/m, - /^([\t ]*)@\w+(?=[\t ]|$).*/m, - /(^[ \t]*)[^#@>;\s].*/m, - /^@\w+/, - /\\[{}\[\]"]/, - /(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/, - /(^>)\w+/, - /\{[^\r\n\[\]{}]*\}/, - /\[[\t ]*\w+[^\r\n\[\]]*\]/, - /(\s)\w+:/, - /(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/, - /^(\[[\t ]*)\w+/, - /([\t ])\S+/, - /\S(?:.*\S)?/, - /;.*$/m, - /(?:\b|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i, - /[\[\]*+\-\/%<>=&|$!]/, - /(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m, - /\[?BITS (?:16|32|64)\]?/, - /(?:extern|global)[^;\r\n]*/i, - /(?:CPU|FLOAT|DEFAULT).*$/m, - /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\b/i, - /(^\s*)section\s*[a-zA-Z.]+:?/im, - /[,:=[\]{}()-]/, - /(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/, - /(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/, - /(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/, - /(^|[[{(=:,\s])(?:true|false|yes|no)(?=$|[\]}),:=\s])/i, - /(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i, - /(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/, - /(^|[[{(=:,\s])(?:[^#"\',:=[\]{}()\s`-]|[:-][^"\',=[\]{}()\s])(?:[^,:=\]})(\s]+|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/, - /\$[a-z_]+/i, - /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types|ssl_session_tickets|ssl_stapling|ssl_stapling_verify|ssl_ecdh_curve|ssl_trusted_certificate|more_set_headers|ssl_early_data)\b/i, - /(^|[^"{\\])#.*/, - /\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/, - /\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/, - /[({\[]\.|\.[)}\]]|[`(){}\[\],:]/, - /(?:(?:\b(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")|'(?:\\(?:\d+|x[\da-fA-F]{2}|.)|[^'])')/, - /(?:(?!\d)(?:\w|\\x[8-9a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/, - /`[^`\r\n]+`/, - /(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m, - /\*$/, - /`/, - /\/\*[\s\S]*?\*\/|#.*/, - /\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/, - /\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/, - /[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/, - /[{}()[\].,:;]/, - /"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/, - /\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/, - /\$(?=\{)/, - /([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/, - /(^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*}/, - /^\$(?=\{)/, - /\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/, - /\${[\w\.:\^-]+}|\$\([\w\.:\^-]+\)/i, - /\$\w+/i, - /--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/, - /(^\s*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m, - /(^\s*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im, - /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, - /\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, - /-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/, - /\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*\.?[\d_]*(?:e[+-]?[\d_]+)?)/i, - /\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/, - /:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/, - /[(){}\[\]|.,:;]|\b_\b/, - /\B#\w+/, - /\B~\w+/, - /\B'\w+/, - /`\w+/, - /\b[A-Z]\w+/, - /(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i, - /\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/, - /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]*/i, - /\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/, - /\bCL_(?:TRUE|FALSE)\b/, - /\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/, - /\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/, - /\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/, - /\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/, - /\/\*[\s\S]*?\*\/|%.*/, - /\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/, - /\b(?:0[bx][\da-f]+|\d+\.?\d*(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i, - /\b[A-Z][A-Za-z\d]*|`(?:[^`\\]|\\.)+`/, - /:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/, - /[\[\](){}.:;?]/, - /"(?:[^"\\]|\\[\s\S])*"/, - /'(?:[^'\\]|\\[\s\S])*'/, - /\b[a-z][A-Za-z\d]*(?=\()/, - /(\{)[A-Z][A-Za-z\d]*\b/, - /\/\*[\s\S]*?\*\/|\\\\.*/, - /\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/, - /\w[\w ]*?(?= *\()/, - /\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/, - /[\[\]{}().,:;|]/, - /"(?:[^"\\\r\n]|\\.)*"/, - /((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *[+-]? *\d(?: *\d)*)?/i, - /[\[\](){};]/, - /(\s)#.*/, - /(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/, - /(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/, - /(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/, - /(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/, - /\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i, - /\b(?:0x[a-f\d]+|\d+\.?\d*(?:e[+-]?\d+)?)\b/i, - /[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/, - /\.|:+/, - /(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/, - /(^@)(?:GET_|SET_)/, - /\(\.|\.\)|[()\[\]:;,.]/, - /\(\*[\s\S]+?\*\)/, - /\{[\s\S]+?\}/, - /(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i, - /(?:[&%]\d+|\$[a-f\d]+)/i, - /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i, - /\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/i, - /(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i, - /(^|[^&])\b(?:dispose|exit|false|new|true)\b/i, - /(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i, - /(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i, - /(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/, - /\(\*[\s\S]+?\*\)|\/\/.*/, - /\w+(?=\s*\()/i, - /->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/, - /\(\.|\.\)|[()\[\]:;,.{}]/, - /(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i, - /(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i, - /(^|[^&])\b(?:True|False)\b/i, - /(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i, - /%[01]+|&[0-7]+|\$[a-f\d]+/i, - /\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i, - /(\btype\s+\w+\s+is\s+)(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i, - /(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+is\b)/i, - /(:\s*)(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/, - /[;,]/, - /YES|NO/, - /((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/, - /TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/, - /(^|\s)\d+(?:\.\d+)?(?!\S)/, - /^[-A-Z\d]+/, - /^TLIST/, - /^(\s*)\[[-\w]+\]/, - /^(\s*)[\s\S]+/, - /^(\s*\(\s*)\w+/, - /[-\w]+/, - /^\(|\)$|,/, - /\/\*[\s\S]*?\*\/|\bREM[^;]*;|<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>|\/\+[\s\S]*?\+\//, - /\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|implements|import|instance|if|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i, - /[_a-z]\w*(?=\s*\()/i, - /<>|[<>]=?|!=|\*\*|[-+*/|=@]/, - /[:.;,()[\]]/, - /((?:^|[^\w-])(?:function|method)\s+)\w+/i, - /((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i, - /\b(?:and|not|or)\b/i, - /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/, - /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/, - /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/, - /[&*$@%]\{\^[A-Z]+\}/, - /[&*$@%]\^[A-Z_]/, - /[&*$@%]#?(?=\{)/, - /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i, - /[&*$@%]\d+/, - /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/, - /<(?![<=])\S*>|\b_\b/, - /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/, - /sub [a-z0-9_]+/i, - /(^\s*)=\w+[\s\S]*?=cut.*/m, - /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/, - /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/, - /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/, - /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/, - /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/, - /'(?:[^'\\\r\n]|\\.)*'/, - /\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, - /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, - /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/, - /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/, - /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/, - /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/, - /(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/, - /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/, - /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/, - /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/, - /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/, - /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/, - /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/, - /sub/, - /(@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[a-zA-Z]\w*|[|\\[\]])+\s+)?)\$\w+/, - /(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+)(?:\b[a-zA-Z]\w*|[|\\[\]])+/, - /\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/, - /[|\\[\]()]/, - /\$this\b/, - /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/, - /\b[\w\\]+::/, - /static|self|parent/, - /::|\\/, - /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, - /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, - /\b0x[\da-f]+\b|\b\d+\.?\d*|\B\.\d+\b/i, - /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, - /[;[\]()`,.]/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, - /@[\w.$]+/, - /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, - /\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i, - /:=/, - /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, - /\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/, - /[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/, - /[,;\[\](){}]/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/).*)/, - /#"(?:[^"\r\n]|"")*"(?!")/, - /\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/, - /\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/, - /\bOccurrence\.(?:First|Last|All)\b/, - /\bOrder\.(?:Ascending|Descending)\b/, - /\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/, - /\bMissingField\.(?:Error|Ignore|UseNull)\b/, - /\bQuoteStyle\.(?:Csv|None)\b/, - /\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/, - /\bGroupKind\.(?:Global|Local)\b/, - /\bExtraValues\.(?:List|Ignore|Error)\b/, - /\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/, - /\bJoinSide\.(?:Left|Right)\b/, - /\bPrecision\.(?:Double|Decimal)\b/, - /\bRelativePosition\.From(?:End|Start)\b/, - /\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/, - /\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/, - /(^|[^#\w.])(?!\d)[\w.]+(?=\s*\()/, - /\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/, - /\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i, - /\[[a-z](?:\[(?:\[[^\]]*]|[^\[\]])*]|[^\[\]])*]/i, - /\$(?:true|false)\b/i, - /\$\w+\b/, - /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i, - /[|{}[\];(),.]/, - /\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i, - /\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i, - /(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i, - /(^|[^`])<#[\s\S]*?#>/, - /(^|[^`])#.*/, - /"(?:`[\s\S]|[^`"])*"/, - /'(?:[^']|'')*'/, - /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/, - /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/, - /\b(?!XML\b)[A-Z][A-Z\d_]+\b/, - /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/, - /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/, - /\b(?:fx|fy|xf[xy]?|yfx?)\b/, - /\b[A-Z_]\w*/, - /\b[a-z]\w*(?:(?=\()|\/\d+)/, - /\b\d+\.?\d*/, - /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/, - /[(){}\[\],]/, - /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - /^[ \t]*[#!].*$/m, - /^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?= *[=:] *| )/m, - /[=:]/, - /(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+?(?: *[=:] *| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m, - /\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/, - /\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/, - /\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i, - /(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i, - /(\[\s*)[a-z_]\w*(?=\s*=)/i, - /(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/, - /(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/, - /[<>.,]/, - /[.\-!=|]+/, - /(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ]+.+)*/m, - /(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^[\t ]*)<.+/m, - /((?:^|\n)[\t ]*)doctype(?: .+)?/, - /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m, - /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m, - /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m, - /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m, - /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m, - /(^[\t ]*)mixin .+/m, - /(^[\t ]*)\+.+/m, - /#[\w\-]+/, - /\.[\w\-]+/, - /(^[\t ]*(?:-|!?=)).+/m, - /^each .+? in\b/, - /^(?:if|unless|else|case|when|default|while)\b/, - /^mixin/, - /\w+(?=\s*\(|\s*$)/, - /[(),.]/, - /\b(?:each|in)\b/, - /^\+\w+/, - /&[^(]+\([^)]+\)/, - /[\w-]+(?=\s*!?=|\s*[,)])/, - /[!=(),]+/, - /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/, - /[{}()\[\];:.]/, - /\{#[\s\S]*?#\}/, - /(^\s*)@.+/m, - /(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:(?:\{[^}]*\}|.+)|$)/m, - /(^[ \t]*)(?:if|else|for|return|unless)[ \t]+.+/m, - /((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(?:\r?\n|\r)(?:\{|\2[ \t]+)))/m, - /(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\))?|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m, - /[\w-]+\([^)]*\).*/, - /\{[^\r\n}:]+\}/, - /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/, - /(^([\t ]*)):atpl(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):coffee(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):ejs(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):handlebars(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):less(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):livescript(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):markdown(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):sass(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /(^([\t ]*)):stylus(?:(?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, - /^\S+/, - /^[^(]+/, - /\b(?:even|if|odd)\b/, - /\b(?:true|false|null)\b/, - /\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/, - /\b[a-zA-Z_]\w*\b/, - /[()\[\]{}:.,]/, - /\B!(?:important|optional)\b/i, - /#[\da-f]{3,6}/i, - /[{}()\[\];:,]/, - /^[^\s:]+/, - /^{|}$/, - /^(?:\{\{-?|\{%-?\s*\w+)/, - /-?(?:%\}|\}\})$/, - /[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/, - /url\((["']?).*?\1\)/i, - /(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/, - /(\b\d+)(?:%|[a-z]+)/, - /~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/, - /^(?:\{\{|\{%)-?/, - /^['"]|['"]$/, - /(\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/, - /(?:\w+|\*)(?=\s*=>)/, - /\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i, - /\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/, - /=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/, - /[\[\]{}().,;]|:+/, - /((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/, - /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|(?!\1)[^\\]|\\[\s\S])*\1/, - /\$(?:::)?\w+(?:::\w+)*/, - /\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/, - /\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/, - /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/, - /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/, - /@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/, - /::/, - /(\.)(?!\d)\w+/, - /(?=\S).*\S(?= *$)/, - /^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/, - /^"[\s\S]*"$/, - /(\().+?(?=\))/, - /(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/, - /(^|[^\\])\$(?:::)?\w+(?:::\w+)*/, - /(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/, - /^\$/, - /\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/, - /\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/, - /(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/, - /[(){}\[\];,|]/, - /%<[\s\S]+?%>/, - /((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d)?|\B\.\d)\d*(?:e[+-]?\d+)?L?)/i, - /\b__[a-z]+__\b/i, - /(^%< *)-\*-.+?-\*-/, - /^%<.*|%>$/, - /%< *-\*- *c\d* *-\*-[\s\S]+?%>/i, - /%< *-\*- *c\+\+\d* *-\*-[\s\S]+?%>/i, - /%< *-\*- *fortran\d* *-\*-[\s\S]+?%>/i, - /\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compilerendselect|compilererror|enableexplicit|disableexplicit|not|and|or|xor|calldebugger|debuglevel|enabledebugger|disabledebugger|restore|read|includepath|includebinary|threaded|runtime|with|endwith|structureunion|endstructureunion|align|newlist|newmap|interface|endinterface|extends|enumeration|endenumeration|swap|foreach|continue|fakereturn|goto|gosub|return|break|module|endmodule|declaremodule|enddeclaremodule|declare|declarec|prototype|prototypec|enableasm|disableasm|dim|redim|data|datasection|enddatasection|to|procedurereturn|debug|default|case|select|endselect|as|import|endimport|importc|compilerif|compilerelse|compilerendif|compilerelseif|end|structure|endstructure|while|wend|for|next|step|if|else|elseif|endif|repeat|until|procedure|proceduredll|procedurec|procedurecdll|endprocedure|protected|shared|static|global|define|includefile|xincludefile|macro|endmacro)\b/i, - /\b\w+(?:\.\w+)?\s*(?=\()/, - /(?:\$[\da-f]+|\b-?\d*\.?\d+(?:e[+-]?\d+)?)\b/i, - /(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*/@]/, - /(^\s*)!.*/m, - /\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s|mm\d+)\b/i, - /(?:\b|-|(?=\$))(?:0[hx][\da-f]*\.?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|\d*\.?\d+(?:\.?e[+-]?\d+)?[dt]?)\b/i, - /[\[\]*+\-/%<>=&|$!,.:]/, - /(\s*!\s*j[a-z]+\s+)@[fb]/i, - /(\s*!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i, - /^(\s*!\s*)[\da-z]+(?=\s|$)/im, - /(\s*:\s*)[\da-z]+(?=\s)/i, - /^(\s*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m, - /(?:extern|extern|global)[^;\r\n]*/i, - /(?:CPU|FLOAT|DEFAULT).*/, - /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, - /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, - /\b(?:True|False|None)\b/, - /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, - /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, - /(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, - /(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i, - /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, - /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, - /(\bclass\s+)\w+/i, - /(^\s*)@\w+(?:\.\w+)*/im, - /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/, - /(:)[^:(){}]+(?=}$)/, - /![sra](?=[:}]$)/, - /`(?::\S+|[\w.]*)/, - /\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\da-fA-F]+|\d+\.?\d*(?:e[+-]?\d+)?[hjfeb]?)/, - /\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/, - /[(){}\[\];.]/, - /0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/, - /['\/\\]:?|\beach\b/, - /(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/, - /([\t )\]}])\/.*/, - /(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/, - /^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m, - /^#!.+/m, - /\b(?:as|import|on)\b/, - /[{}[\]:;,]/, - /((?:^|;)[ \t]*)function\s+[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\)\s*\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\}/m, - /((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m, - /(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\)|\[(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\]|\{(?:[^\\()[\]{}"'/]|"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'|\/(?![*/])|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/|\([^\s\S]*\)|\[[^\s\S]*\]|\{[^\s\S]*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S])*\}|\\[\s\S]))+/m, - /((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, - /((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m, - /^property/, - /\w+(?:\.\w+)*/, - /\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/, - /\$?\b(?!\d)\w+(?=\()/, - /\b(?:0b[01]+|0x[\da-f]*\.?[\da-fp\-]+|\d*\.?\d+e?\d*[df]|\d*\.?\d+)\b/i, - /\$(?!\d)\w+\b/, - /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/, - /("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/, - /(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/, - /\b(?:TRUE|FALSE)\b/, - /\.\.(?:\.|\d+)/, - /\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/, - /->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/, - /[(){}\[\],;]/, - /(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/, - /%[^%\s]*%/, - /\b(?:NaN|Inf)\b/, - /(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/, - /[([)\]']/, - /^#lang.+/m, - /'[^([)\]#'\s]+/, - /([([]lambda\s+[([])[^([)\]'\s]+/, - /([([])(?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[([)\]\s]|$)/, - /([([])(?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[([)\]\s]|$)/, - /(^|[\s([)\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[+-]?(?:(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)(?:[+-](?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[+-]?(?:[\da-fA-F]+(?:\/[\da-fA-F]+)?(?:[+-][\da-fA-F]+(?:\/[\da-fA-F]+)?i)?|[\da-fA-F]+(?:\/[\da-fA-F]+)?i))(?=[([)\]\s]|$)/, - /(^|[\s([)\]])#[ft](?=[([)\]\s]|$)/, - /([([])(?:[-+*%\/]|[<>]=?|=>?)(?=[([)\]\s]|$)/, - /([([])[^([)\]'\s]+(?=[([)\]\s]|$)/, - /<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:$-]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s{'">=]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\s*\}))*\s*\/?)?>/i, - /^<\/?[^\s>\/]*/i, - /=(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\})/i, - /=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i, - /\{\s*\.{3}\s*[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\s*\}/, - /^[A-Z]\w*(?:\.[A-Z]\w*)*$/, - /\.{3}|[{}.]/, - /^=(?={)/, - /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/, - /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/, - /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/, - /\b[A-Z]\w*\b(?!\s*\.)/, - /\b[a-z]\w*(?=::)/, - /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|c[a-zA-Z]|0[0-7]{0,2}|[123][0-7]{2}|.)/, - /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/, - /\\[\\(){}[\]^$+*?|.]/, - /\.|\\[wsd]|\\p{[^{}]+}/i, - /[$^]|\\[ABbGZz]/, - /(?:[+*?]|\{(?:\d+,?\d*)\})[?+]?/, - /\\(?![123][0-7]{2})[1-9]/, - /\\k<[^<>']+>/, - /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|']+(?=[>']$)/, - /\b(?:bool|char|double|float|null|size_t|ssize_t|string|unichar|void|int|int8|int16|int32|int64|long|short|uchar|uint|uint8|uint16|uint32|uint64|ulong|ushort|class|delegate|enum|errordomain|interface|namespace|struct|break|continue|do|for|foreach|return|while|else|if|switch|assert|case|default|abstract|const|dynamic|ensures|extern|inline|internal|override|private|protected|public|requires|signal|static|virtual|volatile|weak|async|owned|unowned|try|catch|finally|throw|as|base|construct|delete|get|in|is|lock|new|out|params|ref|sizeof|set|this|throws|typeof|using|value|var|yield)\b/i, - /(?:\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i, - /\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./, - /\b[A-Z0-9_]+\b/, - /@"[\s\S]*?"/, - /\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/, - /[a-z]+$/i, - /^\/|\/$/, - /\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/, - /(\[)[A-Z]\w*(?:\.\w+)*\b/, - /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/, - /((?:\b(?:class|interface|new|struct|enum)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/, - /^(\/)[\s\S]+(?=\/[a-z]*$)/i, - /\$(?:\([^)]*\)|[a-zA-Z]\w*)/, - /^\$\(?|\)$/, - /[a-z_]\w*(?=\()/i, - /\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/, - /\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/, - /\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/, - /\b(?:[Tt]rue|[Ff]alse)\b/, - /(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*)|\B\.\d+)(?:e[+-]?\d+)?j?/i, - /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not|with|at)\b/, - /(^|[^\\])#.+/, - /("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2|(?:^#?(?:(?:[0-9a-fA-F]{2}){3}|(?:[0-9a-fA-F]){3})$)/m, - /(^\s*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m, - /(^\s*\.\. )[^:]+::/m, - /(^\s*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m, - /((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/, - /(^\s*):[^:\r\n]+:(?= )/m, - /(^\s*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im, - /::(?:\r?\n|\r){2}([ \t]+).+(?:(?:\r?\n|\r)\1.+)*/, - /::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/, - /(^\s*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im, - /(^\s*)>>> .+(?:(?:\r?\n|\r).+)*/m, - /(^\s*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m, - /(\s*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1(?:[+|].+)+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/, - /(\s*)(?:=+ +)+=+(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1(?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/, - /(^\s*\.\. )\[[^\]]+\]/m, - /(^\s*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m, - /::$/, - /^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m, - /(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/, - /^>>>/, - /(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s).*?[^\s]\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m, - /\[[^\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/, - /(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i, - /\||(?:\+[=-]+)+\+/, - /[=-]+/, - /^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/, - /( +)[^:]+::/, - /^_|:$/, - /^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/, - /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/, - /^::/, - /^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m, - /\*\*?|``?|\|/, - /^\[|\]_$/, - /^_?`|`$|`?_?_$/, - /^\||\|$/, - /(^\*\*).+(?=\*\*$)/, - /(^\*).+(?=\*$)/, - /(^``).+(?=``$)/, - /^:[^:]+:|:[^:]+:$/, - /(^`).+(?=`$)/, - /(^\|).+(?=\|$)/, - /^:|:$/, - /(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/, - /@|\bSystem\b/, - /\b\d{4}-\d{2}-\d{2}\b/, - /\b\d{2}:\d{2}:\d{2}\b/, - /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/, - /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/, - /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/, - /[+-]?\b(?:\d+\.\d+|\d+)\b/, - /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/, - /[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/, - /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/, - /[\w.-]+(?=[ \t]*:)/, - /[{},.;:=]/, - /(^|\s)(?:(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{)|(?:external|import)\b)/, - /[\w-]+(?=[ \t]*\{)/, - /(=[ \t]*)[^,;]+/, - /\(optional\)/, - /(\.)\*/, - /^ ?\*{3}[ \t]*Settings[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im, - /^ ?\*{3}[ \t]*Variables[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im, - /^ ?\*{3}[ \t]*Test Cases[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im, - /^ ?\*{3}[ \t]*Keywords[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im, - /^ ?\*{3}[ \t]*Tasks[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/im, - /(^[ \t]*| {2}|\t)#.*/m, - /^ ?\*{3}.+?\*{3}/, - /([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/, - /([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/, - /([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/, - /((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/, - /([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/, - /(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/, - /([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/, - /^[$@&%]\{|\}$/, - /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/, - /\b[A-Z_][A-Z_\d]+\b/, - /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/, - /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/, - /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/, - /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/, - /b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/, - /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/, - /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/, - /'\w+/, - /(\$\w+:)[a-z]+/, - /(\bfn\s+)\w+/, - /(\b(?:enum|struct|union)\s+)\w+/, - /\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, - /\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/, - /\w+!/, - /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/, - /(^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|[^\s\S])*\*\/)*\*\/)*\*\/)*\*\//, - /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/, - /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/, - /\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i, - /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/i, - /[$%@.(){}\[\];,\\]/, - /^(\s*)(?:(?:data)?lines|cards);[\s\S]+?^\s*;/im, - /(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im, - /(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im, - /(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|run|data);|(?![\s\S]))/im, - /(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im, - /(^proc\s+\w+\s+)(?!\s)(?:[^;"']|(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')))+;/im, - /((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i, - /&[a-z_][a-z_0-9]*/i, - /((?:^|\s|=))%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?(?:[^%]\))/i, - /^%macro[^;]+(?=;)/im, - /^%mend[^;]+(?=;)/im, - /%_\w+(?=\()/, - /\binput\s+[-\w\s/*.$&]+;/i, - /(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im, - /(^|\s)(?:action\s+)?(?:accessControl|cdm|aggregation|aStore|ruleMining|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|sccasl|clustering|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deepLearn|deepNeural|varReduce|simSystem|ds2|deduplication|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gam|gleam|graphSemiSupLearn|gVarCluster|hiddenMarkovModel|hyperGroup|image|iml|ica|kernalPca|langModel|ldaTopic|sparseML|mlTools|mixed|modelPublishing|mbc|network|optNetwork|neuralNet|nonlinear|nmf|nonParametricBayes|optimization|panel|pls|percentile|pca|phreg|qkb|qlim|quantreg|recommend|tsReconcile|deepRnn|regression|reinforcementLearn|robustPca|sampling|sparkEmbeddedProcess|search(?:Analytics)?|sentimentAnalysis|sequence|configuration|session(?:Prop)?|severity|simple|smartData|sandwich|spatialreg|stabilityMonitoring|spc|loadStreams|svDataDescription|svm|table|conditionalRandomFields|text(?:Rule(?:Develop|Score)|Mining|Parse|Topic|Util|Filters|Frequency)|tsInfo|timeData|transpose|uniTimeSeries)\.[a-z]+\b[^;]+/i, - /%?\w+(?=\()/, - /\b(?:format|put)\b=?[\w'$.]+/im, - /\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i, - /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/, - /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/, - /(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/, - /(^|\s+)(?:proc\s+\w+|quit|run|data(?!\=))\b/i, - /((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?=\=)|define|delete|describe|document|do\s+over|do|dol|drop|dul|end(?:source|comp)?|entryTitle|else|eval(?:uate)?|exec(?:ute)?|exit|fill(?:attrs)?|file(?:name)?|flist|fnc|function(?:list)?|goto|global|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|name|noobs|nowd|_?null_|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|put|print|raise|ranexp|rannor|rbreak|retain|return|select|set|session|sessref|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|yaxisopts|y2axisopts)\b/i, - /\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i, - /;/, - /%macro/i, - /%mend/i, - /(?:accessControl|cdm|aggregation|aStore|ruleMining|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|sccasl|clustering|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deepLearn|deepNeural|varReduce|simSystem|ds2|deduplication|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gam|gleam|graphSemiSupLearn|gVarCluster|hiddenMarkovModel|hyperGroup|image|iml|ica|kernalPca|langModel|ldaTopic|sparseML|mlTools|mixed|modelPublishing|mbc|network|optNetwork|neuralNet|nonlinear|nmf|nonParametricBayes|optimization|panel|pls|percentile|pca|phreg|qkb|qlim|quantreg|recommend|tsReconcile|deepRnn|regression|reinforcementLearn|robustPca|sampling|sparkEmbeddedProcess|search(?:Analytics)?|sentimentAnalysis|sequence|configuration|session(?:Prop)?|severity|simple|smartData|sandwich|spatialreg|stabilityMonitoring|spc|loadStreams|svDataDescription|svm|table|conditionalRandomFields|text(?:Rule(?:Develop|Score)|Mining|Parse|Topic|Util|Filters|Frequency)|tsInfo|timeData|transpose|uniTimeSeries)\.[a-z]+\b/i, - /(^\s*|;\s*)\*[^;]*;/m, - /^(?:format|put)(?=\=)/i, - /^(?:format|put)/i, - /^(?:(?:data)?lines|cards)/i, - /^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+constraints)?|view)|create\s+unique\s+index|insert\s+into|update)(?:(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))|[^;"'])+;/im, - /((?:^|[\s])=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i, - /(^|\s)(?:disconnect\s+from|exec(?:ute)?|begin|commit|rollback|reset|validate)\b/i, - /(^[ \t]*submit(?:\s+(?:load|parseonly|norun))?)(?:(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))|[^"'])+?(?=endsubmit;)/im, - /(^|\s)(?:submit(?:\s+(?:load|parseonly|norun))?|endsubmit)\b/i, - /((?:^|\s)=?)saveresult\s+[^;]+/im, - /((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im, - /(\s*=\s*)[A-Z\.]+/i, - /[A-Z]+/i, - /%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i, - /%['"()<>=¬^~;,#]/i, - /^input/i, - /(?:action)/i, - /(?:\w|\$\d)+\.\d?/i, - /[\w$]+\.\d?/, - /^saveresult\s+\S+/i, - /^(?:saveresult)/i, - /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m, - /^(?:[ \t]*)[@+=].+/m, - /^[ \t]*\$.+/m, - /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m, - /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/, - /(?:@[\w-]+|[+=])/m, - /[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/, - /[^:\s]+(?=\s*:)/, - /(\s+)-(?=\s)/, - /(:)[^:\s]+/, - /.(?:.*(?:[\r\n]|.$))*/, - /^[^\r\n$#*!]+(?=[$#])/m, - /[$#](?:[^\\\r\n'"<]|\\.|(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1|<<-?\s*(\w+?)[ \t]*(?!.)[\s\S]*?[\r\n]\2|<<-?\s*(["'])(\w+)\3[ \t]*(?!.)[\s\S]*?[\r\n]\4)+/, - /^[^\s@:$#*!/\\]+@[^\s@:$#*!/\\]+(?=:|$)/, - /(:)[\s\S]+/, - /(^[$#]\s*)[\s\S]+/, - /^[$#]/, - /->|\.\.|[\[=]/, - /[{}(),;:]/, - /"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/, - /L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/, - /(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/, - /[\w$]+(?=:)/, - /(^|[^\w.-])[vp]\d(?![\w.-])/, - /(^|[^\w.-])(?:true|false)(?![\w.-])/, - /(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i, - /(:)\w+/, - /^L/, - /([();\[])[BCDFIJSVZ]+/, - /([\w$>]:)[BCDFIJSVZ]/, - /(\.end\s+)[\w-]+/, - /(^|[^\w.-])\.(?!\d)[\w-]+/, - /(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/, - /(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/, - /^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/, - /'(?:''|[^'])*'/, - /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i, - /\b(?:nil|true|false|self|super|new)\b/, - /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/, - /[.;:?\[\](){}]/, - /\$./, - /(\[\s*):[^\[|]*\|/, - /\|[^|]+\|/, - /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/, - /\b\d+(?:\.\d+)?(?:e-?\d+)?/, - /:[\da-z]+/i, - /[\da-z]+/i, - /\{\*[\s\S]*?\*\}/, - /\b(?:false|off|on|no|true|yes)\b/, - /^\{|\}$/i, - /\$(?!\d)\w+/, - /#(?!\d)\w+#/, - /^\/?(?!\d)\w+/, - /(?!\d)\w+(?=\()/, - /\w+\s*=\s*(?:(?!\d)\w+)?/, - /[\[\]().,:`]|->/, - /[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/, - /\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/, - /\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/, - /(\.|->)(?!\d)\w+/, - /(\[)(?!\d)\w+(?=\])/, - /(\|\s*)@?(?!\d)\w+/, - /(=\s*)(?!\d)\w+/, - /\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/, - /\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/, - /=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/, - /(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/, - /([<>]=?|\^)\d+\.\d+\.\d+\b/, - /\b(?:FALSE|TRUE)\b/, - /^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m, - /^([ \t]*)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m, - /\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i, - /\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/, - /\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/, - /[{}()\[\]|.,:]/, - /({+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/, - /({+\/?\s*@?param\??\s+)\.?[\w.]+/, - /\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/, - /^{+\/?|\/?}+$/, - /\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+]))*/, - /(\s)\/\/.*/, - /({+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/, - /[\[\].?]/, - /(\|[^\S\r\n]*)\w+/, - /[+-]?\b\d+\.?\d*(?:e[+-]?\d+)?/i, - /[{}.,;()[\]]|\^\^/, - /"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/, - /"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/, - /<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/, - /(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i, - /(?:\ba|@prefix|@base)\b|=/, - /\b(?:graph|base|prefix)\b/i, - /@[a-z]+(?:-[a-z\d]+)*/i, - /\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i, - /\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i, - /\b(?:GRAPH|BASE|PREFIX)\b/i, - /[?$]\w+/, - /@/, - /([^:]*:)[\s\S]+/, - /`comment\("(?:\\.|[^\\"])*"\)`/, - /\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i, - /\w+(?=\s*=(?!=))/, - /\b(?:f|false|t|true)\b/i, - /[<>=]=?|[-+*/%|]/, - /[()[\],]/, - /"(?:\\.|[^\\"])*"/, - /\b(?:and|as|by|not|or|xor)\b/i, - /\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/, - /\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execVM|execFSM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i, - /\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i, - /(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i, - /##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i, - /\bDIK(?:_[a-z\d]+)+\b/i, - /(^\s*)#[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im, - /"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/, - /\b(?:_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x|this|thisList|thisTrigger)\b/i, - /#[a-z]+\b/i, - /\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i, - /\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/, - /\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/, - /%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/, - /\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:T|D|DT|TOD)#[\d_shmd:]*|\b[A-Z]*\#[\d.,_]*|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, - /\b(?:TRUE|FALSE|NULL)\b/, - /(?:S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-:^/+])|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/, - /[();]/, - /(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/, - /\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/, - /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i, - /\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/, - /@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/, - /\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/, - /("|')(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - /\\\((?:[^()]|\([^)]+\))+\)/, - /<#[\s\S]+?#>/, - /<#@[\s\S]*?#>/, - /<#=[\s\S]*?#>/, - /<#\+[\s\S]*?#>/, - /<#[\s\S]*?#>/, - /^<#@|#>$/, - /^<#=|#>$/, - /^<#\+|#>$/, - /^<#|#>$/, - /\w+(?=\s)/, - /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/, - /^=|^["']|["']$/, - /(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i, - /(^|[^\\:])'.*/, - /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, - /[*&][^\s[\]{},]+/, - /---|[:[\]{}\-,|>?]|\.\.\./, - /not ok[^#{\n\r]*/, - /ok[^#{\n\r]*/, - /pragma [+-][a-z]+/, - /bail out!.*/i, - /TAP version \d+/i, - /\d+\.\.\d+(?: +#.*)?/, - /([\-:]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/, - /((?:^|[:\-,[{\r\n?])[ \t]*(?:(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)[^\r\n{[\]},#\s]+?(?=\s*:\s)/, - /(^[ \t]*)%.+/m, - /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}|\s*#))/m, - /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)(?:true|false)(?=[ \t]*(?:$|,|]|}|\s*#))/im, - /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)(?:null|~)(?=[ \t]*(?:$|,|]|}|\s*#))/im, - /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)(?:("|')(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=[ \t]*(?:$|,|]|}|\s*#))/m, - /([:\-,[{]\s*(?:\s(?:!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?(?:[ ]+[*&][^\s[\]{},]+)?|[*&][^\s[\]{},]+(?:[ ]+!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?)?)[ \t]+)?)(?:[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan))(?=[ \t]*(?:$|,|]|}|\s*#))/im, - /# Subtest(?:: .*)?/, - /(^[^\S\r\n]*)---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[^\S\r\n]*\.\.\.$/m, - /!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|ne|in|ni)\b/, - /[{}()\[\]]/, - /"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/, - /(^\s*proc[ \t]+)[^\s]+/m, - /\b(?:elseif|else)\b/, - /(^\s*)(?:global|upvar|variable)\b/m, - /(^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m, - /(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/, - /(\$){[^}]+}/, - /(^\s*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m, - /(^\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m, - /#.*|\[%#[\s\S]*?%\]/, - /\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/, - /=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/, - /[[\]{},()]/, - /'[^\\']*(?:\\[\s\S][^\\']*)*'/, - /"[^\\"]*(?:\\[\s\S][^\\"]*)*"/, - /^(?:\[%|%%)-?|-?%]$/, - /\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i, - /\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i, - /(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/, - /[.,=[\]{}]/, - /(^\s*\[\s*(?:\[\s*)?)(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")(?:\s*\.\s*(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"))*(?=\s*\])/m, - /(^\s*|[{,]\s*)(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")(?:\s*\.\s*(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"))*(?=\s*=)/m, - /"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/, - /\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i, - /\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/, - /\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/, - />>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:Cross|Dot|ClockwiseFrom)\b/, - /[()[\]{};,.]/, - /(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/, - /(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/, - /(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/, - /\w+(?=\s*=)/, - /[<>|]/, - /(^|[^\\])#\[\[[\s\S]*?]]#/, - /(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|{[a-z][\w-]*})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i, - /(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+])*|{[^}]+})/i, - /^#\[\[|]]#$/, - /(^|[^\\])#\*[\s\S]*?\*#/, - /(^|[^\\])##.*/, - /[(){}[\]:,.]/, - /^#@?(?:[a-z][\w-]*|{[a-z][\w-]*})|\bin\b/, - /[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/, - /([^\w-])[a-z][\w-]*(?=\()/, - /\B\$\w+\b/, - /\B`\w+\b/, - /\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/, - /\b(?:always_latch|always_comb|always_ff|always)\b ?@?/, - /\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b\d*[._]?\d+(?:e[-+]?\d+)?/i, - /[-+{}^~%*\/?=!<>&|]+/, - /[[\];(),.:]/, - /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, - /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/, - /\b(?:use|library)\b/i, - /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i, - /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i, - /[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i, - /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i, - /"\S+?"(?=\()/, - /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/, - /".*/, - /\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/, - /\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/, - /\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i, - /\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/, - /[{}[\](),;:]/, - /(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[FRD])?/i, - /\b(?:True|False|Nothing)\b/i, - /\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Until|Xor)\b/i, - /[{}().,:?]/, - /(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i, - /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\S\r\n]_[^\S\r\n]*(?:\r\n?|\n)|.)+/i, - /\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i, - /#[^\S\r\n]*(?:\d+([/-])\d+\1\d+(?:[^\S\r\n]+(?:\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?))?|\d+[^\S\r\n]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[^\S\r\n]*(?:AM|PM))?)[^\S\r\n]*#/i, - /[+\-*/\\^<=>&#@$%!]/, - /([^\S\r\n])_(?=[^\S\r\n]*[\r\n])/, - /#.*|\/\/.*|\/\*[\s\S]*?\*\//, - /\$\S+/, - /\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/, - /[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/, - /\b(?:false|true|F|T)\b/, - /<%|%>|[{}[\]()]/, - /==|&&?|\|\|?|\*\*?|>>>?|<<|==|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/, - /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/, - /@\S+/, - /\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i, - /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/, - /\(;[\s\S]*?;\)/, - /"(?:\\[\s\S]|[^"\\])*"/, - /\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/, - /;;.*/, - /\b(?:align|offset)=/, - /\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/, - /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m, - /<(nowiki|pre|source)\b[\s\S]*?>[\s\S]*?<\/\1>/i, - /^(=+).+?\1/m, - /('{2,5}).+?\1/, - /^-{4,}/m, - /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i, - /\[\[.+?\]\]|\[.+?\]/, - /__[A-Z]+__/, - /\{{3}.+?\}{3}/, - /^#redirect/im, - /~{3,5}/, - /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m, - /^=+|=+$/, - /^''+|''+$/, - /<(?:nowiki|pre|source)\b[\s\S]*?>|<\/(?:nowiki|pre|source)>/i, - /(''''').+?(?=\1)/, - /(''')[^'](?:.*?[^'])?(?=\1)/, - /('')[^'](?:.*?[^'])?(?=\1)/, - /\$(?:DomainContents|PageRenderDuration)\$/, - /\$@?(?:#+|[-+*~=^])?[\w.]+\$/, - /\$F:[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?\$/, - /\$XF:{[-\w.]+\?[-\w.]+(?:,(?:\|?(?:[-#.^+*~]*(?:[\w+][^$]*)|=(?:[\S+][^$]*)|@[-#]*(?:\w+.)[\w+.]+)?)*)?}:XF\$/, - /\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\/\w.]+\$/, - /\$\w+:{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+])?:[-\w.]+:{(?:![A-Z]+)?/, - /}:[-\w.]+:{/, - /}:[-\w.]+\$/, - /\$/, - /[$.]/, - /#+|[-+*~=^@]/, - /(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/, - /\$\w:|[$:?.,|]/, - /[$:{}?.,|]/, - /\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/, - /![A-Z]+$/, - /[:{}]/, - /[:{}$]/, - /[,.|]/, - /#\d/, - /!/, - /\/\/\/.*/, - /'''.*/, - /#(?:If|Else|ElseIf|Endif|Pragma)\b/i, - /\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Const|Continue|CurrentMethodName|Declare|Dim|Do(?:wnTo)?|Each|Else(?:If)?|End|Exit|Extends|False|Finally|For|Global|If|In|Lib|Loop|Me|Next|Nil|Optional|ParamArray|Raise(?:Event)?|ReDim|Rem|RemoveHandler|Return|Select|Self|Soft|Static|Step|Super|Then|To|True|Try|Ubound|Until|Using|Wend|While)\b/i, - /<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\b/i, - /[.,;:()]/, - /(?:'|\/\/|Rem\b).+/i, - /&[bchou][a-z\d]+/i, - /^Rem/i, - /\$[\w-:]+/, - /[\w-]+(?::[\w-]+)*(?=\s*\()/, - /\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/, - /[[\](){},;:/]/, - /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - /\(:[\s\S]*?:\)/, - /(["'])(?:\1\1|(?!\1)[\s\S])*\1/, - /\(#.+?#\)/, - /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/, - /(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/, - /(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/, - /(element\s+)[\w-]+(?::[\w-]+)*/, - /(attribute\s+)[\w-]+(?::[\w-]+)*/, - /(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/, - /[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/, - /(\s)-(?=\s)/, - /=(?:("|')(?:\\[\s\S]|{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|(?!\1)[^\\])*\1|[^\s'">=]+)/i, - /^="|"$/, - /{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}/, - /\/\*[\s\S]*?\*\/|\/\/.*/, - /[{};:]/, - /"(?:[^\\"]|\\.)*"|'[^']*'/, - /(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i, - /(\s)[a-z_][\w.-]*(?=:)/i, - /\B@(?!\d)\w+(?=\s*\()/, - /\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/, - /\b(?!\d)\w+(?=\s*\()/, - /\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+\.?[a-fA-F\d]*(?:[pP][+-]?[a-fA-F\d]+)?|\d+\.?\d*(?:[eE][+-]?\d+)?)\b/, - /\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/, - /[.:,;(){}[\]]/, - /\/{2}.*/, - /(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/, - /\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/, - /\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/, - /\/{3}.*/, - /(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/, - /([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/, - /(^|[^\\])'(?:[^'\\\r\n]|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/, - /(:\s*)(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[=;,)])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/, - /(\)\s*)(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/, -]; diff --git a/tests/helper/regexp-literals.ts b/tests/helper/regexp-literals.ts deleted file mode 100644 index c9ac37ae..00000000 --- a/tests/helper/regexp-literals.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Literal } from "../../src/js"; - -export const EMPTY_LITERALS: Literal[] = [/[^\s\S]/, /[^\s\S]+|[^\w\W]{4,13}/]; - -export const NON_EMPTY_LITERALS: Literal[] = [/(?:)/, /a*|b*c*/]; - -export const FINITE_LITERALS: Literal[] = [ - ...EMPTY_LITERALS, - - // only match the empty word - /(?:)/, - /(?:)*/, - /(?:|)*/, - /(?:[^\s\S])*/, - - /a|b/, - /a{0,10}|bb|c?/, - /[\0-\uFFFF]{100}/, // matches about 4.4e+481 words but still finite -]; - -export const NON_FINITE_LITERALS: Literal[] = [/a+/, /a*|bb|ccc/, /(?:a|)*/, /(?:a|[^\s\S]){5,}/]; diff --git a/tests/helper/snapshot.ts b/tests/helper/snapshot.ts deleted file mode 100644 index dfc6a6e6..00000000 --- a/tests/helper/snapshot.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { assert } from "chai"; -import { basename, dirname, join } from "path"; -import { existsSync, mkdirSync, writeFileSync } from "fs"; -import { CONFIG_UPDATE } from "./config"; - -function getSnapshotFilePath(testFile: string): string { - return join(dirname(testFile), "__snapshots__", basename(testFile)); -} - -function getTitlePath(test: Mocha.Runnable): string { - const path = [test.title]; - for (let x = test.parent; x; x = x.parent) { - path.push(x.title); - } - path.pop(); - path.reverse(); - return path.join(" >> "); -} - -function getSnapshot(file: string, title: string): string { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const snap = require(file); - - if (!Object.prototype.hasOwnProperty.call(snap, title)) { - throw new Error(`Cannot find snapshot for test ${title}`); - } - - const value = snap[title]; - if (typeof value !== "string") { - throw new Error(`Cannot find snapshot for test ${title}`); - } - - return value; -} - -function getRoot(test: Mocha.Runnable): Mocha.Suite { - let p = test.parent; - if (!p) { - throw new Error(); - } - while (p.parent) { - p = p.parent; - } - return p; -} - -const toUpdate = new Map>(); - -const escapeRegex = /(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g; -function escapeBackslashes(value: string): string { - return value.replace(escapeRegex, (m, backslashes: string, c: string) => { - return backslashes + backslashes + "\\" + c; - }); -} - -function createSnapshot(values: Map): string { - let s = `/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(${escapeRegex}, (m, backslashes: string, c: string) => { - return "\\\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; -`; - - for (const [title, value] of values) { - s += `\nmodule.exports[n\`${escapeBackslashes(title)} \`] = lit\`\n${escapeBackslashes(value)}\n\`;\n`; - } - - return s; -} - -const registered = new Set(); -function register(suite: Mocha.Suite): void { - if (registered.has(suite)) { - return; - } - registered.add(suite); - - suite.afterAll(() => { - for (const [file, values] of toUpdate) { - mkdirSync(dirname(file), { recursive: true }); - writeFileSync(file, createSnapshot(values), "utf8"); - } - }); -} - -function updateSnapshot(test: Mocha.Runnable, file: string, title: string, value: string): void { - register(getRoot(test)); - - let map = toUpdate.get(file); - if (map === undefined) { - map = new Map(); - toUpdate.set(file, map); - } - - if (map.has(title)) { - throw new Error("There can be only one snapshot value per test case."); - } - map.set(title, value); -} - -export function assertEqualSnapshot(context: Mocha.Context, actual: string, message?: string): void { - const { test } = context; - if (!test) { - throw new Error("`test` property not set."); - } - - const file = getSnapshotFilePath(test.file!); - const title = getTitlePath(test); - - let fileExists; - try { - fileExists = existsSync(require.resolve(file)); - } catch { - fileExists = false; - } - - if (CONFIG_UPDATE || !fileExists) { - updateSnapshot(test, file, title, actual); - } else { - assert.strictEqual(actual, getSnapshot(file, title), message); - } -} diff --git a/tests/helper/transform.ts b/tests/helper/transform.ts deleted file mode 100644 index a54b6eab..00000000 --- a/tests/helper/transform.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import { assert } from "chai"; -import { Node, TransformOptions, Transformer, transform } from "../../src/ast"; -import { TooManyNodesError } from "../../src/errors"; -import { Literal, Parser, toLiteral } from "../../src/js"; -import { CONFIG_RUN_TRANSFORMERS } from "./config"; -import { literalToString } from "./fa"; -import { PrismRegexes } from "./prism-regex-data"; -import { assertEqualSnapshot } from "./snapshot"; - -export interface TransformTestCase { - literal: Literal | string; - transformer?: Transformer; - options?: TransformOptions; - expected?: Literal | string; - stepByStep?: boolean; - debug?: boolean; -} - -function toTestCase(literal: TransformTestCase | Literal | string): TransformTestCase { - if (typeof literal === "string") { - return { literal }; - } else if ("literal" in literal) { - return literal; - } else { - return { literal }; - } -} - -export function itTest(defaultTransformer: Transformer, cases: Iterable): void; -export function itTest( - defaultTransformer: null, - cases: Iterable -): void; -export function itTest( - defaultTransformer: Transformer | null, - cases: Iterable -): void { - for (const { - literal, - transformer = defaultTransformer, - options = {}, - expected, - debug = false, - stepByStep = false, - } of [...cases].map(toTestCase)) { - it(literalToString(literal), function () { - if (debug) { - // eslint-disable-next-line no-debugger - debugger; - } - - if (!transformer) { - throw new Error("No transformer"); - } - - const { expression } = Parser.fromLiteral(literal).parse({ - backreferences: "throw", - assertions: "parse", - simplify: false, - }); - - let actualStr: string; - if (stepByStep) { - const shortName: Record = { - Alternation: "Alt", - Assertion: "Asr", - CharacterClass: "Chr", - Concatenation: "Con", - Expression: "Exp", - Quantifier: "Qnt", - Unknown: "Unk", - }; - - const steps: [string, string][] = [["Start:", literalToString(toLiteral(expression))]]; - const transformedExpression = transform(transformer, expression, { - ...options, - events: { - onPassStart(ast, pass) { - steps.push([`Pass ${pass}`, ""]); - }, - onChange(ast, node, transformer) { - const patternStr = literalToString(toLiteral(ast)); - steps.push([`${shortName[node.type]} ${transformer.name ?? ""}:`, patternStr]); - }, - }, - }); - steps.push(["Final:", literalToString(toLiteral(transformedExpression))]); - const maxLength = Math.max(...steps.map(([name]) => name.length)); - actualStr = steps - .map(([name, value]) => (name + " ").padEnd(maxLength + 1) + value) - .map(s => s.trimEnd()) - .join("\n"); - } else { - const transformedExpression = transform(transformer, expression, options); - actualStr = literalToString(toLiteral(transformedExpression)); - } - - if (expected === undefined) { - assertEqualSnapshot(this, actualStr); - } else { - const expectedStr = literalToString(expected); - assert.strictEqual(actualStr, expectedStr); - } - }); - } -} - -export function regexSnapshot(context: Mocha.Context, transformer: Transformer): void { - if (!CONFIG_RUN_TRANSFORMERS) { - return; - } - - context.timeout(60 * 1000); // timeout after 1 minute - - const actual = PrismRegexes.map(re => { - try { - const { expression } = Parser.fromLiteral(re).parse({ backreferences: "unknown" }); - return literalToString(toLiteral(transform(transformer, expression, { maxPasses: 20 }))); - } catch (e) { - if (e instanceof TooManyNodesError) { - return "TooManyNodesError"; - } - throw e; - } - }).join("\n"); - - assertEqualSnapshot(context, actual); -} diff --git a/tests/helper/util.ts b/tests/helper/util.ts deleted file mode 100644 index fca35150..00000000 --- a/tests/helper/util.ts +++ /dev/null @@ -1,25 +0,0 @@ -export function prefixes(iter: Iterable): Set { - const set = new Set(); - - for (const item of iter) { - set.add(item); - for (let i = 0, l = item.length; i < l; i++) { - set.add(item.substr(0, i)); - } - } - - return set; -} - -export function suffixes(iter: Iterable): Set { - const set = new Set(); - - for (const item of iter) { - set.add(item); - for (let i = 0, l = item.length; i < l; i++) { - set.add(item.substr(i + 1)); - } - } - - return set; -} diff --git a/tests/helper/word-test-data.ts b/tests/helper/word-test-data.ts deleted file mode 100644 index 0c6dac74..00000000 --- a/tests/helper/word-test-data.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { assert } from "chai"; -import { FiniteAutomaton } from "../../src/fa-types"; -import { Literal } from "../../src/js"; -import { fromStringToUTF16, fromUTF16ToString, fromUnicodeToString } from "../../src/words"; - -export interface WordTestCaseData { - accept: number[][]; - reject: number[][]; -} -export interface WordTestCase extends WordTestCaseData { - literal: Literal; -} - -export const wordTestData: WordTestCase[] = [ - { - literal: /abc/, - accept: ["abc"].map(fromStringToUTF16), - reject: ["", "a", "ab", "abca", "aabc", "ABC"].map(fromStringToUTF16), - }, - { - literal: /ab+c/, - accept: ["abc", "abbbbbbbbbbbbbbbbbbbbbbbbbbbc"].map(fromStringToUTF16), - reject: ["", "a", "ab", "abca", "aabc", "ABC"].map(fromStringToUTF16), - }, - { - literal: /a*b*c*/, - accept: ["", "a", "b", "c", "aaaaaaa", "bbbbbbb", "ccccccc", "aaabbbbccc", "bccc", "aaaacccc"].map( - fromStringToUTF16 - ), - reject: ["abca", "ABC", "cba", "d", "dd"].map(fromStringToUTF16), - }, - { - literal: /\w+\d+/, - accept: ["abcabcabc000", "123", "00", "a0", "aaaaa00000", "a0a0a0a0a0a0a0a0a0a0a0"].map(fromStringToUTF16), - reject: ["", "a", "0", "abc", "123a", "D"].map(fromStringToUTF16), - }, -]; - -export function testWordTestCases(fa: FiniteAutomaton, data: WordTestCaseData): void { - type Outcome = "accepted" | "rejected"; - function fail(word: number[], expected: Outcome, actual: Outcome): void { - let unicodeStr = ""; - try { - unicodeStr = JSON.stringify(fromUnicodeToString(word)); - } catch (e) { - /* noop */ - } - - let utf16Str = ""; - try { - utf16Str = JSON.stringify(fromUTF16ToString(word)); - } catch (e) { - /* noop */ - } - - assert.fail( - `Expected word to be ${expected} but it was ${actual} instead.` + - "\nWord: " + - JSON.stringify(word) + - "\nWord (Unicode): " + - unicodeStr + - "\nWord (UTF16): " + - utf16Str - ); - } - - for (const word of data.accept) { - if (!fa.test(word)) { - fail(word, "accepted", "rejected"); - } - } - for (const word of data.reject) { - if (fa.test(word)) { - fail(word, "rejected", "accepted"); - } - } -} diff --git a/tests/intersection.ts b/tests/intersection.ts deleted file mode 100644 index 1dfee96d..00000000 --- a/tests/intersection.ts +++ /dev/null @@ -1,117 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { assert } from "chai"; -import { TransitionIterable } from "../src/fa-types"; -import { ReadonlyWord } from "../src/char-types"; -import { DFA } from "../src/dfa"; -import { ENFA } from "../src/enfa"; -import { getIntersectionWordSets, getIntersectionWords, isDisjointWith } from "../src/intersection"; -import { Literal } from "../src/js"; -import { NFA } from "../src/nfa"; -import { iterToArray } from "../src/util"; -import { fromUnicodeToString } from "../src/words"; -import { literalToDFA, literalToENFA, literalToNFA, literalToString } from "./helper/fa"; - -describe("intersection", function () { - const cases: RegExp[] = [ - /a/, - /b/, - /a*/, - /A/i, - /b*(ab+)*a/, - /a*(ba+)*/, - /a+/, - /(?:a+){2,}/, - /(?:[^>"'[\]]|"[^"]*"|'[^']*')/, - /(?:[^>"'[\]]|"[^"]*"|'[^']*'){2,}/, - /"(?:[^"\\r\n]|\\.)*"/, - /\/\*[^]*?\*\//, - ]; - - type FA = { nfa: NFA; dfa: DFA; enfa: ENFA }; - const FA_TYPE_KEYS: (keyof FA)[] = ["nfa", "dfa", "enfa"]; - function toFA(literal: Literal): FA { - const nfa = literalToNFA(literal); - const dfa = literalToDFA(literal); - const enfa = literalToENFA(literal); - - return { nfa, dfa, enfa }; - } - - function testAllCombinations( - getTitle: (left: string, right: string) => string, - getExpected: (a: FA, b: FA) => E, - getActual: (a: TransitionIterable, b: TransitionIterable) => E - ): void { - for (const left of cases) { - for (const right of cases) { - it(getTitle(literalToString(left), literalToString(right)), function () { - const l = toFA(left); - const r = toFA(right); - - const expected = getExpected(l, r); - - for (const lKey of FA_TYPE_KEYS) { - for (const rKey of FA_TYPE_KEYS) { - const combination = `${lKey} and ${rKey}`; - const actual = getActual(l[lKey], r[rKey]); - assert.deepStrictEqual(actual, expected, combination); - } - } - }); - } - } - } - - describe(isDisjointWith.name, function () { - testAllCombinations( - (left, right) => `${left} ∩ ${right} = ∅`, - (left, right) => NFA.fromIntersection(left.nfa, right.nfa).isEmpty, - (a, b) => isDisjointWith(a, b) - ); - }); - - describe(getIntersectionWordSets.name, function () { - function isFiniteIterable(iter: Iterable, upperLimit: number = 1000): boolean { - let counter = 0; - // eslint-disable-next-line @typescript-eslint/no-unused-vars - for (const _ of iter) { - if (++counter > upperLimit) { - return false; - } - } - return true; - } - - testAllCombinations( - (left, right) => `${left} ∩ ${right} is finite`, - (left, right) => NFA.fromIntersection(left.nfa, right.nfa).isFinite, - (a, b) => isFiniteIterable(getIntersectionWordSets(a, b)) - ); - }); - - describe(getIntersectionWords.name, function () { - function takeAtMostOrNothing(iter: Iterable, upperLimit: number = 100): T[] | null { - const results: T[] = []; - for (const item of iter) { - results.push(item); - if (results.length > upperLimit) { - return null; - } - } - return results; - } - - function toStrings(iter: Iterable | null): string[] | null { - if (!iter) { - return null; - } - return iterToArray(iter).map(fromUnicodeToString).sort(); - } - - testAllCombinations( - (left, right) => `${left} ∩ ${right}`, - (left, right) => toStrings(takeAtMostOrNothing(NFA.fromIntersection(left.nfa, right.nfa).words())), - (a, b) => toStrings(takeAtMostOrNothing(getIntersectionWords(a, b))) - ); - }); -}); diff --git a/tests/iter/__snapshots__/from-words.ts b/tests/iter/__snapshots__/from-words.ts deleted file mode 100644 index 6c57dc2d..00000000 --- a/tests/iter/__snapshots__/from-words.ts +++ /dev/null @@ -1,635 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`fromWords >> DFA >> [] `] = lit` -(0) -> none -`; - -module.exports[n`fromWords >> DFA >> [""] `] = lit` -[0] -> none -`; - -module.exports[n`fromWords >> DFA >> ["","a"] `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`fromWords >> DFA >> ["","a","aa","","a","aa"] `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> none -`; - -module.exports[n`fromWords >> DFA >> ["foo","bar","foo","bar","baz","food"] `] = lit` -(0) -> (1) : b - -> (2) : f - -(1) -> (3) : a - -(2) -> (4) : o - -(3) -> [5] : r - -> [6] : z - -(4) -> [7] : o - -[5] -> none - -[6] -> none - -[7] -> [8] : d - -[8] -> none -`; - -module.exports[n`fromWords >> DFA >> ["","a","b","c","d","e","f","g"] `] = lit` -[0] -> [1] : a - -> [2] : b - -> [3] : c - -> [4] : d - -> [5] : e - -> [6] : f - -> [7] : g - -[1] -> none - -[2] -> none - -[3] -> none - -[4] -> none - -[5] -> none - -[6] -> none - -[7] -> none -`; - -module.exports[n`fromWords >> DFA >> ["a","b","ab","ba","aa","bb","aaa","aab","aba","abb","baa","bab","bba","bbb"] `] = lit` -(0) -> [1] : a - -> [2] : b - -[1] -> [3] : a - -> [4] : b - -[2] -> [5] : a - -> [6] : b - -[3] -> [7] : a - -> [8] : b - -[4] -> [9] : a - -> [10] : b - -[5] -> [11] : a - -> [12] : b - -[6] -> [13] : a - -> [14] : b - -[7] -> none - -[8] -> none - -[9] -> none - -[10] -> none - -[11] -> none - -[12] -> none - -[13] -> none - -[14] -> none -`; - -module.exports[n`fromWords >> ENFA >> [] `] = lit` -(0) -> none -`; - -module.exports[n`fromWords >> ENFA >> [""] `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`fromWords >> ENFA >> ["","a"] `] = lit` -(0) -> [1] : ε - -> (2) : a - -[1] -> none - -(2) -> [1] : ε -`; - -module.exports[n`fromWords >> ENFA >> ["","a","aa","","a","aa"] `] = lit` -(0) -> [1] : ε - -> (2) : a - -[1] -> none - -(2) -> [1] : ε - -> (3) : a - -(3) -> [1] : ε -`; - -module.exports[n`fromWords >> ENFA >> ["foo","bar","foo","bar","baz","food"] `] = lit` -(0) -> (1) : f - -> (2) : b - -(1) -> (3) : o - -(2) -> (4) : a - -(3) -> (5) : o - -(4) -> (6) : r - -> (7) : z - -(5) -> [8] : ε - -> (9) : d - -(6) -> [8] : ε - -(7) -> [8] : ε - -[8] -> none - -(9) -> [8] : ε -`; - -module.exports[n`fromWords >> ENFA >> ["","a","b","c","d","e","f","g"] `] = lit` -(0) -> [1] : ε - -> (2) : a - -> (3) : b - -> (4) : c - -> (5) : d - -> (6) : e - -> (7) : f - -> (8) : g - -[1] -> none - -(2) -> [1] : ε - -(3) -> [1] : ε - -(4) -> [1] : ε - -(5) -> [1] : ε - -(6) -> [1] : ε - -(7) -> [1] : ε - -(8) -> [1] : ε -`; - -module.exports[n`fromWords >> ENFA >> ["a","b","ab","ba","aa","bb","aaa","aab","aba","abb","baa","bab","bba","bbb"] `] = lit` -(0) -> (1) : a - -> (2) : b - -(1) -> [3] : ε - -> (4) : b - -> (5) : a - -(2) -> [3] : ε - -> (6) : a - -> (7) : b - -[3] -> none - -(4) -> [3] : ε - -> (8) : a - -> (9) : b - -(5) -> [3] : ε - -> (10) : a - -> (11) : b - -(6) -> [3] : ε - -> (12) : a - -> (13) : b - -(7) -> [3] : ε - -> (14) : a - -> (15) : b - -(8) -> [3] : ε - -(9) -> [3] : ε - -(10) -> [3] : ε - -(11) -> [3] : ε - -(12) -> [3] : ε - -(13) -> [3] : ε - -(14) -> [3] : ε - -(15) -> [3] : ε -`; - -module.exports[n`fromWords >> NFA >> [] `] = lit` -(0) -> none -`; - -module.exports[n`fromWords >> NFA >> [""] `] = lit` -[0] -> none -`; - -module.exports[n`fromWords >> NFA >> ["","a"] `] = lit` -[0] -> [1] : a - -[1] -> none -`; - -module.exports[n`fromWords >> NFA >> ["","a","aa","","a","aa"] `] = lit` -[0] -> [1] : a - -[1] -> [2] : a - -[2] -> none -`; - -module.exports[n`fromWords >> NFA >> ["foo","bar","foo","bar","baz","food"] `] = lit` -(0) -> (1) : b - -> (2) : f - -(1) -> (3) : a - -(2) -> (4) : o - -(3) -> [5] : r z - -(4) -> [6] : o - -[5] -> none - -[6] -> [5] : d -`; - -module.exports[n`fromWords >> NFA >> ["","a","b","c","d","e","f","g"] `] = lit` -[0] -> [1] : a-g - -[1] -> none -`; - -module.exports[n`fromWords >> NFA >> ["a","b","ab","ba","aa","bb","aaa","aab","aba","abb","baa","bab","bba","bbb"] `] = lit` -(0) -> [1] : a - -> [2] : b - -[1] -> [3] : a b - -[2] -> [4] : a b - -[3] -> [5] : a b - -[4] -> [5] : a b - -[5] -> none -`; - -module.exports[n`fromWordSets >> DFA >> /[]/u `] = lit` -(0) -> none -`; - -module.exports[n`fromWordSets >> DFA >> /||||/u `] = lit` -[0] -> none -`; - -module.exports[n`fromWordSets >> DFA >> /a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -(0) -> [1] : A a - -> [2] : B b - -> [3] : C c - -[1] -> [4] : A a - -> (5) : B b - -[2] -> (6) : C c - -[3] -> (7) : A a - -> (8) : B b - -[4] -> none - -(5) -> [9] : C c - -(6) -> [10] : A a - -(7) -> [11] : A a - -> [12] : B b - -(8) -> [13] : A a - -[9] -> none - -[10] -> none - -[11] -> none - -[12] -> none - -[13] -> none -`; - -module.exports[n`fromWordSets >> DFA >> /|a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -[0] -> [1] : A a - -> [2] : B b - -> [3] : C c - -[1] -> [4] : A a - -> (5) : B b - -[2] -> (6) : C c - -[3] -> (7) : A a - -> (8) : B b - -[4] -> none - -(5) -> [9] : C c - -(6) -> [10] : A a - -(7) -> [11] : A a - -> [12] : B b - -(8) -> [13] : A a - -[9] -> none - -[10] -> none - -[11] -> none - -[12] -> none - -[13] -> none -`; - -module.exports[n`fromWordSets >> DFA >> /foo|food|bar|bar|\wd|\d\w/ `] = lit` -(0) -> (1) : 0-9 - -> (2) : A-Z '_' a c-e g-z - -> (3) : b - -> (4) : f - -(1) -> [5] : 0-9 A-Z '_' a-c e-z - -> [6] : d - -(2) -> [7] : d - -(3) -> (8) : a - -> [9] : d - -(4) -> [10] : d - -> (11) : o - -[5] -> none - -[6] -> none - -[7] -> none - -(8) -> [12] : r - -[9] -> none - -[10] -> none - -(11) -> [13] : o - -[12] -> none - -[13] -> [14] : d - -[14] -> none -`; - -module.exports[n`fromWordSets >> ENFA >> /[]/u `] = lit` -(0) -> none -`; - -module.exports[n`fromWordSets >> ENFA >> /||||/u `] = lit` -(0) -> [1] : ε - -[1] -> none -`; - -module.exports[n`fromWordSets >> ENFA >> /a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -(0) -> (1) : A a - -> (2) : B b - -> (3) : C c - -(1) -> [4] : ε - -> (5) : B b - -> (6) : A a - -(2) -> [4] : ε - -> (7) : C c - -(3) -> [4] : ε - -> (8) : B b - -> (9) : A a - -[4] -> none - -(5) -> (10) : C c - -(6) -> [4] : ε - -(7) -> (11) : A a - -(8) -> (12) : A a - -(9) -> (13) : B b - -> (14) : A a - -(10) -> [4] : ε - -(11) -> [4] : ε - -(12) -> [4] : ε - -(13) -> [4] : ε - -(14) -> [4] : ε -`; - -module.exports[n`fromWordSets >> ENFA >> /|a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -(0) -> [1] : ε - -> (2) : A a - -> (3) : B b - -> (4) : C c - -[1] -> none - -(2) -> [1] : ε - -> (5) : B b - -> (6) : A a - -(3) -> [1] : ε - -> (7) : C c - -(4) -> [1] : ε - -> (8) : B b - -> (9) : A a - -(5) -> (10) : C c - -(6) -> [1] : ε - -(7) -> (11) : A a - -(8) -> (12) : A a - -(9) -> (13) : B b - -> (14) : A a - -(10) -> [1] : ε - -(11) -> [1] : ε - -(12) -> [1] : ε - -(13) -> [1] : ε - -(14) -> [1] : ε -`; - -module.exports[n`fromWordSets >> ENFA >> /foo|food|bar|bar|\wd|\d\w/ `] = lit` -(0) -> (1) : f - -> (2) : b - -> (3) : A-Z '_' a c-e g-z - -> (4) : 0-9 - -(1) -> (5) : o - -> (6) : d - -(2) -> (7) : a - -> (8) : d - -(3) -> (9) : d - -(4) -> (10) : d - -> (11) : 0-9 A-Z '_' a-c e-z - -(5) -> (12) : o - -(6) -> [13] : ε - -(7) -> (14) : r - -(8) -> [13] : ε - -(9) -> [13] : ε - -(10) -> [13] : ε - -(11) -> [13] : ε - -(12) -> [13] : ε - -> (15) : d - -[13] -> none - -(14) -> [13] : ε - -(15) -> [13] : ε -`; - -module.exports[n`fromWordSets >> NFA >> /[]/u `] = lit` -(0) -> none -`; - -module.exports[n`fromWordSets >> NFA >> /||||/u `] = lit` -[0] -> none -`; - -module.exports[n`fromWordSets >> NFA >> /a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -(0) -> [1] : A a - -> [2] : B b - -> [3] : C c - -[1] -> [4] : A a - -> (5) : B b - -[2] -> (6) : C c - -[3] -> (6) : B b - -> (7) : A a - -[4] -> none - -(5) -> [4] : C c - -(6) -> [4] : A a - -(7) -> [4] : A B a b -`; - -module.exports[n`fromWordSets >> NFA >> /|a|b|c|abc|bca|cba|cab|aa|caa/i `] = lit` -[0] -> [1] : A a - -> [2] : B b - -> [3] : C c - -[1] -> [4] : A a - -> (5) : B b - -[2] -> (6) : C c - -[3] -> (6) : B b - -> (7) : A a - -[4] -> none - -(5) -> [4] : C c - -(6) -> [4] : A a - -(7) -> [4] : A B a b -`; - -module.exports[n`fromWordSets >> NFA >> /foo|food|bar|bar|\wd|\d\w/ `] = lit` -(0) -> (1) : 0-9 - -> (2) : A-Z '_' a c-e g-z - -> (3) : b - -> (4) : f - -(1) -> [5] : 0-9 A-Z '_' a-z - -(2) -> [5] : d - -(3) -> [5] : d - -> (6) : a - -(4) -> [5] : d - -> (7) : o - -[5] -> none - -(6) -> [5] : r - -(7) -> [8] : o - -[8] -> [5] : d -`; diff --git a/tests/iter/__snapshots__/to-dot.ts b/tests/iter/__snapshots__/to-dot.ts deleted file mode 100644 index 1473f418..00000000 --- a/tests/iter/__snapshots__/to-dot.ts +++ /dev/null @@ -1,3509 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`toDot >> from regexes >> DFA (default): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /a/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="A a"]; - n1 -> n2 [label="B b"]; - n2 -> n3 [label="C c"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="A a"]; - n1 -> n2 [label="B b"]; - n2 -> n3 [label="C c"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="A a"]; - n1 -> n2 [label="B b"]; - n2 -> n3 [label="C c"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="[Aa]"]; - n1 -> n2 [label="[Bb]"]; - n2 -> n3 [label="[Cc]"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="[Aa]"]; - n1 -> n2 [label="[Bb]"]; - n2 -> n3 [label="[Cc]"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /abc/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="[Aa]"]; - n1 -> n2 [label="[Bb]"]; - n2 -> n3 [label="[Cc]"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - n2 [label="2", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n0 [label=a]; - n0 -> n1 [label=b]; - n1 -> n1 [label=b]; - n1 -> n2 [label=c]; - n2 -> n2 [label=c]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=doublecircle]; - n9 [label="9", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="", taillabel="1"]; - n0 -> n2 [label="", taillabel="2"]; - n1 -> n3 [label=a]; - n2 -> n4 [label=""]; - n3 -> n1 [label="", taillabel="1"]; - n3 -> n2 [label="", taillabel="2"]; - n4 -> n5 [label=b]; - n5 -> n4 [label="", taillabel="1"]; - n5 -> n6 [label="", taillabel="2"]; - n6 -> n7 [label="", taillabel="1"]; - n6 -> n8 [label="", taillabel="2"]; - n7 -> n9 [label=c]; - n9 -> n7 [label="", taillabel="1"]; - n9 -> n8 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=doublecircle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n0 -> n2 [label=b]; - n1 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n2 [label=b]; - n2 -> n3 [label=c]; - n3 -> n3 [label=c]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=doublecircle]; - n2 [label="2", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n0 [label=a]; - n0 -> n1 [label=b]; - n1 -> n1 [label=b]; - n1 -> n2 [label=c]; - n2 -> n2 [label=c]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=doublecircle]; - n9 [label="9", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="", taillabel="1"]; - n0 -> n2 [label="", taillabel="2"]; - n1 -> n3 [label=a]; - n2 -> n4 [label=""]; - n3 -> n1 [label="", taillabel="1"]; - n3 -> n2 [label="", taillabel="2"]; - n4 -> n5 [label=b]; - n5 -> n4 [label="", taillabel="1"]; - n5 -> n6 [label="", taillabel="2"]; - n6 -> n7 [label="", taillabel="1"]; - n6 -> n8 [label="", taillabel="2"]; - n7 -> n9 [label=c]; - n9 -> n7 [label="", taillabel="1"]; - n9 -> n8 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /a*b+c*/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=doublecircle]; - n3 [label="3", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n0 -> n2 [label=b]; - n1 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n2 [label=b]; - n2 -> n3 [label=c]; - n3 -> n3 [label=c]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="0-9"]; - n1 -> n2 [label="'.'"]; - n1 -> n1 [label="0-9"]; - n1 -> n3 [label="E e"]; - n2 -> n4 [label="0-9"]; - n3 -> n5 [label="'+' '-'"]; - n3 -> n6 [label="0-9"]; - n4 -> n4 [label="0-9"]; - n4 -> n3 [label="E e"]; - n5 -> n6 [label="0-9"]; - n6 -> n6 [label="0-9"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=""]; - n1 -> n2 [label="0-9"]; - n2 -> n1 [label="", taillabel="1"]; - n2 -> n3 [label="", taillabel="2"]; - n3 -> n4 [label="'.'", taillabel="1"]; - n3 -> n5 [label="", taillabel="2"]; - n4 -> n6 [label=""]; - n5 -> n7 [label="E e"]; - n6 -> n8 [label="0-9"]; - n7 -> n9 [label="'+' '-'", taillabel="1"]; - n7 -> n10 [label="", taillabel="2"]; - n8 -> n6 [label="", taillabel="1"]; - n8 -> n11 [label="", taillabel="2"]; - n9 -> n10 [label=""]; - n10 -> n12 [label=""]; - n11 -> n5 [label=""]; - n12 -> n13 [label="0-9"]; - n13 -> n12 [label="", taillabel="1"]; - n13 -> n14 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="0-9"]; - n1 -> n1 [label="0-9"]; - n1 -> n2 [label="'.'"]; - n1 -> n3 [label="E e"]; - n2 -> n4 [label="0-9"]; - n3 -> n5 [label="'+' '-'"]; - n3 -> n6 [label="0-9"]; - n4 -> n4 [label="0-9"]; - n4 -> n3 [label="E e"]; - n5 -> n6 [label="0-9"]; - n6 -> n6 [label="0-9"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="\\d"]; - n1 -> n2 [label="\\."]; - n1 -> n1 [label="\\d"]; - n1 -> n3 [label="[Ee]"]; - n2 -> n4 [label="\\d"]; - n3 -> n5 [label="[-+]"]; - n3 -> n6 [label="\\d"]; - n4 -> n4 [label="\\d"]; - n4 -> n3 [label="[Ee]"]; - n5 -> n6 [label="\\d"]; - n6 -> n6 [label="\\d"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=""]; - n1 -> n2 [label="\\d"]; - n2 -> n1 [label="", taillabel="1"]; - n2 -> n3 [label="", taillabel="2"]; - n3 -> n4 [label="\\.", taillabel="1"]; - n3 -> n5 [label="", taillabel="2"]; - n4 -> n6 [label=""]; - n5 -> n7 [label="[Ee]"]; - n6 -> n8 [label="\\d"]; - n7 -> n9 [label="[-+]", taillabel="1"]; - n7 -> n10 [label="", taillabel="2"]; - n8 -> n6 [label="", taillabel="1"]; - n8 -> n11 [label="", taillabel="2"]; - n9 -> n10 [label=""]; - n10 -> n12 [label=""]; - n11 -> n5 [label=""]; - n12 -> n13 [label="\\d"]; - n13 -> n12 [label="", taillabel="1"]; - n13 -> n14 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="\\d"]; - n1 -> n1 [label="\\d"]; - n1 -> n2 [label="\\."]; - n1 -> n3 [label="[Ee]"]; - n2 -> n4 [label="\\d"]; - n3 -> n5 [label="[-+]"]; - n3 -> n6 [label="\\d"]; - n4 -> n4 [label="\\d"]; - n4 -> n3 [label="[Ee]"]; - n5 -> n6 [label="\\d"]; - n6 -> n6 [label="\\d"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="'/'"]; - n1 -> n2 [label="'*'"]; - n2 -> n2 [label="not '*'"]; - n2 -> n3 [label="'*'"]; - n3 -> n2 [label="not '*' '/'"]; - n3 -> n3 [label="'*'"]; - n3 -> n4 [label="'/'"]; - n4 -> n2 [label="not '*'"]; - n4 -> n3 [label="'*'"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="'/'"]; - n1 -> n2 [label="'*'"]; - n2 -> n3 [label="", taillabel="1"]; - n2 -> n4 [label="", taillabel="2"]; - n3 -> n5 [label="'*'"]; - n4 -> n6 [label=all]; - n5 -> n7 [label="'/'"]; - n6 -> n3 [label="", taillabel="1"]; - n6 -> n4 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="'/'"]; - n1 -> n2 [label="'*'"]; - n2 -> n3 [label=all]; - n2 -> n4 [label="'*'"]; - n3 -> n3 [label=all]; - n3 -> n4 [label="'*'"]; - n4 -> n5 [label="'/'"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="\\/"]; - n1 -> n2 [label="\\*"]; - n2 -> n2 [label="[^*]"]; - n2 -> n3 [label="\\*"]; - n3 -> n2 [label="[^*/]"]; - n3 -> n3 [label="\\*"]; - n3 -> n4 [label="\\/"]; - n4 -> n2 [label="[^*]"]; - n4 -> n3 [label="\\*"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="\\/"]; - n1 -> n2 [label="\\*"]; - n2 -> n3 [label="", taillabel="1"]; - n2 -> n4 [label="", taillabel="2"]; - n3 -> n5 [label="\\*"]; - n4 -> n6 [label="[^]"]; - n5 -> n7 [label="\\/"]; - n6 -> n3 [label="", taillabel="1"]; - n6 -> n4 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label="\\/"]; - n1 -> n2 [label="\\*"]; - n2 -> n3 [label="[^]"]; - n2 -> n4 [label="\\*"]; - n3 -> n3 [label="[^]"]; - n3 -> n4 [label="\\*"]; - n4 -> n5 [label="\\/"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n3 [label=a]; - n3 -> n4 [label=b]; - n4 -> n5 [label=a]; - n5 -> n6 [label=b]; - n6 -> n5 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=""]; - n1 -> n2 [label=a]; - n2 -> n3 [label=b]; - n3 -> n1 [label="", taillabel="1"]; - n3 -> n4 [label="", taillabel="2"]; - n4 -> n5 [label=""]; - n5 -> n6 [label=a]; - n6 -> n7 [label=b]; - n7 -> n5 [label="", taillabel="1"]; - n7 -> n8 [label="", taillabel="2"]; - n8 -> n9 [label=""]; - n9 -> n10 [label=""]; - n10 -> n11 [label=a]; - n11 -> n12 [label=b]; - n12 -> n10 [label="", taillabel="1"]; - n12 -> n13 [label="", taillabel="2"]; - n13 -> n9 [label="", taillabel="1"]; - n13 -> n14 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n3 [label=a]; - n3 -> n4 [label=b]; - n4 -> n5 [label=a]; - n5 -> n6 [label=b]; - n6 -> n5 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n3 [label=a]; - n3 -> n4 [label=b]; - n4 -> n5 [label=a]; - n5 -> n6 [label=b]; - n6 -> n5 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=""]; - n1 -> n2 [label=a]; - n2 -> n3 [label=b]; - n3 -> n1 [label="", taillabel="1"]; - n3 -> n4 [label="", taillabel="2"]; - n4 -> n5 [label=""]; - n5 -> n6 [label=a]; - n6 -> n7 [label=b]; - n7 -> n5 [label="", taillabel="1"]; - n7 -> n8 [label="", taillabel="2"]; - n8 -> n9 [label=""]; - n9 -> n10 [label=""]; - n10 -> n11 [label=a]; - n11 -> n12 [label=b]; - n12 -> n10 [label="", taillabel="1"]; - n12 -> n13 [label="", taillabel="2"]; - n13 -> n9 [label="", taillabel="1"]; - n13 -> n14 [label="", taillabel="2"]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /((ab)+){3,}/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - - // edges - null -> n0; - n0 -> n1 [label=a]; - n1 -> n2 [label=b]; - n2 -> n3 [label=a]; - n3 -> n4 [label=b]; - n4 -> n5 [label=a]; - n5 -> n6 [label=b]; - n6 -> n5 [label=a]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=circle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=doublecircle]; - n21 [label="21", shape=circle]; - n22 [label="22", shape=circle]; - n23 [label="23", shape=circle]; - n24 [label="24", shape=circle]; - n25 [label="25", shape=circle]; - n26 [label="26", shape=circle]; - n27 [label="27", shape=circle]; - n28 [label="28", shape=circle]; - n29 [label="29", shape=circle]; - n30 [label="30", shape=circle]; - n31 [label="31", shape=circle]; - n32 [label="32", shape=circle]; - n33 [label="33", shape=circle]; - n34 [label="34", shape=circle]; - n35 [label="35", shape=circle]; - n36 [label="36", shape=doublecircle]; - n37 [label="37", shape=circle]; - n38 [label="38", shape=circle]; - n39 [label="39", shape=circle]; - n40 [label="40", shape=circle]; - n41 [label="41", shape=circle]; - n42 [label="42", shape=circle]; - n43 [label="43", shape=circle]; - n44 [label="44", shape=circle]; - n45 [label="45", shape=doublecircle]; - n46 [label="46", shape=circle]; - n47 [label="47", shape=circle]; - n48 [label="48", shape=circle]; - n49 [label="49", shape=circle]; - n50 [label="50", shape=doublecircle]; - n51 [label="51", shape=circle]; - n52 [label="52", shape=circle]; - n53 [label="53", shape=circle]; - n54 [label="54", shape=circle]; - n55 [label="55", shape=circle]; - n56 [label="56", shape=circle]; - n57 [label="57", shape=circle]; - n58 [label="58", shape=circle]; - n59 [label="59", shape=circle]; - n60 [label="60", shape=circle]; - n61 [label="61", shape=circle]; - n62 [label="62", shape=circle]; - n63 [label="63", shape=doublecircle]; - n64 [label="64", shape=circle]; - n65 [label="65", shape=circle]; - n66 [label="66", shape=circle]; - n67 [label="67", shape=circle]; - n68 [label="68", shape=circle]; - n69 [label="69", shape=circle]; - n70 [label="70", shape=circle]; - n71 [label="71", shape=doublecircle]; - n72 [label="72", shape=circle]; - n73 [label="73", shape=circle]; - n74 [label="74", shape=circle]; - n75 [label="75", shape=circle]; - n76 [label="76", shape=circle]; - n77 [label="77", shape=circle]; - n78 [label="78", shape=doublecircle]; - n79 [label="79", shape=circle]; - n80 [label="80", shape=circle]; - n81 [label="81", shape=circle]; - n82 [label="82", shape=circle]; - n83 [label="83", shape=circle]; - n84 [label="84", shape=circle]; - n85 [label="85", shape=circle]; - n86 [label="86", shape=doublecircle]; - n87 [label="87", shape=circle]; - n88 [label="88", shape=circle]; - n89 [label="89", shape=circle]; - n90 [label="90", shape=circle]; - n91 [label="91", shape=doublecircle]; - n92 [label="92", shape=circle]; - n93 [label="93", shape=circle]; - n94 [label="94", shape=circle]; - n95 [label="95", shape=circle]; - n96 [label="96", shape=circle]; - n97 [label="97", shape=circle]; - n98 [label="98", shape=circle]; - n99 [label="99", shape=circle]; - n100 [label="100", shape=doublecircle]; - n101 [label="101", shape=circle]; - n102 [label="102", shape=circle]; - n103 [label="103", shape=circle]; - n104 [label="104", shape=circle]; - n105 [label="105", shape=circle]; - n106 [label="106", shape=circle]; - n107 [label="107", shape=circle]; - n108 [label="108", shape=circle]; - n109 [label="109", shape=circle]; - n110 [label="110", shape=circle]; - n111 [label="111", shape=circle]; - n112 [label="112", shape=circle]; - n113 [label="113", shape=doublecircle]; - n114 [label="114", shape=circle]; - n115 [label="115", shape=circle]; - n116 [label="116", shape=circle]; - n117 [label="117", shape=circle]; - n118 [label="118", shape=circle]; - n119 [label="119", shape=circle]; - n120 [label="120", shape=circle]; - n121 [label="121", shape=doublecircle]; - n122 [label="122", shape=circle]; - n123 [label="123", shape=circle]; - n124 [label="124", shape=circle]; - n125 [label="125", shape=circle]; - n126 [label="126", shape=circle]; - n127 [label="127", shape=circle]; - n128 [label="128", shape=circle]; - n129 [label="129", shape=circle]; - n130 [label="130", shape=circle]; - n131 [label="131", shape=circle]; - n132 [label="132", shape=circle]; - n133 [label="133", shape=circle]; - n134 [label="134", shape=doublecircle]; - n135 [label="135", shape=circle]; - n136 [label="136", shape=circle]; - n137 [label="137", shape=circle]; - n138 [label="138", shape=circle]; - n139 [label="139", shape=doublecircle]; - n140 [label="140", shape=circle]; - n141 [label="141", shape=circle]; - n142 [label="142", shape=circle]; - n143 [label="143", shape=circle]; - n144 [label="144", shape=circle]; - n145 [label="145", shape=circle]; - n146 [label="146", shape=circle]; - n147 [label="147", shape=circle]; - n148 [label="148", shape=circle]; - n149 [label="149", shape=doublecircle]; - n150 [label="150", shape=circle]; - n151 [label="151", shape=circle]; - n152 [label="152", shape=circle]; - n153 [label="153", shape=circle]; - n154 [label="154", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="'<'"]; - n1 -> n2 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n1 -> n3 [label="'/'"]; - n2 -> n2 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n2 -> n4 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n2 -> n5 [label="'/'"]; - n2 -> n6 [label="'>'"]; - n3 -> n2 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n4 -> n7 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n4 -> n4 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n4 -> n5 [label="'/'"]; - n4 -> n6 [label="'>'"]; - n5 -> n6 [label="'>'"]; - n7 -> n7 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n7 -> n4 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n7 -> n5 [label="'/'"]; - n7 -> n8 [label="'='"]; - n7 -> n6 [label="'>'"]; - n8 -> n9 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n8 -> n10 [label="'\"'"]; - n9 -> n9 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n9 -> n4 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n9 -> n6 [label="'>'"]; - n10 -> n10 [label="not '\"' '\\' '{'"]; - n10 -> n11 [label="'\"'"]; - n10 -> n12 [label="'\\'"]; - n10 -> n13 [label="'{'"]; - n11 -> n4 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n11 -> n5 [label="'/'"]; - n11 -> n6 [label="'>'"]; - n12 -> n10 [label=all]; - n13 -> n13 [label="not '\"' '\\' '{' '}'"]; - n13 -> n14 [label="'\"'"]; - n13 -> n15 [label="'\\'"]; - n13 -> n16 [label="'{'"]; - n13 -> n10 [label="'}'"]; - n14 -> n17 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n14 -> n18 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n14 -> n19 [label="'/'"]; - n14 -> n20 [label="'>'"]; - n14 -> n21 [label="'{'"]; - n14 -> n10 [label="'}'"]; - n15 -> n13 [label="not '{' '}'"]; - n15 -> n22 [label="'{'"]; - n15 -> n10 [label="'}'"]; - n16 -> n16 [label="not '\"' '\\' '{' '}'"]; - n16 -> n23 [label="'\"'"]; - n16 -> n24 [label="'\\'"]; - n16 -> n25 [label="'{'"]; - n16 -> n13 [label="'}'"]; - n17 -> n17 [label="not '{' '}'"]; - n17 -> n21 [label="'{'"]; - n17 -> n10 [label="'}'"]; - n18 -> n26 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n18 -> n18 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n18 -> n19 [label="'/'"]; - n18 -> n17 [label="'='"]; - n18 -> n20 [label="'>'"]; - n18 -> n27 [label="'{'"]; - n18 -> n28 [label="'}'"]; - n19 -> n17 [label="not '>' '{' '}'"]; - n19 -> n20 [label="'>'"]; - n19 -> n21 [label="'{'"]; - n19 -> n10 [label="'}'"]; - n20 -> n17 [label="not '{' '}'"]; - n20 -> n21 [label="'{'"]; - n20 -> n10 [label="'}'"]; - n21 -> n21 [label="not '{' '}'"]; - n21 -> n29 [label="'{'"]; - n21 -> n17 [label="'}'"]; - n22 -> n22 [label="not '\"' '\\' '{' '}'"]; - n22 -> n30 [label="'\"'"]; - n22 -> n31 [label="'\\'"]; - n22 -> n32 [label="'{'"]; - n22 -> n13 [label="'}'"]; - n23 -> n33 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n23 -> n34 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n23 -> n35 [label="'/'"]; - n23 -> n36 [label="'>'"]; - n23 -> n37 [label="'{'"]; - n23 -> n13 [label="'}'"]; - n24 -> n16 [label="not '{' '}'"]; - n24 -> n38 [label="'{'"]; - n24 -> n13 [label="'}'"]; - n25 -> n25 [label="not '\"' '\\' '}'"]; - n25 -> n39 [label="'\"'"]; - n25 -> n40 [label="'\\'"]; - n25 -> n16 [label="'}'"]; - n26 -> n26 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n26 -> n18 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n26 -> n19 [label="'/'"]; - n26 -> n41 [label="'='"]; - n26 -> n20 [label="'>'"]; - n26 -> n27 [label="'{'"]; - n26 -> n28 [label="'}'"]; - n27 -> n27 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n27 -> n42 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n27 -> n43 [label="'/'"]; - n27 -> n44 [label="'='"]; - n27 -> n45 [label="'>'"]; - n27 -> n46 [label="'{'"]; - n27 -> n26 [label="'}'"]; - n28 -> n28 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n28 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n28 -> n7 [label="'\"'"]; - n28 -> n48 [label="'/'"]; - n28 -> n49 [label="'='"]; - n28 -> n50 [label="'>'"]; - n28 -> n51 [label="'\\'"]; - n28 -> n52 [label="'{'"]; - n29 -> n29 [label="not '{' '}'"]; - n29 -> n21 [label="'}'"]; - n30 -> n21 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n30 -> n42 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n30 -> n43 [label="'/'"]; - n30 -> n45 [label="'>'"]; - n30 -> n29 [label="'{'"]; - n30 -> n17 [label="'}'"]; - n31 -> n22 [label="not '{' '}'"]; - n31 -> n53 [label="'{'"]; - n31 -> n13 [label="'}'"]; - n32 -> n32 [label="not '\"' '\\' '{' '}'"]; - n32 -> n54 [label="'\"'"]; - n32 -> n55 [label="'\\'"]; - n32 -> n16 [label="'{'"]; - n32 -> n22 [label="'}'"]; - n33 -> n33 [label="not '{' '}'"]; - n33 -> n37 [label="'{'"]; - n33 -> n13 [label="'}'"]; - n34 -> n56 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n34 -> n34 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n34 -> n35 [label="'/'"]; - n34 -> n33 [label="'='"]; - n34 -> n36 [label="'>'"]; - n34 -> n57 [label="'{'"]; - n34 -> n52 [label="'}'"]; - n35 -> n33 [label="not '>' '{' '}'"]; - n35 -> n36 [label="'>'"]; - n35 -> n37 [label="'{'"]; - n35 -> n13 [label="'}'"]; - n36 -> n33 [label="not '{' '}'"]; - n36 -> n37 [label="'{'"]; - n36 -> n13 [label="'}'"]; - n37 -> n37 [label="not '{' '}'"]; - n37 -> n29 [label="'{'"]; - n37 -> n33 [label="'}'"]; - n38 -> n38 [label="not '\"' '\\' '{' '}'"]; - n38 -> n58 [label="'\"'"]; - n38 -> n59 [label="'\\'"]; - n38 -> n32 [label="'{'"]; - n38 -> n16 [label="'}'"]; - n39 -> n60 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n39 -> n61 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n39 -> n62 [label="'/'"]; - n39 -> n63 [label="'>'"]; - n39 -> n37 [label="'{'"]; - n39 -> n16 [label="'}'"]; - n40 -> n25 [label="not '{' '}'"]; - n40 -> n38 [label="'{'"]; - n40 -> n16 [label="'}'"]; - n41 -> n64 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n41 -> n17 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n41 -> n13 [label="'\"'"]; - n41 -> n65 [label="'{'"]; - n41 -> n66 [label="'}'"]; - n42 -> n27 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n42 -> n42 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n42 -> n43 [label="'/'"]; - n42 -> n21 [label="'='"]; - n42 -> n45 [label="'>'"]; - n42 -> n46 [label="'{'"]; - n42 -> n26 [label="'}'"]; - n43 -> n21 [label="not '>' '{' '}'"]; - n43 -> n45 [label="'>'"]; - n43 -> n29 [label="'{'"]; - n43 -> n17 [label="'}'"]; - n44 -> n65 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n44 -> n21 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n44 -> n22 [label="'\"'"]; - n44 -> n67 [label="'{'"]; - n44 -> n64 [label="'}'"]; - n45 -> n21 [label="not '{' '}'"]; - n45 -> n29 [label="'{'"]; - n45 -> n17 [label="'}'"]; - n46 -> n46 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n46 -> n68 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n46 -> n69 [label="'/'"]; - n46 -> n70 [label="'='"]; - n46 -> n71 [label="'>'"]; - n46 -> n7 [label="'{'"]; - n46 -> n27 [label="'}'"]; - n47 -> n28 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n47 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n47 -> n7 [label="'\"'"]; - n47 -> n48 [label="'/'"]; - n47 -> n10 [label="'='"]; - n47 -> n50 [label="'>'"]; - n47 -> n51 [label="'\\'"]; - n47 -> n52 [label="'{'"]; - n48 -> n10 [label="not '\"' '>' '\\' '{'"]; - n48 -> n11 [label="'\"'"]; - n48 -> n50 [label="'>'"]; - n48 -> n12 [label="'\\'"]; - n48 -> n13 [label="'{'"]; - n49 -> n66 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n49 -> n10 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n49 -> n72 [label="'\"'"]; - n49 -> n73 [label="'\\'"]; - n49 -> n74 [label="'{'"]; - n50 -> n10 [label="not '\"' '\\' '{'"]; - n50 -> n11 [label="'\"'"]; - n50 -> n12 [label="'\\'"]; - n50 -> n13 [label="'{'"]; - n51 -> n28 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n51 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n51 -> n48 [label="'/'"]; - n51 -> n49 [label="'='"]; - n51 -> n50 [label="'>'"]; - n52 -> n52 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n52 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n52 -> n26 [label="'\"'"]; - n52 -> n76 [label="'/'"]; - n52 -> n77 [label="'='"]; - n52 -> n78 [label="'>'"]; - n52 -> n79 [label="'\\'"]; - n52 -> n80 [label="'{'"]; - n52 -> n28 [label="'}'"]; - n53 -> n53 [label="not '\"' '\\' '{' '}'"]; - n53 -> n81 [label="'\"'"]; - n53 -> n82 [label="'\\'"]; - n53 -> n13 [label="'{'"]; - n53 -> n22 [label="'}'"]; - n54 -> n83 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n54 -> n84 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n54 -> n85 [label="'/'"]; - n54 -> n86 [label="'>'"]; - n54 -> n21 [label="'{'"]; - n54 -> n22 [label="'}'"]; - n55 -> n32 [label="not '{' '}'"]; - n55 -> n22 [label="'{' '}'"]; - n56 -> n56 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n56 -> n34 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n56 -> n35 [label="'/'"]; - n56 -> n87 [label="'='"]; - n56 -> n36 [label="'>'"]; - n56 -> n57 [label="'{'"]; - n56 -> n52 [label="'}'"]; - n57 -> n57 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n57 -> n88 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n57 -> n89 [label="'/'"]; - n57 -> n90 [label="'='"]; - n57 -> n91 [label="'>'"]; - n57 -> n46 [label="'{'"]; - n57 -> n56 [label="'}'"]; - n58 -> n37 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n58 -> n88 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n58 -> n89 [label="'/'"]; - n58 -> n91 [label="'>'"]; - n58 -> n29 [label="'{'"]; - n58 -> n33 [label="'}'"]; - n59 -> n38 [label="not '{' '}'"]; - n59 -> n53 [label="'{'"]; - n59 -> n16 [label="'}'"]; - n60 -> n60 [label="not '{' '}'"]; - n60 -> n37 [label="'{'"]; - n60 -> n16 [label="'}'"]; - n61 -> n92 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n61 -> n61 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n61 -> n62 [label="'/'"]; - n61 -> n60 [label="'='"]; - n61 -> n63 [label="'>'"]; - n61 -> n57 [label="'{'"]; - n61 -> n80 [label="'}'"]; - n62 -> n60 [label="not '>' '{' '}'"]; - n62 -> n63 [label="'>'"]; - n62 -> n37 [label="'{'"]; - n62 -> n16 [label="'}'"]; - n63 -> n60 [label="not '{' '}'"]; - n63 -> n37 [label="'{'"]; - n63 -> n16 [label="'}'"]; - n64 -> n64 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n64 -> n18 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n64 -> n17 [label="'\"' ''' '='"]; - n64 -> n20 [label="'>'"]; - n64 -> n65 [label="'{'"]; - n64 -> n66 [label="'}'"]; - n65 -> n65 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n65 -> n42 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n65 -> n21 [label="'\"' ''' '='"]; - n65 -> n45 [label="'>'"]; - n65 -> n67 [label="'{'"]; - n65 -> n64 [label="'}'"]; - n66 -> n66 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n66 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n66 -> n11 [label="'\"'"]; - n66 -> n10 [label="''' '='"]; - n66 -> n50 [label="'>'"]; - n66 -> n73 [label="'\\'"]; - n66 -> n74 [label="'{'"]; - n67 -> n67 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n67 -> n68 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n67 -> n29 [label="'\"' ''' '='"]; - n67 -> n71 [label="'>'"]; - n67 -> n9 [label="'{'"]; - n67 -> n65 [label="'}'"]; - n68 -> n46 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n68 -> n68 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n68 -> n69 [label="'/'"]; - n68 -> n29 [label="'='"]; - n68 -> n71 [label="'>'"]; - n68 -> n7 [label="'{'"]; - n68 -> n27 [label="'}'"]; - n69 -> n29 [label="not '>' '{' '}'"]; - n69 -> n71 [label="'>'"]; - n69 -> n21 [label="'}'"]; - n70 -> n67 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n70 -> n29 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n70 -> n53 [label="'\"'"]; - n70 -> n9 [label="'{'"]; - n70 -> n65 [label="'}'"]; - n71 -> n29 [label="not '{' '}'"]; - n71 -> n21 [label="'}'"]; - n72 -> n10 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n72 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n72 -> n11 [label="'\"'"]; - n72 -> n48 [label="'/'"]; - n72 -> n50 [label="'>'"]; - n72 -> n12 [label="'\\'"]; - n72 -> n13 [label="'{'"]; - n73 -> n66 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n73 -> n47 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n73 -> n10 [label="'\"' ''' '='"]; - n73 -> n50 [label="'>'"]; - n74 -> n74 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n74 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n74 -> n14 [label="'\"'"]; - n74 -> n13 [label="''' '='"]; - n74 -> n78 [label="'>'"]; - n74 -> n93 [label="'\\'"]; - n74 -> n94 [label="'{'"]; - n74 -> n66 [label="'}'"]; - n75 -> n52 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n75 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n75 -> n26 [label="'\"'"]; - n75 -> n76 [label="'/'"]; - n75 -> n13 [label="'='"]; - n75 -> n78 [label="'>'"]; - n75 -> n79 [label="'\\'"]; - n75 -> n80 [label="'{'"]; - n75 -> n28 [label="'}'"]; - n76 -> n13 [label="not '\"' '>' '\\' '{' '}'"]; - n76 -> n14 [label="'\"'"]; - n76 -> n78 [label="'>'"]; - n76 -> n15 [label="'\\'"]; - n76 -> n16 [label="'{'"]; - n76 -> n10 [label="'}'"]; - n77 -> n74 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n77 -> n13 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n77 -> n95 [label="'\"'"]; - n77 -> n93 [label="'\\'"]; - n77 -> n94 [label="'{'"]; - n77 -> n66 [label="'}'"]; - n78 -> n13 [label="not '\"' '\\' '{' '}'"]; - n78 -> n14 [label="'\"'"]; - n78 -> n15 [label="'\\'"]; - n78 -> n16 [label="'{'"]; - n78 -> n10 [label="'}'"]; - n79 -> n52 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n79 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n79 -> n76 [label="'/'"]; - n79 -> n77 [label="'='"]; - n79 -> n78 [label="'>'"]; - n79 -> n96 [label="'{'"]; - n79 -> n28 [label="'}'"]; - n80 -> n80 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n80 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n80 -> n56 [label="'\"'"]; - n80 -> n98 [label="'/'"]; - n80 -> n99 [label="'='"]; - n80 -> n100 [label="'>'"]; - n80 -> n101 [label="'\\'"]; - n80 -> n102 [label="'{'"]; - n80 -> n52 [label="'}'"]; - n81 -> n29 [label="not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n81 -> n68 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n81 -> n69 [label="'/'"]; - n81 -> n71 [label="'>'"]; - n81 -> n21 [label="'}'"]; - n82 -> n53 [label="not '{' '}'"]; - n82 -> n10 [label="'{'"]; - n82 -> n22 [label="'}'"]; - n83 -> n83 [label="not '{' '}'"]; - n83 -> n21 [label="'{'"]; - n83 -> n22 [label="'}'"]; - n84 -> n103 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n84 -> n84 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n84 -> n85 [label="'/'"]; - n84 -> n83 [label="'='"]; - n84 -> n86 [label="'>'"]; - n84 -> n27 [label="'{'"]; - n84 -> n96 [label="'}'"]; - n85 -> n83 [label="not '>' '{' '}'"]; - n85 -> n86 [label="'>'"]; - n85 -> n21 [label="'{'"]; - n85 -> n22 [label="'}'"]; - n86 -> n83 [label="not '{' '}'"]; - n86 -> n21 [label="'{'"]; - n86 -> n22 [label="'}'"]; - n87 -> n104 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n87 -> n33 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n87 -> n16 [label="'\"'"]; - n87 -> n105 [label="'{'"]; - n87 -> n74 [label="'}'"]; - n88 -> n57 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n88 -> n88 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n88 -> n89 [label="'/'"]; - n88 -> n37 [label="'='"]; - n88 -> n91 [label="'>'"]; - n88 -> n46 [label="'{'"]; - n88 -> n56 [label="'}'"]; - n89 -> n37 [label="not '>' '{' '}'"]; - n89 -> n91 [label="'>'"]; - n89 -> n29 [label="'{'"]; - n89 -> n33 [label="'}'"]; - n90 -> n105 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n90 -> n37 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n90 -> n38 [label="'\"'"]; - n90 -> n67 [label="'{'"]; - n90 -> n104 [label="'}'"]; - n91 -> n37 [label="not '{' '}'"]; - n91 -> n29 [label="'{'"]; - n91 -> n33 [label="'}'"]; - n92 -> n92 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n92 -> n61 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n92 -> n62 [label="'/'"]; - n92 -> n106 [label="'='"]; - n92 -> n63 [label="'>'"]; - n92 -> n57 [label="'{'"]; - n92 -> n80 [label="'}'"]; - n93 -> n74 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n93 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n93 -> n13 [label="'\"' ''' '='"]; - n93 -> n78 [label="'>'"]; - n93 -> n107 [label="'{'"]; - n93 -> n66 [label="'}'"]; - n94 -> n94 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n94 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n94 -> n23 [label="'\"'"]; - n94 -> n16 [label="''' '='"]; - n94 -> n100 [label="'>'"]; - n94 -> n108 [label="'\\'"]; - n94 -> n109 [label="'{'"]; - n94 -> n74 [label="'}'"]; - n95 -> n13 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n95 -> n75 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n95 -> n14 [label="'\"'"]; - n95 -> n76 [label="'/'"]; - n95 -> n78 [label="'>'"]; - n95 -> n15 [label="'\\'"]; - n95 -> n16 [label="'{'"]; - n95 -> n10 [label="'}'"]; - n96 -> n96 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n96 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n96 -> n27 [label="'\"'"]; - n96 -> n111 [label="'/'"]; - n96 -> n112 [label="'='"]; - n96 -> n113 [label="'>'"]; - n96 -> n114 [label="'\\'"]; - n96 -> n115 [label="'{'"]; - n96 -> n52 [label="'}'"]; - n97 -> n80 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n97 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n97 -> n56 [label="'\"'"]; - n97 -> n98 [label="'/'"]; - n97 -> n16 [label="'='"]; - n97 -> n100 [label="'>'"]; - n97 -> n101 [label="'\\'"]; - n97 -> n102 [label="'{'"]; - n97 -> n52 [label="'}'"]; - n98 -> n16 [label="not '\"' '>' '\\' '{' '}'"]; - n98 -> n23 [label="'\"'"]; - n98 -> n100 [label="'>'"]; - n98 -> n24 [label="'\\'"]; - n98 -> n25 [label="'{'"]; - n98 -> n13 [label="'}'"]; - n99 -> n94 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n99 -> n16 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n99 -> n116 [label="'\"'"]; - n99 -> n108 [label="'\\'"]; - n99 -> n109 [label="'{'"]; - n99 -> n74 [label="'}'"]; - n100 -> n16 [label="not '\"' '\\' '{' '}'"]; - n100 -> n23 [label="'\"'"]; - n100 -> n24 [label="'\\'"]; - n100 -> n25 [label="'{'"]; - n100 -> n13 [label="'}'"]; - n101 -> n80 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n101 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n101 -> n98 [label="'/'"]; - n101 -> n99 [label="'='"]; - n101 -> n100 [label="'>'"]; - n101 -> n117 [label="'{'"]; - n101 -> n52 [label="'}'"]; - n102 -> n102 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n102 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n102 -> n92 [label="'\"'"]; - n102 -> n119 [label="'/'"]; - n102 -> n120 [label="'='"]; - n102 -> n121 [label="'>'"]; - n102 -> n122 [label="'\\'"]; - n102 -> n80 [label="'}'"]; - n103 -> n103 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n103 -> n84 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n103 -> n85 [label="'/'"]; - n103 -> n123 [label="'='"]; - n103 -> n86 [label="'>'"]; - n103 -> n27 [label="'{'"]; - n103 -> n96 [label="'}'"]; - n104 -> n104 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n104 -> n34 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n104 -> n33 [label="'\"' ''' '='"]; - n104 -> n36 [label="'>'"]; - n104 -> n105 [label="'{'"]; - n104 -> n74 [label="'}'"]; - n105 -> n105 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n105 -> n88 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n105 -> n37 [label="'\"' ''' '='"]; - n105 -> n91 [label="'>'"]; - n105 -> n67 [label="'{'"]; - n105 -> n104 [label="'}'"]; - n106 -> n124 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n106 -> n60 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n106 -> n25 [label="'\"'"]; - n106 -> n105 [label="'{'"]; - n106 -> n94 [label="'}'"]; - n107 -> n107 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n107 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n107 -> n30 [label="'\"'"]; - n107 -> n22 [label="''' '='"]; - n107 -> n113 [label="'>'"]; - n107 -> n125 [label="'\\'"]; - n107 -> n126 [label="'{'"]; - n107 -> n74 [label="'}'"]; - n108 -> n94 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n108 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n108 -> n16 [label="'\"' ''' '='"]; - n108 -> n100 [label="'>'"]; - n108 -> n127 [label="'{'"]; - n108 -> n74 [label="'}'"]; - n109 -> n109 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n109 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n109 -> n39 [label="'\"'"]; - n109 -> n25 [label="''' '='"]; - n109 -> n121 [label="'>'"]; - n109 -> n128 [label="'\\'"]; - n109 -> n94 [label="'}'"]; - n110 -> n96 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n110 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n110 -> n27 [label="'\"'"]; - n110 -> n111 [label="'/'"]; - n110 -> n22 [label="'='"]; - n110 -> n113 [label="'>'"]; - n110 -> n114 [label="'\\'"]; - n110 -> n115 [label="'{'"]; - n110 -> n52 [label="'}'"]; - n111 -> n22 [label="not '\"' '>' '\\' '{' '}'"]; - n111 -> n30 [label="'\"'"]; - n111 -> n113 [label="'>'"]; - n111 -> n31 [label="'\\'"]; - n111 -> n32 [label="'{'"]; - n111 -> n13 [label="'}'"]; - n112 -> n107 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n112 -> n22 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n112 -> n129 [label="'\"'"]; - n112 -> n125 [label="'\\'"]; - n112 -> n126 [label="'{'"]; - n112 -> n74 [label="'}'"]; - n113 -> n22 [label="not '\"' '\\' '{' '}'"]; - n113 -> n30 [label="'\"'"]; - n113 -> n31 [label="'\\'"]; - n113 -> n32 [label="'{'"]; - n113 -> n13 [label="'}'"]; - n114 -> n96 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n114 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n114 -> n111 [label="'/'"]; - n114 -> n112 [label="'='"]; - n114 -> n113 [label="'>'"]; - n114 -> n130 [label="'{'"]; - n114 -> n52 [label="'}'"]; - n115 -> n115 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n115 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n115 -> n103 [label="'\"'"]; - n115 -> n132 [label="'/'"]; - n115 -> n133 [label="'='"]; - n115 -> n134 [label="'>'"]; - n115 -> n135 [label="'\\'"]; - n115 -> n80 [label="'{'"]; - n115 -> n96 [label="'}'"]; - n116 -> n16 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n116 -> n97 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n116 -> n23 [label="'\"'"]; - n116 -> n98 [label="'/'"]; - n116 -> n100 [label="'>'"]; - n116 -> n24 [label="'\\'"]; - n116 -> n25 [label="'{'"]; - n116 -> n13 [label="'}'"]; - n117 -> n117 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n117 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n117 -> n57 [label="'\"'"]; - n117 -> n137 [label="'/'"]; - n117 -> n138 [label="'='"]; - n117 -> n139 [label="'>'"]; - n117 -> n140 [label="'\\'"]; - n117 -> n115 [label="'{'"]; - n117 -> n80 [label="'}'"]; - n118 -> n102 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n118 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n118 -> n92 [label="'\"'"]; - n118 -> n119 [label="'/'"]; - n118 -> n25 [label="'='"]; - n118 -> n121 [label="'>'"]; - n118 -> n122 [label="'\\'"]; - n118 -> n80 [label="'}'"]; - n119 -> n25 [label="not '\"' '>' '\\' '}'"]; - n119 -> n39 [label="'\"'"]; - n119 -> n121 [label="'>'"]; - n119 -> n40 [label="'\\'"]; - n119 -> n16 [label="'}'"]; - n120 -> n109 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n120 -> n25 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n120 -> n141 [label="'\"'"]; - n120 -> n128 [label="'\\'"]; - n120 -> n94 [label="'}'"]; - n121 -> n25 [label="not '\"' '\\' '}'"]; - n121 -> n39 [label="'\"'"]; - n121 -> n40 [label="'\\'"]; - n121 -> n16 [label="'}'"]; - n122 -> n102 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n122 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n122 -> n119 [label="'/'"]; - n122 -> n120 [label="'='"]; - n122 -> n121 [label="'>'"]; - n122 -> n117 [label="'{'"]; - n122 -> n80 [label="'}'"]; - n123 -> n142 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n123 -> n83 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n123 -> n32 [label="'\"'"]; - n123 -> n65 [label="'{'"]; - n123 -> n107 [label="'}'"]; - n124 -> n124 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n124 -> n61 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n124 -> n60 [label="'\"' ''' '='"]; - n124 -> n63 [label="'>'"]; - n124 -> n105 [label="'{'"]; - n124 -> n94 [label="'}'"]; - n125 -> n107 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n125 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n125 -> n22 [label="'\"' ''' '='"]; - n125 -> n113 [label="'>'"]; - n125 -> n143 [label="'{'"]; - n125 -> n74 [label="'}'"]; - n126 -> n126 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n126 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n126 -> n54 [label="'\"'"]; - n126 -> n32 [label="''' '='"]; - n126 -> n134 [label="'>'"]; - n126 -> n144 [label="'\\'"]; - n126 -> n94 [label="'{'"]; - n126 -> n107 [label="'}'"]; - n127 -> n127 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n127 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n127 -> n58 [label="'\"'"]; - n127 -> n38 [label="''' '='"]; - n127 -> n139 [label="'>'"]; - n127 -> n145 [label="'\\'"]; - n127 -> n126 [label="'{'"]; - n127 -> n94 [label="'}'"]; - n128 -> n109 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n128 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n128 -> n25 [label="'\"' ''' '='"]; - n128 -> n121 [label="'>'"]; - n128 -> n127 [label="'{'"]; - n128 -> n94 [label="'}'"]; - n129 -> n22 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n129 -> n110 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n129 -> n30 [label="'\"'"]; - n129 -> n111 [label="'/'"]; - n129 -> n113 [label="'>'"]; - n129 -> n31 [label="'\\'"]; - n129 -> n32 [label="'{'"]; - n129 -> n13 [label="'}'"]; - n130 -> n130 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n130 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n130 -> n46 [label="'\"'"]; - n130 -> n147 [label="'/'"]; - n130 -> n148 [label="'='"]; - n130 -> n149 [label="'>'"]; - n130 -> n150 [label="'\\'"]; - n130 -> n52 [label="'{'"]; - n130 -> n96 [label="'}'"]; - n131 -> n115 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n131 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n131 -> n103 [label="'\"'"]; - n131 -> n132 [label="'/'"]; - n131 -> n32 [label="'='"]; - n131 -> n134 [label="'>'"]; - n131 -> n135 [label="'\\'"]; - n131 -> n80 [label="'{'"]; - n131 -> n96 [label="'}'"]; - n132 -> n32 [label="not '\"' '>' '\\' '{' '}'"]; - n132 -> n54 [label="'\"'"]; - n132 -> n134 [label="'>'"]; - n132 -> n55 [label="'\\'"]; - n132 -> n16 [label="'{'"]; - n132 -> n22 [label="'}'"]; - n133 -> n126 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n133 -> n32 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n133 -> n151 [label="'\"'"]; - n133 -> n144 [label="'\\'"]; - n133 -> n94 [label="'{'"]; - n133 -> n107 [label="'}'"]; - n134 -> n32 [label="not '\"' '\\' '{' '}'"]; - n134 -> n54 [label="'\"'"]; - n134 -> n55 [label="'\\'"]; - n134 -> n16 [label="'{'"]; - n134 -> n22 [label="'}'"]; - n135 -> n115 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n135 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n135 -> n132 [label="'/'"]; - n135 -> n133 [label="'='"]; - n135 -> n134 [label="'>'"]; - n135 -> n96 [label="'{' '}'"]; - n136 -> n117 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n136 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n136 -> n57 [label="'\"'"]; - n136 -> n137 [label="'/'"]; - n136 -> n38 [label="'='"]; - n136 -> n139 [label="'>'"]; - n136 -> n140 [label="'\\'"]; - n136 -> n115 [label="'{'"]; - n136 -> n80 [label="'}'"]; - n137 -> n38 [label="not '\"' '>' '\\' '{' '}'"]; - n137 -> n58 [label="'\"'"]; - n137 -> n139 [label="'>'"]; - n137 -> n59 [label="'\\'"]; - n137 -> n32 [label="'{'"]; - n137 -> n16 [label="'}'"]; - n138 -> n127 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n138 -> n38 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n138 -> n152 [label="'\"'"]; - n138 -> n145 [label="'\\'"]; - n138 -> n126 [label="'{'"]; - n138 -> n94 [label="'}'"]; - n139 -> n38 [label="not '\"' '\\' '{' '}'"]; - n139 -> n58 [label="'\"'"]; - n139 -> n59 [label="'\\'"]; - n139 -> n32 [label="'{'"]; - n139 -> n16 [label="'}'"]; - n140 -> n117 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n140 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n140 -> n137 [label="'/'"]; - n140 -> n138 [label="'='"]; - n140 -> n139 [label="'>'"]; - n140 -> n130 [label="'{'"]; - n140 -> n80 [label="'}'"]; - n141 -> n25 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n141 -> n118 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n141 -> n39 [label="'\"'"]; - n141 -> n119 [label="'/'"]; - n141 -> n121 [label="'>'"]; - n141 -> n40 [label="'\\'"]; - n141 -> n16 [label="'}'"]; - n142 -> n142 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n142 -> n84 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n142 -> n83 [label="'\"' ''' '='"]; - n142 -> n86 [label="'>'"]; - n142 -> n65 [label="'{'"]; - n142 -> n107 [label="'}'"]; - n143 -> n143 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n143 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n143 -> n81 [label="'\"'"]; - n143 -> n53 [label="''' '='"]; - n143 -> n149 [label="'>'"]; - n143 -> n153 [label="'\\'"]; - n143 -> n74 [label="'{'"]; - n143 -> n107 [label="'}'"]; - n144 -> n126 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n144 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n144 -> n32 [label="'\"' ''' '='"]; - n144 -> n134 [label="'>'"]; - n144 -> n107 [label="'{' '}'"]; - n145 -> n127 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n145 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n145 -> n38 [label="'\"' ''' '='"]; - n145 -> n139 [label="'>'"]; - n145 -> n143 [label="'{'"]; - n145 -> n94 [label="'}'"]; - n146 -> n130 [label="not U+9-U+D U+20 '\"' '/' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n146 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n146 -> n46 [label="'\"'"]; - n146 -> n147 [label="'/'"]; - n146 -> n53 [label="'='"]; - n146 -> n149 [label="'>'"]; - n146 -> n150 [label="'\\'"]; - n146 -> n52 [label="'{'"]; - n146 -> n96 [label="'}'"]; - n147 -> n53 [label="not '\"' '>' '\\' '{' '}'"]; - n147 -> n81 [label="'\"'"]; - n147 -> n149 [label="'>'"]; - n147 -> n82 [label="'\\'"]; - n147 -> n13 [label="'{'"]; - n147 -> n22 [label="'}'"]; - n148 -> n143 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n148 -> n53 [label="U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n148 -> n154 [label="'\"'"]; - n148 -> n153 [label="'\\'"]; - n148 -> n74 [label="'{'"]; - n148 -> n107 [label="'}'"]; - n149 -> n53 [label="not '\"' '\\' '{' '}'"]; - n149 -> n81 [label="'\"'"]; - n149 -> n82 [label="'\\'"]; - n149 -> n13 [label="'{'"]; - n149 -> n22 [label="'}'"]; - n150 -> n130 [label="not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n150 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n150 -> n147 [label="'/'"]; - n150 -> n148 [label="'='"]; - n150 -> n149 [label="'>'"]; - n150 -> n28 [label="'{'"]; - n150 -> n96 [label="'}'"]; - n151 -> n32 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n151 -> n131 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n151 -> n54 [label="'\"'"]; - n151 -> n132 [label="'/'"]; - n151 -> n134 [label="'>'"]; - n151 -> n55 [label="'\\'"]; - n151 -> n16 [label="'{'"]; - n151 -> n22 [label="'}'"]; - n152 -> n38 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n152 -> n136 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n152 -> n58 [label="'\"'"]; - n152 -> n137 [label="'/'"]; - n152 -> n139 [label="'>'"]; - n152 -> n59 [label="'\\'"]; - n152 -> n32 [label="'{'"]; - n152 -> n16 [label="'}'"]; - n153 -> n143 [label="not U+9-U+D U+20 '\"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n153 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n153 -> n53 [label="'\"' ''' '='"]; - n153 -> n149 [label="'>'"]; - n153 -> n66 [label="'{'"]; - n153 -> n107 [label="'}'"]; - n154 -> n53 [label="not U+9-U+D U+20 '\"' '/' '>' '\\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n154 -> n146 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n154 -> n81 [label="'\"'"]; - n154 -> n147 [label="'/'"]; - n154 -> n149 [label="'>'"]; - n154 -> n82 [label="'\\'"]; - n154 -> n13 [label="'{'"]; - n154 -> n22 [label="'}'"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=doublecircle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=circle]; - n21 [label="21", shape=circle]; - n22 [label="22", shape=circle]; - n23 [label="23", shape=circle]; - n24 [label="24", shape=circle]; - n25 [label="25", shape=circle]; - n26 [label="26", shape=circle]; - n27 [label="27", shape=circle]; - n28 [label="28", shape=circle]; - n29 [label="29", shape=circle]; - n30 [label="30", shape=circle]; - n31 [label="31", shape=circle]; - n32 [label="32", shape=circle]; - n33 [label="33", shape=circle]; - n34 [label="34", shape=circle]; - n35 [label="35", shape=circle]; - n36 [label="36", shape=circle]; - n37 [label="37", shape=circle]; - n38 [label="38", shape=circle]; - n39 [label="39", shape=circle]; - n40 [label="40", shape=circle]; - n41 [label="41", shape=circle]; - n42 [label="42", shape=circle]; - n43 [label="43", shape=circle]; - n44 [label="44", shape=circle]; - n45 [label="45", shape=circle]; - n46 [label="46", shape=circle]; - n47 [label="47", shape=circle]; - n48 [label="48", shape=circle]; - n49 [label="49", shape=circle]; - n50 [label="50", shape=circle]; - n51 [label="51", shape=circle]; - n52 [label="52", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="'<'"]; - n1 -> n2 [label="'/'", taillabel="1"]; - n1 -> n3 [label="", taillabel="2"]; - n2 -> n3 [label=""]; - n3 -> n4 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n4 -> n5 [label="", taillabel="1"]; - n4 -> n6 [label="", taillabel="2"]; - n5 -> n7 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n6 -> n8 [label="", taillabel="1"]; - n6 -> n9 [label="", taillabel="2"]; - n7 -> n5 [label="", taillabel="1"]; - n7 -> n6 [label="", taillabel="2"]; - n8 -> n10 [label=""]; - n9 -> n11 [label="", taillabel="1"]; - n9 -> n12 [label="", taillabel="2"]; - n10 -> n13 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n11 -> n14 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n12 -> n15 [label="'/'", taillabel="1"]; - n12 -> n16 [label="", taillabel="2"]; - n13 -> n10 [label="", taillabel="1"]; - n13 -> n17 [label="", taillabel="2"]; - n14 -> n11 [label="", taillabel="1"]; - n14 -> n12 [label="", taillabel="2"]; - n15 -> n16 [label=""]; - n16 -> n18 [label="'>'"]; - n17 -> n19 [label=""]; - n19 -> n20 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n20 -> n19 [label="", taillabel="1"]; - n20 -> n21 [label="", taillabel="2"]; - n21 -> n22 [label="'='", taillabel="1"]; - n21 -> n23 [label="", taillabel="2"]; - n22 -> n24 [label="'\"'", taillabel="1"]; - n22 -> n25 [label="", taillabel="2"]; - n23 -> n8 [label="", taillabel="1"]; - n23 -> n9 [label="", taillabel="2"]; - n24 -> n26 [label="", taillabel="1"]; - n24 -> n27 [label="", taillabel="2"]; - n25 -> n28 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n26 -> n29 [label="'\\'", taillabel="1"]; - n26 -> n30 [label="'{'", taillabel="2"]; - n26 -> n31 [label="not '\"' '\\'", taillabel="3"]; - n27 -> n32 [label="'\"'"]; - n28 -> n25 [label="", taillabel="1"]; - n28 -> n33 [label="", taillabel="2"]; - n29 -> n34 [label=all]; - n30 -> n35 [label=""]; - n31 -> n36 [label=""]; - n32 -> n37 [label=""]; - n33 -> n37 [label=""]; - n34 -> n36 [label=""]; - n35 -> n38 [label="'{'", taillabel="1"]; - n35 -> n39 [label="not '{' '}'", taillabel="2"]; - n36 -> n26 [label="", taillabel="1"]; - n36 -> n27 [label="", taillabel="2"]; - n37 -> n23 [label=""]; - n38 -> n40 [label="", taillabel="1"]; - n38 -> n41 [label="", taillabel="2"]; - n39 -> n42 [label=""]; - n40 -> n43 [label="'{'", taillabel="1"]; - n40 -> n44 [label="not '{' '}'", taillabel="2"]; - n41 -> n45 [label="'}'"]; - n42 -> n35 [label="", taillabel="1"]; - n42 -> n46 [label="", taillabel="2"]; - n43 -> n47 [label="", taillabel="1"]; - n43 -> n48 [label="", taillabel="2"]; - n44 -> n49 [label=""]; - n45 -> n42 [label=""]; - n46 -> n50 [label="'}'"]; - n47 -> n51 [label="not '{' '}'"]; - n48 -> n52 [label="'}'"]; - n49 -> n40 [label="", taillabel="1"]; - n49 -> n41 [label="", taillabel="2"]; - n50 -> n36 [label=""]; - n51 -> n47 [label="", taillabel="1"]; - n51 -> n48 [label="", taillabel="2"]; - n52 -> n49 [label=""]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=doublecircle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=circle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=circle]; - n21 [label="21", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="'<'"]; - n1 -> n2 [label="'/'"]; - n1 -> n3 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n2 -> n3 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n3 -> n4 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n3 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n3 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n3 -> n7 [label="'/'"]; - n3 -> n8 [label="'>'"]; - n4 -> n4 [label="U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"]; - n4 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n4 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n4 -> n7 [label="'/'"]; - n4 -> n8 [label="'>'"]; - n5 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n5 -> n9 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n6 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n6 -> n7 [label="'/'"]; - n6 -> n8 [label="'>'"]; - n7 -> n8 [label="'>'"]; - n9 -> n9 [label="not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n9 -> n10 [label="'='"]; - n9 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n9 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n9 -> n7 [label="'/'"]; - n9 -> n8 [label="'>'"]; - n10 -> n11 [label="'\"'"]; - n10 -> n12 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n11 -> n13 [label="'\\'"]; - n11 -> n14 [label="'{'"]; - n11 -> n15 [label="not '\"' '\\'"]; - n11 -> n16 [label="'\"'"]; - n12 -> n12 [label="not U+9-U+D U+20 '\"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n12 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n12 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n12 -> n7 [label="'/'"]; - n12 -> n8 [label="'>'"]; - n13 -> n15 [label=all]; - n14 -> n17 [label="'{'"]; - n14 -> n18 [label="not '{' '}'"]; - n15 -> n13 [label="'\\'"]; - n15 -> n14 [label="'{'"]; - n15 -> n15 [label="not '\"' '\\'"]; - n15 -> n16 [label="'\"'"]; - n16 -> n5 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n16 -> n6 [label="U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"]; - n16 -> n7 [label="'/'"]; - n16 -> n8 [label="'>'"]; - n17 -> n19 [label="'{'"]; - n17 -> n20 [label="not '{' '}'"]; - n17 -> n18 [label="'}'"]; - n18 -> n17 [label="'{'"]; - n18 -> n18 [label="not '{' '}'"]; - n18 -> n15 [label="'}'"]; - n19 -> n21 [label="not '{' '}'"]; - n19 -> n20 [label="'}'"]; - n20 -> n19 [label="'{'"]; - n20 -> n20 [label="not '{' '}'"]; - n20 -> n18 [label="'}'"]; - n21 -> n21 [label="not '{' '}'"]; - n21 -> n20 [label="'}'"]; -} -`; - -module.exports[n`toDot >> from regexes >> DFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=doublecircle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=circle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=doublecircle]; - n21 [label="21", shape=circle]; - n22 [label="22", shape=circle]; - n23 [label="23", shape=circle]; - n24 [label="24", shape=circle]; - n25 [label="25", shape=circle]; - n26 [label="26", shape=circle]; - n27 [label="27", shape=circle]; - n28 [label="28", shape=circle]; - n29 [label="29", shape=circle]; - n30 [label="30", shape=circle]; - n31 [label="31", shape=circle]; - n32 [label="32", shape=circle]; - n33 [label="33", shape=circle]; - n34 [label="34", shape=circle]; - n35 [label="35", shape=circle]; - n36 [label="36", shape=doublecircle]; - n37 [label="37", shape=circle]; - n38 [label="38", shape=circle]; - n39 [label="39", shape=circle]; - n40 [label="40", shape=circle]; - n41 [label="41", shape=circle]; - n42 [label="42", shape=circle]; - n43 [label="43", shape=circle]; - n44 [label="44", shape=circle]; - n45 [label="45", shape=doublecircle]; - n46 [label="46", shape=circle]; - n47 [label="47", shape=circle]; - n48 [label="48", shape=circle]; - n49 [label="49", shape=circle]; - n50 [label="50", shape=doublecircle]; - n51 [label="51", shape=circle]; - n52 [label="52", shape=circle]; - n53 [label="53", shape=circle]; - n54 [label="54", shape=circle]; - n55 [label="55", shape=circle]; - n56 [label="56", shape=circle]; - n57 [label="57", shape=circle]; - n58 [label="58", shape=circle]; - n59 [label="59", shape=circle]; - n60 [label="60", shape=circle]; - n61 [label="61", shape=circle]; - n62 [label="62", shape=circle]; - n63 [label="63", shape=doublecircle]; - n64 [label="64", shape=circle]; - n65 [label="65", shape=circle]; - n66 [label="66", shape=circle]; - n67 [label="67", shape=circle]; - n68 [label="68", shape=circle]; - n69 [label="69", shape=circle]; - n70 [label="70", shape=circle]; - n71 [label="71", shape=doublecircle]; - n72 [label="72", shape=circle]; - n73 [label="73", shape=circle]; - n74 [label="74", shape=circle]; - n75 [label="75", shape=circle]; - n76 [label="76", shape=circle]; - n77 [label="77", shape=circle]; - n78 [label="78", shape=doublecircle]; - n79 [label="79", shape=circle]; - n80 [label="80", shape=circle]; - n81 [label="81", shape=circle]; - n82 [label="82", shape=circle]; - n83 [label="83", shape=circle]; - n84 [label="84", shape=circle]; - n85 [label="85", shape=circle]; - n86 [label="86", shape=doublecircle]; - n87 [label="87", shape=circle]; - n88 [label="88", shape=circle]; - n89 [label="89", shape=circle]; - n90 [label="90", shape=circle]; - n91 [label="91", shape=doublecircle]; - n92 [label="92", shape=circle]; - n93 [label="93", shape=circle]; - n94 [label="94", shape=circle]; - n95 [label="95", shape=circle]; - n96 [label="96", shape=circle]; - n97 [label="97", shape=circle]; - n98 [label="98", shape=circle]; - n99 [label="99", shape=circle]; - n100 [label="100", shape=doublecircle]; - n101 [label="101", shape=circle]; - n102 [label="102", shape=circle]; - n103 [label="103", shape=circle]; - n104 [label="104", shape=circle]; - n105 [label="105", shape=circle]; - n106 [label="106", shape=circle]; - n107 [label="107", shape=circle]; - n108 [label="108", shape=circle]; - n109 [label="109", shape=circle]; - n110 [label="110", shape=circle]; - n111 [label="111", shape=circle]; - n112 [label="112", shape=circle]; - n113 [label="113", shape=doublecircle]; - n114 [label="114", shape=circle]; - n115 [label="115", shape=circle]; - n116 [label="116", shape=circle]; - n117 [label="117", shape=circle]; - n118 [label="118", shape=circle]; - n119 [label="119", shape=circle]; - n120 [label="120", shape=circle]; - n121 [label="121", shape=doublecircle]; - n122 [label="122", shape=circle]; - n123 [label="123", shape=circle]; - n124 [label="124", shape=circle]; - n125 [label="125", shape=circle]; - n126 [label="126", shape=circle]; - n127 [label="127", shape=circle]; - n128 [label="128", shape=circle]; - n129 [label="129", shape=circle]; - n130 [label="130", shape=circle]; - n131 [label="131", shape=circle]; - n132 [label="132", shape=circle]; - n133 [label="133", shape=circle]; - n134 [label="134", shape=doublecircle]; - n135 [label="135", shape=circle]; - n136 [label="136", shape=circle]; - n137 [label="137", shape=circle]; - n138 [label="138", shape=circle]; - n139 [label="139", shape=doublecircle]; - n140 [label="140", shape=circle]; - n141 [label="141", shape=circle]; - n142 [label="142", shape=circle]; - n143 [label="143", shape=circle]; - n144 [label="144", shape=circle]; - n145 [label="145", shape=circle]; - n146 [label="146", shape=circle]; - n147 [label="147", shape=circle]; - n148 [label="148", shape=circle]; - n149 [label="149", shape=doublecircle]; - n150 [label="150", shape=circle]; - n151 [label="151", shape=circle]; - n152 [label="152", shape=circle]; - n153 [label="153", shape=circle]; - n154 [label="154", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="<"]; - n1 -> n2 [label="[^\\s\\d$%/<=>]"]; - n1 -> n3 [label="\\/"]; - n2 -> n2 [label="[^\\s$%/<=>]"]; - n2 -> n4 [label="\\s"]; - n2 -> n5 [label="\\/"]; - n2 -> n6 [label=">"]; - n3 -> n2 [label="[^\\s\\d$%/<=>]"]; - n4 -> n7 [label="[^\\s/=>]"]; - n4 -> n4 [label="\\s"]; - n4 -> n5 [label="\\/"]; - n4 -> n6 [label=">"]; - n5 -> n6 [label=">"]; - n7 -> n7 [label="[^\\s/=>]"]; - n7 -> n4 [label="\\s"]; - n7 -> n5 [label="\\/"]; - n7 -> n8 [label="="]; - n7 -> n6 [label=">"]; - n8 -> n9 [label="[^\\s\"'=>]"]; - n8 -> n10 [label="\""]; - n9 -> n9 [label="[^\\s\"'=>]"]; - n9 -> n4 [label="\\s"]; - n9 -> n6 [label=">"]; - n10 -> n10 [label="[^\"\\\\{]"]; - n10 -> n11 [label="\""]; - n10 -> n12 [label="\\\\ "]; - n10 -> n13 [label="\\{"]; - n11 -> n4 [label="\\s"]; - n11 -> n5 [label="\\/"]; - n11 -> n6 [label=">"]; - n12 -> n10 [label="[^]"]; - n13 -> n13 [label="[^\"\\\\{}]"]; - n13 -> n14 [label="\""]; - n13 -> n15 [label="\\\\ "]; - n13 -> n16 [label="\\{"]; - n13 -> n10 [label="\\}"]; - n14 -> n17 [label="[^\\s/>{}]"]; - n14 -> n18 [label="\\s"]; - n14 -> n19 [label="\\/"]; - n14 -> n20 [label=">"]; - n14 -> n21 [label="\\{"]; - n14 -> n10 [label="\\}"]; - n15 -> n13 [label="[^{}]"]; - n15 -> n22 [label="\\{"]; - n15 -> n10 [label="\\}"]; - n16 -> n16 [label="[^\"\\\\{}]"]; - n16 -> n23 [label="\""]; - n16 -> n24 [label="\\\\ "]; - n16 -> n25 [label="\\{"]; - n16 -> n13 [label="\\}"]; - n17 -> n17 [label="[^{}]"]; - n17 -> n21 [label="\\{"]; - n17 -> n10 [label="\\}"]; - n18 -> n26 [label="[^\\s/=>{}]"]; - n18 -> n18 [label="\\s"]; - n18 -> n19 [label="\\/"]; - n18 -> n17 [label="="]; - n18 -> n20 [label=">"]; - n18 -> n27 [label="\\{"]; - n18 -> n28 [label="\\}"]; - n19 -> n17 [label="[^>{}]"]; - n19 -> n20 [label=">"]; - n19 -> n21 [label="\\{"]; - n19 -> n10 [label="\\}"]; - n20 -> n17 [label="[^{}]"]; - n20 -> n21 [label="\\{"]; - n20 -> n10 [label="\\}"]; - n21 -> n21 [label="[^{}]"]; - n21 -> n29 [label="\\{"]; - n21 -> n17 [label="\\}"]; - n22 -> n22 [label="[^\"\\\\{}]"]; - n22 -> n30 [label="\""]; - n22 -> n31 [label="\\\\ "]; - n22 -> n32 [label="\\{"]; - n22 -> n13 [label="\\}"]; - n23 -> n33 [label="[^\\s/>{}]"]; - n23 -> n34 [label="\\s"]; - n23 -> n35 [label="\\/"]; - n23 -> n36 [label=">"]; - n23 -> n37 [label="\\{"]; - n23 -> n13 [label="\\}"]; - n24 -> n16 [label="[^{}]"]; - n24 -> n38 [label="\\{"]; - n24 -> n13 [label="\\}"]; - n25 -> n25 [label="[^\"\\\\}]"]; - n25 -> n39 [label="\""]; - n25 -> n40 [label="\\\\ "]; - n25 -> n16 [label="\\}"]; - n26 -> n26 [label="[^\\s/=>{}]"]; - n26 -> n18 [label="\\s"]; - n26 -> n19 [label="\\/"]; - n26 -> n41 [label="="]; - n26 -> n20 [label=">"]; - n26 -> n27 [label="\\{"]; - n26 -> n28 [label="\\}"]; - n27 -> n27 [label="[^\\s/=>{}]"]; - n27 -> n42 [label="\\s"]; - n27 -> n43 [label="\\/"]; - n27 -> n44 [label="="]; - n27 -> n45 [label=">"]; - n27 -> n46 [label="\\{"]; - n27 -> n26 [label="\\}"]; - n28 -> n28 [label="[^\\s\"/=>\\\\{]"]; - n28 -> n47 [label="\\s"]; - n28 -> n7 [label="\""]; - n28 -> n48 [label="\\/"]; - n28 -> n49 [label="="]; - n28 -> n50 [label=">"]; - n28 -> n51 [label="\\\\ "]; - n28 -> n52 [label="\\{"]; - n29 -> n29 [label="[^{}]"]; - n29 -> n21 [label="\\}"]; - n30 -> n21 [label="[^\\s/>{}]"]; - n30 -> n42 [label="\\s"]; - n30 -> n43 [label="\\/"]; - n30 -> n45 [label=">"]; - n30 -> n29 [label="\\{"]; - n30 -> n17 [label="\\}"]; - n31 -> n22 [label="[^{}]"]; - n31 -> n53 [label="\\{"]; - n31 -> n13 [label="\\}"]; - n32 -> n32 [label="[^\"\\\\{}]"]; - n32 -> n54 [label="\""]; - n32 -> n55 [label="\\\\ "]; - n32 -> n16 [label="\\{"]; - n32 -> n22 [label="\\}"]; - n33 -> n33 [label="[^{}]"]; - n33 -> n37 [label="\\{"]; - n33 -> n13 [label="\\}"]; - n34 -> n56 [label="[^\\s/=>{}]"]; - n34 -> n34 [label="\\s"]; - n34 -> n35 [label="\\/"]; - n34 -> n33 [label="="]; - n34 -> n36 [label=">"]; - n34 -> n57 [label="\\{"]; - n34 -> n52 [label="\\}"]; - n35 -> n33 [label="[^>{}]"]; - n35 -> n36 [label=">"]; - n35 -> n37 [label="\\{"]; - n35 -> n13 [label="\\}"]; - n36 -> n33 [label="[^{}]"]; - n36 -> n37 [label="\\{"]; - n36 -> n13 [label="\\}"]; - n37 -> n37 [label="[^{}]"]; - n37 -> n29 [label="\\{"]; - n37 -> n33 [label="\\}"]; - n38 -> n38 [label="[^\"\\\\{}]"]; - n38 -> n58 [label="\""]; - n38 -> n59 [label="\\\\ "]; - n38 -> n32 [label="\\{"]; - n38 -> n16 [label="\\}"]; - n39 -> n60 [label="[^\\s/>{}]"]; - n39 -> n61 [label="\\s"]; - n39 -> n62 [label="\\/"]; - n39 -> n63 [label=">"]; - n39 -> n37 [label="\\{"]; - n39 -> n16 [label="\\}"]; - n40 -> n25 [label="[^{}]"]; - n40 -> n38 [label="\\{"]; - n40 -> n16 [label="\\}"]; - n41 -> n64 [label="[^\\s\"'=>{}]"]; - n41 -> n17 [label="[\\s'=>]"]; - n41 -> n13 [label="\""]; - n41 -> n65 [label="\\{"]; - n41 -> n66 [label="\\}"]; - n42 -> n27 [label="[^\\s/=>{}]"]; - n42 -> n42 [label="\\s"]; - n42 -> n43 [label="\\/"]; - n42 -> n21 [label="="]; - n42 -> n45 [label=">"]; - n42 -> n46 [label="\\{"]; - n42 -> n26 [label="\\}"]; - n43 -> n21 [label="[^>{}]"]; - n43 -> n45 [label=">"]; - n43 -> n29 [label="\\{"]; - n43 -> n17 [label="\\}"]; - n44 -> n65 [label="[^\\s\"'=>{}]"]; - n44 -> n21 [label="[\\s'=>]"]; - n44 -> n22 [label="\""]; - n44 -> n67 [label="\\{"]; - n44 -> n64 [label="\\}"]; - n45 -> n21 [label="[^{}]"]; - n45 -> n29 [label="\\{"]; - n45 -> n17 [label="\\}"]; - n46 -> n46 [label="[^\\s/=>{}]"]; - n46 -> n68 [label="\\s"]; - n46 -> n69 [label="\\/"]; - n46 -> n70 [label="="]; - n46 -> n71 [label=">"]; - n46 -> n7 [label="\\{"]; - n46 -> n27 [label="\\}"]; - n47 -> n28 [label="[^\\s\"/=>\\\\{]"]; - n47 -> n47 [label="\\s"]; - n47 -> n7 [label="\""]; - n47 -> n48 [label="\\/"]; - n47 -> n10 [label="="]; - n47 -> n50 [label=">"]; - n47 -> n51 [label="\\\\ "]; - n47 -> n52 [label="\\{"]; - n48 -> n10 [label="[^\">\\\\{]"]; - n48 -> n11 [label="\""]; - n48 -> n50 [label=">"]; - n48 -> n12 [label="\\\\ "]; - n48 -> n13 [label="\\{"]; - n49 -> n66 [label="[^\\s\"'=>\\\\{]"]; - n49 -> n10 [label="[\\s'=>]"]; - n49 -> n72 [label="\""]; - n49 -> n73 [label="\\\\ "]; - n49 -> n74 [label="\\{"]; - n50 -> n10 [label="[^\"\\\\{]"]; - n50 -> n11 [label="\""]; - n50 -> n12 [label="\\\\ "]; - n50 -> n13 [label="\\{"]; - n51 -> n28 [label="[^\\s/=>]"]; - n51 -> n47 [label="\\s"]; - n51 -> n48 [label="\\/"]; - n51 -> n49 [label="="]; - n51 -> n50 [label=">"]; - n52 -> n52 [label="[^\\s\"/=>\\\\{}]"]; - n52 -> n75 [label="\\s"]; - n52 -> n26 [label="\""]; - n52 -> n76 [label="\\/"]; - n52 -> n77 [label="="]; - n52 -> n78 [label=">"]; - n52 -> n79 [label="\\\\ "]; - n52 -> n80 [label="\\{"]; - n52 -> n28 [label="\\}"]; - n53 -> n53 [label="[^\"\\\\{}]"]; - n53 -> n81 [label="\""]; - n53 -> n82 [label="\\\\ "]; - n53 -> n13 [label="\\{"]; - n53 -> n22 [label="\\}"]; - n54 -> n83 [label="[^\\s/>{}]"]; - n54 -> n84 [label="\\s"]; - n54 -> n85 [label="\\/"]; - n54 -> n86 [label=">"]; - n54 -> n21 [label="\\{"]; - n54 -> n22 [label="\\}"]; - n55 -> n32 [label="[^{}]"]; - n55 -> n22 [label="[{}]"]; - n56 -> n56 [label="[^\\s/=>{}]"]; - n56 -> n34 [label="\\s"]; - n56 -> n35 [label="\\/"]; - n56 -> n87 [label="="]; - n56 -> n36 [label=">"]; - n56 -> n57 [label="\\{"]; - n56 -> n52 [label="\\}"]; - n57 -> n57 [label="[^\\s/=>{}]"]; - n57 -> n88 [label="\\s"]; - n57 -> n89 [label="\\/"]; - n57 -> n90 [label="="]; - n57 -> n91 [label=">"]; - n57 -> n46 [label="\\{"]; - n57 -> n56 [label="\\}"]; - n58 -> n37 [label="[^\\s/>{}]"]; - n58 -> n88 [label="\\s"]; - n58 -> n89 [label="\\/"]; - n58 -> n91 [label=">"]; - n58 -> n29 [label="\\{"]; - n58 -> n33 [label="\\}"]; - n59 -> n38 [label="[^{}]"]; - n59 -> n53 [label="\\{"]; - n59 -> n16 [label="\\}"]; - n60 -> n60 [label="[^{}]"]; - n60 -> n37 [label="\\{"]; - n60 -> n16 [label="\\}"]; - n61 -> n92 [label="[^\\s/=>{}]"]; - n61 -> n61 [label="\\s"]; - n61 -> n62 [label="\\/"]; - n61 -> n60 [label="="]; - n61 -> n63 [label=">"]; - n61 -> n57 [label="\\{"]; - n61 -> n80 [label="\\}"]; - n62 -> n60 [label="[^>{}]"]; - n62 -> n63 [label=">"]; - n62 -> n37 [label="\\{"]; - n62 -> n16 [label="\\}"]; - n63 -> n60 [label="[^{}]"]; - n63 -> n37 [label="\\{"]; - n63 -> n16 [label="\\}"]; - n64 -> n64 [label="[^\\s\"'=>{}]"]; - n64 -> n18 [label="\\s"]; - n64 -> n17 [label="[\"'=]"]; - n64 -> n20 [label=">"]; - n64 -> n65 [label="\\{"]; - n64 -> n66 [label="\\}"]; - n65 -> n65 [label="[^\\s\"'=>{}]"]; - n65 -> n42 [label="\\s"]; - n65 -> n21 [label="[\"'=]"]; - n65 -> n45 [label=">"]; - n65 -> n67 [label="\\{"]; - n65 -> n64 [label="\\}"]; - n66 -> n66 [label="[^\\s\"'=>\\\\{]"]; - n66 -> n47 [label="\\s"]; - n66 -> n11 [label="\""]; - n66 -> n10 [label="['=]"]; - n66 -> n50 [label=">"]; - n66 -> n73 [label="\\\\ "]; - n66 -> n74 [label="\\{"]; - n67 -> n67 [label="[^\\s\"'=>{}]"]; - n67 -> n68 [label="\\s"]; - n67 -> n29 [label="[\"'=]"]; - n67 -> n71 [label=">"]; - n67 -> n9 [label="\\{"]; - n67 -> n65 [label="\\}"]; - n68 -> n46 [label="[^\\s/=>{}]"]; - n68 -> n68 [label="\\s"]; - n68 -> n69 [label="\\/"]; - n68 -> n29 [label="="]; - n68 -> n71 [label=">"]; - n68 -> n7 [label="\\{"]; - n68 -> n27 [label="\\}"]; - n69 -> n29 [label="[^>{}]"]; - n69 -> n71 [label=">"]; - n69 -> n21 [label="\\}"]; - n70 -> n67 [label="[^\\s\"'=>{}]"]; - n70 -> n29 [label="[\\s'=>]"]; - n70 -> n53 [label="\""]; - n70 -> n9 [label="\\{"]; - n70 -> n65 [label="\\}"]; - n71 -> n29 [label="[^{}]"]; - n71 -> n21 [label="\\}"]; - n72 -> n10 [label="[^\\s\"/>\\\\{]"]; - n72 -> n47 [label="\\s"]; - n72 -> n11 [label="\""]; - n72 -> n48 [label="\\/"]; - n72 -> n50 [label=">"]; - n72 -> n12 [label="\\\\ "]; - n72 -> n13 [label="\\{"]; - n73 -> n66 [label="[^\\s\"'=>]"]; - n73 -> n47 [label="\\s"]; - n73 -> n10 [label="[\"'=]"]; - n73 -> n50 [label=">"]; - n74 -> n74 [label="[^\\s\"'=>\\\\{}]"]; - n74 -> n75 [label="\\s"]; - n74 -> n14 [label="\""]; - n74 -> n13 [label="['=]"]; - n74 -> n78 [label=">"]; - n74 -> n93 [label="\\\\ "]; - n74 -> n94 [label="\\{"]; - n74 -> n66 [label="\\}"]; - n75 -> n52 [label="[^\\s\"/=>\\\\{}]"]; - n75 -> n75 [label="\\s"]; - n75 -> n26 [label="\""]; - n75 -> n76 [label="\\/"]; - n75 -> n13 [label="="]; - n75 -> n78 [label=">"]; - n75 -> n79 [label="\\\\ "]; - n75 -> n80 [label="\\{"]; - n75 -> n28 [label="\\}"]; - n76 -> n13 [label="[^\">\\\\{}]"]; - n76 -> n14 [label="\""]; - n76 -> n78 [label=">"]; - n76 -> n15 [label="\\\\ "]; - n76 -> n16 [label="\\{"]; - n76 -> n10 [label="\\}"]; - n77 -> n74 [label="[^\\s\"'=>\\\\{}]"]; - n77 -> n13 [label="[\\s'=>]"]; - n77 -> n95 [label="\""]; - n77 -> n93 [label="\\\\ "]; - n77 -> n94 [label="\\{"]; - n77 -> n66 [label="\\}"]; - n78 -> n13 [label="[^\"\\\\{}]"]; - n78 -> n14 [label="\""]; - n78 -> n15 [label="\\\\ "]; - n78 -> n16 [label="\\{"]; - n78 -> n10 [label="\\}"]; - n79 -> n52 [label="[^\\s/=>{}]"]; - n79 -> n75 [label="\\s"]; - n79 -> n76 [label="\\/"]; - n79 -> n77 [label="="]; - n79 -> n78 [label=">"]; - n79 -> n96 [label="\\{"]; - n79 -> n28 [label="\\}"]; - n80 -> n80 [label="[^\\s\"/=>\\\\{}]"]; - n80 -> n97 [label="\\s"]; - n80 -> n56 [label="\""]; - n80 -> n98 [label="\\/"]; - n80 -> n99 [label="="]; - n80 -> n100 [label=">"]; - n80 -> n101 [label="\\\\ "]; - n80 -> n102 [label="\\{"]; - n80 -> n52 [label="\\}"]; - n81 -> n29 [label="[^\\s/>{}]"]; - n81 -> n68 [label="\\s"]; - n81 -> n69 [label="\\/"]; - n81 -> n71 [label=">"]; - n81 -> n21 [label="\\}"]; - n82 -> n53 [label="[^{}]"]; - n82 -> n10 [label="\\{"]; - n82 -> n22 [label="\\}"]; - n83 -> n83 [label="[^{}]"]; - n83 -> n21 [label="\\{"]; - n83 -> n22 [label="\\}"]; - n84 -> n103 [label="[^\\s/=>{}]"]; - n84 -> n84 [label="\\s"]; - n84 -> n85 [label="\\/"]; - n84 -> n83 [label="="]; - n84 -> n86 [label=">"]; - n84 -> n27 [label="\\{"]; - n84 -> n96 [label="\\}"]; - n85 -> n83 [label="[^>{}]"]; - n85 -> n86 [label=">"]; - n85 -> n21 [label="\\{"]; - n85 -> n22 [label="\\}"]; - n86 -> n83 [label="[^{}]"]; - n86 -> n21 [label="\\{"]; - n86 -> n22 [label="\\}"]; - n87 -> n104 [label="[^\\s\"'=>{}]"]; - n87 -> n33 [label="[\\s'=>]"]; - n87 -> n16 [label="\""]; - n87 -> n105 [label="\\{"]; - n87 -> n74 [label="\\}"]; - n88 -> n57 [label="[^\\s/=>{}]"]; - n88 -> n88 [label="\\s"]; - n88 -> n89 [label="\\/"]; - n88 -> n37 [label="="]; - n88 -> n91 [label=">"]; - n88 -> n46 [label="\\{"]; - n88 -> n56 [label="\\}"]; - n89 -> n37 [label="[^>{}]"]; - n89 -> n91 [label=">"]; - n89 -> n29 [label="\\{"]; - n89 -> n33 [label="\\}"]; - n90 -> n105 [label="[^\\s\"'=>{}]"]; - n90 -> n37 [label="[\\s'=>]"]; - n90 -> n38 [label="\""]; - n90 -> n67 [label="\\{"]; - n90 -> n104 [label="\\}"]; - n91 -> n37 [label="[^{}]"]; - n91 -> n29 [label="\\{"]; - n91 -> n33 [label="\\}"]; - n92 -> n92 [label="[^\\s/=>{}]"]; - n92 -> n61 [label="\\s"]; - n92 -> n62 [label="\\/"]; - n92 -> n106 [label="="]; - n92 -> n63 [label=">"]; - n92 -> n57 [label="\\{"]; - n92 -> n80 [label="\\}"]; - n93 -> n74 [label="[^\\s\"'=>{}]"]; - n93 -> n75 [label="\\s"]; - n93 -> n13 [label="[\"'=]"]; - n93 -> n78 [label=">"]; - n93 -> n107 [label="\\{"]; - n93 -> n66 [label="\\}"]; - n94 -> n94 [label="[^\\s\"'=>\\\\{}]"]; - n94 -> n97 [label="\\s"]; - n94 -> n23 [label="\""]; - n94 -> n16 [label="['=]"]; - n94 -> n100 [label=">"]; - n94 -> n108 [label="\\\\ "]; - n94 -> n109 [label="\\{"]; - n94 -> n74 [label="\\}"]; - n95 -> n13 [label="[^\\s\"/>\\\\{}]"]; - n95 -> n75 [label="\\s"]; - n95 -> n14 [label="\""]; - n95 -> n76 [label="\\/"]; - n95 -> n78 [label=">"]; - n95 -> n15 [label="\\\\ "]; - n95 -> n16 [label="\\{"]; - n95 -> n10 [label="\\}"]; - n96 -> n96 [label="[^\\s\"/=>\\\\{}]"]; - n96 -> n110 [label="\\s"]; - n96 -> n27 [label="\""]; - n96 -> n111 [label="\\/"]; - n96 -> n112 [label="="]; - n96 -> n113 [label=">"]; - n96 -> n114 [label="\\\\ "]; - n96 -> n115 [label="\\{"]; - n96 -> n52 [label="\\}"]; - n97 -> n80 [label="[^\\s\"/=>\\\\{}]"]; - n97 -> n97 [label="\\s"]; - n97 -> n56 [label="\""]; - n97 -> n98 [label="\\/"]; - n97 -> n16 [label="="]; - n97 -> n100 [label=">"]; - n97 -> n101 [label="\\\\ "]; - n97 -> n102 [label="\\{"]; - n97 -> n52 [label="\\}"]; - n98 -> n16 [label="[^\">\\\\{}]"]; - n98 -> n23 [label="\""]; - n98 -> n100 [label=">"]; - n98 -> n24 [label="\\\\ "]; - n98 -> n25 [label="\\{"]; - n98 -> n13 [label="\\}"]; - n99 -> n94 [label="[^\\s\"'=>\\\\{}]"]; - n99 -> n16 [label="[\\s'=>]"]; - n99 -> n116 [label="\""]; - n99 -> n108 [label="\\\\ "]; - n99 -> n109 [label="\\{"]; - n99 -> n74 [label="\\}"]; - n100 -> n16 [label="[^\"\\\\{}]"]; - n100 -> n23 [label="\""]; - n100 -> n24 [label="\\\\ "]; - n100 -> n25 [label="\\{"]; - n100 -> n13 [label="\\}"]; - n101 -> n80 [label="[^\\s/=>{}]"]; - n101 -> n97 [label="\\s"]; - n101 -> n98 [label="\\/"]; - n101 -> n99 [label="="]; - n101 -> n100 [label=">"]; - n101 -> n117 [label="\\{"]; - n101 -> n52 [label="\\}"]; - n102 -> n102 [label="[^\\s\"/=>\\\\}]"]; - n102 -> n118 [label="\\s"]; - n102 -> n92 [label="\""]; - n102 -> n119 [label="\\/"]; - n102 -> n120 [label="="]; - n102 -> n121 [label=">"]; - n102 -> n122 [label="\\\\ "]; - n102 -> n80 [label="\\}"]; - n103 -> n103 [label="[^\\s/=>{}]"]; - n103 -> n84 [label="\\s"]; - n103 -> n85 [label="\\/"]; - n103 -> n123 [label="="]; - n103 -> n86 [label=">"]; - n103 -> n27 [label="\\{"]; - n103 -> n96 [label="\\}"]; - n104 -> n104 [label="[^\\s\"'=>{}]"]; - n104 -> n34 [label="\\s"]; - n104 -> n33 [label="[\"'=]"]; - n104 -> n36 [label=">"]; - n104 -> n105 [label="\\{"]; - n104 -> n74 [label="\\}"]; - n105 -> n105 [label="[^\\s\"'=>{}]"]; - n105 -> n88 [label="\\s"]; - n105 -> n37 [label="[\"'=]"]; - n105 -> n91 [label=">"]; - n105 -> n67 [label="\\{"]; - n105 -> n104 [label="\\}"]; - n106 -> n124 [label="[^\\s\"'=>{}]"]; - n106 -> n60 [label="[\\s'=>]"]; - n106 -> n25 [label="\""]; - n106 -> n105 [label="\\{"]; - n106 -> n94 [label="\\}"]; - n107 -> n107 [label="[^\\s\"'=>\\\\{}]"]; - n107 -> n110 [label="\\s"]; - n107 -> n30 [label="\""]; - n107 -> n22 [label="['=]"]; - n107 -> n113 [label=">"]; - n107 -> n125 [label="\\\\ "]; - n107 -> n126 [label="\\{"]; - n107 -> n74 [label="\\}"]; - n108 -> n94 [label="[^\\s\"'=>{}]"]; - n108 -> n97 [label="\\s"]; - n108 -> n16 [label="[\"'=]"]; - n108 -> n100 [label=">"]; - n108 -> n127 [label="\\{"]; - n108 -> n74 [label="\\}"]; - n109 -> n109 [label="[^\\s\"'=>\\\\}]"]; - n109 -> n118 [label="\\s"]; - n109 -> n39 [label="\""]; - n109 -> n25 [label="['=]"]; - n109 -> n121 [label=">"]; - n109 -> n128 [label="\\\\ "]; - n109 -> n94 [label="\\}"]; - n110 -> n96 [label="[^\\s\"/=>\\\\{}]"]; - n110 -> n110 [label="\\s"]; - n110 -> n27 [label="\""]; - n110 -> n111 [label="\\/"]; - n110 -> n22 [label="="]; - n110 -> n113 [label=">"]; - n110 -> n114 [label="\\\\ "]; - n110 -> n115 [label="\\{"]; - n110 -> n52 [label="\\}"]; - n111 -> n22 [label="[^\">\\\\{}]"]; - n111 -> n30 [label="\""]; - n111 -> n113 [label=">"]; - n111 -> n31 [label="\\\\ "]; - n111 -> n32 [label="\\{"]; - n111 -> n13 [label="\\}"]; - n112 -> n107 [label="[^\\s\"'=>\\\\{}]"]; - n112 -> n22 [label="[\\s'=>]"]; - n112 -> n129 [label="\""]; - n112 -> n125 [label="\\\\ "]; - n112 -> n126 [label="\\{"]; - n112 -> n74 [label="\\}"]; - n113 -> n22 [label="[^\"\\\\{}]"]; - n113 -> n30 [label="\""]; - n113 -> n31 [label="\\\\ "]; - n113 -> n32 [label="\\{"]; - n113 -> n13 [label="\\}"]; - n114 -> n96 [label="[^\\s/=>{}]"]; - n114 -> n110 [label="\\s"]; - n114 -> n111 [label="\\/"]; - n114 -> n112 [label="="]; - n114 -> n113 [label=">"]; - n114 -> n130 [label="\\{"]; - n114 -> n52 [label="\\}"]; - n115 -> n115 [label="[^\\s\"/=>\\\\{}]"]; - n115 -> n131 [label="\\s"]; - n115 -> n103 [label="\""]; - n115 -> n132 [label="\\/"]; - n115 -> n133 [label="="]; - n115 -> n134 [label=">"]; - n115 -> n135 [label="\\\\ "]; - n115 -> n80 [label="\\{"]; - n115 -> n96 [label="\\}"]; - n116 -> n16 [label="[^\\s\"/>\\\\{}]"]; - n116 -> n97 [label="\\s"]; - n116 -> n23 [label="\""]; - n116 -> n98 [label="\\/"]; - n116 -> n100 [label=">"]; - n116 -> n24 [label="\\\\ "]; - n116 -> n25 [label="\\{"]; - n116 -> n13 [label="\\}"]; - n117 -> n117 [label="[^\\s\"/=>\\\\{}]"]; - n117 -> n136 [label="\\s"]; - n117 -> n57 [label="\""]; - n117 -> n137 [label="\\/"]; - n117 -> n138 [label="="]; - n117 -> n139 [label=">"]; - n117 -> n140 [label="\\\\ "]; - n117 -> n115 [label="\\{"]; - n117 -> n80 [label="\\}"]; - n118 -> n102 [label="[^\\s\"/=>\\\\}]"]; - n118 -> n118 [label="\\s"]; - n118 -> n92 [label="\""]; - n118 -> n119 [label="\\/"]; - n118 -> n25 [label="="]; - n118 -> n121 [label=">"]; - n118 -> n122 [label="\\\\ "]; - n118 -> n80 [label="\\}"]; - n119 -> n25 [label="[^\">\\\\}]"]; - n119 -> n39 [label="\""]; - n119 -> n121 [label=">"]; - n119 -> n40 [label="\\\\ "]; - n119 -> n16 [label="\\}"]; - n120 -> n109 [label="[^\\s\"'=>\\\\}]"]; - n120 -> n25 [label="[\\s'=>]"]; - n120 -> n141 [label="\""]; - n120 -> n128 [label="\\\\ "]; - n120 -> n94 [label="\\}"]; - n121 -> n25 [label="[^\"\\\\}]"]; - n121 -> n39 [label="\""]; - n121 -> n40 [label="\\\\ "]; - n121 -> n16 [label="\\}"]; - n122 -> n102 [label="[^\\s/=>{}]"]; - n122 -> n118 [label="\\s"]; - n122 -> n119 [label="\\/"]; - n122 -> n120 [label="="]; - n122 -> n121 [label=">"]; - n122 -> n117 [label="\\{"]; - n122 -> n80 [label="\\}"]; - n123 -> n142 [label="[^\\s\"'=>{}]"]; - n123 -> n83 [label="[\\s'=>]"]; - n123 -> n32 [label="\""]; - n123 -> n65 [label="\\{"]; - n123 -> n107 [label="\\}"]; - n124 -> n124 [label="[^\\s\"'=>{}]"]; - n124 -> n61 [label="\\s"]; - n124 -> n60 [label="[\"'=]"]; - n124 -> n63 [label=">"]; - n124 -> n105 [label="\\{"]; - n124 -> n94 [label="\\}"]; - n125 -> n107 [label="[^\\s\"'=>{}]"]; - n125 -> n110 [label="\\s"]; - n125 -> n22 [label="[\"'=]"]; - n125 -> n113 [label=">"]; - n125 -> n143 [label="\\{"]; - n125 -> n74 [label="\\}"]; - n126 -> n126 [label="[^\\s\"'=>\\\\{}]"]; - n126 -> n131 [label="\\s"]; - n126 -> n54 [label="\""]; - n126 -> n32 [label="['=]"]; - n126 -> n134 [label=">"]; - n126 -> n144 [label="\\\\ "]; - n126 -> n94 [label="\\{"]; - n126 -> n107 [label="\\}"]; - n127 -> n127 [label="[^\\s\"'=>\\\\{}]"]; - n127 -> n136 [label="\\s"]; - n127 -> n58 [label="\""]; - n127 -> n38 [label="['=]"]; - n127 -> n139 [label=">"]; - n127 -> n145 [label="\\\\ "]; - n127 -> n126 [label="\\{"]; - n127 -> n94 [label="\\}"]; - n128 -> n109 [label="[^\\s\"'=>{}]"]; - n128 -> n118 [label="\\s"]; - n128 -> n25 [label="[\"'=]"]; - n128 -> n121 [label=">"]; - n128 -> n127 [label="\\{"]; - n128 -> n94 [label="\\}"]; - n129 -> n22 [label="[^\\s\"/>\\\\{}]"]; - n129 -> n110 [label="\\s"]; - n129 -> n30 [label="\""]; - n129 -> n111 [label="\\/"]; - n129 -> n113 [label=">"]; - n129 -> n31 [label="\\\\ "]; - n129 -> n32 [label="\\{"]; - n129 -> n13 [label="\\}"]; - n130 -> n130 [label="[^\\s\"/=>\\\\{}]"]; - n130 -> n146 [label="\\s"]; - n130 -> n46 [label="\""]; - n130 -> n147 [label="\\/"]; - n130 -> n148 [label="="]; - n130 -> n149 [label=">"]; - n130 -> n150 [label="\\\\ "]; - n130 -> n52 [label="\\{"]; - n130 -> n96 [label="\\}"]; - n131 -> n115 [label="[^\\s\"/=>\\\\{}]"]; - n131 -> n131 [label="\\s"]; - n131 -> n103 [label="\""]; - n131 -> n132 [label="\\/"]; - n131 -> n32 [label="="]; - n131 -> n134 [label=">"]; - n131 -> n135 [label="\\\\ "]; - n131 -> n80 [label="\\{"]; - n131 -> n96 [label="\\}"]; - n132 -> n32 [label="[^\">\\\\{}]"]; - n132 -> n54 [label="\""]; - n132 -> n134 [label=">"]; - n132 -> n55 [label="\\\\ "]; - n132 -> n16 [label="\\{"]; - n132 -> n22 [label="\\}"]; - n133 -> n126 [label="[^\\s\"'=>\\\\{}]"]; - n133 -> n32 [label="[\\s'=>]"]; - n133 -> n151 [label="\""]; - n133 -> n144 [label="\\\\ "]; - n133 -> n94 [label="\\{"]; - n133 -> n107 [label="\\}"]; - n134 -> n32 [label="[^\"\\\\{}]"]; - n134 -> n54 [label="\""]; - n134 -> n55 [label="\\\\ "]; - n134 -> n16 [label="\\{"]; - n134 -> n22 [label="\\}"]; - n135 -> n115 [label="[^\\s/=>{}]"]; - n135 -> n131 [label="\\s"]; - n135 -> n132 [label="\\/"]; - n135 -> n133 [label="="]; - n135 -> n134 [label=">"]; - n135 -> n96 [label="[{}]"]; - n136 -> n117 [label="[^\\s\"/=>\\\\{}]"]; - n136 -> n136 [label="\\s"]; - n136 -> n57 [label="\""]; - n136 -> n137 [label="\\/"]; - n136 -> n38 [label="="]; - n136 -> n139 [label=">"]; - n136 -> n140 [label="\\\\ "]; - n136 -> n115 [label="\\{"]; - n136 -> n80 [label="\\}"]; - n137 -> n38 [label="[^\">\\\\{}]"]; - n137 -> n58 [label="\""]; - n137 -> n139 [label=">"]; - n137 -> n59 [label="\\\\ "]; - n137 -> n32 [label="\\{"]; - n137 -> n16 [label="\\}"]; - n138 -> n127 [label="[^\\s\"'=>\\\\{}]"]; - n138 -> n38 [label="[\\s'=>]"]; - n138 -> n152 [label="\""]; - n138 -> n145 [label="\\\\ "]; - n138 -> n126 [label="\\{"]; - n138 -> n94 [label="\\}"]; - n139 -> n38 [label="[^\"\\\\{}]"]; - n139 -> n58 [label="\""]; - n139 -> n59 [label="\\\\ "]; - n139 -> n32 [label="\\{"]; - n139 -> n16 [label="\\}"]; - n140 -> n117 [label="[^\\s/=>{}]"]; - n140 -> n136 [label="\\s"]; - n140 -> n137 [label="\\/"]; - n140 -> n138 [label="="]; - n140 -> n139 [label=">"]; - n140 -> n130 [label="\\{"]; - n140 -> n80 [label="\\}"]; - n141 -> n25 [label="[^\\s\"/>\\\\}]"]; - n141 -> n118 [label="\\s"]; - n141 -> n39 [label="\""]; - n141 -> n119 [label="\\/"]; - n141 -> n121 [label=">"]; - n141 -> n40 [label="\\\\ "]; - n141 -> n16 [label="\\}"]; - n142 -> n142 [label="[^\\s\"'=>{}]"]; - n142 -> n84 [label="\\s"]; - n142 -> n83 [label="[\"'=]"]; - n142 -> n86 [label=">"]; - n142 -> n65 [label="\\{"]; - n142 -> n107 [label="\\}"]; - n143 -> n143 [label="[^\\s\"'=>\\\\{}]"]; - n143 -> n146 [label="\\s"]; - n143 -> n81 [label="\""]; - n143 -> n53 [label="['=]"]; - n143 -> n149 [label=">"]; - n143 -> n153 [label="\\\\ "]; - n143 -> n74 [label="\\{"]; - n143 -> n107 [label="\\}"]; - n144 -> n126 [label="[^\\s\"'=>{}]"]; - n144 -> n131 [label="\\s"]; - n144 -> n32 [label="[\"'=]"]; - n144 -> n134 [label=">"]; - n144 -> n107 [label="[{}]"]; - n145 -> n127 [label="[^\\s\"'=>{}]"]; - n145 -> n136 [label="\\s"]; - n145 -> n38 [label="[\"'=]"]; - n145 -> n139 [label=">"]; - n145 -> n143 [label="\\{"]; - n145 -> n94 [label="\\}"]; - n146 -> n130 [label="[^\\s\"/=>\\\\{}]"]; - n146 -> n146 [label="\\s"]; - n146 -> n46 [label="\""]; - n146 -> n147 [label="\\/"]; - n146 -> n53 [label="="]; - n146 -> n149 [label=">"]; - n146 -> n150 [label="\\\\ "]; - n146 -> n52 [label="\\{"]; - n146 -> n96 [label="\\}"]; - n147 -> n53 [label="[^\">\\\\{}]"]; - n147 -> n81 [label="\""]; - n147 -> n149 [label=">"]; - n147 -> n82 [label="\\\\ "]; - n147 -> n13 [label="\\{"]; - n147 -> n22 [label="\\}"]; - n148 -> n143 [label="[^\\s\"'=>\\\\{}]"]; - n148 -> n53 [label="[\\s'=>]"]; - n148 -> n154 [label="\""]; - n148 -> n153 [label="\\\\ "]; - n148 -> n74 [label="\\{"]; - n148 -> n107 [label="\\}"]; - n149 -> n53 [label="[^\"\\\\{}]"]; - n149 -> n81 [label="\""]; - n149 -> n82 [label="\\\\ "]; - n149 -> n13 [label="\\{"]; - n149 -> n22 [label="\\}"]; - n150 -> n130 [label="[^\\s/=>{}]"]; - n150 -> n146 [label="\\s"]; - n150 -> n147 [label="\\/"]; - n150 -> n148 [label="="]; - n150 -> n149 [label=">"]; - n150 -> n28 [label="\\{"]; - n150 -> n96 [label="\\}"]; - n151 -> n32 [label="[^\\s\"/>\\\\{}]"]; - n151 -> n131 [label="\\s"]; - n151 -> n54 [label="\""]; - n151 -> n132 [label="\\/"]; - n151 -> n134 [label=">"]; - n151 -> n55 [label="\\\\ "]; - n151 -> n16 [label="\\{"]; - n151 -> n22 [label="\\}"]; - n152 -> n38 [label="[^\\s\"/>\\\\{}]"]; - n152 -> n136 [label="\\s"]; - n152 -> n58 [label="\""]; - n152 -> n137 [label="\\/"]; - n152 -> n139 [label=">"]; - n152 -> n59 [label="\\\\ "]; - n152 -> n32 [label="\\{"]; - n152 -> n16 [label="\\}"]; - n153 -> n143 [label="[^\\s\"'=>{}]"]; - n153 -> n146 [label="\\s"]; - n153 -> n53 [label="[\"'=]"]; - n153 -> n149 [label=">"]; - n153 -> n66 [label="\\{"]; - n153 -> n107 [label="\\}"]; - n154 -> n53 [label="[^\\s\"/>\\\\{}]"]; - n154 -> n146 [label="\\s"]; - n154 -> n81 [label="\""]; - n154 -> n147 [label="\\/"]; - n154 -> n149 [label=">"]; - n154 -> n82 [label="\\\\ "]; - n154 -> n13 [label="\\{"]; - n154 -> n22 [label="\\}"]; -} -`; - -module.exports[n`toDot >> from regexes >> ENFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=circle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=doublecircle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=circle]; - n21 [label="21", shape=circle]; - n22 [label="22", shape=circle]; - n23 [label="23", shape=circle]; - n24 [label="24", shape=circle]; - n25 [label="25", shape=circle]; - n26 [label="26", shape=circle]; - n27 [label="27", shape=circle]; - n28 [label="28", shape=circle]; - n29 [label="29", shape=circle]; - n30 [label="30", shape=circle]; - n31 [label="31", shape=circle]; - n32 [label="32", shape=circle]; - n33 [label="33", shape=circle]; - n34 [label="34", shape=circle]; - n35 [label="35", shape=circle]; - n36 [label="36", shape=circle]; - n37 [label="37", shape=circle]; - n38 [label="38", shape=circle]; - n39 [label="39", shape=circle]; - n40 [label="40", shape=circle]; - n41 [label="41", shape=circle]; - n42 [label="42", shape=circle]; - n43 [label="43", shape=circle]; - n44 [label="44", shape=circle]; - n45 [label="45", shape=circle]; - n46 [label="46", shape=circle]; - n47 [label="47", shape=circle]; - n48 [label="48", shape=circle]; - n49 [label="49", shape=circle]; - n50 [label="50", shape=circle]; - n51 [label="51", shape=circle]; - n52 [label="52", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="<"]; - n1 -> n2 [label="\\/", taillabel="1"]; - n1 -> n3 [label="", taillabel="2"]; - n2 -> n3 [label=""]; - n3 -> n4 [label="[^\\s\\d$%/<=>]"]; - n4 -> n5 [label="", taillabel="1"]; - n4 -> n6 [label="", taillabel="2"]; - n5 -> n7 [label="[^\\s$%/<=>]"]; - n6 -> n8 [label="", taillabel="1"]; - n6 -> n9 [label="", taillabel="2"]; - n7 -> n5 [label="", taillabel="1"]; - n7 -> n6 [label="", taillabel="2"]; - n8 -> n10 [label=""]; - n9 -> n11 [label="", taillabel="1"]; - n9 -> n12 [label="", taillabel="2"]; - n10 -> n13 [label="\\s"]; - n11 -> n14 [label="\\s"]; - n12 -> n15 [label="\\/", taillabel="1"]; - n12 -> n16 [label="", taillabel="2"]; - n13 -> n10 [label="", taillabel="1"]; - n13 -> n17 [label="", taillabel="2"]; - n14 -> n11 [label="", taillabel="1"]; - n14 -> n12 [label="", taillabel="2"]; - n15 -> n16 [label=""]; - n16 -> n18 [label=">"]; - n17 -> n19 [label=""]; - n19 -> n20 [label="[^\\s/=>]"]; - n20 -> n19 [label="", taillabel="1"]; - n20 -> n21 [label="", taillabel="2"]; - n21 -> n22 [label="=", taillabel="1"]; - n21 -> n23 [label="", taillabel="2"]; - n22 -> n24 [label="\"", taillabel="1"]; - n22 -> n25 [label="", taillabel="2"]; - n23 -> n8 [label="", taillabel="1"]; - n23 -> n9 [label="", taillabel="2"]; - n24 -> n26 [label="", taillabel="1"]; - n24 -> n27 [label="", taillabel="2"]; - n25 -> n28 [label="[^\\s\"'=>]"]; - n26 -> n29 [label="\\\\ ", taillabel="1"]; - n26 -> n30 [label="\\{", taillabel="2"]; - n26 -> n31 [label="[^\"\\\\]", taillabel="3"]; - n27 -> n32 [label="\""]; - n28 -> n25 [label="", taillabel="1"]; - n28 -> n33 [label="", taillabel="2"]; - n29 -> n34 [label="[^]"]; - n30 -> n35 [label=""]; - n31 -> n36 [label=""]; - n32 -> n37 [label=""]; - n33 -> n37 [label=""]; - n34 -> n36 [label=""]; - n35 -> n38 [label="\\{", taillabel="1"]; - n35 -> n39 [label="[^{}]", taillabel="2"]; - n36 -> n26 [label="", taillabel="1"]; - n36 -> n27 [label="", taillabel="2"]; - n37 -> n23 [label=""]; - n38 -> n40 [label="", taillabel="1"]; - n38 -> n41 [label="", taillabel="2"]; - n39 -> n42 [label=""]; - n40 -> n43 [label="\\{", taillabel="1"]; - n40 -> n44 [label="[^{}]", taillabel="2"]; - n41 -> n45 [label="\\}"]; - n42 -> n35 [label="", taillabel="1"]; - n42 -> n46 [label="", taillabel="2"]; - n43 -> n47 [label="", taillabel="1"]; - n43 -> n48 [label="", taillabel="2"]; - n44 -> n49 [label=""]; - n45 -> n42 [label=""]; - n46 -> n50 [label="\\}"]; - n47 -> n51 [label="[^{}]"]; - n48 -> n52 [label="\\}"]; - n49 -> n40 [label="", taillabel="1"]; - n49 -> n41 [label="", taillabel="2"]; - n50 -> n36 [label=""]; - n51 -> n47 [label="", taillabel="1"]; - n51 -> n48 [label="", taillabel="2"]; - n52 -> n49 [label=""]; -} -`; - -module.exports[n`toDot >> from regexes >> NFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -digraph { - // graph attributes - rankdir=LR; - - // nodes - null [shape=point]; - n0 [label="0", shape=circle]; - n1 [label="1", shape=circle]; - n2 [label="2", shape=circle]; - n3 [label="3", shape=circle]; - n4 [label="4", shape=circle]; - n5 [label="5", shape=circle]; - n6 [label="6", shape=circle]; - n7 [label="7", shape=circle]; - n8 [label="8", shape=doublecircle]; - n9 [label="9", shape=circle]; - n10 [label="10", shape=circle]; - n11 [label="11", shape=circle]; - n12 [label="12", shape=circle]; - n13 [label="13", shape=circle]; - n14 [label="14", shape=circle]; - n15 [label="15", shape=circle]; - n16 [label="16", shape=circle]; - n17 [label="17", shape=circle]; - n18 [label="18", shape=circle]; - n19 [label="19", shape=circle]; - n20 [label="20", shape=circle]; - n21 [label="21", shape=circle]; - - // edges - null -> n0; - n0 -> n1 [label="<"]; - n1 -> n2 [label="\\/"]; - n1 -> n3 [label="[^\\s\\d$%/<=>]"]; - n2 -> n3 [label="[^\\s\\d$%/<=>]"]; - n3 -> n4 [label="[^\\s$%/<=>]"]; - n3 -> n5 [label="\\s"]; - n3 -> n6 [label="\\s"]; - n3 -> n7 [label="\\/"]; - n3 -> n8 [label=">"]; - n4 -> n4 [label="[^\\s$%/<=>]"]; - n4 -> n5 [label="\\s"]; - n4 -> n6 [label="\\s"]; - n4 -> n7 [label="\\/"]; - n4 -> n8 [label=">"]; - n5 -> n5 [label="\\s"]; - n5 -> n9 [label="[^\\s/=>]"]; - n6 -> n6 [label="\\s"]; - n6 -> n7 [label="\\/"]; - n6 -> n8 [label=">"]; - n7 -> n8 [label=">"]; - n9 -> n9 [label="[^\\s/=>]"]; - n9 -> n10 [label="="]; - n9 -> n5 [label="\\s"]; - n9 -> n6 [label="\\s"]; - n9 -> n7 [label="\\/"]; - n9 -> n8 [label=">"]; - n10 -> n11 [label="\""]; - n10 -> n12 [label="[^\\s\"'=>]"]; - n11 -> n13 [label="\\\\ "]; - n11 -> n14 [label="\\{"]; - n11 -> n15 [label="[^\"\\\\]"]; - n11 -> n16 [label="\""]; - n12 -> n12 [label="[^\\s\"'=>]"]; - n12 -> n5 [label="\\s"]; - n12 -> n6 [label="\\s"]; - n12 -> n7 [label="\\/"]; - n12 -> n8 [label=">"]; - n13 -> n15 [label="[^]"]; - n14 -> n17 [label="\\{"]; - n14 -> n18 [label="[^{}]"]; - n15 -> n13 [label="\\\\ "]; - n15 -> n14 [label="\\{"]; - n15 -> n15 [label="[^\"\\\\]"]; - n15 -> n16 [label="\""]; - n16 -> n5 [label="\\s"]; - n16 -> n6 [label="\\s"]; - n16 -> n7 [label="\\/"]; - n16 -> n8 [label=">"]; - n17 -> n19 [label="\\{"]; - n17 -> n20 [label="[^{}]"]; - n17 -> n18 [label="\\}"]; - n18 -> n17 [label="\\{"]; - n18 -> n18 [label="[^{}]"]; - n18 -> n15 [label="\\}"]; - n19 -> n21 [label="[^{}]"]; - n19 -> n20 [label="\\}"]; - n20 -> n19 [label="\\{"]; - n20 -> n20 [label="[^{}]"]; - n20 -> n18 [label="\\}"]; - n21 -> n21 [label="[^{}]"]; - n21 -> n20 [label="\\}"]; -} -`; diff --git a/tests/iter/__snapshots__/to-mermaid.ts b/tests/iter/__snapshots__/to-mermaid.ts deleted file mode 100644 index bbc680b0..00000000 --- a/tests/iter/__snapshots__/to-mermaid.ts +++ /dev/null @@ -1,3341 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /a/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - -%% edges - null -.-> n0 - n0 -->|a| n1 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"A a"| n1 - n1 -->|"B b"| n2 - n2 -->|"C c"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"A a"| n1 - n1 -->|"B b"| n2 - n2 -->|"C c"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"A a"| n1 - n1 -->|"B b"| n2 - n2 -->|"C c"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"[Aa]"| n1 - n1 -->|"[Bb]"| n2 - n2 -->|"[Cc]"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"[Aa]"| n1 - n1 -->|"[Bb]"| n2 - n2 -->|"[Cc]"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /abc/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|"[Aa]"| n1 - n1 -->|"[Bb]"| n2 - n2 -->|"[Cc]"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - n2(((2))) - -%% edges - null -.-> n0 - n0 -->|a| n0 - n0 -->|b| n1 - n1 -->|b| n1 - n1 -->|c| n2 - n2 -->|c| n2 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8(((8))) - n9((9)) - -%% edges - null -.-> n0 - n0 -->|"(1) "| n1 - n0 --->|"(2) "| n2 - n1 -->|a| n3 - n2 -->| | n4 - n3 -->|"(1) "| n1 - n3 --->|"(2) "| n2 - n4 -->|b| n5 - n5 -->|"(1) "| n4 - n5 --->|"(2) "| n6 - n6 -->|"(1) "| n7 - n6 --->|"(2) "| n8 - n7 -->|c| n9 - n9 -->|"(1) "| n7 - n9 --->|"(2) "| n8 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2(((2))) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n0 -->|b| n2 - n1 -->|a| n1 - n1 -->|b| n2 - n2 -->|b| n2 - n2 -->|c| n3 - n3 -->|c| n3 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1(((1))) - n2(((2))) - -%% edges - null -.-> n0 - n0 -->|a| n0 - n0 -->|b| n1 - n1 -->|b| n1 - n1 -->|c| n2 - n2 -->|c| n2 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8(((8))) - n9((9)) - -%% edges - null -.-> n0 - n0 -->|"(1) "| n1 - n0 --->|"(2) "| n2 - n1 -->|a| n3 - n2 -->| | n4 - n3 -->|"(1) "| n1 - n3 --->|"(2) "| n2 - n4 -->|b| n5 - n5 -->|"(1) "| n4 - n5 --->|"(2) "| n6 - n6 -->|"(1) "| n7 - n6 --->|"(2) "| n8 - n7 -->|c| n9 - n9 -->|"(1) "| n7 - n9 --->|"(2) "| n8 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /a*b+c*/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2(((2))) - n3(((3))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n0 -->|b| n2 - n1 -->|a| n1 - n1 -->|b| n2 - n2 -->|b| n2 - n2 -->|c| n3 - n3 -->|c| n3 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|"0-9"| n1 - n1 -->|"'.'"| n2 - n1 -->|"0-9"| n1 - n1 -->|"E e"| n3 - n2 -->|"0-9"| n4 - n3 -->|"'+' '-'"| n5 - n3 -->|"0-9"| n6 - n4 -->|"0-9"| n4 - n4 -->|"E e"| n3 - n5 -->|"0-9"| n6 - n6 -->|"0-9"| n6 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14(((14))) - -%% edges - null -.-> n0 - n0 -->| | n1 - n1 -->|"0-9"| n2 - n2 -->|"(1) "| n1 - n2 --->|"(2) "| n3 - n3 -->|"(1) '.'"| n4 - n3 --->|"(2) "| n5 - n4 -->| | n6 - n5 -->|"E e"| n7 - n6 -->|"0-9"| n8 - n7 -->|"(1) '+' '-'"| n9 - n7 --->|"(2) "| n10 - n8 -->|"(1) "| n6 - n8 --->|"(2) "| n11 - n9 -->| | n10 - n10 -->| | n12 - n11 -->| | n5 - n12 -->|"0-9"| n13 - n13 -->|"(1) "| n12 - n13 --->|"(2) "| n14 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|"0-9"| n1 - n1 -->|"0-9"| n1 - n1 -->|"'.'"| n2 - n1 -->|"E e"| n3 - n2 -->|"0-9"| n4 - n3 -->|"'+' '-'"| n5 - n3 -->|"0-9"| n6 - n4 -->|"0-9"| n4 - n4 -->|"E e"| n3 - n5 -->|"0-9"| n6 - n6 -->|"0-9"| n6 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|"\d"| n1 - n1 -->|"\."| n2 - n1 -->|"\d"| n1 - n1 -->|"[Ee]"| n3 - n2 -->|"\d"| n4 - n3 -->|"[-+]"| n5 - n3 -->|"\d"| n6 - n4 -->|"\d"| n4 - n4 -->|"[Ee]"| n3 - n5 -->|"\d"| n6 - n6 -->|"\d"| n6 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14(((14))) - -%% edges - null -.-> n0 - n0 -->| | n1 - n1 -->|"\d"| n2 - n2 -->|"(1) "| n1 - n2 --->|"(2) "| n3 - n3 -->|"(1) \."| n4 - n3 --->|"(2) "| n5 - n4 -->| | n6 - n5 -->|"[Ee]"| n7 - n6 -->|"\d"| n8 - n7 -->|"(1) [-+]"| n9 - n7 --->|"(2) "| n10 - n8 -->|"(1) "| n6 - n8 --->|"(2) "| n11 - n9 -->| | n10 - n10 -->| | n12 - n11 -->| | n5 - n12 -->|"\d"| n13 - n13 -->|"(1) "| n12 - n13 --->|"(2) "| n14 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /\d+(?:\.\d+)?(?:e[+-]?\d+)/i `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|"\d"| n1 - n1 -->|"\d"| n1 - n1 -->|"\."| n2 - n1 -->|"[Ee]"| n3 - n2 -->|"\d"| n4 - n3 -->|"[-+]"| n5 - n3 -->|"\d"| n6 - n4 -->|"\d"| n4 - n4 -->|"[Ee]"| n3 - n5 -->|"\d"| n6 - n6 -->|"\d"| n6 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4(((4))) - -%% edges - null -.-> n0 - n0 -->|"'/'"| n1 - n1 -->|"'*'"| n2 - n2 -->|"not '*'"| n2 - n2 -->|"'*'"| n3 - n3 -->|"not '*' '/'"| n2 - n3 -->|"'*'"| n3 - n3 -->|"'/'"| n4 - n4 -->|"not '*'"| n2 - n4 -->|"'*'"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7(((7))) - -%% edges - null -.-> n0 - n0 -->|"'/'"| n1 - n1 -->|"'*'"| n2 - n2 -->|"(1) "| n3 - n2 --->|"(2) "| n4 - n3 -->|"'*'"| n5 - n4 -->|all| n6 - n5 -->|"'/'"| n7 - n6 -->|"(1) "| n3 - n6 --->|"(2) "| n4 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5(((5))) - -%% edges - null -.-> n0 - n0 -->|"'/'"| n1 - n1 -->|"'*'"| n2 - n2 -->|all| n3 - n2 -->|"'*'"| n4 - n3 -->|all| n3 - n3 -->|"'*'"| n4 - n4 -->|"'/'"| n5 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4(((4))) - -%% edges - null -.-> n0 - n0 -->|"\/"| n1 - n1 -->|"\*"| n2 - n2 -->|"[^*]"| n2 - n2 -->|"\*"| n3 - n3 -->|"[^*/]"| n2 - n3 -->|"\*"| n3 - n3 -->|"\/"| n4 - n4 -->|"[^*]"| n2 - n4 -->|"\*"| n3 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7(((7))) - -%% edges - null -.-> n0 - n0 -->|"\/"| n1 - n1 -->|"\*"| n2 - n2 -->|"(1) "| n3 - n2 --->|"(2) "| n4 - n3 -->|"\*"| n5 - n4 -->|"[^]"| n6 - n5 -->|"\/"| n7 - n6 -->|"(1) "| n3 - n6 --->|"(2) "| n4 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /\/\*[\s\S]*?\*\// `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5(((5))) - -%% edges - null -.-> n0 - n0 -->|"\/"| n1 - n1 -->|"\*"| n2 - n2 -->|"[^]"| n3 - n2 -->|"\*"| n4 - n3 -->|"[^]"| n3 - n3 -->|"\*"| n4 - n4 -->|"\/"| n5 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n1 -->|b| n2 - n2 -->|a| n3 - n3 -->|b| n4 - n4 -->|a| n5 - n5 -->|b| n6 - n6 -->|a| n5 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14(((14))) - -%% edges - null -.-> n0 - n0 -->| | n1 - n1 -->|a| n2 - n2 -->|b| n3 - n3 -->|"(1) "| n1 - n3 --->|"(2) "| n4 - n4 -->| | n5 - n5 -->|a| n6 - n6 -->|b| n7 - n7 -->|"(1) "| n5 - n7 --->|"(2) "| n8 - n8 -->| | n9 - n9 -->| | n10 - n10 -->|a| n11 - n11 -->|b| n12 - n12 -->|"(1) "| n10 - n12 --->|"(2) "| n13 - n13 -->|"(1) "| n9 - n13 --->|"(2) "| n14 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n1 -->|b| n2 - n2 -->|a| n3 - n3 -->|b| n4 - n4 -->|a| n5 - n5 -->|b| n6 - n6 -->|a| n5 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n1 -->|b| n2 - n2 -->|a| n3 - n3 -->|b| n4 - n4 -->|a| n5 - n5 -->|b| n6 - n6 -->|a| n5 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14(((14))) - -%% edges - null -.-> n0 - n0 -->| | n1 - n1 -->|a| n2 - n2 -->|b| n3 - n3 -->|"(1) "| n1 - n3 --->|"(2) "| n4 - n4 -->| | n5 - n5 -->|a| n6 - n6 -->|b| n7 - n7 -->|"(1) "| n5 - n7 --->|"(2) "| n8 - n8 -->| | n9 - n9 -->| | n10 - n10 -->|a| n11 - n11 -->|b| n12 - n12 -->|"(1) "| n10 - n12 --->|"(2) "| n13 - n13 -->|"(1) "| n9 - n13 --->|"(2) "| n14 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /((ab)+){3,}/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - -%% edges - null -.-> n0 - n0 -->|a| n1 - n1 -->|b| n2 - n2 -->|a| n3 - n3 -->|b| n4 - n4 -->|a| n5 - n5 -->|b| n6 - n6 -->|a| n5 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18((18)) - n19((19)) - n20(((20))) - n21((21)) - n22((22)) - n23((23)) - n24((24)) - n25((25)) - n26((26)) - n27((27)) - n28((28)) - n29((29)) - n30((30)) - n31((31)) - n32((32)) - n33((33)) - n34((34)) - n35((35)) - n36(((36))) - n37((37)) - n38((38)) - n39((39)) - n40((40)) - n41((41)) - n42((42)) - n43((43)) - n44((44)) - n45(((45))) - n46((46)) - n47((47)) - n48((48)) - n49((49)) - n50(((50))) - n51((51)) - n52((52)) - n53((53)) - n54((54)) - n55((55)) - n56((56)) - n57((57)) - n58((58)) - n59((59)) - n60((60)) - n61((61)) - n62((62)) - n63(((63))) - n64((64)) - n65((65)) - n66((66)) - n67((67)) - n68((68)) - n69((69)) - n70((70)) - n71(((71))) - n72((72)) - n73((73)) - n74((74)) - n75((75)) - n76((76)) - n77((77)) - n78(((78))) - n79((79)) - n80((80)) - n81((81)) - n82((82)) - n83((83)) - n84((84)) - n85((85)) - n86(((86))) - n87((87)) - n88((88)) - n89((89)) - n90((90)) - n91(((91))) - n92((92)) - n93((93)) - n94((94)) - n95((95)) - n96((96)) - n97((97)) - n98((98)) - n99((99)) - n100(((100))) - n101((101)) - n102((102)) - n103((103)) - n104((104)) - n105((105)) - n106((106)) - n107((107)) - n108((108)) - n109((109)) - n110((110)) - n111((111)) - n112((112)) - n113(((113))) - n114((114)) - n115((115)) - n116((116)) - n117((117)) - n118((118)) - n119((119)) - n120((120)) - n121(((121))) - n122((122)) - n123((123)) - n124((124)) - n125((125)) - n126((126)) - n127((127)) - n128((128)) - n129((129)) - n130((130)) - n131((131)) - n132((132)) - n133((133)) - n134(((134))) - n135((135)) - n136((136)) - n137((137)) - n138((138)) - n139(((139))) - n140((140)) - n141((141)) - n142((142)) - n143((143)) - n144((144)) - n145((145)) - n146((146)) - n147((147)) - n148((148)) - n149(((149))) - n150((150)) - n151((151)) - n152((152)) - n153((153)) - n154((154)) - -%% edges - null -.-> n0 - n0 -->|"'<'"| n1 - n1 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n2 - n1 -->|"'/'"| n3 - n2 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n2 - n2 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n4 - n2 -->|"'/'"| n5 - n2 -->|"'>'"| n6 - n3 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n2 - n4 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n7 - n4 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n4 - n4 -->|"'/'"| n5 - n4 -->|"'>'"| n6 - n5 -->|"'>'"| n6 - n7 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n7 - n7 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n4 - n7 -->|"'/'"| n5 - n7 -->|"'='"| n8 - n7 -->|"'>'"| n6 - n8 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n9 - n8 -->|"'"'"| n10 - n9 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n9 - n9 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n4 - n9 -->|"'>'"| n6 - n10 -->|"not '"' '\' '{'"| n10 - n10 -->|"'"'"| n11 - n10 -->|"'\'"| n12 - n10 -->|"'{'"| n13 - n11 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n4 - n11 -->|"'/'"| n5 - n11 -->|"'>'"| n6 - n12 -->|all| n10 - n13 -->|"not '"' '\' '{' '}'"| n13 - n13 -->|"'"'"| n14 - n13 -->|"'\'"| n15 - n13 -->|"'{'"| n16 - n13 -->|"'}'"| n10 - n14 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n17 - n14 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n18 - n14 -->|"'/'"| n19 - n14 -->|"'>'"| n20 - n14 -->|"'{'"| n21 - n14 -->|"'}'"| n10 - n15 -->|"not '{' '}'"| n13 - n15 -->|"'{'"| n22 - n15 -->|"'}'"| n10 - n16 -->|"not '"' '\' '{' '}'"| n16 - n16 -->|"'"'"| n23 - n16 -->|"'\'"| n24 - n16 -->|"'{'"| n25 - n16 -->|"'}'"| n13 - n17 -->|"not '{' '}'"| n17 - n17 -->|"'{'"| n21 - n17 -->|"'}'"| n10 - n18 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n26 - n18 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n18 - n18 -->|"'/'"| n19 - n18 -->|"'='"| n17 - n18 -->|"'>'"| n20 - n18 -->|"'{'"| n27 - n18 -->|"'}'"| n28 - n19 -->|"not '>' '{' '}'"| n17 - n19 -->|"'>'"| n20 - n19 -->|"'{'"| n21 - n19 -->|"'}'"| n10 - n20 -->|"not '{' '}'"| n17 - n20 -->|"'{'"| n21 - n20 -->|"'}'"| n10 - n21 -->|"not '{' '}'"| n21 - n21 -->|"'{'"| n29 - n21 -->|"'}'"| n17 - n22 -->|"not '"' '\' '{' '}'"| n22 - n22 -->|"'"'"| n30 - n22 -->|"'\'"| n31 - n22 -->|"'{'"| n32 - n22 -->|"'}'"| n13 - n23 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n33 - n23 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n34 - n23 -->|"'/'"| n35 - n23 -->|"'>'"| n36 - n23 -->|"'{'"| n37 - n23 -->|"'}'"| n13 - n24 -->|"not '{' '}'"| n16 - n24 -->|"'{'"| n38 - n24 -->|"'}'"| n13 - n25 -->|"not '"' '\' '}'"| n25 - n25 -->|"'"'"| n39 - n25 -->|"'\'"| n40 - n25 -->|"'}'"| n16 - n26 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n26 - n26 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n18 - n26 -->|"'/'"| n19 - n26 -->|"'='"| n41 - n26 -->|"'>'"| n20 - n26 -->|"'{'"| n27 - n26 -->|"'}'"| n28 - n27 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n27 - n27 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n42 - n27 -->|"'/'"| n43 - n27 -->|"'='"| n44 - n27 -->|"'>'"| n45 - n27 -->|"'{'"| n46 - n27 -->|"'}'"| n26 - n28 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n28 - n28 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n28 -->|"'"'"| n7 - n28 -->|"'/'"| n48 - n28 -->|"'='"| n49 - n28 -->|"'>'"| n50 - n28 -->|"'\'"| n51 - n28 -->|"'{'"| n52 - n29 -->|"not '{' '}'"| n29 - n29 -->|"'}'"| n21 - n30 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n21 - n30 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n42 - n30 -->|"'/'"| n43 - n30 -->|"'>'"| n45 - n30 -->|"'{'"| n29 - n30 -->|"'}'"| n17 - n31 -->|"not '{' '}'"| n22 - n31 -->|"'{'"| n53 - n31 -->|"'}'"| n13 - n32 -->|"not '"' '\' '{' '}'"| n32 - n32 -->|"'"'"| n54 - n32 -->|"'\'"| n55 - n32 -->|"'{'"| n16 - n32 -->|"'}'"| n22 - n33 -->|"not '{' '}'"| n33 - n33 -->|"'{'"| n37 - n33 -->|"'}'"| n13 - n34 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n56 - n34 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n34 - n34 -->|"'/'"| n35 - n34 -->|"'='"| n33 - n34 -->|"'>'"| n36 - n34 -->|"'{'"| n57 - n34 -->|"'}'"| n52 - n35 -->|"not '>' '{' '}'"| n33 - n35 -->|"'>'"| n36 - n35 -->|"'{'"| n37 - n35 -->|"'}'"| n13 - n36 -->|"not '{' '}'"| n33 - n36 -->|"'{'"| n37 - n36 -->|"'}'"| n13 - n37 -->|"not '{' '}'"| n37 - n37 -->|"'{'"| n29 - n37 -->|"'}'"| n33 - n38 -->|"not '"' '\' '{' '}'"| n38 - n38 -->|"'"'"| n58 - n38 -->|"'\'"| n59 - n38 -->|"'{'"| n32 - n38 -->|"'}'"| n16 - n39 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n60 - n39 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n61 - n39 -->|"'/'"| n62 - n39 -->|"'>'"| n63 - n39 -->|"'{'"| n37 - n39 -->|"'}'"| n16 - n40 -->|"not '{' '}'"| n25 - n40 -->|"'{'"| n38 - n40 -->|"'}'"| n16 - n41 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n64 - n41 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n17 - n41 -->|"'"'"| n13 - n41 -->|"'{'"| n65 - n41 -->|"'}'"| n66 - n42 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n27 - n42 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n42 - n42 -->|"'/'"| n43 - n42 -->|"'='"| n21 - n42 -->|"'>'"| n45 - n42 -->|"'{'"| n46 - n42 -->|"'}'"| n26 - n43 -->|"not '>' '{' '}'"| n21 - n43 -->|"'>'"| n45 - n43 -->|"'{'"| n29 - n43 -->|"'}'"| n17 - n44 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n65 - n44 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n21 - n44 -->|"'"'"| n22 - n44 -->|"'{'"| n67 - n44 -->|"'}'"| n64 - n45 -->|"not '{' '}'"| n21 - n45 -->|"'{'"| n29 - n45 -->|"'}'"| n17 - n46 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n46 - n46 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n68 - n46 -->|"'/'"| n69 - n46 -->|"'='"| n70 - n46 -->|"'>'"| n71 - n46 -->|"'{'"| n7 - n46 -->|"'}'"| n27 - n47 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n28 - n47 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n47 -->|"'"'"| n7 - n47 -->|"'/'"| n48 - n47 -->|"'='"| n10 - n47 -->|"'>'"| n50 - n47 -->|"'\'"| n51 - n47 -->|"'{'"| n52 - n48 -->|"not '"' '>' '\' '{'"| n10 - n48 -->|"'"'"| n11 - n48 -->|"'>'"| n50 - n48 -->|"'\'"| n12 - n48 -->|"'{'"| n13 - n49 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n66 - n49 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n10 - n49 -->|"'"'"| n72 - n49 -->|"'\'"| n73 - n49 -->|"'{'"| n74 - n50 -->|"not '"' '\' '{'"| n10 - n50 -->|"'"'"| n11 - n50 -->|"'\'"| n12 - n50 -->|"'{'"| n13 - n51 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n28 - n51 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n51 -->|"'/'"| n48 - n51 -->|"'='"| n49 - n51 -->|"'>'"| n50 - n52 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n52 - n52 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n52 -->|"'"'"| n26 - n52 -->|"'/'"| n76 - n52 -->|"'='"| n77 - n52 -->|"'>'"| n78 - n52 -->|"'\'"| n79 - n52 -->|"'{'"| n80 - n52 -->|"'}'"| n28 - n53 -->|"not '"' '\' '{' '}'"| n53 - n53 -->|"'"'"| n81 - n53 -->|"'\'"| n82 - n53 -->|"'{'"| n13 - n53 -->|"'}'"| n22 - n54 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n83 - n54 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n84 - n54 -->|"'/'"| n85 - n54 -->|"'>'"| n86 - n54 -->|"'{'"| n21 - n54 -->|"'}'"| n22 - n55 -->|"not '{' '}'"| n32 - n55 -->|"'{' '}'"| n22 - n56 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n56 - n56 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n34 - n56 -->|"'/'"| n35 - n56 -->|"'='"| n87 - n56 -->|"'>'"| n36 - n56 -->|"'{'"| n57 - n56 -->|"'}'"| n52 - n57 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n57 - n57 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n88 - n57 -->|"'/'"| n89 - n57 -->|"'='"| n90 - n57 -->|"'>'"| n91 - n57 -->|"'{'"| n46 - n57 -->|"'}'"| n56 - n58 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n37 - n58 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n88 - n58 -->|"'/'"| n89 - n58 -->|"'>'"| n91 - n58 -->|"'{'"| n29 - n58 -->|"'}'"| n33 - n59 -->|"not '{' '}'"| n38 - n59 -->|"'{'"| n53 - n59 -->|"'}'"| n16 - n60 -->|"not '{' '}'"| n60 - n60 -->|"'{'"| n37 - n60 -->|"'}'"| n16 - n61 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n92 - n61 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n61 - n61 -->|"'/'"| n62 - n61 -->|"'='"| n60 - n61 -->|"'>'"| n63 - n61 -->|"'{'"| n57 - n61 -->|"'}'"| n80 - n62 -->|"not '>' '{' '}'"| n60 - n62 -->|"'>'"| n63 - n62 -->|"'{'"| n37 - n62 -->|"'}'"| n16 - n63 -->|"not '{' '}'"| n60 - n63 -->|"'{'"| n37 - n63 -->|"'}'"| n16 - n64 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n64 - n64 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n18 - n64 -->|"'"' ''' '='"| n17 - n64 -->|"'>'"| n20 - n64 -->|"'{'"| n65 - n64 -->|"'}'"| n66 - n65 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n65 - n65 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n42 - n65 -->|"'"' ''' '='"| n21 - n65 -->|"'>'"| n45 - n65 -->|"'{'"| n67 - n65 -->|"'}'"| n64 - n66 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n66 - n66 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n66 -->|"'"'"| n11 - n66 -->|"''' '='"| n10 - n66 -->|"'>'"| n50 - n66 -->|"'\'"| n73 - n66 -->|"'{'"| n74 - n67 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n67 - n67 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n68 - n67 -->|"'"' ''' '='"| n29 - n67 -->|"'>'"| n71 - n67 -->|"'{'"| n9 - n67 -->|"'}'"| n65 - n68 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n46 - n68 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n68 - n68 -->|"'/'"| n69 - n68 -->|"'='"| n29 - n68 -->|"'>'"| n71 - n68 -->|"'{'"| n7 - n68 -->|"'}'"| n27 - n69 -->|"not '>' '{' '}'"| n29 - n69 -->|"'>'"| n71 - n69 -->|"'}'"| n21 - n70 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n67 - n70 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n29 - n70 -->|"'"'"| n53 - n70 -->|"'{'"| n9 - n70 -->|"'}'"| n65 - n71 -->|"not '{' '}'"| n29 - n71 -->|"'}'"| n21 - n72 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n10 - n72 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n72 -->|"'"'"| n11 - n72 -->|"'/'"| n48 - n72 -->|"'>'"| n50 - n72 -->|"'\'"| n12 - n72 -->|"'{'"| n13 - n73 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n66 - n73 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n47 - n73 -->|"'"' ''' '='"| n10 - n73 -->|"'>'"| n50 - n74 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n74 - n74 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n74 -->|"'"'"| n14 - n74 -->|"''' '='"| n13 - n74 -->|"'>'"| n78 - n74 -->|"'\'"| n93 - n74 -->|"'{'"| n94 - n74 -->|"'}'"| n66 - n75 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n52 - n75 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n75 -->|"'"'"| n26 - n75 -->|"'/'"| n76 - n75 -->|"'='"| n13 - n75 -->|"'>'"| n78 - n75 -->|"'\'"| n79 - n75 -->|"'{'"| n80 - n75 -->|"'}'"| n28 - n76 -->|"not '"' '>' '\' '{' '}'"| n13 - n76 -->|"'"'"| n14 - n76 -->|"'>'"| n78 - n76 -->|"'\'"| n15 - n76 -->|"'{'"| n16 - n76 -->|"'}'"| n10 - n77 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n74 - n77 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n13 - n77 -->|"'"'"| n95 - n77 -->|"'\'"| n93 - n77 -->|"'{'"| n94 - n77 -->|"'}'"| n66 - n78 -->|"not '"' '\' '{' '}'"| n13 - n78 -->|"'"'"| n14 - n78 -->|"'\'"| n15 - n78 -->|"'{'"| n16 - n78 -->|"'}'"| n10 - n79 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n52 - n79 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n79 -->|"'/'"| n76 - n79 -->|"'='"| n77 - n79 -->|"'>'"| n78 - n79 -->|"'{'"| n96 - n79 -->|"'}'"| n28 - n80 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n80 - n80 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n80 -->|"'"'"| n56 - n80 -->|"'/'"| n98 - n80 -->|"'='"| n99 - n80 -->|"'>'"| n100 - n80 -->|"'\'"| n101 - n80 -->|"'{'"| n102 - n80 -->|"'}'"| n52 - n81 -->|"not U+9-U+D U+20 '/' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n29 - n81 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n68 - n81 -->|"'/'"| n69 - n81 -->|"'>'"| n71 - n81 -->|"'}'"| n21 - n82 -->|"not '{' '}'"| n53 - n82 -->|"'{'"| n10 - n82 -->|"'}'"| n22 - n83 -->|"not '{' '}'"| n83 - n83 -->|"'{'"| n21 - n83 -->|"'}'"| n22 - n84 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n103 - n84 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n84 - n84 -->|"'/'"| n85 - n84 -->|"'='"| n83 - n84 -->|"'>'"| n86 - n84 -->|"'{'"| n27 - n84 -->|"'}'"| n96 - n85 -->|"not '>' '{' '}'"| n83 - n85 -->|"'>'"| n86 - n85 -->|"'{'"| n21 - n85 -->|"'}'"| n22 - n86 -->|"not '{' '}'"| n83 - n86 -->|"'{'"| n21 - n86 -->|"'}'"| n22 - n87 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n104 - n87 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n33 - n87 -->|"'"'"| n16 - n87 -->|"'{'"| n105 - n87 -->|"'}'"| n74 - n88 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n57 - n88 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n88 - n88 -->|"'/'"| n89 - n88 -->|"'='"| n37 - n88 -->|"'>'"| n91 - n88 -->|"'{'"| n46 - n88 -->|"'}'"| n56 - n89 -->|"not '>' '{' '}'"| n37 - n89 -->|"'>'"| n91 - n89 -->|"'{'"| n29 - n89 -->|"'}'"| n33 - n90 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n105 - n90 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n37 - n90 -->|"'"'"| n38 - n90 -->|"'{'"| n67 - n90 -->|"'}'"| n104 - n91 -->|"not '{' '}'"| n37 - n91 -->|"'{'"| n29 - n91 -->|"'}'"| n33 - n92 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n92 - n92 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n61 - n92 -->|"'/'"| n62 - n92 -->|"'='"| n106 - n92 -->|"'>'"| n63 - n92 -->|"'{'"| n57 - n92 -->|"'}'"| n80 - n93 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n74 - n93 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n93 -->|"'"' ''' '='"| n13 - n93 -->|"'>'"| n78 - n93 -->|"'{'"| n107 - n93 -->|"'}'"| n66 - n94 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n94 - n94 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n94 -->|"'"'"| n23 - n94 -->|"''' '='"| n16 - n94 -->|"'>'"| n100 - n94 -->|"'\'"| n108 - n94 -->|"'{'"| n109 - n94 -->|"'}'"| n74 - n95 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n13 - n95 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n75 - n95 -->|"'"'"| n14 - n95 -->|"'/'"| n76 - n95 -->|"'>'"| n78 - n95 -->|"'\'"| n15 - n95 -->|"'{'"| n16 - n95 -->|"'}'"| n10 - n96 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n96 - n96 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n96 -->|"'"'"| n27 - n96 -->|"'/'"| n111 - n96 -->|"'='"| n112 - n96 -->|"'>'"| n113 - n96 -->|"'\'"| n114 - n96 -->|"'{'"| n115 - n96 -->|"'}'"| n52 - n97 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n80 - n97 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n97 -->|"'"'"| n56 - n97 -->|"'/'"| n98 - n97 -->|"'='"| n16 - n97 -->|"'>'"| n100 - n97 -->|"'\'"| n101 - n97 -->|"'{'"| n102 - n97 -->|"'}'"| n52 - n98 -->|"not '"' '>' '\' '{' '}'"| n16 - n98 -->|"'"'"| n23 - n98 -->|"'>'"| n100 - n98 -->|"'\'"| n24 - n98 -->|"'{'"| n25 - n98 -->|"'}'"| n13 - n99 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n94 - n99 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n16 - n99 -->|"'"'"| n116 - n99 -->|"'\'"| n108 - n99 -->|"'{'"| n109 - n99 -->|"'}'"| n74 - n100 -->|"not '"' '\' '{' '}'"| n16 - n100 -->|"'"'"| n23 - n100 -->|"'\'"| n24 - n100 -->|"'{'"| n25 - n100 -->|"'}'"| n13 - n101 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n80 - n101 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n101 -->|"'/'"| n98 - n101 -->|"'='"| n99 - n101 -->|"'>'"| n100 - n101 -->|"'{'"| n117 - n101 -->|"'}'"| n52 - n102 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n102 - n102 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n102 -->|"'"'"| n92 - n102 -->|"'/'"| n119 - n102 -->|"'='"| n120 - n102 -->|"'>'"| n121 - n102 -->|"'\'"| n122 - n102 -->|"'}'"| n80 - n103 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n103 - n103 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n84 - n103 -->|"'/'"| n85 - n103 -->|"'='"| n123 - n103 -->|"'>'"| n86 - n103 -->|"'{'"| n27 - n103 -->|"'}'"| n96 - n104 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n104 - n104 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n34 - n104 -->|"'"' ''' '='"| n33 - n104 -->|"'>'"| n36 - n104 -->|"'{'"| n105 - n104 -->|"'}'"| n74 - n105 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n105 - n105 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n88 - n105 -->|"'"' ''' '='"| n37 - n105 -->|"'>'"| n91 - n105 -->|"'{'"| n67 - n105 -->|"'}'"| n104 - n106 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n124 - n106 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n60 - n106 -->|"'"'"| n25 - n106 -->|"'{'"| n105 - n106 -->|"'}'"| n94 - n107 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n107 - n107 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n107 -->|"'"'"| n30 - n107 -->|"''' '='"| n22 - n107 -->|"'>'"| n113 - n107 -->|"'\'"| n125 - n107 -->|"'{'"| n126 - n107 -->|"'}'"| n74 - n108 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n94 - n108 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n108 -->|"'"' ''' '='"| n16 - n108 -->|"'>'"| n100 - n108 -->|"'{'"| n127 - n108 -->|"'}'"| n74 - n109 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n109 - n109 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n109 -->|"'"'"| n39 - n109 -->|"''' '='"| n25 - n109 -->|"'>'"| n121 - n109 -->|"'\'"| n128 - n109 -->|"'}'"| n94 - n110 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n96 - n110 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n110 -->|"'"'"| n27 - n110 -->|"'/'"| n111 - n110 -->|"'='"| n22 - n110 -->|"'>'"| n113 - n110 -->|"'\'"| n114 - n110 -->|"'{'"| n115 - n110 -->|"'}'"| n52 - n111 -->|"not '"' '>' '\' '{' '}'"| n22 - n111 -->|"'"'"| n30 - n111 -->|"'>'"| n113 - n111 -->|"'\'"| n31 - n111 -->|"'{'"| n32 - n111 -->|"'}'"| n13 - n112 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n107 - n112 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n22 - n112 -->|"'"'"| n129 - n112 -->|"'\'"| n125 - n112 -->|"'{'"| n126 - n112 -->|"'}'"| n74 - n113 -->|"not '"' '\' '{' '}'"| n22 - n113 -->|"'"'"| n30 - n113 -->|"'\'"| n31 - n113 -->|"'{'"| n32 - n113 -->|"'}'"| n13 - n114 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n96 - n114 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n114 -->|"'/'"| n111 - n114 -->|"'='"| n112 - n114 -->|"'>'"| n113 - n114 -->|"'{'"| n130 - n114 -->|"'}'"| n52 - n115 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n115 - n115 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n115 -->|"'"'"| n103 - n115 -->|"'/'"| n132 - n115 -->|"'='"| n133 - n115 -->|"'>'"| n134 - n115 -->|"'\'"| n135 - n115 -->|"'{'"| n80 - n115 -->|"'}'"| n96 - n116 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n16 - n116 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n97 - n116 -->|"'"'"| n23 - n116 -->|"'/'"| n98 - n116 -->|"'>'"| n100 - n116 -->|"'\'"| n24 - n116 -->|"'{'"| n25 - n116 -->|"'}'"| n13 - n117 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n117 - n117 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n117 -->|"'"'"| n57 - n117 -->|"'/'"| n137 - n117 -->|"'='"| n138 - n117 -->|"'>'"| n139 - n117 -->|"'\'"| n140 - n117 -->|"'{'"| n115 - n117 -->|"'}'"| n80 - n118 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n102 - n118 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n118 -->|"'"'"| n92 - n118 -->|"'/'"| n119 - n118 -->|"'='"| n25 - n118 -->|"'>'"| n121 - n118 -->|"'\'"| n122 - n118 -->|"'}'"| n80 - n119 -->|"not '"' '>' '\' '}'"| n25 - n119 -->|"'"'"| n39 - n119 -->|"'>'"| n121 - n119 -->|"'\'"| n40 - n119 -->|"'}'"| n16 - n120 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n109 - n120 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n25 - n120 -->|"'"'"| n141 - n120 -->|"'\'"| n128 - n120 -->|"'}'"| n94 - n121 -->|"not '"' '\' '}'"| n25 - n121 -->|"'"'"| n39 - n121 -->|"'\'"| n40 - n121 -->|"'}'"| n16 - n122 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n102 - n122 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n122 -->|"'/'"| n119 - n122 -->|"'='"| n120 - n122 -->|"'>'"| n121 - n122 -->|"'{'"| n117 - n122 -->|"'}'"| n80 - n123 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n142 - n123 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n83 - n123 -->|"'"'"| n32 - n123 -->|"'{'"| n65 - n123 -->|"'}'"| n107 - n124 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n124 - n124 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n61 - n124 -->|"'"' ''' '='"| n60 - n124 -->|"'>'"| n63 - n124 -->|"'{'"| n105 - n124 -->|"'}'"| n94 - n125 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n107 - n125 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n125 -->|"'"' ''' '='"| n22 - n125 -->|"'>'"| n113 - n125 -->|"'{'"| n143 - n125 -->|"'}'"| n74 - n126 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n126 - n126 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n126 -->|"'"'"| n54 - n126 -->|"''' '='"| n32 - n126 -->|"'>'"| n134 - n126 -->|"'\'"| n144 - n126 -->|"'{'"| n94 - n126 -->|"'}'"| n107 - n127 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n127 - n127 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n127 -->|"'"'"| n58 - n127 -->|"''' '='"| n38 - n127 -->|"'>'"| n139 - n127 -->|"'\'"| n145 - n127 -->|"'{'"| n126 - n127 -->|"'}'"| n94 - n128 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n109 - n128 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n128 -->|"'"' ''' '='"| n25 - n128 -->|"'>'"| n121 - n128 -->|"'{'"| n127 - n128 -->|"'}'"| n94 - n129 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n22 - n129 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n110 - n129 -->|"'"'"| n30 - n129 -->|"'/'"| n111 - n129 -->|"'>'"| n113 - n129 -->|"'\'"| n31 - n129 -->|"'{'"| n32 - n129 -->|"'}'"| n13 - n130 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n130 - n130 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n130 -->|"'"'"| n46 - n130 -->|"'/'"| n147 - n130 -->|"'='"| n148 - n130 -->|"'>'"| n149 - n130 -->|"'\'"| n150 - n130 -->|"'{'"| n52 - n130 -->|"'}'"| n96 - n131 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n115 - n131 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n131 -->|"'"'"| n103 - n131 -->|"'/'"| n132 - n131 -->|"'='"| n32 - n131 -->|"'>'"| n134 - n131 -->|"'\'"| n135 - n131 -->|"'{'"| n80 - n131 -->|"'}'"| n96 - n132 -->|"not '"' '>' '\' '{' '}'"| n32 - n132 -->|"'"'"| n54 - n132 -->|"'>'"| n134 - n132 -->|"'\'"| n55 - n132 -->|"'{'"| n16 - n132 -->|"'}'"| n22 - n133 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n126 - n133 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n32 - n133 -->|"'"'"| n151 - n133 -->|"'\'"| n144 - n133 -->|"'{'"| n94 - n133 -->|"'}'"| n107 - n134 -->|"not '"' '\' '{' '}'"| n32 - n134 -->|"'"'"| n54 - n134 -->|"'\'"| n55 - n134 -->|"'{'"| n16 - n134 -->|"'}'"| n22 - n135 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n115 - n135 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n135 -->|"'/'"| n132 - n135 -->|"'='"| n133 - n135 -->|"'>'"| n134 - n135 -->|"'{' '}'"| n96 - n136 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n117 - n136 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n136 -->|"'"'"| n57 - n136 -->|"'/'"| n137 - n136 -->|"'='"| n38 - n136 -->|"'>'"| n139 - n136 -->|"'\'"| n140 - n136 -->|"'{'"| n115 - n136 -->|"'}'"| n80 - n137 -->|"not '"' '>' '\' '{' '}'"| n38 - n137 -->|"'"'"| n58 - n137 -->|"'>'"| n139 - n137 -->|"'\'"| n59 - n137 -->|"'{'"| n32 - n137 -->|"'}'"| n16 - n138 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n127 - n138 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n38 - n138 -->|"'"'"| n152 - n138 -->|"'\'"| n145 - n138 -->|"'{'"| n126 - n138 -->|"'}'"| n94 - n139 -->|"not '"' '\' '{' '}'"| n38 - n139 -->|"'"'"| n58 - n139 -->|"'\'"| n59 - n139 -->|"'{'"| n32 - n139 -->|"'}'"| n16 - n140 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n117 - n140 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n140 -->|"'/'"| n137 - n140 -->|"'='"| n138 - n140 -->|"'>'"| n139 - n140 -->|"'{'"| n130 - n140 -->|"'}'"| n80 - n141 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n25 - n141 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n118 - n141 -->|"'"'"| n39 - n141 -->|"'/'"| n119 - n141 -->|"'>'"| n121 - n141 -->|"'\'"| n40 - n141 -->|"'}'"| n16 - n142 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n142 - n142 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n84 - n142 -->|"'"' ''' '='"| n83 - n142 -->|"'>'"| n86 - n142 -->|"'{'"| n65 - n142 -->|"'}'"| n107 - n143 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n143 - n143 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n143 -->|"'"'"| n81 - n143 -->|"''' '='"| n53 - n143 -->|"'>'"| n149 - n143 -->|"'\'"| n153 - n143 -->|"'{'"| n74 - n143 -->|"'}'"| n107 - n144 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n126 - n144 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n144 -->|"'"' ''' '='"| n32 - n144 -->|"'>'"| n134 - n144 -->|"'{' '}'"| n107 - n145 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n127 - n145 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n145 -->|"'"' ''' '='"| n38 - n145 -->|"'>'"| n139 - n145 -->|"'{'"| n143 - n145 -->|"'}'"| n94 - n146 -->|"not U+9-U+D U+20 '"' '/' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n130 - n146 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n146 -->|"'"'"| n46 - n146 -->|"'/'"| n147 - n146 -->|"'='"| n53 - n146 -->|"'>'"| n149 - n146 -->|"'\'"| n150 - n146 -->|"'{'"| n52 - n146 -->|"'}'"| n96 - n147 -->|"not '"' '>' '\' '{' '}'"| n53 - n147 -->|"'"'"| n81 - n147 -->|"'>'"| n149 - n147 -->|"'\'"| n82 - n147 -->|"'{'"| n13 - n147 -->|"'}'"| n22 - n148 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n143 - n148 -->|"U+9-U+D U+20 ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n53 - n148 -->|"'"'"| n154 - n148 -->|"'\'"| n153 - n148 -->|"'{'"| n74 - n148 -->|"'}'"| n107 - n149 -->|"not '"' '\' '{' '}'"| n53 - n149 -->|"'"'"| n81 - n149 -->|"'\'"| n82 - n149 -->|"'{'"| n13 - n149 -->|"'}'"| n22 - n150 -->|"not U+9-U+D U+20 '/' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n130 - n150 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n150 -->|"'/'"| n147 - n150 -->|"'='"| n148 - n150 -->|"'>'"| n149 - n150 -->|"'{'"| n28 - n150 -->|"'}'"| n96 - n151 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n32 - n151 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n131 - n151 -->|"'"'"| n54 - n151 -->|"'/'"| n132 - n151 -->|"'>'"| n134 - n151 -->|"'\'"| n55 - n151 -->|"'{'"| n16 - n151 -->|"'}'"| n22 - n152 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n38 - n152 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n136 - n152 -->|"'"'"| n58 - n152 -->|"'/'"| n137 - n152 -->|"'>'"| n139 - n152 -->|"'\'"| n59 - n152 -->|"'{'"| n32 - n152 -->|"'}'"| n16 - n153 -->|"not U+9-U+D U+20 '"' ''' '=' '>' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n143 - n153 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n153 -->|"'"' ''' '='"| n53 - n153 -->|"'>'"| n149 - n153 -->|"'{'"| n66 - n153 -->|"'}'"| n107 - n154 -->|"not U+9-U+D U+20 '"' '/' '>' '\' '{' '}' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n53 - n154 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n146 - n154 -->|"'"'"| n81 - n154 -->|"'/'"| n147 - n154 -->|"'>'"| n149 - n154 -->|"'\'"| n82 - n154 -->|"'{'"| n13 - n154 -->|"'}'"| n22 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18(((18))) - n19((19)) - n20((20)) - n21((21)) - n22((22)) - n23((23)) - n24((24)) - n25((25)) - n26((26)) - n27((27)) - n28((28)) - n29((29)) - n30((30)) - n31((31)) - n32((32)) - n33((33)) - n34((34)) - n35((35)) - n36((36)) - n37((37)) - n38((38)) - n39((39)) - n40((40)) - n41((41)) - n42((42)) - n43((43)) - n44((44)) - n45((45)) - n46((46)) - n47((47)) - n48((48)) - n49((49)) - n50((50)) - n51((51)) - n52((52)) - -%% edges - null -.-> n0 - n0 -->|"'<'"| n1 - n1 -->|"(1) '/'"| n2 - n1 --->|"(2) "| n3 - n2 -->| | n3 - n3 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n4 - n4 -->|"(1) "| n5 - n4 --->|"(2) "| n6 - n5 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n7 - n6 -->|"(1) "| n8 - n6 --->|"(2) "| n9 - n7 -->|"(1) "| n5 - n7 --->|"(2) "| n6 - n8 -->| | n10 - n9 -->|"(1) "| n11 - n9 --->|"(2) "| n12 - n10 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n13 - n11 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n14 - n12 -->|"(1) '/'"| n15 - n12 --->|"(2) "| n16 - n13 -->|"(1) "| n10 - n13 --->|"(2) "| n17 - n14 -->|"(1) "| n11 - n14 --->|"(2) "| n12 - n15 -->| | n16 - n16 -->|"'>'"| n18 - n17 -->| | n19 - n19 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n20 - n20 -->|"(1) "| n19 - n20 --->|"(2) "| n21 - n21 -->|"(1) '='"| n22 - n21 --->|"(2) "| n23 - n22 -->|"(1) '"'"| n24 - n22 --->|"(2) "| n25 - n23 -->|"(1) "| n8 - n23 --->|"(2) "| n9 - n24 -->|"(1) "| n26 - n24 --->|"(2) "| n27 - n25 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n28 - n26 -->|"(1) '\'"| n29 - n26 --->|"(2) '{'"| n30 - n26 ---->|"(3) not '"' '\'"| n31 - n27 -->|"'"'"| n32 - n28 -->|"(1) "| n25 - n28 --->|"(2) "| n33 - n29 -->|all| n34 - n30 -->| | n35 - n31 -->| | n36 - n32 -->| | n37 - n33 -->| | n37 - n34 -->| | n36 - n35 -->|"(1) '{'"| n38 - n35 --->|"(2) not '{' '}'"| n39 - n36 -->|"(1) "| n26 - n36 --->|"(2) "| n27 - n37 -->| | n23 - n38 -->|"(1) "| n40 - n38 --->|"(2) "| n41 - n39 -->| | n42 - n40 -->|"(1) '{'"| n43 - n40 --->|"(2) not '{' '}'"| n44 - n41 -->|"'}'"| n45 - n42 -->|"(1) "| n35 - n42 --->|"(2) "| n46 - n43 -->|"(1) "| n47 - n43 --->|"(2) "| n48 - n44 -->| | n49 - n45 -->| | n42 - n46 -->|"'}'"| n50 - n47 -->|"not '{' '}'"| n51 - n48 -->|"'}'"| n52 - n49 -->|"(1) "| n40 - n49 --->|"(2) "| n41 - n50 -->| | n36 - n51 -->|"(1) "| n47 - n51 --->|"(2) "| n48 - n52 -->| | n49 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (default): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8(((8))) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18((18)) - n19((19)) - n20((20)) - n21((21)) - -%% edges - null -.-> n0 - n0 -->|"'<'"| n1 - n1 -->|"'/'"| n2 - n1 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n3 - n2 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E ':' ';' U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n3 - n3 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n4 - n3 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n3 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n3 -->|"'/'"| n7 - n3 -->|"'>'"| n8 - n4 -->|"U+0-U+8 U+E-U+1F U+21-U+23 U+26-U+2E U+30-U+3B U+3F-U+9F U+A1-U+167F U+1681-U+1FFF U+200B-U+2027 U+202A-U+202E U+2030-U+205E U+2060-U+2FFF U+3001-U+FEFE U+FF00-U+FFFF"| n4 - n4 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n4 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n4 -->|"'/'"| n7 - n4 -->|"'>'"| n8 - n5 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n5 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n9 - n6 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n6 -->|"'/'"| n7 - n6 -->|"'>'"| n8 - n7 -->|"'>'"| n8 - n9 -->|"not U+9-U+D U+20 '/' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n9 - n9 -->|"'='"| n10 - n9 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n9 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n9 -->|"'/'"| n7 - n9 -->|"'>'"| n8 - n10 -->|"'"'"| n11 - n10 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n12 - n11 -->|"'\'"| n13 - n11 -->|"'{'"| n14 - n11 -->|"not '"' '\'"| n15 - n11 -->|"'"'"| n16 - n12 -->|"not U+9-U+D U+20 '"' ''' '=' '>' U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n12 - n12 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n12 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n12 -->|"'/'"| n7 - n12 -->|"'>'"| n8 - n13 -->|all| n15 - n14 -->|"'{'"| n17 - n14 -->|"not '{' '}'"| n18 - n15 -->|"'\'"| n13 - n15 -->|"'{'"| n14 - n15 -->|"not '"' '\'"| n15 - n15 -->|"'"'"| n16 - n16 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n5 - n16 -->|"U+9-U+D U+20 U+A0 U+1680 U+2000-U+200A U+2028 U+2029 U+202F U+205F U+3000 U+FEFF"| n6 - n16 -->|"'/'"| n7 - n16 -->|"'>'"| n8 - n17 -->|"'{'"| n19 - n17 -->|"not '{' '}'"| n20 - n17 -->|"'}'"| n18 - n18 -->|"'{'"| n17 - n18 -->|"not '{' '}'"| n18 - n18 -->|"'}'"| n15 - n19 -->|"not '{' '}'"| n21 - n19 -->|"'}'"| n20 - n20 -->|"'{'"| n19 - n20 -->|"not '{' '}'"| n20 - n20 -->|"'}'"| n18 - n21 -->|"not '{' '}'"| n21 - n21 -->|"'}'"| n20 -`; - -module.exports[n`toMermaid >> from regexes >> DFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6(((6))) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18((18)) - n19((19)) - n20(((20))) - n21((21)) - n22((22)) - n23((23)) - n24((24)) - n25((25)) - n26((26)) - n27((27)) - n28((28)) - n29((29)) - n30((30)) - n31((31)) - n32((32)) - n33((33)) - n34((34)) - n35((35)) - n36(((36))) - n37((37)) - n38((38)) - n39((39)) - n40((40)) - n41((41)) - n42((42)) - n43((43)) - n44((44)) - n45(((45))) - n46((46)) - n47((47)) - n48((48)) - n49((49)) - n50(((50))) - n51((51)) - n52((52)) - n53((53)) - n54((54)) - n55((55)) - n56((56)) - n57((57)) - n58((58)) - n59((59)) - n60((60)) - n61((61)) - n62((62)) - n63(((63))) - n64((64)) - n65((65)) - n66((66)) - n67((67)) - n68((68)) - n69((69)) - n70((70)) - n71(((71))) - n72((72)) - n73((73)) - n74((74)) - n75((75)) - n76((76)) - n77((77)) - n78(((78))) - n79((79)) - n80((80)) - n81((81)) - n82((82)) - n83((83)) - n84((84)) - n85((85)) - n86(((86))) - n87((87)) - n88((88)) - n89((89)) - n90((90)) - n91(((91))) - n92((92)) - n93((93)) - n94((94)) - n95((95)) - n96((96)) - n97((97)) - n98((98)) - n99((99)) - n100(((100))) - n101((101)) - n102((102)) - n103((103)) - n104((104)) - n105((105)) - n106((106)) - n107((107)) - n108((108)) - n109((109)) - n110((110)) - n111((111)) - n112((112)) - n113(((113))) - n114((114)) - n115((115)) - n116((116)) - n117((117)) - n118((118)) - n119((119)) - n120((120)) - n121(((121))) - n122((122)) - n123((123)) - n124((124)) - n125((125)) - n126((126)) - n127((127)) - n128((128)) - n129((129)) - n130((130)) - n131((131)) - n132((132)) - n133((133)) - n134(((134))) - n135((135)) - n136((136)) - n137((137)) - n138((138)) - n139(((139))) - n140((140)) - n141((141)) - n142((142)) - n143((143)) - n144((144)) - n145((145)) - n146((146)) - n147((147)) - n148((148)) - n149(((149))) - n150((150)) - n151((151)) - n152((152)) - n153((153)) - n154((154)) - -%% edges - null -.-> n0 - n0 -->|"<"| n1 - n1 -->|"[^\s\d$%/<=>]"| n2 - n1 -->|"\/"| n3 - n2 -->|"[^\s$%/<=>]"| n2 - n2 -->|"\s"| n4 - n2 -->|"\/"| n5 - n2 -->|">"| n6 - n3 -->|"[^\s\d$%/<=>]"| n2 - n4 -->|"[^\s/=>]"| n7 - n4 -->|"\s"| n4 - n4 -->|"\/"| n5 - n4 -->|">"| n6 - n5 -->|">"| n6 - n7 -->|"[^\s/=>]"| n7 - n7 -->|"\s"| n4 - n7 -->|"\/"| n5 - n7 -->|"="| n8 - n7 -->|">"| n6 - n8 -->|"[^\s"'=>]"| n9 - n8 -->|"""| n10 - n9 -->|"[^\s"'=>]"| n9 - n9 -->|"\s"| n4 - n9 -->|">"| n6 - n10 -->|"[^"\\{]"| n10 - n10 -->|"""| n11 - n10 -->|"\\"| n12 - n10 -->|"\{"| n13 - n11 -->|"\s"| n4 - n11 -->|"\/"| n5 - n11 -->|">"| n6 - n12 -->|"[^]"| n10 - n13 -->|"[^"\\{}]"| n13 - n13 -->|"""| n14 - n13 -->|"\\"| n15 - n13 -->|"\{"| n16 - n13 -->|"\}"| n10 - n14 -->|"[^\s/>{}]"| n17 - n14 -->|"\s"| n18 - n14 -->|"\/"| n19 - n14 -->|">"| n20 - n14 -->|"\{"| n21 - n14 -->|"\}"| n10 - n15 -->|"[^{}]"| n13 - n15 -->|"\{"| n22 - n15 -->|"\}"| n10 - n16 -->|"[^"\\{}]"| n16 - n16 -->|"""| n23 - n16 -->|"\\"| n24 - n16 -->|"\{"| n25 - n16 -->|"\}"| n13 - n17 -->|"[^{}]"| n17 - n17 -->|"\{"| n21 - n17 -->|"\}"| n10 - n18 -->|"[^\s/=>{}]"| n26 - n18 -->|"\s"| n18 - n18 -->|"\/"| n19 - n18 -->|"="| n17 - n18 -->|">"| n20 - n18 -->|"\{"| n27 - n18 -->|"\}"| n28 - n19 -->|"[^>{}]"| n17 - n19 -->|">"| n20 - n19 -->|"\{"| n21 - n19 -->|"\}"| n10 - n20 -->|"[^{}]"| n17 - n20 -->|"\{"| n21 - n20 -->|"\}"| n10 - n21 -->|"[^{}]"| n21 - n21 -->|"\{"| n29 - n21 -->|"\}"| n17 - n22 -->|"[^"\\{}]"| n22 - n22 -->|"""| n30 - n22 -->|"\\"| n31 - n22 -->|"\{"| n32 - n22 -->|"\}"| n13 - n23 -->|"[^\s/>{}]"| n33 - n23 -->|"\s"| n34 - n23 -->|"\/"| n35 - n23 -->|">"| n36 - n23 -->|"\{"| n37 - n23 -->|"\}"| n13 - n24 -->|"[^{}]"| n16 - n24 -->|"\{"| n38 - n24 -->|"\}"| n13 - n25 -->|"[^"\\}]"| n25 - n25 -->|"""| n39 - n25 -->|"\\"| n40 - n25 -->|"\}"| n16 - n26 -->|"[^\s/=>{}]"| n26 - n26 -->|"\s"| n18 - n26 -->|"\/"| n19 - n26 -->|"="| n41 - n26 -->|">"| n20 - n26 -->|"\{"| n27 - n26 -->|"\}"| n28 - n27 -->|"[^\s/=>{}]"| n27 - n27 -->|"\s"| n42 - n27 -->|"\/"| n43 - n27 -->|"="| n44 - n27 -->|">"| n45 - n27 -->|"\{"| n46 - n27 -->|"\}"| n26 - n28 -->|"[^\s"/=>\\{]"| n28 - n28 -->|"\s"| n47 - n28 -->|"""| n7 - n28 -->|"\/"| n48 - n28 -->|"="| n49 - n28 -->|">"| n50 - n28 -->|"\\"| n51 - n28 -->|"\{"| n52 - n29 -->|"[^{}]"| n29 - n29 -->|"\}"| n21 - n30 -->|"[^\s/>{}]"| n21 - n30 -->|"\s"| n42 - n30 -->|"\/"| n43 - n30 -->|">"| n45 - n30 -->|"\{"| n29 - n30 -->|"\}"| n17 - n31 -->|"[^{}]"| n22 - n31 -->|"\{"| n53 - n31 -->|"\}"| n13 - n32 -->|"[^"\\{}]"| n32 - n32 -->|"""| n54 - n32 -->|"\\"| n55 - n32 -->|"\{"| n16 - n32 -->|"\}"| n22 - n33 -->|"[^{}]"| n33 - n33 -->|"\{"| n37 - n33 -->|"\}"| n13 - n34 -->|"[^\s/=>{}]"| n56 - n34 -->|"\s"| n34 - n34 -->|"\/"| n35 - n34 -->|"="| n33 - n34 -->|">"| n36 - n34 -->|"\{"| n57 - n34 -->|"\}"| n52 - n35 -->|"[^>{}]"| n33 - n35 -->|">"| n36 - n35 -->|"\{"| n37 - n35 -->|"\}"| n13 - n36 -->|"[^{}]"| n33 - n36 -->|"\{"| n37 - n36 -->|"\}"| n13 - n37 -->|"[^{}]"| n37 - n37 -->|"\{"| n29 - n37 -->|"\}"| n33 - n38 -->|"[^"\\{}]"| n38 - n38 -->|"""| n58 - n38 -->|"\\"| n59 - n38 -->|"\{"| n32 - n38 -->|"\}"| n16 - n39 -->|"[^\s/>{}]"| n60 - n39 -->|"\s"| n61 - n39 -->|"\/"| n62 - n39 -->|">"| n63 - n39 -->|"\{"| n37 - n39 -->|"\}"| n16 - n40 -->|"[^{}]"| n25 - n40 -->|"\{"| n38 - n40 -->|"\}"| n16 - n41 -->|"[^\s"'=>{}]"| n64 - n41 -->|"[\s'=>]"| n17 - n41 -->|"""| n13 - n41 -->|"\{"| n65 - n41 -->|"\}"| n66 - n42 -->|"[^\s/=>{}]"| n27 - n42 -->|"\s"| n42 - n42 -->|"\/"| n43 - n42 -->|"="| n21 - n42 -->|">"| n45 - n42 -->|"\{"| n46 - n42 -->|"\}"| n26 - n43 -->|"[^>{}]"| n21 - n43 -->|">"| n45 - n43 -->|"\{"| n29 - n43 -->|"\}"| n17 - n44 -->|"[^\s"'=>{}]"| n65 - n44 -->|"[\s'=>]"| n21 - n44 -->|"""| n22 - n44 -->|"\{"| n67 - n44 -->|"\}"| n64 - n45 -->|"[^{}]"| n21 - n45 -->|"\{"| n29 - n45 -->|"\}"| n17 - n46 -->|"[^\s/=>{}]"| n46 - n46 -->|"\s"| n68 - n46 -->|"\/"| n69 - n46 -->|"="| n70 - n46 -->|">"| n71 - n46 -->|"\{"| n7 - n46 -->|"\}"| n27 - n47 -->|"[^\s"/=>\\{]"| n28 - n47 -->|"\s"| n47 - n47 -->|"""| n7 - n47 -->|"\/"| n48 - n47 -->|"="| n10 - n47 -->|">"| n50 - n47 -->|"\\"| n51 - n47 -->|"\{"| n52 - n48 -->|"[^">\\{]"| n10 - n48 -->|"""| n11 - n48 -->|">"| n50 - n48 -->|"\\"| n12 - n48 -->|"\{"| n13 - n49 -->|"[^\s"'=>\\{]"| n66 - n49 -->|"[\s'=>]"| n10 - n49 -->|"""| n72 - n49 -->|"\\"| n73 - n49 -->|"\{"| n74 - n50 -->|"[^"\\{]"| n10 - n50 -->|"""| n11 - n50 -->|"\\"| n12 - n50 -->|"\{"| n13 - n51 -->|"[^\s/=>]"| n28 - n51 -->|"\s"| n47 - n51 -->|"\/"| n48 - n51 -->|"="| n49 - n51 -->|">"| n50 - n52 -->|"[^\s"/=>\\{}]"| n52 - n52 -->|"\s"| n75 - n52 -->|"""| n26 - n52 -->|"\/"| n76 - n52 -->|"="| n77 - n52 -->|">"| n78 - n52 -->|"\\"| n79 - n52 -->|"\{"| n80 - n52 -->|"\}"| n28 - n53 -->|"[^"\\{}]"| n53 - n53 -->|"""| n81 - n53 -->|"\\"| n82 - n53 -->|"\{"| n13 - n53 -->|"\}"| n22 - n54 -->|"[^\s/>{}]"| n83 - n54 -->|"\s"| n84 - n54 -->|"\/"| n85 - n54 -->|">"| n86 - n54 -->|"\{"| n21 - n54 -->|"\}"| n22 - n55 -->|"[^{}]"| n32 - n55 -->|"[{}]"| n22 - n56 -->|"[^\s/=>{}]"| n56 - n56 -->|"\s"| n34 - n56 -->|"\/"| n35 - n56 -->|"="| n87 - n56 -->|">"| n36 - n56 -->|"\{"| n57 - n56 -->|"\}"| n52 - n57 -->|"[^\s/=>{}]"| n57 - n57 -->|"\s"| n88 - n57 -->|"\/"| n89 - n57 -->|"="| n90 - n57 -->|">"| n91 - n57 -->|"\{"| n46 - n57 -->|"\}"| n56 - n58 -->|"[^\s/>{}]"| n37 - n58 -->|"\s"| n88 - n58 -->|"\/"| n89 - n58 -->|">"| n91 - n58 -->|"\{"| n29 - n58 -->|"\}"| n33 - n59 -->|"[^{}]"| n38 - n59 -->|"\{"| n53 - n59 -->|"\}"| n16 - n60 -->|"[^{}]"| n60 - n60 -->|"\{"| n37 - n60 -->|"\}"| n16 - n61 -->|"[^\s/=>{}]"| n92 - n61 -->|"\s"| n61 - n61 -->|"\/"| n62 - n61 -->|"="| n60 - n61 -->|">"| n63 - n61 -->|"\{"| n57 - n61 -->|"\}"| n80 - n62 -->|"[^>{}]"| n60 - n62 -->|">"| n63 - n62 -->|"\{"| n37 - n62 -->|"\}"| n16 - n63 -->|"[^{}]"| n60 - n63 -->|"\{"| n37 - n63 -->|"\}"| n16 - n64 -->|"[^\s"'=>{}]"| n64 - n64 -->|"\s"| n18 - n64 -->|"["'=]"| n17 - n64 -->|">"| n20 - n64 -->|"\{"| n65 - n64 -->|"\}"| n66 - n65 -->|"[^\s"'=>{}]"| n65 - n65 -->|"\s"| n42 - n65 -->|"["'=]"| n21 - n65 -->|">"| n45 - n65 -->|"\{"| n67 - n65 -->|"\}"| n64 - n66 -->|"[^\s"'=>\\{]"| n66 - n66 -->|"\s"| n47 - n66 -->|"""| n11 - n66 -->|"['=]"| n10 - n66 -->|">"| n50 - n66 -->|"\\"| n73 - n66 -->|"\{"| n74 - n67 -->|"[^\s"'=>{}]"| n67 - n67 -->|"\s"| n68 - n67 -->|"["'=]"| n29 - n67 -->|">"| n71 - n67 -->|"\{"| n9 - n67 -->|"\}"| n65 - n68 -->|"[^\s/=>{}]"| n46 - n68 -->|"\s"| n68 - n68 -->|"\/"| n69 - n68 -->|"="| n29 - n68 -->|">"| n71 - n68 -->|"\{"| n7 - n68 -->|"\}"| n27 - n69 -->|"[^>{}]"| n29 - n69 -->|">"| n71 - n69 -->|"\}"| n21 - n70 -->|"[^\s"'=>{}]"| n67 - n70 -->|"[\s'=>]"| n29 - n70 -->|"""| n53 - n70 -->|"\{"| n9 - n70 -->|"\}"| n65 - n71 -->|"[^{}]"| n29 - n71 -->|"\}"| n21 - n72 -->|"[^\s"/>\\{]"| n10 - n72 -->|"\s"| n47 - n72 -->|"""| n11 - n72 -->|"\/"| n48 - n72 -->|">"| n50 - n72 -->|"\\"| n12 - n72 -->|"\{"| n13 - n73 -->|"[^\s"'=>]"| n66 - n73 -->|"\s"| n47 - n73 -->|"["'=]"| n10 - n73 -->|">"| n50 - n74 -->|"[^\s"'=>\\{}]"| n74 - n74 -->|"\s"| n75 - n74 -->|"""| n14 - n74 -->|"['=]"| n13 - n74 -->|">"| n78 - n74 -->|"\\"| n93 - n74 -->|"\{"| n94 - n74 -->|"\}"| n66 - n75 -->|"[^\s"/=>\\{}]"| n52 - n75 -->|"\s"| n75 - n75 -->|"""| n26 - n75 -->|"\/"| n76 - n75 -->|"="| n13 - n75 -->|">"| n78 - n75 -->|"\\"| n79 - n75 -->|"\{"| n80 - n75 -->|"\}"| n28 - n76 -->|"[^">\\{}]"| n13 - n76 -->|"""| n14 - n76 -->|">"| n78 - n76 -->|"\\"| n15 - n76 -->|"\{"| n16 - n76 -->|"\}"| n10 - n77 -->|"[^\s"'=>\\{}]"| n74 - n77 -->|"[\s'=>]"| n13 - n77 -->|"""| n95 - n77 -->|"\\"| n93 - n77 -->|"\{"| n94 - n77 -->|"\}"| n66 - n78 -->|"[^"\\{}]"| n13 - n78 -->|"""| n14 - n78 -->|"\\"| n15 - n78 -->|"\{"| n16 - n78 -->|"\}"| n10 - n79 -->|"[^\s/=>{}]"| n52 - n79 -->|"\s"| n75 - n79 -->|"\/"| n76 - n79 -->|"="| n77 - n79 -->|">"| n78 - n79 -->|"\{"| n96 - n79 -->|"\}"| n28 - n80 -->|"[^\s"/=>\\{}]"| n80 - n80 -->|"\s"| n97 - n80 -->|"""| n56 - n80 -->|"\/"| n98 - n80 -->|"="| n99 - n80 -->|">"| n100 - n80 -->|"\\"| n101 - n80 -->|"\{"| n102 - n80 -->|"\}"| n52 - n81 -->|"[^\s/>{}]"| n29 - n81 -->|"\s"| n68 - n81 -->|"\/"| n69 - n81 -->|">"| n71 - n81 -->|"\}"| n21 - n82 -->|"[^{}]"| n53 - n82 -->|"\{"| n10 - n82 -->|"\}"| n22 - n83 -->|"[^{}]"| n83 - n83 -->|"\{"| n21 - n83 -->|"\}"| n22 - n84 -->|"[^\s/=>{}]"| n103 - n84 -->|"\s"| n84 - n84 -->|"\/"| n85 - n84 -->|"="| n83 - n84 -->|">"| n86 - n84 -->|"\{"| n27 - n84 -->|"\}"| n96 - n85 -->|"[^>{}]"| n83 - n85 -->|">"| n86 - n85 -->|"\{"| n21 - n85 -->|"\}"| n22 - n86 -->|"[^{}]"| n83 - n86 -->|"\{"| n21 - n86 -->|"\}"| n22 - n87 -->|"[^\s"'=>{}]"| n104 - n87 -->|"[\s'=>]"| n33 - n87 -->|"""| n16 - n87 -->|"\{"| n105 - n87 -->|"\}"| n74 - n88 -->|"[^\s/=>{}]"| n57 - n88 -->|"\s"| n88 - n88 -->|"\/"| n89 - n88 -->|"="| n37 - n88 -->|">"| n91 - n88 -->|"\{"| n46 - n88 -->|"\}"| n56 - n89 -->|"[^>{}]"| n37 - n89 -->|">"| n91 - n89 -->|"\{"| n29 - n89 -->|"\}"| n33 - n90 -->|"[^\s"'=>{}]"| n105 - n90 -->|"[\s'=>]"| n37 - n90 -->|"""| n38 - n90 -->|"\{"| n67 - n90 -->|"\}"| n104 - n91 -->|"[^{}]"| n37 - n91 -->|"\{"| n29 - n91 -->|"\}"| n33 - n92 -->|"[^\s/=>{}]"| n92 - n92 -->|"\s"| n61 - n92 -->|"\/"| n62 - n92 -->|"="| n106 - n92 -->|">"| n63 - n92 -->|"\{"| n57 - n92 -->|"\}"| n80 - n93 -->|"[^\s"'=>{}]"| n74 - n93 -->|"\s"| n75 - n93 -->|"["'=]"| n13 - n93 -->|">"| n78 - n93 -->|"\{"| n107 - n93 -->|"\}"| n66 - n94 -->|"[^\s"'=>\\{}]"| n94 - n94 -->|"\s"| n97 - n94 -->|"""| n23 - n94 -->|"['=]"| n16 - n94 -->|">"| n100 - n94 -->|"\\"| n108 - n94 -->|"\{"| n109 - n94 -->|"\}"| n74 - n95 -->|"[^\s"/>\\{}]"| n13 - n95 -->|"\s"| n75 - n95 -->|"""| n14 - n95 -->|"\/"| n76 - n95 -->|">"| n78 - n95 -->|"\\"| n15 - n95 -->|"\{"| n16 - n95 -->|"\}"| n10 - n96 -->|"[^\s"/=>\\{}]"| n96 - n96 -->|"\s"| n110 - n96 -->|"""| n27 - n96 -->|"\/"| n111 - n96 -->|"="| n112 - n96 -->|">"| n113 - n96 -->|"\\"| n114 - n96 -->|"\{"| n115 - n96 -->|"\}"| n52 - n97 -->|"[^\s"/=>\\{}]"| n80 - n97 -->|"\s"| n97 - n97 -->|"""| n56 - n97 -->|"\/"| n98 - n97 -->|"="| n16 - n97 -->|">"| n100 - n97 -->|"\\"| n101 - n97 -->|"\{"| n102 - n97 -->|"\}"| n52 - n98 -->|"[^">\\{}]"| n16 - n98 -->|"""| n23 - n98 -->|">"| n100 - n98 -->|"\\"| n24 - n98 -->|"\{"| n25 - n98 -->|"\}"| n13 - n99 -->|"[^\s"'=>\\{}]"| n94 - n99 -->|"[\s'=>]"| n16 - n99 -->|"""| n116 - n99 -->|"\\"| n108 - n99 -->|"\{"| n109 - n99 -->|"\}"| n74 - n100 -->|"[^"\\{}]"| n16 - n100 -->|"""| n23 - n100 -->|"\\"| n24 - n100 -->|"\{"| n25 - n100 -->|"\}"| n13 - n101 -->|"[^\s/=>{}]"| n80 - n101 -->|"\s"| n97 - n101 -->|"\/"| n98 - n101 -->|"="| n99 - n101 -->|">"| n100 - n101 -->|"\{"| n117 - n101 -->|"\}"| n52 - n102 -->|"[^\s"/=>\\}]"| n102 - n102 -->|"\s"| n118 - n102 -->|"""| n92 - n102 -->|"\/"| n119 - n102 -->|"="| n120 - n102 -->|">"| n121 - n102 -->|"\\"| n122 - n102 -->|"\}"| n80 - n103 -->|"[^\s/=>{}]"| n103 - n103 -->|"\s"| n84 - n103 -->|"\/"| n85 - n103 -->|"="| n123 - n103 -->|">"| n86 - n103 -->|"\{"| n27 - n103 -->|"\}"| n96 - n104 -->|"[^\s"'=>{}]"| n104 - n104 -->|"\s"| n34 - n104 -->|"["'=]"| n33 - n104 -->|">"| n36 - n104 -->|"\{"| n105 - n104 -->|"\}"| n74 - n105 -->|"[^\s"'=>{}]"| n105 - n105 -->|"\s"| n88 - n105 -->|"["'=]"| n37 - n105 -->|">"| n91 - n105 -->|"\{"| n67 - n105 -->|"\}"| n104 - n106 -->|"[^\s"'=>{}]"| n124 - n106 -->|"[\s'=>]"| n60 - n106 -->|"""| n25 - n106 -->|"\{"| n105 - n106 -->|"\}"| n94 - n107 -->|"[^\s"'=>\\{}]"| n107 - n107 -->|"\s"| n110 - n107 -->|"""| n30 - n107 -->|"['=]"| n22 - n107 -->|">"| n113 - n107 -->|"\\"| n125 - n107 -->|"\{"| n126 - n107 -->|"\}"| n74 - n108 -->|"[^\s"'=>{}]"| n94 - n108 -->|"\s"| n97 - n108 -->|"["'=]"| n16 - n108 -->|">"| n100 - n108 -->|"\{"| n127 - n108 -->|"\}"| n74 - n109 -->|"[^\s"'=>\\}]"| n109 - n109 -->|"\s"| n118 - n109 -->|"""| n39 - n109 -->|"['=]"| n25 - n109 -->|">"| n121 - n109 -->|"\\"| n128 - n109 -->|"\}"| n94 - n110 -->|"[^\s"/=>\\{}]"| n96 - n110 -->|"\s"| n110 - n110 -->|"""| n27 - n110 -->|"\/"| n111 - n110 -->|"="| n22 - n110 -->|">"| n113 - n110 -->|"\\"| n114 - n110 -->|"\{"| n115 - n110 -->|"\}"| n52 - n111 -->|"[^">\\{}]"| n22 - n111 -->|"""| n30 - n111 -->|">"| n113 - n111 -->|"\\"| n31 - n111 -->|"\{"| n32 - n111 -->|"\}"| n13 - n112 -->|"[^\s"'=>\\{}]"| n107 - n112 -->|"[\s'=>]"| n22 - n112 -->|"""| n129 - n112 -->|"\\"| n125 - n112 -->|"\{"| n126 - n112 -->|"\}"| n74 - n113 -->|"[^"\\{}]"| n22 - n113 -->|"""| n30 - n113 -->|"\\"| n31 - n113 -->|"\{"| n32 - n113 -->|"\}"| n13 - n114 -->|"[^\s/=>{}]"| n96 - n114 -->|"\s"| n110 - n114 -->|"\/"| n111 - n114 -->|"="| n112 - n114 -->|">"| n113 - n114 -->|"\{"| n130 - n114 -->|"\}"| n52 - n115 -->|"[^\s"/=>\\{}]"| n115 - n115 -->|"\s"| n131 - n115 -->|"""| n103 - n115 -->|"\/"| n132 - n115 -->|"="| n133 - n115 -->|">"| n134 - n115 -->|"\\"| n135 - n115 -->|"\{"| n80 - n115 -->|"\}"| n96 - n116 -->|"[^\s"/>\\{}]"| n16 - n116 -->|"\s"| n97 - n116 -->|"""| n23 - n116 -->|"\/"| n98 - n116 -->|">"| n100 - n116 -->|"\\"| n24 - n116 -->|"\{"| n25 - n116 -->|"\}"| n13 - n117 -->|"[^\s"/=>\\{}]"| n117 - n117 -->|"\s"| n136 - n117 -->|"""| n57 - n117 -->|"\/"| n137 - n117 -->|"="| n138 - n117 -->|">"| n139 - n117 -->|"\\"| n140 - n117 -->|"\{"| n115 - n117 -->|"\}"| n80 - n118 -->|"[^\s"/=>\\}]"| n102 - n118 -->|"\s"| n118 - n118 -->|"""| n92 - n118 -->|"\/"| n119 - n118 -->|"="| n25 - n118 -->|">"| n121 - n118 -->|"\\"| n122 - n118 -->|"\}"| n80 - n119 -->|"[^">\\}]"| n25 - n119 -->|"""| n39 - n119 -->|">"| n121 - n119 -->|"\\"| n40 - n119 -->|"\}"| n16 - n120 -->|"[^\s"'=>\\}]"| n109 - n120 -->|"[\s'=>]"| n25 - n120 -->|"""| n141 - n120 -->|"\\"| n128 - n120 -->|"\}"| n94 - n121 -->|"[^"\\}]"| n25 - n121 -->|"""| n39 - n121 -->|"\\"| n40 - n121 -->|"\}"| n16 - n122 -->|"[^\s/=>{}]"| n102 - n122 -->|"\s"| n118 - n122 -->|"\/"| n119 - n122 -->|"="| n120 - n122 -->|">"| n121 - n122 -->|"\{"| n117 - n122 -->|"\}"| n80 - n123 -->|"[^\s"'=>{}]"| n142 - n123 -->|"[\s'=>]"| n83 - n123 -->|"""| n32 - n123 -->|"\{"| n65 - n123 -->|"\}"| n107 - n124 -->|"[^\s"'=>{}]"| n124 - n124 -->|"\s"| n61 - n124 -->|"["'=]"| n60 - n124 -->|">"| n63 - n124 -->|"\{"| n105 - n124 -->|"\}"| n94 - n125 -->|"[^\s"'=>{}]"| n107 - n125 -->|"\s"| n110 - n125 -->|"["'=]"| n22 - n125 -->|">"| n113 - n125 -->|"\{"| n143 - n125 -->|"\}"| n74 - n126 -->|"[^\s"'=>\\{}]"| n126 - n126 -->|"\s"| n131 - n126 -->|"""| n54 - n126 -->|"['=]"| n32 - n126 -->|">"| n134 - n126 -->|"\\"| n144 - n126 -->|"\{"| n94 - n126 -->|"\}"| n107 - n127 -->|"[^\s"'=>\\{}]"| n127 - n127 -->|"\s"| n136 - n127 -->|"""| n58 - n127 -->|"['=]"| n38 - n127 -->|">"| n139 - n127 -->|"\\"| n145 - n127 -->|"\{"| n126 - n127 -->|"\}"| n94 - n128 -->|"[^\s"'=>{}]"| n109 - n128 -->|"\s"| n118 - n128 -->|"["'=]"| n25 - n128 -->|">"| n121 - n128 -->|"\{"| n127 - n128 -->|"\}"| n94 - n129 -->|"[^\s"/>\\{}]"| n22 - n129 -->|"\s"| n110 - n129 -->|"""| n30 - n129 -->|"\/"| n111 - n129 -->|">"| n113 - n129 -->|"\\"| n31 - n129 -->|"\{"| n32 - n129 -->|"\}"| n13 - n130 -->|"[^\s"/=>\\{}]"| n130 - n130 -->|"\s"| n146 - n130 -->|"""| n46 - n130 -->|"\/"| n147 - n130 -->|"="| n148 - n130 -->|">"| n149 - n130 -->|"\\"| n150 - n130 -->|"\{"| n52 - n130 -->|"\}"| n96 - n131 -->|"[^\s"/=>\\{}]"| n115 - n131 -->|"\s"| n131 - n131 -->|"""| n103 - n131 -->|"\/"| n132 - n131 -->|"="| n32 - n131 -->|">"| n134 - n131 -->|"\\"| n135 - n131 -->|"\{"| n80 - n131 -->|"\}"| n96 - n132 -->|"[^">\\{}]"| n32 - n132 -->|"""| n54 - n132 -->|">"| n134 - n132 -->|"\\"| n55 - n132 -->|"\{"| n16 - n132 -->|"\}"| n22 - n133 -->|"[^\s"'=>\\{}]"| n126 - n133 -->|"[\s'=>]"| n32 - n133 -->|"""| n151 - n133 -->|"\\"| n144 - n133 -->|"\{"| n94 - n133 -->|"\}"| n107 - n134 -->|"[^"\\{}]"| n32 - n134 -->|"""| n54 - n134 -->|"\\"| n55 - n134 -->|"\{"| n16 - n134 -->|"\}"| n22 - n135 -->|"[^\s/=>{}]"| n115 - n135 -->|"\s"| n131 - n135 -->|"\/"| n132 - n135 -->|"="| n133 - n135 -->|">"| n134 - n135 -->|"[{}]"| n96 - n136 -->|"[^\s"/=>\\{}]"| n117 - n136 -->|"\s"| n136 - n136 -->|"""| n57 - n136 -->|"\/"| n137 - n136 -->|"="| n38 - n136 -->|">"| n139 - n136 -->|"\\"| n140 - n136 -->|"\{"| n115 - n136 -->|"\}"| n80 - n137 -->|"[^">\\{}]"| n38 - n137 -->|"""| n58 - n137 -->|">"| n139 - n137 -->|"\\"| n59 - n137 -->|"\{"| n32 - n137 -->|"\}"| n16 - n138 -->|"[^\s"'=>\\{}]"| n127 - n138 -->|"[\s'=>]"| n38 - n138 -->|"""| n152 - n138 -->|"\\"| n145 - n138 -->|"\{"| n126 - n138 -->|"\}"| n94 - n139 -->|"[^"\\{}]"| n38 - n139 -->|"""| n58 - n139 -->|"\\"| n59 - n139 -->|"\{"| n32 - n139 -->|"\}"| n16 - n140 -->|"[^\s/=>{}]"| n117 - n140 -->|"\s"| n136 - n140 -->|"\/"| n137 - n140 -->|"="| n138 - n140 -->|">"| n139 - n140 -->|"\{"| n130 - n140 -->|"\}"| n80 - n141 -->|"[^\s"/>\\}]"| n25 - n141 -->|"\s"| n118 - n141 -->|"""| n39 - n141 -->|"\/"| n119 - n141 -->|">"| n121 - n141 -->|"\\"| n40 - n141 -->|"\}"| n16 - n142 -->|"[^\s"'=>{}]"| n142 - n142 -->|"\s"| n84 - n142 -->|"["'=]"| n83 - n142 -->|">"| n86 - n142 -->|"\{"| n65 - n142 -->|"\}"| n107 - n143 -->|"[^\s"'=>\\{}]"| n143 - n143 -->|"\s"| n146 - n143 -->|"""| n81 - n143 -->|"['=]"| n53 - n143 -->|">"| n149 - n143 -->|"\\"| n153 - n143 -->|"\{"| n74 - n143 -->|"\}"| n107 - n144 -->|"[^\s"'=>{}]"| n126 - n144 -->|"\s"| n131 - n144 -->|"["'=]"| n32 - n144 -->|">"| n134 - n144 -->|"[{}]"| n107 - n145 -->|"[^\s"'=>{}]"| n127 - n145 -->|"\s"| n136 - n145 -->|"["'=]"| n38 - n145 -->|">"| n139 - n145 -->|"\{"| n143 - n145 -->|"\}"| n94 - n146 -->|"[^\s"/=>\\{}]"| n130 - n146 -->|"\s"| n146 - n146 -->|"""| n46 - n146 -->|"\/"| n147 - n146 -->|"="| n53 - n146 -->|">"| n149 - n146 -->|"\\"| n150 - n146 -->|"\{"| n52 - n146 -->|"\}"| n96 - n147 -->|"[^">\\{}]"| n53 - n147 -->|"""| n81 - n147 -->|">"| n149 - n147 -->|"\\"| n82 - n147 -->|"\{"| n13 - n147 -->|"\}"| n22 - n148 -->|"[^\s"'=>\\{}]"| n143 - n148 -->|"[\s'=>]"| n53 - n148 -->|"""| n154 - n148 -->|"\\"| n153 - n148 -->|"\{"| n74 - n148 -->|"\}"| n107 - n149 -->|"[^"\\{}]"| n53 - n149 -->|"""| n81 - n149 -->|"\\"| n82 - n149 -->|"\{"| n13 - n149 -->|"\}"| n22 - n150 -->|"[^\s/=>{}]"| n130 - n150 -->|"\s"| n146 - n150 -->|"\/"| n147 - n150 -->|"="| n148 - n150 -->|">"| n149 - n150 -->|"\{"| n28 - n150 -->|"\}"| n96 - n151 -->|"[^\s"/>\\{}]"| n32 - n151 -->|"\s"| n131 - n151 -->|"""| n54 - n151 -->|"\/"| n132 - n151 -->|">"| n134 - n151 -->|"\\"| n55 - n151 -->|"\{"| n16 - n151 -->|"\}"| n22 - n152 -->|"[^\s"/>\\{}]"| n38 - n152 -->|"\s"| n136 - n152 -->|"""| n58 - n152 -->|"\/"| n137 - n152 -->|">"| n139 - n152 -->|"\\"| n59 - n152 -->|"\{"| n32 - n152 -->|"\}"| n16 - n153 -->|"[^\s"'=>{}]"| n143 - n153 -->|"\s"| n146 - n153 -->|"["'=]"| n53 - n153 -->|">"| n149 - n153 -->|"\{"| n66 - n153 -->|"\}"| n107 - n154 -->|"[^\s"/>\\{}]"| n53 - n154 -->|"\s"| n146 - n154 -->|"""| n81 - n154 -->|"\/"| n147 - n154 -->|">"| n149 - n154 -->|"\\"| n82 - n154 -->|"\{"| n13 - n154 -->|"\}"| n22 -`; - -module.exports[n`toMermaid >> from regexes >> ENFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8((8)) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18(((18))) - n19((19)) - n20((20)) - n21((21)) - n22((22)) - n23((23)) - n24((24)) - n25((25)) - n26((26)) - n27((27)) - n28((28)) - n29((29)) - n30((30)) - n31((31)) - n32((32)) - n33((33)) - n34((34)) - n35((35)) - n36((36)) - n37((37)) - n38((38)) - n39((39)) - n40((40)) - n41((41)) - n42((42)) - n43((43)) - n44((44)) - n45((45)) - n46((46)) - n47((47)) - n48((48)) - n49((49)) - n50((50)) - n51((51)) - n52((52)) - -%% edges - null -.-> n0 - n0 -->|"<"| n1 - n1 -->|"(1) \/"| n2 - n1 --->|"(2) "| n3 - n2 -->| | n3 - n3 -->|"[^\s\d$%/<=>]"| n4 - n4 -->|"(1) "| n5 - n4 --->|"(2) "| n6 - n5 -->|"[^\s$%/<=>]"| n7 - n6 -->|"(1) "| n8 - n6 --->|"(2) "| n9 - n7 -->|"(1) "| n5 - n7 --->|"(2) "| n6 - n8 -->| | n10 - n9 -->|"(1) "| n11 - n9 --->|"(2) "| n12 - n10 -->|"\s"| n13 - n11 -->|"\s"| n14 - n12 -->|"(1) \/"| n15 - n12 --->|"(2) "| n16 - n13 -->|"(1) "| n10 - n13 --->|"(2) "| n17 - n14 -->|"(1) "| n11 - n14 --->|"(2) "| n12 - n15 -->| | n16 - n16 -->|">"| n18 - n17 -->| | n19 - n19 -->|"[^\s/=>]"| n20 - n20 -->|"(1) "| n19 - n20 --->|"(2) "| n21 - n21 -->|"(1) ="| n22 - n21 --->|"(2) "| n23 - n22 -->|"(1) ""| n24 - n22 --->|"(2) "| n25 - n23 -->|"(1) "| n8 - n23 --->|"(2) "| n9 - n24 -->|"(1) "| n26 - n24 --->|"(2) "| n27 - n25 -->|"[^\s"'=>]"| n28 - n26 -->|"(1) \\"| n29 - n26 --->|"(2) \{"| n30 - n26 ---->|"(3) [^"\\]"| n31 - n27 -->|"""| n32 - n28 -->|"(1) "| n25 - n28 --->|"(2) "| n33 - n29 -->|"[^]"| n34 - n30 -->| | n35 - n31 -->| | n36 - n32 -->| | n37 - n33 -->| | n37 - n34 -->| | n36 - n35 -->|"(1) \{"| n38 - n35 --->|"(2) [^{}]"| n39 - n36 -->|"(1) "| n26 - n36 --->|"(2) "| n27 - n37 -->| | n23 - n38 -->|"(1) "| n40 - n38 --->|"(2) "| n41 - n39 -->| | n42 - n40 -->|"(1) \{"| n43 - n40 --->|"(2) [^{}]"| n44 - n41 -->|"\}"| n45 - n42 -->|"(1) "| n35 - n42 --->|"(2) "| n46 - n43 -->|"(1) "| n47 - n43 --->|"(2) "| n48 - n44 -->| | n49 - n45 -->| | n42 - n46 -->|"\}"| n50 - n47 -->|"[^{}]"| n51 - n48 -->|"\}"| n52 - n49 -->|"(1) "| n40 - n49 --->|"(2) "| n41 - n50 -->| | n36 - n51 -->|"(1) "| n47 - n51 --->|"(2) "| n48 - n52 -->| | n49 -`; - -module.exports[n`toMermaid >> from regexes >> NFA (JS): /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/ `] = lit` -flowchart LR -%% nodes - null(( )) - n0((0)) - n1((1)) - n2((2)) - n3((3)) - n4((4)) - n5((5)) - n6((6)) - n7((7)) - n8(((8))) - n9((9)) - n10((10)) - n11((11)) - n12((12)) - n13((13)) - n14((14)) - n15((15)) - n16((16)) - n17((17)) - n18((18)) - n19((19)) - n20((20)) - n21((21)) - -%% edges - null -.-> n0 - n0 -->|"<"| n1 - n1 -->|"\/"| n2 - n1 -->|"[^\s\d$%/<=>]"| n3 - n2 -->|"[^\s\d$%/<=>]"| n3 - n3 -->|"[^\s$%/<=>]"| n4 - n3 -->|"\s"| n5 - n3 -->|"\s"| n6 - n3 -->|"\/"| n7 - n3 -->|">"| n8 - n4 -->|"[^\s$%/<=>]"| n4 - n4 -->|"\s"| n5 - n4 -->|"\s"| n6 - n4 -->|"\/"| n7 - n4 -->|">"| n8 - n5 -->|"\s"| n5 - n5 -->|"[^\s/=>]"| n9 - n6 -->|"\s"| n6 - n6 -->|"\/"| n7 - n6 -->|">"| n8 - n7 -->|">"| n8 - n9 -->|"[^\s/=>]"| n9 - n9 -->|"="| n10 - n9 -->|"\s"| n5 - n9 -->|"\s"| n6 - n9 -->|"\/"| n7 - n9 -->|">"| n8 - n10 -->|"""| n11 - n10 -->|"[^\s"'=>]"| n12 - n11 -->|"\\"| n13 - n11 -->|"\{"| n14 - n11 -->|"[^"\\]"| n15 - n11 -->|"""| n16 - n12 -->|"[^\s"'=>]"| n12 - n12 -->|"\s"| n5 - n12 -->|"\s"| n6 - n12 -->|"\/"| n7 - n12 -->|">"| n8 - n13 -->|"[^]"| n15 - n14 -->|"\{"| n17 - n14 -->|"[^{}]"| n18 - n15 -->|"\\"| n13 - n15 -->|"\{"| n14 - n15 -->|"[^"\\]"| n15 - n15 -->|"""| n16 - n16 -->|"\s"| n5 - n16 -->|"\s"| n6 - n16 -->|"\/"| n7 - n16 -->|">"| n8 - n17 -->|"\{"| n19 - n17 -->|"[^{}]"| n20 - n17 -->|"\}"| n18 - n18 -->|"\{"| n17 - n18 -->|"[^{}]"| n18 - n18 -->|"\}"| n15 - n19 -->|"[^{}]"| n21 - n19 -->|"\}"| n20 - n20 -->|"\{"| n19 - n20 -->|"[^{}]"| n20 - n20 -->|"\}"| n18 - n21 -->|"[^{}]"| n21 - n21 -->|"\}"| n20 -`; diff --git a/tests/iter/__snapshots__/word-sets.ts b/tests/iter/__snapshots__/word-sets.ts deleted file mode 100644 index 15815edb..00000000 --- a/tests/iter/__snapshots__/word-sets.ts +++ /dev/null @@ -1,1028 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[]/ `] = lit` - -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[^]?/ `] = lit` -[] -["0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[^]*/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -["0-ffff"] -["64"] -["62"] -["61-62","0-ffff"] -["63","0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","61"] -["0-ffff","62"] -["64","64"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[^]+/ `] = lit` -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /[^]{0,5}/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a|b/ `] = lit` -["61-62"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /aa|b/ `] = lit` -["62"] -["61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /ab|ba/ `] = lit` -["61","62"] -["62","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a+/ `] = lit` -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a*/ `] = lit` -[] -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a*b*c*/ `] = lit` -[] -["61"] -["62"] -["63"] -["61","61"] -["61","62"] -["61","63"] -["62","62"] -["62","63"] -["63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a+b*c+/ `] = lit` -["61","63"] -["61","61","63"] -["61","62","63"] -["61","63","63"] -["61","61","61","63"] -["61","61","62","63"] -["61","61","63","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a+b+c+/ `] = lit` -["61","62","63"] -["61","61","62","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","61","61","62","63"] -["61","61","62","62","63"] -["61","61","62","63","63"] -["61","62","62","62","63"] -["61","62","62","63","63"] -["61","62","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -["61","61"] -["61","64"] -["61","65"] -["61","61","61"] -["61","61","64"] -["61","61","65"] -["61","64","64"] -["61","65","65"] -["61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> NFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -["30-39","30-39"] -["30-39","2e"] -["2e","30-39"] -["30-39","30-39","30-39"] -["30-39","30-39","2e"] -["30-39","2e","30-39"] -["30-39","45 65","30-39"] -["2e","30-39","30-39"] -["30-39","30-39","30-39","30-39"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[]/ `] = lit` - -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[^]?/ `] = lit` -[] -["0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[^]*/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -["0-ffff"] -["64"] -["62"] -["61-62","0-ffff"] -["63","0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","61"] -["0-ffff","62"] -["64","64"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[^]+/ `] = lit` -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /[^]{0,5}/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a|b/ `] = lit` -["61"] -["62"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /aa|b/ `] = lit` -["62"] -["61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /ab|ba/ `] = lit` -["61","62"] -["62","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a+/ `] = lit` -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a*/ `] = lit` -[] -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a*b*c*/ `] = lit` -[] -["61"] -["62"] -["63"] -["61","61"] -["61","62"] -["61","63"] -["62","62"] -["62","63"] -["63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a+b*c+/ `] = lit` -["61","63"] -["61","61","63"] -["61","62","63"] -["61","63","63"] -["61","61","61","63"] -["61","61","62","63"] -["61","61","63","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a+b+c+/ `] = lit` -["61","62","63"] -["61","61","62","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","61","61","62","63"] -["61","61","62","62","63"] -["61","61","62","63","63"] -["61","62","62","62","63"] -["61","62","62","63","63"] -["61","62","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -["61","61"] -["61","64"] -["61","65"] -["61","61","61"] -["61","61","64"] -["61","61","65"] -["61","64","64"] -["61","65","65"] -["61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> ENFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -["30-39","30-39"] -["30-39","2e"] -["2e","30-39"] -["30-39","30-39","30-39"] -["30-39","30-39","2e"] -["30-39","2e","30-39"] -["30-39","45 65","30-39"] -["2e","30-39","30-39"] -["30-39","30-39","30-39","30-39"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[]/ `] = lit` - -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[^]?/ `] = lit` -[] -["0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[^]*/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -["0-60 65-ffff"] -["61"] -["62"] -["63"] -["64"] -["0-60 65-ffff","0-60 63-ffff"] -["0-60 65-ffff","61"] -["0-60 65-ffff","62"] -["61","0-60 64-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[^]+/ `] = lit` -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /[^]{0,5}/ `] = lit` -[] -["0-ffff"] -["0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff"] -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a|b/ `] = lit` -["61-62"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /aa|b/ `] = lit` -["62"] -["61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /ab|ba/ `] = lit` -["61","62"] -["62","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a+/ `] = lit` -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a*/ `] = lit` -[] -["61"] -["61","61"] -["61","61","61"] -["61","61","61","61"] -["61","61","61","61","61"] -["61","61","61","61","61","61"] -["61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61"] -["61","61","61","61","61","61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a*b*c*/ `] = lit` -[] -["61"] -["62"] -["63"] -["61","61"] -["61","62"] -["61","63"] -["62","62"] -["62","63"] -["63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a+b*c+/ `] = lit` -["61","63"] -["61","61","63"] -["61","62","63"] -["61","63","63"] -["61","61","61","63"] -["61","61","62","63"] -["61","61","63","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a+b+c+/ `] = lit` -["61","62","63"] -["61","61","62","63"] -["61","62","62","63"] -["61","62","63","63"] -["61","61","61","62","63"] -["61","61","62","62","63"] -["61","61","62","63","63"] -["61","62","62","62","63"] -["61","62","62","63","63"] -["61","62","63","63","63"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -["61","61"] -["61","64"] -["61","65"] -["61","61","61"] -["61","61","64"] -["61","61","65"] -["61","64","64"] -["61","65","65"] -["61","61","61","61"] -`; - -module.exports[n`word sets >> iterateWordSets >> DFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -["2e","30-39"] -["30-39","2e"] -["30-39","30-39"] -["2e","30-39","30-39"] -["30-39","2e","30-39"] -["30-39","30-39","2e"] -["30-39","30-39","30-39"] -["30-39","45 65","30-39"] -["2e","30-39","30-39","30-39"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[]/ `] = lit` -none -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[^]?/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[^]*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[^]+/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /[^]{0,5}/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a|b/ `] = lit` -["61-62"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /aa|b/ `] = lit` -["62"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /ab|ba/ `] = lit` -["61","62"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a+/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a*b*c*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a+b*c+/ `] = lit` -["61","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a+b+c+/ `] = lit` -["61","62","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> NFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[]/ `] = lit` -none -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[^]?/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[^]*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[^]+/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /[^]{0,5}/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a|b/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /aa|b/ `] = lit` -["62"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /ab|ba/ `] = lit` -["61","62"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a+/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a*b*c*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a+b*c+/ `] = lit` -["61","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a+b+c+/ `] = lit` -["61","62","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> ENFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[]/ `] = lit` -none -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[^]?/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[^]*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[^]+/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /[^]{0,5}/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a|b/ `] = lit` -["61-62"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /aa|b/ `] = lit` -["62"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /ab|ba/ `] = lit` -["61","62"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a+/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a*b*c*/ `] = lit` -[] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a+b*c+/ `] = lit` -["61","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a+b+c+/ `] = lit` -["61","62","63"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /a+(?:d+|e+)?/ `] = lit` -["61"] -`; - -module.exports[n`word sets >> shortestWordSet >> DFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -["30-39"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[]/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /(?:)/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[^]?/ `] = lit` -["0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[^]*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[^]+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /[^]{0,5}/ `] = lit` -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /aa|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /ab|ba/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a*/ `] = lit` -["0-60 62-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a*b*c*/ `] = lit` -["0-60 64-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a+b*c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a+b+c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /a+(?:d+|e+)?/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> NFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[]/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /(?:)/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[^]?/ `] = lit` -["0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[^]*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[^]+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /[^]{0,5}/ `] = lit` -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /aa|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /ab|ba/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a*/ `] = lit` -["0-60 62-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a*b*c*/ `] = lit` -["0-60 64-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a+b*c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a+b+c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /a+(?:d+|e+)?/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> ENFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[]/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /(?:)/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[^]?/ `] = lit` -["0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[^]*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[^]+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /[^]{0,5}/ `] = lit` -["0-ffff","0-ffff","0-ffff","0-ffff","0-ffff","0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /aa|b/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /ab|ba/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a*/ `] = lit` -["0-60 62-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a*b*c*/ `] = lit` -["0-60 64-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a+b*c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a+b+c+/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /a+(?:d+|e+)?/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[]/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /(?:)/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[^]?/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[^]*/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[ab]{0,7}c?[^]+a*b?|d*b*/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[^]+/ `] = lit` -["0-ffff"] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /[^]{0,5}/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a|b/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /aa|b/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /ab|ba/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a+/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a*/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a*b*c*/ `] = lit` -[] -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a+b*c+/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a+b+c+/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /a+(?:d+|e+)?/ `] = lit` -none -`; - -module.exports[n`word sets >> approximateRejectingWordSet >> DFA complement >> /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i `] = lit` -none -`; diff --git a/tests/iter/from-words.ts b/tests/iter/from-words.ts deleted file mode 100644 index ac1ff126..00000000 --- a/tests/iter/from-words.ts +++ /dev/null @@ -1,163 +0,0 @@ -import { assert } from "chai"; -import { CharSet } from "../../src/char-set"; -import { ReadonlyWord } from "../../src/char-types"; -import { DFA } from "../../src/dfa"; -import { ENFA } from "../../src/enfa"; -import { TransitionIterable } from "../../src/fa-types"; -import { fromWordSets, fromWords } from "../../src/iter"; -import { Parser } from "../../src/js"; -import { NFA } from "../../src/nfa"; -import { ReadonlyWordSet, WordSet } from "../../src/word-set"; -import { fromStringToUnicode } from "../../src/words"; -import { assertEqualSnapshot } from "../helper/snapshot"; - -const WORDS_LIST: string[][] = [ - [], - [""], - ["", "a"], - ["", "a", "aa", "", "a", "aa"], - "foo bar foo bar baz food".split(/\s/g), - " a b c d e f g".split(/\s/g), - "a b ab ba aa bb aaa aab aba abb baa bab bba bbb".split(/\s/g), -]; - -const WORD_SETS_LIST: RegExp[] = [ - /[]/u, - /||||/u, - /a|b|c|abc|bca|cba|cab|aa|caa/i, - /|a|b|c|abc|bca|cba|cab|aa|caa/i, - /foo|food|bar|bar|\wd|\d\w/, -]; - -describe(fromWords.name, function () { - function getNFA(words: Iterable, maxCharacter: number): NFA { - const total = NFA.empty({ maxCharacter }); - - for (const word of words) { - const w = NFA.fromTransitionIterator( - { - initial: 0, - getOut: s => { - const out = new Map(); - if (s < word.length) { - out.set(s + 1, CharSet.fromCharacters(maxCharacter, [word[s]])); - } - return out; - }, - isFinal: s => s === word.length, - }, - { maxCharacter } - ); - total.union(w); - } - - return total; - } - - function test(getActual: (words: Iterable, maxCharacter: number) => DFA | NFA | ENFA): void { - const maxCharacter = 0x10ffff; - for (const wordStrings of WORDS_LIST) { - it(JSON.stringify(wordStrings), function () { - const words = wordStrings.map(fromStringToUnicode); - const fa = getActual(words, maxCharacter); - - // assert FA - assertEqualSnapshot(this, fa.toString()); - - // compare language - const actual = DFA.fromFA(fa as TransitionIterable); - const expected = DFA.fromFA(getNFA(words, maxCharacter)); - actual.minimize(); - expected.minimize(); - assert.strictEqual(actual.toString(), expected.toString()); - }); - } - } - - describe("DFA", function () { - test((words, maxCharacter) => DFA.fromWords(words, { maxCharacter })); - }); - - describe("ENFA", function () { - test((words, maxCharacter) => ENFA.fromWords(words, { maxCharacter })); - }); - - describe("NFA", function () { - test((words, maxCharacter) => NFA.fromWords(words, { maxCharacter })); - }); -}); - -describe(fromWordSets.name, function () { - function getNFA(wordSets: Iterable, maxCharacter: number): NFA { - const total = NFA.empty({ maxCharacter }); - - for (const wordSet of wordSets) { - const w = NFA.fromTransitionIterator( - { - initial: 0, - getOut: s => { - const out = new Map(); - if (s < wordSet.length) { - out.set(s + 1, wordSet[s]); - } - return out; - }, - isFinal: s => s === wordSet.length, - }, - { maxCharacter } - ); - total.union(w); - } - - return total; - } - - function test(getActual: (wordSets: Iterable, maxCharacter: number) => DFA | NFA | ENFA): void { - for (const regex of WORD_SETS_LIST) { - it(regex.toString(), function () { - const { expression, maxCharacter } = Parser.fromLiteral(regex).parse(); - const wordSets: WordSet[] = []; - - for (const alt of expression.alternatives) { - const wordSet: WordSet = []; - for (const e of alt.elements) { - if (e.type === "CharacterClass") { - if (e.characters.isEmpty) { - continue; - } else { - wordSet.push(e.characters); - } - } else { - throw new Error("Unexpected element. Only characters are supported"); - } - } - wordSets.push(wordSet); - } - - const fa = getActual(wordSets, maxCharacter); - - // assert FA - assertEqualSnapshot(this, fa.toString()); - - // compare language - const actual = DFA.fromFA(fa as TransitionIterable); - const expected = DFA.fromFA(getNFA(wordSets, maxCharacter)); - actual.minimize(); - expected.minimize(); - assert.strictEqual(actual.toString(), expected.toString()); - }); - } - } - - describe("DFA", function () { - test((wordSets, maxCharacter) => DFA.fromWordSets(wordSets, { maxCharacter })); - }); - - describe("ENFA", function () { - test((wordSets, maxCharacter) => ENFA.fromWordSets(wordSets, { maxCharacter })); - }); - - describe("NFA", function () { - test((wordSets, maxCharacter) => NFA.fromWordSets(wordSets, { maxCharacter })); - }); -}); diff --git a/tests/iter/to-dot.ts b/tests/iter/to-dot.ts deleted file mode 100644 index da4631f5..00000000 --- a/tests/iter/to-dot.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { CharSet } from "../../src/char-set"; -import { toLiteral } from "../../src/js"; -import { literalToDFA, literalToENFA, literalToNFA, literalToString } from "../helper/fa"; -import { assertEqualSnapshot } from "../helper/snapshot"; - -describe("toDot", function () { - describe("from regexes", function () { - const regexes: RegExp[] = [ - /a/, - /abc/i, - /a*b+c*/, - /\d+(?:\.\d+)?(?:e[+-]?\d+)/i, - /\/\*[\s\S]*?\*\//, - /((ab)+){3,}/, - // We need to escape the front slashes here to workaround a NodeJS <= v10 bug. - // eslint-disable-next-line no-useless-escape - /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/, - ]; - - const toStringFuncs: { name: string; fn?: (cs: CharSet) => string }[] = [ - { name: "default" }, - { - name: "JS", - fn(cs) { - return toLiteral( - { type: "Concatenation", elements: [{ type: "CharacterClass", characters: cs }] }, - { flags: { ignoreCase: false, dotAll: false } } - ).source; - }, - }, - ]; - - for (const re of regexes) { - for (const { name, fn } of toStringFuncs) { - it(`DFA (${name}): ${literalToString(re)}`, function () { - const dfa = literalToDFA(re); - dfa.minimize(); - assertEqualSnapshot(this, dfa.toDot(fn)); - }); - it(`ENFA (${name}): ${literalToString(re)}`, function () { - assertEqualSnapshot(this, literalToENFA(re).toDot(fn)); - }); - it(`NFA (${name}): ${literalToString(re)}`, function () { - assertEqualSnapshot(this, literalToNFA(re).toDot(fn)); - }); - } - } - }); -}); diff --git a/tests/iter/to-mermaid.ts b/tests/iter/to-mermaid.ts deleted file mode 100644 index 9fe4de73..00000000 --- a/tests/iter/to-mermaid.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { CharSet } from "../../src/char-set"; -import { toLiteral } from "../../src/js"; -import { literalToDFA, literalToENFA, literalToNFA, literalToString } from "../helper/fa"; -import { assertEqualSnapshot } from "../helper/snapshot"; - -describe("toMermaid", function () { - describe("from regexes", function () { - const regexes: RegExp[] = [ - /a/, - /abc/i, - /a*b+c*/, - /\d+(?:\.\d+)?(?:e[+-]?\d+)/i, - /\/\*[\s\S]*?\*\//, - /((ab)+){3,}/, - // We need to escape the front slashes here to workaround a NodeJS <= v10 bug. - // eslint-disable-next-line no-useless-escape - /<\/?[^\s\d>\/=$<%][^\s>\/=$<%]*(?:\s+[^\s>\/=]+(?:=(?:"(?:\\[\s\S]|{(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|[^\\"])*"|[^\s'">=]+))?)*\s*\/?>/, - ]; - - const toStringFuncs: { name: string; fn?: (cs: CharSet) => string }[] = [ - { name: "default" }, - { - name: "JS", - fn(cs) { - return toLiteral( - { type: "Concatenation", elements: [{ type: "CharacterClass", characters: cs }] }, - { flags: { ignoreCase: false, dotAll: false } } - ).source; - }, - }, - ]; - - for (const re of regexes) { - for (const { name, fn } of toStringFuncs) { - it(`DFA (${name}): ${literalToString(re)}`, function () { - const dfa = literalToDFA(re); - dfa.minimize(); - assertEqualSnapshot(this, dfa.toMermaid(fn)); - }); - it(`ENFA (${name}): ${literalToString(re)}`, function () { - assertEqualSnapshot(this, literalToENFA(re).toMermaid(fn)); - }); - it(`NFA (${name}): ${literalToString(re)}`, function () { - assertEqualSnapshot(this, literalToNFA(re).toMermaid(fn)); - }); - } - } - }); -}); diff --git a/tests/iter/to-regex.ts b/tests/iter/to-regex.ts deleted file mode 100644 index f7c6ab08..00000000 --- a/tests/iter/to-regex.ts +++ /dev/null @@ -1,163 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { assert } from "chai"; -import { faEqual, literalToENFA, literalToNFA, literalToString } from "../helper/fa"; -import { Literal, toLiteral } from "../../src/js"; -import { NFA } from "../../src/nfa"; -import { FiniteAutomaton, ToRegexOptions, TransitionIterable } from "../../src/fa-types"; - -describe("toRegex", function () { - describe("Literals", function () { - test([ - { - literal: /a+/, - expected: String.raw`/a+/`, - }, - { - literal: /a+/, - options: { maxOptimizationPasses: 0 }, - expected: String.raw`/a+/`, - }, - { - literal: /a+a+a*/, - expected: String.raw`/a{2,}/`, - }, - { - literal: /a+ba+/, - expected: String.raw`/a+ba+/`, - }, - { - literal: /a{2,}b*a{2,}/, - expected: String.raw`/a{2,}b*a{2,}/`, - }, - { - literal: /(?:a+b+|a)/, - expected: String.raw`/a(?:a*b+)?/`, - }, - { - literal: /(?:a+b+|a*)/, - expected: String.raw`/(?:a+b*)?/`, - }, - { - literal: /(?:a+b+|a*)/, - toFA: literalToENFA, - expected: String.raw`/a*(?:ab+)?/`, - }, - { - literal: /\d+(?:\.\d*)?(?:[eE][+-]\d+)?/, - expected: String.raw`/\d+(?:(?:\.|(?:\.\d*)?E[-+]\d)\d*)?/i`, - }, - { - literal: /\d+(?:\.\d*)?(?:[eE][+-]\d+)?/, - toFA: literalToENFA, - expected: String.raw`/\d+(?:\.\d*)?(?:E[-+]\d+)?/i`, - }, - { - literal: /\d+(?:\.\d*)?(?:[eE][+-]\d+)?/, - options: { maxOptimizationPasses: 0 }, - expected: String.raw`/\d+(?:\.\d*|(?:|\.(?:|\d+))E[-+]\d+)?/i`, - }, - { - literal: /\d+(?:\.\d*)?(?:[eE][+-]\d+)?/, - options: { maxOptimizationPasses: 0 }, - toFA: literalToENFA, - expected: String.raw`/\d+(?:|\.(?:|\d+))(?:E[-+]\d+)?/i`, - }, - ]); - - interface TestCase { - literal: Literal; - options?: ToRegexOptions; - toFA?: (literal: Literal) => FiniteAutomaton & TransitionIterable; - expected: string; - } - - function test(cases: TestCase[]): void { - for (const { literal, options, expected, toFA } of cases) { - it(literalToString(literal), function () { - const nfa = (toFA ?? literalToNFA)(literal); - const re = nfa.toRegex(options); - const actual = toLiteral(re); - assert.strictEqual(`/${actual.source}/${actual.flags}`, expected); - assert.isTrue(faEqual(nfa, NFA.fromRegex(re, nfa))); - assert.isTrue(faEqual(nfa, literalToNFA(actual))); - }); - } - } - }); - - describe("Intersections", function () { - test([ - { - literals: [/a+/, /a*/], - expected: String.raw`/a+/`, - }, - { - literals: [/a+ba*|cbc/, /a*ba+/], - expected: String.raw`/a+ba+/`, - }, - { - literals: [/\s\.\s|[a.]*\.[a.]+/, /[a.]+\.[a.]*/], - expected: String.raw`/(?:\.[.a]*\.|[.a]+\.(?:(?:[.a]*\.)?[.a]|[.a]*\.))[.a]*/`, - }, - { - literals: [/[&.]*\.[&.]+/, /[&.]+\.[&.]*/], - expected: String.raw`/[&.]*(?:[&.]\.(?:[&.]*\.)?[&.]|\.[&.]*\.)[&.]*/`, - }, - { - literals: [ - /(?:#d(?:#[ei])?|#[ei](?:#d)?)?[+-]?(?:(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)(?:[+-](?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[eE][+-]?\d+)?|\d+\/\d+)i)/, - /(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[+-]?(?:[\da-fA-F]+(?:\/[\da-fA-F]+)?(?:[+-][\da-fA-F]+(?:\/[\da-fA-F]+)?i)?|[\da-fA-F]+(?:\/[\da-fA-F]+)?i)/, - ], - expected: String.raw`/#[ei][-+]?\d+(?:[Ee]\d+|(?:(?:[Ee][-+]?|\/)\d+|(?:[Ee]\d+)?[-+]\d+(?:[/Ee]\d+)?)?i|\/\d+(?:[-+]\d+(?:[/Ee]\d+)?i)?)?/`, - }, - ]); - - interface TestCase { - literals: readonly Literal[]; - options?: ToRegexOptions; - expected: string; - } - - function test(cases: TestCase[]): void { - for (const { literals, options, expected } of cases) { - it(literals.map(literalToString).join(" ∩ "), function () { - let inter = literalToNFA(literals[0]); - for (let i = 1; i < literals.length; i++) { - inter = NFA.fromIntersection(inter, literalToNFA(literals[i])); - } - - const re = inter.toRegex(options); - const actual = toLiteral(re); - assert.strictEqual(`/${actual.source}/${actual.flags}`, expected); - assert.isTrue(faEqual(inter, NFA.fromRegex(re, inter))); - assert.isTrue(faEqual(inter, literalToNFA(actual))); - }); - } - } - }); - - it("should limit the number of AST nodes", function () { - this.timeout(60 * 1000); - this.slow(1000); - - const a = literalToNFA( - // eslint-disable-next-line max-len - /\\.|\$\{(?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^<()"']|\((?:[^\s\S])*\)|<#--(?:[^-])*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<#--(?:[^-])*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<#--(?:[^-])*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*\)|<#--(?:[^-])*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*')*?\}/ - ); - const b = a.copy(); - b.quantify(2, Infinity); - - // This intersection has about 1500 states but it seems to be some kind of worst case of the state elimination - // method that powers toRegex. - const i = NFA.fromIntersection(a, b); - - assert.throws(() => i.toRegex()); // safe by default - assert.throws(() => i.toRegex({ maxNodes: 10_000 })); // default value - assert.throws(() => i.toRegex({ maxNodes: 100_000 })); - assert.throws(() => i.toRegex({ maxNodes: 1_000_000 })); - // disabled so tests run faster - // assert.throws(() => i.toRegex({ maxNodes: 10_000_000 })); - - // increasing by another order of magnitude causes NodeJS to crash on my computer - }); -}); diff --git a/tests/iter/word-sets.ts b/tests/iter/word-sets.ts deleted file mode 100644 index e45c3276..00000000 --- a/tests/iter/word-sets.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { CharSet } from "../../src/char-set"; -import { WordSet } from "../../src/word-set"; -import { TransitionIterable } from "../../src/fa-types"; -import { approximateRejectingWordSet, iterateWordSets, shortestWordSet } from "../../src/iter"; -import { literalToDFA, literalToENFA, literalToNFA } from "../helper/fa"; -import { assertEqualSnapshot } from "../helper/snapshot"; - -describe("word sets", function () { - const regexes: RegExp[] = [ - /[]/, - /(?:)/, - /[^]?/, - /[^]*/, - /[ab]{0,7}c?[^]+a*b?|d*b*/, // == [^]* - /[^]+/, - /[^]{0,5}/, - /a/, - /a|b/, - /aa|b/, - /ab|ba/, - /a+/, - /a*/, - /a*b*c*/, - /a+b*c+/, - /a+b+c+/, - /a+(?:d+|e+)?/, - /(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i, - ]; - - function wordSetToString(wordSet: WordSet): string { - return JSON.stringify(wordSet.map(rangesToString)); - } - - function firstN(iter: Iterable, n: number): T[] { - const result: T[] = []; - - for (const item of iter) { - result.push(item); - if (result.length >= n) { - break; - } - } - - return result; - } - - describe(iterateWordSets.name, function () { - function runTests(name: string, toFA: (regex: RegExp) => TransitionIterable): void { - describe(name, function () { - for (const regex of regexes) { - it(`${regex}`, function () { - const fa = toFA(regex); - const wordSets = firstN(iterateWordSets(fa.transitionIterator()), 10); - assertEqualSnapshot(this, wordSets.map(wordSetToString).join("\n")); - }); - } - }); - } - - runTests("NFA", literalToNFA); - runTests("ENFA", literalToENFA); - runTests("DFA", literalToDFA); - }); - - describe(shortestWordSet.name, function () { - function runTests(name: string, toFA: (regex: RegExp) => TransitionIterable): void { - describe(name, function () { - for (const regex of regexes) { - it(`${regex}`, function () { - const fa = toFA(regex); - const wordSet = shortestWordSet(fa.transitionIterator()); - assertEqualSnapshot(this, wordSet ? wordSetToString(wordSet) : "none"); - }); - } - }); - } - - runTests("NFA", literalToNFA); - runTests("ENFA", literalToENFA); - runTests("DFA", literalToDFA); - }); - - describe(approximateRejectingWordSet.name, function () { - function runTests(name: string, toFA: (regex: RegExp) => TransitionIterable): void { - describe(name, function () { - for (const regex of regexes) { - it(`${regex}`, function () { - const fa = toFA(regex); - const wordSet = approximateRejectingWordSet( - fa.transitionIterator(), - regex.unicode ? CharSet.all(0x10ffff) : CharSet.all(0xffff) - ); - assertEqualSnapshot(this, wordSet ? wordSetToString(wordSet) : "none"); - }); - } - }); - } - - runTests("NFA", literalToNFA); - runTests("ENFA", literalToENFA); - runTests("DFA", literalToDFA); - runTests("DFA complement", re => { - const dfa = literalToDFA(re); - dfa.complement(); - return dfa; - }); - }); -}); - -function rangesToString(ranges: CharSet): string { - let s = ""; - for (const { min, max } of ranges.ranges) { - if (s !== "") { - s += " "; - } - if (min == max) { - s += min.toString(16); - } else { - s += min.toString(16) + "-" + max.toString(16); - } - } - return s; -} diff --git a/tests/js/__snapshots__/create-char-set.ts b/tests/js/__snapshots__/create-char-set.ts deleted file mode 100644 index 8f95dadf..00000000 --- a/tests/js/__snapshots__/create-char-set.ts +++ /dev/null @@ -1,605 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`JS createCharSet >> Literal tests >> /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/ `] = lit` -[61][62][63][64][65][66][67][68][69][6a][6b][6c][6d][6e][6f][70][71][72][73][74][75][76][77][78][79][7a][20][41][42][43][44][45][46][47][48][49][4a][4b][4c][4d][4e][4f][50][51][52][53][54][55][56][57][58][59][5a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/i `] = lit` -[41, 61][42, 62][43, 63][44, 64][45, 65][46, 66][47, 67][48, 68][49, 69][4a, 6a][4b, 6b][4c, 6c][4d, 6d][4e, 6e][4f, 6f][50, 70][51, 71][52, 72][53, 73][54, 74][55, 75][56, 76][57, 77][58, 78][59, 79][5a, 7a][20][41, 61][42, 62][43, 63][44, 64][45, 65][46, 66][47, 67][48, 68][49, 69][4a, 6a][4b, 6b][4c, 6c][4d, 6d][4e, 6e][4f, 6f][50, 70][51, 71][52, 72][53, 73][54, 74][55, 75][56, 76][57, 77][58, 78][59, 79][5a, 7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/u `] = lit` -[61][62][63][64][65][66][67][68][69][6a][6b][6c][6d][6e][6f][70][71][72][73][74][75][76][77][78][79][7a][20][41][42][43][44][45][46][47][48][49][4a][4b][4c][4d][4e][4f][50][51][52][53][54][55][56][57][58][59][5a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/iu `] = lit` -[41, 61][42, 62][43, 63][44, 64][45, 65][46, 66][47, 67][48, 68][49, 69][4a, 6a][4b, 6b, 212a][4c, 6c][4d, 6d][4e, 6e][4f, 6f][50, 70][51, 71][52, 72][53, 73, 17f][54, 74][55, 75][56, 76][57, 77][58, 78][59, 79][5a, 7a][20][41, 61][42, 62][43, 63][44, 64][45, 65][46, 66][47, 67][48, 68][49, 69][4a, 6a][4b, 6b, 212a][4c, 6c][4d, 6d][4e, 6e][4f, 6f][50, 70][51, 71][52, 72][53, 73, 17f][54, 74][55, 75][56, 76][57, 77][58, 78][59, 79][5a, 7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[a-z]/ `] = lit` -[61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[a-z]/i `] = lit` -[41..5a, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[a-z]/u `] = lit` -[61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[a-z]/iu `] = lit` -[41..5a, 61..7a, 17f, 212a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/ `] = lit` -[30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/i `] = lit` -[30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/u `] = lit` -[30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/iu `] = lit` -[30..39, 41..5a, 5f, 61..7a, 17f, 212a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/v `] = lit` -[30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\w/iv `] = lit` -[30..39, 41..5a, 5f, 61..7a, 17f, 212a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/ `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/i `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/u `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/iu `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..17e, 180..2129, 212b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/v `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\W/iv `] = lit` -[0..2f, 3a..40, 5b..5e, 60, 7b..17e, 180..2129, 212b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\d/ `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\d/i `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\d/u `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\d/iu `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\D/ `] = lit` -[0..2f, 3a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\D/i `] = lit` -[0..2f, 3a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\D/u `] = lit` -[0..2f, 3a..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\D/iu `] = lit` -[0..2f, 3a..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\s/ `] = lit` -[9..d, 20, a0, 1680, 2000..200a, 2028..2029, 202f, 205f, 3000, feff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\s/i `] = lit` -[9..d, 20, a0, 1680, 2000..200a, 2028..2029, 202f, 205f, 3000, feff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\s/u `] = lit` -[9..d, 20, a0, 1680, 2000..200a, 2028..2029, 202f, 205f, 3000, feff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\s/iu `] = lit` -[9..d, 20, a0, 1680, 2000..200a, 2028..2029, 202f, 205f, 3000, feff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\S/ `] = lit` -[0..8, e..1f, 21..9f, a1..167f, 1681..1fff, 200b..2027, 202a..202e, 2030..205e, 2060..2fff, 3001..fefe, ff00..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\S/i `] = lit` -[0..8, e..1f, 21..9f, a1..167f, 1681..1fff, 200b..2027, 202a..202e, 2030..205e, 2060..2fff, 3001..fefe, ff00..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\S/u `] = lit` -[0..8, e..1f, 21..9f, a1..167f, 1681..1fff, 200b..2027, 202a..202e, 2030..205e, 2060..2fff, 3001..fefe, ff00..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\S/iu `] = lit` -[0..8, e..1f, 21..9f, a1..167f, 1681..1fff, 200b..2027, 202a..202e, 2030..205e, 2060..2fff, 3001..fefe, ff00..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./ `] = lit` -[0..9, b..c, e..2027, 202a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./i `] = lit` -[0..9, b..c, e..2027, 202a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./m `] = lit` -[0..9, b..c, e..2027, 202a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./s `] = lit` -[0..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./u `] = lit` -[0..9, b..c, e..2027, 202a..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./iu `] = lit` -[0..9, b..c, e..2027, 202a..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./mu `] = lit` -[0..9, b..c, e..2027, 202a..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /./su `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\s\S]/ `] = lit` -[0..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\s\S]/u `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^]/u `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\D][^\d]/ `] = lit` -[30..39][0..2f, 3a..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^a-cx-z]/ `] = lit` -[0..60, 64..77, 7b..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /a[A][aA]/i `] = lit` -[41, 61][41, 61][41, 61] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^a-cx-z]/i `] = lit` -[0..40, 44..57, 5b..60, 64..77, 7b..ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{ASCII}/u `] = lit` -[0..7f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{ASCII}/iu `] = lit` -[0..7f, 17f, 212a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{ASCII}/iv `] = lit` -[0..7f, 17f, 212a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{ASCII}/u `] = lit` -[80..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{ASCII}/iu `] = lit` -[4b, 53, 6b, 73, 80..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{ASCII}/iv `] = lit` -[80..17e, 180..2129, 212b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Any}/u `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Any}/iu `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{Any}/u `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{Any}/iu `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{General_Category=Control}/u `] = lit` -[0..1f, 7f..9f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{gc=Control}/u `] = lit` -[0..1f, 7f..9f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Control}/u `] = lit` -[0..1f, 7f..9f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Cc}/u `] = lit` -[0..1f, 7f..9f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Emoji_Presentation}/u `] = lit` -[231a..231b, 23e9..23ec, 23f0, 23f3, 25fd..25fe, 2614..2615, 2648..2653, 267f, 2693, 26a1, 26aa..26ab, 26bd..26be, 26c4..26c5, 26ce, 26d4, 26ea, 26f2..26f3, 26f5, 26fa, 26fd, 2705, 270a..270b, 2728, 274c, 274e, 2753..2755, 2757, 2795..2797, 27b0, 27bf, 2b1b..2b1c, 2b50, 2b55, 1f004, 1f0cf, 1f18e, 1f191..1f19a, 1f1e6..1f1ff, 1f201, 1f21a, 1f22f, 1f232..1f236, 1f238..1f23a, 1f250..1f251, 1f300..1f320, 1f32d..1f335, 1f337..1f37c, 1f37e..1f393, 1f3a0..1f3ca, 1f3cf..1f3d3, 1f3e0..1f3f0, 1f3f4, 1f3f8..1f43e, 1f440, 1f442..1f4fc, 1f4ff..1f53d, 1f54b..1f54e, 1f550..1f567, 1f57a, 1f595..1f596, 1f5a4, 1f5fb..1f64f, 1f680..1f6c5, 1f6cc, 1f6d0..1f6d2, 1f6d5..1f6d7, 1f6dc..1f6df, 1f6eb..1f6ec, 1f6f4..1f6fc, 1f7e0..1f7eb, 1f7f0, 1f90c..1f93a, 1f93c..1f945, 1f947..1f9ff, 1fa70..1fa7c, 1fa80..1fa88, 1fa90..1fabd, 1fabf..1fac5, 1face..1fadb, 1fae0..1fae8, 1faf0..1faf8] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Latin}/u `] = lit` -[41..5a, 61..7a, aa, ba, c0..d6, d8..f6, f8..2b8, 2e0..2e4, 1d00..1d25, 1d2c..1d5c, 1d62..1d65, 1d6b..1d77, 1d79..1dbe, 1e00..1eff, 2071, 207f, 2090..209c, 212a..212b, 2132, 214e, 2160..2188, 2c60..2c7f, a722..a787, a78b..a7ca, a7d0..a7d1, a7d3, a7d5..a7d9, a7f2..a7ff, ab30..ab5a, ab5c..ab64, ab66..ab69, fb00..fb06, ff21..ff3a, ff41..ff5a, 10780..10785, 10787..107b0, 107b2..107ba, 1df00..1df1e, 1df25..1df2a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Latin}/iu `] = lit` -[41..5a, 61..7a, aa, ba, c0..d6, d8..f6, f8..2b8, 2e0..2e4, 1d00..1d25, 1d2c..1d5c, 1d62..1d65, 1d6b..1d77, 1d79..1dbe, 1e00..1eff, 2071, 207f, 2090..209c, 212a..212b, 2132, 214e, 2160..2188, 2c60..2c7f, a722..a787, a78b..a7ca, a7d0..a7d1, a7d3, a7d5..a7d9, a7f2..a7ff, ab30..ab5a, ab5c..ab64, ab66..ab69, fb00..fb06, ff21..ff3a, ff41..ff5a, 10780..10785, 10787..107b0, 107b2..107ba, 1df00..1df1e, 1df25..1df2a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Grek}/u `] = lit` -[370..373, 375..377, 37a..37d, 37f, 384, 386, 388..38a, 38c, 38e..3a1, 3a3..3e1, 3f0..3ff, 1d26..1d2a, 1d5d..1d61, 1d66..1d6a, 1dbf, 1f00..1f15, 1f18..1f1d, 1f20..1f45, 1f48..1f4d, 1f50..1f57, 1f59, 1f5b, 1f5d, 1f5f..1f7d, 1f80..1fb4, 1fb6..1fc4, 1fc6..1fd3, 1fd6..1fdb, 1fdd..1fef, 1ff2..1ff4, 1ff6..1ffe, 2126, ab65, 10140..1018e, 101a0, 1d200..1d245] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Grek}/iu `] = lit` -[b5, 345, 370..373, 375..377, 37a..37d, 37f, 384, 386, 388..38a, 38c, 38e..3a1, 3a3..3e1, 3f0..3ff, 1d26..1d2a, 1d5d..1d61, 1d66..1d6a, 1dbf, 1f00..1f15, 1f18..1f1d, 1f20..1f45, 1f48..1f4d, 1f50..1f57, 1f59, 1f5b, 1f5d, 1f5f..1f7d, 1f80..1fb4, 1fb6..1fc4, 1fc6..1fd3, 1fd6..1fdb, 1fdd..1fef, 1ff2..1ff4, 1ff6..1ffe, 2126, ab65, 10140..1018e, 101a0, 1d200..1d245] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Cyrillic}/u `] = lit` -[400..484, 487..52f, 1c80..1c88, 1d2b, 1d78, 2de0..2dff, a640..a69f, fe2e..fe2f, 1e030..1e06d, 1e08f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Cyrillic}/iu `] = lit` -[400..484, 487..52f, 1c80..1c88, 1d2b, 1d78, 2de0..2dff, a640..a69f, fe2e..fe2f, 1e030..1e06d, 1e08f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script=Thaana}/u `] = lit` -[780..7b1] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Script_Extensions=Thaana}/u `] = lit` -[60c, 61b..61c, 61f, 660..669, 780..7b1, fdf2, fdfd] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Ll}/u `] = lit` -[61..7a, b5, df..f6, f8..ff, 101, 103, 105, 107, 109, 10b, 10d, 10f, 111, 113, 115, 117, 119, 11b, 11d, 11f, 121, 123, 125, 127, 129, 12b, 12d, 12f, 131, 133, 135, 137..138, 13a, 13c, 13e, 140, 142, 144, 146, 148..149, 14b, 14d, 14f, 151, 153, 155, 157, 159, 15b, 15d, 15f, 161, 163, 165, 167, 169, 16b, 16d, 16f, 171, 173, 175, 177, 17a, 17c, 17e..180, 183, 185, 188, 18c..18d, 192, 195, 199..19b, 19e, 1a1, 1a3, 1a5, 1a8, 1aa..1ab, 1ad, 1b0, 1b4, 1b6, 1b9..1ba, 1bd..1bf, 1c6, 1c9, 1cc, 1ce, 1d0, 1d2, 1d4, 1d6, 1d8, 1da, 1dc..1dd, 1df, 1e1, 1e3, 1e5, 1e7, 1e9, 1eb, 1ed, 1ef..1f0, 1f3, 1f5, 1f9, 1fb, 1fd, 1ff, 201, 203, 205, 207, 209, 20b, 20d, 20f, 211, 213, 215, 217, 219, 21b, 21d, 21f, 221, 223, 225, 227, 229, 22b, 22d, 22f, 231, 233..239, 23c, 23f..240, 242, 247, 249, 24b, 24d, 24f..293, 295..2af, 371, 373, 377, 37b..37d, 390, 3ac..3ce, 3d0..3d1, 3d5..3d7, 3d9, 3db, 3dd, 3df, 3e1, 3e3, 3e5, 3e7, 3e9, 3eb, 3ed, 3ef..3f3, 3f5, 3f8, 3fb..3fc, 430..45f, 461, 463, 465, 467, 469, 46b, 46d, 46f, 471, 473, 475, 477, 479, 47b, 47d, 47f, 481, 48b, 48d, 48f, 491, 493, 495, 497, 499, 49b, 49d, 49f, 4a1, 4a3, 4a5, 4a7, 4a9, 4ab, 4ad, 4af, 4b1, 4b3, 4b5, 4b7, 4b9, 4bb, 4bd, 4bf, 4c2, 4c4, 4c6, 4c8, 4ca, 4cc, 4ce..4cf, 4d1, 4d3, 4d5, 4d7, 4d9, 4db, 4dd, 4df, 4e1, 4e3, 4e5, 4e7, 4e9, 4eb, 4ed, 4ef, 4f1, 4f3, 4f5, 4f7, 4f9, 4fb, 4fd, 4ff, 501, 503, 505, 507, 509, 50b, 50d, 50f, 511, 513, 515, 517, 519, 51b, 51d, 51f, 521, 523, 525, 527, 529, 52b, 52d, 52f, 560..588, 10d0..10fa, 10fd..10ff, 13f8..13fd, 1c80..1c88, 1d00..1d2b, 1d6b..1d77, 1d79..1d9a, 1e01, 1e03, 1e05, 1e07, 1e09, 1e0b, 1e0d, 1e0f, 1e11, 1e13, 1e15, 1e17, 1e19, 1e1b, 1e1d, 1e1f, 1e21, 1e23, 1e25, 1e27, 1e29, 1e2b, 1e2d, 1e2f, 1e31, 1e33, 1e35, 1e37, 1e39, 1e3b, 1e3d, 1e3f, 1e41, 1e43, 1e45, 1e47, 1e49, 1e4b, 1e4d, 1e4f, 1e51, 1e53, 1e55, 1e57, 1e59, 1e5b, 1e5d, 1e5f, 1e61, 1e63, 1e65, 1e67, 1e69, 1e6b, 1e6d, 1e6f, 1e71, 1e73, 1e75, 1e77, 1e79, 1e7b, 1e7d, 1e7f, 1e81, 1e83, 1e85, 1e87, 1e89, 1e8b, 1e8d, 1e8f, 1e91, 1e93, 1e95..1e9d, 1e9f, 1ea1, 1ea3, 1ea5, 1ea7, 1ea9, 1eab, 1ead, 1eaf, 1eb1, 1eb3, 1eb5, 1eb7, 1eb9, 1ebb, 1ebd, 1ebf, 1ec1, 1ec3, 1ec5, 1ec7, 1ec9, 1ecb, 1ecd, 1ecf, 1ed1, 1ed3, 1ed5, 1ed7, 1ed9, 1edb, 1edd, 1edf, 1ee1, 1ee3, 1ee5, 1ee7, 1ee9, 1eeb, 1eed, 1eef, 1ef1, 1ef3, 1ef5, 1ef7, 1ef9, 1efb, 1efd, 1eff..1f07, 1f10..1f15, 1f20..1f27, 1f30..1f37, 1f40..1f45, 1f50..1f57, 1f60..1f67, 1f70..1f7d, 1f80..1f87, 1f90..1f97, 1fa0..1fa7, 1fb0..1fb4, 1fb6..1fb7, 1fbe, 1fc2..1fc4, 1fc6..1fc7, 1fd0..1fd3, 1fd6..1fd7, 1fe0..1fe7, 1ff2..1ff4, 1ff6..1ff7, 210a, 210e..210f, 2113, 212f, 2134, 2139, 213c..213d, 2146..2149, 214e, 2184, 2c30..2c5f, 2c61, 2c65..2c66, 2c68, 2c6a, 2c6c, 2c71, 2c73..2c74, 2c76..2c7b, 2c81, 2c83, 2c85, 2c87, 2c89, 2c8b, 2c8d, 2c8f, 2c91, 2c93, 2c95, 2c97, 2c99, 2c9b, 2c9d, 2c9f, 2ca1, 2ca3, 2ca5, 2ca7, 2ca9, 2cab, 2cad, 2caf, 2cb1, 2cb3, 2cb5, 2cb7, 2cb9, 2cbb, 2cbd, 2cbf, 2cc1, 2cc3, 2cc5, 2cc7, 2cc9, 2ccb, 2ccd, 2ccf, 2cd1, 2cd3, 2cd5, 2cd7, 2cd9, 2cdb, 2cdd, 2cdf, 2ce1, 2ce3..2ce4, 2cec, 2cee, 2cf3, 2d00..2d25, 2d27, 2d2d, a641, a643, a645, a647, a649, a64b, a64d, a64f, a651, a653, a655, a657, a659, a65b, a65d, a65f, a661, a663, a665, a667, a669, a66b, a66d, a681, a683, a685, a687, a689, a68b, a68d, a68f, a691, a693, a695, a697, a699, a69b, a723, a725, a727, a729, a72b, a72d, a72f..a731, a733, a735, a737, a739, a73b, a73d, a73f, a741, a743, a745, a747, a749, a74b, a74d, a74f, a751, a753, a755, a757, a759, a75b, a75d, a75f, a761, a763, a765, a767, a769, a76b, a76d, a76f, a771..a778, a77a, a77c, a77f, a781, a783, a785, a787, a78c, a78e, a791, a793..a795, a797, a799, a79b, a79d, a79f, a7a1, a7a3, a7a5, a7a7, a7a9, a7af, a7b5, a7b7, a7b9, a7bb, a7bd, a7bf, a7c1, a7c3, a7c8, a7ca, a7d1, a7d3, a7d5, a7d7, a7d9, a7f6, a7fa, ab30..ab5a, ab60..ab68, ab70..abbf, fb00..fb06, fb13..fb17, ff41..ff5a, 10428..1044f, 104d8..104fb, 10597..105a1, 105a3..105b1, 105b3..105b9, 105bb..105bc, 10cc0..10cf2, 118c0..118df, 16e60..16e7f, 1d41a..1d433, 1d44e..1d454, 1d456..1d467, 1d482..1d49b, 1d4b6..1d4b9, 1d4bb, 1d4bd..1d4c3, 1d4c5..1d4cf, 1d4ea..1d503, 1d51e..1d537, 1d552..1d56b, 1d586..1d59f, 1d5ba..1d5d3, 1d5ee..1d607, 1d622..1d63b, 1d656..1d66f, 1d68a..1d6a5, 1d6c2..1d6da, 1d6dc..1d6e1, 1d6fc..1d714, 1d716..1d71b, 1d736..1d74e, 1d750..1d755, 1d770..1d788, 1d78a..1d78f, 1d7aa..1d7c2, 1d7c4..1d7c9, 1d7cb, 1df00..1df09, 1df0b..1df1e, 1df25..1df2a, 1e922..1e943] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{Ll}/u `] = lit` -[0..60, 7b..b4, b6..de, f7, 100, 102, 104, 106, 108, 10a, 10c, 10e, 110, 112, 114, 116, 118, 11a, 11c, 11e, 120, 122, 124, 126, 128, 12a, 12c, 12e, 130, 132, 134, 136, 139, 13b, 13d, 13f, 141, 143, 145, 147, 14a, 14c, 14e, 150, 152, 154, 156, 158, 15a, 15c, 15e, 160, 162, 164, 166, 168, 16a, 16c, 16e, 170, 172, 174, 176, 178..179, 17b, 17d, 181..182, 184, 186..187, 189..18b, 18e..191, 193..194, 196..198, 19c..19d, 19f..1a0, 1a2, 1a4, 1a6..1a7, 1a9, 1ac, 1ae..1af, 1b1..1b3, 1b5, 1b7..1b8, 1bb..1bc, 1c0..1c5, 1c7..1c8, 1ca..1cb, 1cd, 1cf, 1d1, 1d3, 1d5, 1d7, 1d9, 1db, 1de, 1e0, 1e2, 1e4, 1e6, 1e8, 1ea, 1ec, 1ee, 1f1..1f2, 1f4, 1f6..1f8, 1fa, 1fc, 1fe, 200, 202, 204, 206, 208, 20a, 20c, 20e, 210, 212, 214, 216, 218, 21a, 21c, 21e, 220, 222, 224, 226, 228, 22a, 22c, 22e, 230, 232, 23a..23b, 23d..23e, 241, 243..246, 248, 24a, 24c, 24e, 294, 2b0..370, 372, 374..376, 378..37a, 37e..38f, 391..3ab, 3cf, 3d2..3d4, 3d8, 3da, 3dc, 3de, 3e0, 3e2, 3e4, 3e6, 3e8, 3ea, 3ec, 3ee, 3f4, 3f6..3f7, 3f9..3fa, 3fd..42f, 460, 462, 464, 466, 468, 46a, 46c, 46e, 470, 472, 474, 476, 478, 47a, 47c, 47e, 480, 482..48a, 48c, 48e, 490, 492, 494, 496, 498, 49a, 49c, 49e, 4a0, 4a2, 4a4, 4a6, 4a8, 4aa, 4ac, 4ae, 4b0, 4b2, 4b4, 4b6, 4b8, 4ba, 4bc, 4be, 4c0..4c1, 4c3, 4c5, 4c7, 4c9, 4cb, 4cd, 4d0, 4d2, 4d4, 4d6, 4d8, 4da, 4dc, 4de, 4e0, 4e2, 4e4, 4e6, 4e8, 4ea, 4ec, 4ee, 4f0, 4f2, 4f4, 4f6, 4f8, 4fa, 4fc, 4fe, 500, 502, 504, 506, 508, 50a, 50c, 50e, 510, 512, 514, 516, 518, 51a, 51c, 51e, 520, 522, 524, 526, 528, 52a, 52c, 52e, 530..55f, 589..10cf, 10fb..10fc, 1100..13f7, 13fe..1c7f, 1c89..1cff, 1d2c..1d6a, 1d78, 1d9b..1e00, 1e02, 1e04, 1e06, 1e08, 1e0a, 1e0c, 1e0e, 1e10, 1e12, 1e14, 1e16, 1e18, 1e1a, 1e1c, 1e1e, 1e20, 1e22, 1e24, 1e26, 1e28, 1e2a, 1e2c, 1e2e, 1e30, 1e32, 1e34, 1e36, 1e38, 1e3a, 1e3c, 1e3e, 1e40, 1e42, 1e44, 1e46, 1e48, 1e4a, 1e4c, 1e4e, 1e50, 1e52, 1e54, 1e56, 1e58, 1e5a, 1e5c, 1e5e, 1e60, 1e62, 1e64, 1e66, 1e68, 1e6a, 1e6c, 1e6e, 1e70, 1e72, 1e74, 1e76, 1e78, 1e7a, 1e7c, 1e7e, 1e80, 1e82, 1e84, 1e86, 1e88, 1e8a, 1e8c, 1e8e, 1e90, 1e92, 1e94, 1e9e, 1ea0, 1ea2, 1ea4, 1ea6, 1ea8, 1eaa, 1eac, 1eae, 1eb0, 1eb2, 1eb4, 1eb6, 1eb8, 1eba, 1ebc, 1ebe, 1ec0, 1ec2, 1ec4, 1ec6, 1ec8, 1eca, 1ecc, 1ece, 1ed0, 1ed2, 1ed4, 1ed6, 1ed8, 1eda, 1edc, 1ede, 1ee0, 1ee2, 1ee4, 1ee6, 1ee8, 1eea, 1eec, 1eee, 1ef0, 1ef2, 1ef4, 1ef6, 1ef8, 1efa, 1efc, 1efe, 1f08..1f0f, 1f16..1f1f, 1f28..1f2f, 1f38..1f3f, 1f46..1f4f, 1f58..1f5f, 1f68..1f6f, 1f7e..1f7f, 1f88..1f8f, 1f98..1f9f, 1fa8..1faf, 1fb5, 1fb8..1fbd, 1fbf..1fc1, 1fc5, 1fc8..1fcf, 1fd4..1fd5, 1fd8..1fdf, 1fe8..1ff1, 1ff5, 1ff8..2109, 210b..210d, 2110..2112, 2114..212e, 2130..2133, 2135..2138, 213a..213b, 213e..2145, 214a..214d, 214f..2183, 2185..2c2f, 2c60, 2c62..2c64, 2c67, 2c69, 2c6b, 2c6d..2c70, 2c72, 2c75, 2c7c..2c80, 2c82, 2c84, 2c86, 2c88, 2c8a, 2c8c, 2c8e, 2c90, 2c92, 2c94, 2c96, 2c98, 2c9a, 2c9c, 2c9e, 2ca0, 2ca2, 2ca4, 2ca6, 2ca8, 2caa, 2cac, 2cae, 2cb0, 2cb2, 2cb4, 2cb6, 2cb8, 2cba, 2cbc, 2cbe, 2cc0, 2cc2, 2cc4, 2cc6, 2cc8, 2cca, 2ccc, 2cce, 2cd0, 2cd2, 2cd4, 2cd6, 2cd8, 2cda, 2cdc, 2cde, 2ce0, 2ce2, 2ce5..2ceb, 2ced, 2cef..2cf2, 2cf4..2cff, 2d26, 2d28..2d2c, 2d2e..a640, a642, a644, a646, a648, a64a, a64c, a64e, a650, a652, a654, a656, a658, a65a, a65c, a65e, a660, a662, a664, a666, a668, a66a, a66c, a66e..a680, a682, a684, a686, a688, a68a, a68c, a68e, a690, a692, a694, a696, a698, a69a, a69c..a722, a724, a726, a728, a72a, a72c, a72e, a732, a734, a736, a738, a73a, a73c, a73e, a740, a742, a744, a746, a748, a74a, a74c, a74e, a750, a752, a754, a756, a758, a75a, a75c, a75e, a760, a762, a764, a766, a768, a76a, a76c, a76e, a770, a779, a77b, a77d..a77e, a780, a782, a784, a786, a788..a78b, a78d, a78f..a790, a792, a796, a798, a79a, a79c, a79e, a7a0, a7a2, a7a4, a7a6, a7a8, a7aa..a7ae, a7b0..a7b4, a7b6, a7b8, a7ba, a7bc, a7be, a7c0, a7c2, a7c4..a7c7, a7c9, a7cb..a7d0, a7d2, a7d4, a7d6, a7d8, a7da..a7f5, a7f7..a7f9, a7fb..ab2f, ab5b..ab5f, ab69..ab6f, abc0..faff, fb07..fb12, fb18..ff40, ff5b..10427, 10450..104d7, 104fc..10596, 105a2, 105b2, 105ba, 105bd..10cbf, 10cf3..118bf, 118e0..16e5f, 16e80..1d419, 1d434..1d44d, 1d455, 1d468..1d481, 1d49c..1d4b5, 1d4ba, 1d4bc, 1d4c4, 1d4d0..1d4e9, 1d504..1d51d, 1d538..1d551, 1d56c..1d585, 1d5a0..1d5b9, 1d5d4..1d5ed, 1d608..1d621, 1d63c..1d655, 1d670..1d689, 1d6a6..1d6c1, 1d6db, 1d6e2..1d6fb, 1d715, 1d71c..1d735, 1d74f, 1d756..1d76f, 1d789, 1d790..1d7a9, 1d7c3, 1d7ca, 1d7cc..1deff, 1df0a, 1df1f..1df24, 1df2b..1e921, 1e944..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Ll}/iu `] = lit` -[41..5a, 61..7a, b5, c0..d6, d8..f6, f8..12f, 131..1ba, 1bc..1bf, 1c4..293, 295..2af, 345, 370..373, 376..377, 37b..37d, 37f, 386, 388..38a, 38c, 38e..3a1, 3a3..3d1, 3d5..3f5, 3f7..481, 48a..52f, 531..556, 560..588, 10a0..10c5, 10c7, 10cd, 10d0..10fa, 10fd..10ff, 13a0..13f5, 13f8..13fd, 1c80..1c88, 1c90..1cba, 1cbd..1cbf, 1d00..1d2b, 1d6b..1d77, 1d79..1d9a, 1e00..1f15, 1f18..1f1d, 1f20..1f45, 1f48..1f4d, 1f50..1f57, 1f59, 1f5b, 1f5d, 1f5f..1f7d, 1f80..1fb4, 1fb6..1fbc, 1fbe, 1fc2..1fc4, 1fc6..1fcc, 1fd0..1fd3, 1fd6..1fdb, 1fe0..1fec, 1ff2..1ff4, 1ff6..1ffc, 210a, 210e..210f, 2113, 2126, 212a..212b, 212f, 2132, 2134, 2139, 213c..213d, 2146..2149, 214e, 2183..2184, 2c00..2c7b, 2c7e..2ce4, 2ceb..2cee, 2cf2..2cf3, 2d00..2d25, 2d27, 2d2d, a640..a66d, a680..a69b, a722..a76f, a771..a787, a78b..a78e, a790..a7ca, a7d0..a7d1, a7d3, a7d5..a7d9, a7f5..a7f6, a7fa, ab30..ab5a, ab60..ab68, ab70..abbf, fb00..fb06, fb13..fb17, ff21..ff3a, ff41..ff5a, 10400..1044f, 104b0..104d3, 104d8..104fb, 10570..1057a, 1057c..1058a, 1058c..10592, 10594..10595, 10597..105a1, 105a3..105b1, 105b3..105b9, 105bb..105bc, 10c80..10cb2, 10cc0..10cf2, 118a0..118df, 16e40..16e7f, 1d41a..1d433, 1d44e..1d454, 1d456..1d467, 1d482..1d49b, 1d4b6..1d4b9, 1d4bb, 1d4bd..1d4c3, 1d4c5..1d4cf, 1d4ea..1d503, 1d51e..1d537, 1d552..1d56b, 1d586..1d59f, 1d5ba..1d5d3, 1d5ee..1d607, 1d622..1d63b, 1d656..1d66f, 1d68a..1d6a5, 1d6c2..1d6da, 1d6dc..1d6e1, 1d6fc..1d714, 1d716..1d71b, 1d736..1d74e, 1d750..1d755, 1d770..1d788, 1d78a..1d78f, 1d7aa..1d7c2, 1d7c4..1d7c9, 1d7cb, 1df00..1df09, 1df0b..1df1e, 1df25..1df2a, 1e900..1e943] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{Ll}/iu `] = lit` -[0..130, 132..137, 139..148, 14a..18c, 18e..19a, 19c..1a9, 1ac..1b9, 1bb..1bd, 1bf..1ef, 1f1..220, 222..233, 23a..254, 256..257, 259, 25b..25c, 260..261, 263, 265..266, 268..26c, 26f, 271..272, 275, 27d, 280, 282..283, 287..28c, 292, 294, 29d..29e, 2b0..38f, 391..3af, 3b1..3fb, 3fd..55f, 561..586, 589..1cff, 1d2c..1d6a, 1d78..1d79, 1d7d, 1d8e, 1d9b..1e95, 1e9b, 1e9e, 1ea0..1f4f, 1f51, 1f53, 1f55, 1f57..1fb1, 1fb3, 1fb5, 1fb8..1fc1, 1fc3, 1fc5, 1fc8..1fd1, 1fd4..1fd5, 1fd8..1fe1, 1fe5, 1fe8..1ff1, 1ff3, 1ff5, 1ff8..2109, 210b..210d, 2110..2112, 2114..212e, 2130..2133, 2135..2138, 213a..213b, 213e..2145, 214a..2c70, 2c72..2c73, 2c75..2c76, 2c7c..2ce3, 2ce5..a72f, a732..a770, a779..a78d, a78f..a794, a796..a7ae, a7b0..a7d2, a7d4, a7d6..a7f9, a7fb..ab2f, ab53, ab5b..ab5f, ab69..faff, fb07..fb12, fb18..1d419, 1d434..1d44d, 1d455, 1d468..1d481, 1d49c..1d4b5, 1d4ba, 1d4bc, 1d4c4, 1d4d0..1d4e9, 1d504..1d51d, 1d538..1d551, 1d56c..1d585, 1d5a0..1d5b9, 1d5d4..1d5ed, 1d608..1d621, 1d63c..1d655, 1d670..1d689, 1d6a6..1d6c1, 1d6db, 1d6e2..1d6fb, 1d715, 1d71c..1d735, 1d74f, 1d756..1d76f, 1d789, 1d790..1d7a9, 1d7c3, 1d7ca, 1d7cc..1deff, 1df0a, 1df1f..1df24, 1df2b..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Ll}/iv `] = lit` -[41..5a, 61..7a, b5, c0..d6, d8..f6, f8..12f, 131..1ba, 1bc..1bf, 1c4..293, 295..2af, 345, 370..373, 376..377, 37b..37d, 37f, 386, 388..38a, 38c, 38e..3a1, 3a3..3d1, 3d5..3f5, 3f7..481, 48a..52f, 531..556, 560..588, 10a0..10c5, 10c7, 10cd, 10d0..10fa, 10fd..10ff, 13a0..13f5, 13f8..13fd, 1c80..1c88, 1c90..1cba, 1cbd..1cbf, 1d00..1d2b, 1d6b..1d77, 1d79..1d9a, 1e00..1f15, 1f18..1f1d, 1f20..1f45, 1f48..1f4d, 1f50..1f57, 1f59, 1f5b, 1f5d, 1f5f..1f7d, 1f80..1fb4, 1fb6..1fbc, 1fbe, 1fc2..1fc4, 1fc6..1fcc, 1fd0..1fd3, 1fd6..1fdb, 1fe0..1fec, 1ff2..1ff4, 1ff6..1ffc, 210a, 210e..210f, 2113, 2126, 212a..212b, 212f, 2132, 2134, 2139, 213c..213d, 2146..2149, 214e, 2183..2184, 2c00..2c7b, 2c7e..2ce4, 2ceb..2cee, 2cf2..2cf3, 2d00..2d25, 2d27, 2d2d, a640..a66d, a680..a69b, a722..a76f, a771..a787, a78b..a78e, a790..a7ca, a7d0..a7d1, a7d3, a7d5..a7d9, a7f5..a7f6, a7fa, ab30..ab5a, ab60..ab68, ab70..abbf, fb00..fb06, fb13..fb17, ff21..ff3a, ff41..ff5a, 10400..1044f, 104b0..104d3, 104d8..104fb, 10570..1057a, 1057c..1058a, 1058c..10592, 10594..10595, 10597..105a1, 105a3..105b1, 105b3..105b9, 105bb..105bc, 10c80..10cb2, 10cc0..10cf2, 118a0..118df, 16e40..16e7f, 1d41a..1d433, 1d44e..1d454, 1d456..1d467, 1d482..1d49b, 1d4b6..1d4b9, 1d4bb, 1d4bd..1d4c3, 1d4c5..1d4cf, 1d4ea..1d503, 1d51e..1d537, 1d552..1d56b, 1d586..1d59f, 1d5ba..1d5d3, 1d5ee..1d607, 1d622..1d63b, 1d656..1d66f, 1d68a..1d6a5, 1d6c2..1d6da, 1d6dc..1d6e1, 1d6fc..1d714, 1d716..1d71b, 1d736..1d74e, 1d750..1d755, 1d770..1d788, 1d78a..1d78f, 1d7aa..1d7c2, 1d7c4..1d7c9, 1d7cb, 1df00..1df09, 1df0b..1df1e, 1df25..1df2a, 1e900..1e943] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\P{Ll}/iv `] = lit` -[0..40, 5b..60, 7b..b4, b6..bf, d7, f7, 130, 1bb, 1c0..1c3, 294, 2b0..344, 346..36f, 374..375, 378..37a, 37e, 380..385, 387, 38b, 38d, 3a2, 3d2..3d4, 3f6, 482..489, 530, 557..55f, 589..109f, 10c6, 10c8..10cc, 10ce..10cf, 10fb..10fc, 1100..139f, 13f6..13f7, 13fe..1c7f, 1c89..1c8f, 1cbb..1cbc, 1cc0..1cff, 1d2c..1d6a, 1d78, 1d9b..1dff, 1f16..1f17, 1f1e..1f1f, 1f46..1f47, 1f4e..1f4f, 1f58, 1f5a, 1f5c, 1f5e, 1f7e..1f7f, 1fb5, 1fbd, 1fbf..1fc1, 1fc5, 1fcd..1fcf, 1fd4..1fd5, 1fdc..1fdf, 1fed..1ff1, 1ff5, 1ffd..2109, 210b..210d, 2110..2112, 2114..2125, 2127..2129, 212c..212e, 2130..2131, 2133, 2135..2138, 213a..213b, 213e..2145, 214a..214d, 214f..2182, 2185..2bff, 2c7c..2c7d, 2ce5..2cea, 2cef..2cf1, 2cf4..2cff, 2d26, 2d28..2d2c, 2d2e..a63f, a66e..a67f, a69c..a721, a770, a788..a78a, a78f, a7cb..a7cf, a7d2, a7d4, a7da..a7f4, a7f7..a7f9, a7fb..ab2f, ab5b..ab5f, ab69..ab6f, abc0..faff, fb07..fb12, fb18..ff20, ff3b..ff40, ff5b..103ff, 10450..104af, 104d4..104d7, 104fc..1056f, 1057b, 1058b, 10593, 10596, 105a2, 105b2, 105ba, 105bd..10c7f, 10cb3..10cbf, 10cf3..1189f, 118e0..16e3f, 16e80..1d419, 1d434..1d44d, 1d455, 1d468..1d481, 1d49c..1d4b5, 1d4ba, 1d4bc, 1d4c4, 1d4d0..1d4e9, 1d504..1d51d, 1d538..1d551, 1d56c..1d585, 1d5a0..1d5b9, 1d5d4..1d5ed, 1d608..1d621, 1d63c..1d655, 1d670..1d689, 1d6a6..1d6c1, 1d6db, 1d6e2..1d6fb, 1d715, 1d71c..1d735, 1d74f, 1d756..1d76f, 1d789, 1d790..1d7a9, 1d7c3, 1d7ca, 1d7cc..1deff, 1df0a, 1df1f..1df24, 1df2b..1e8ff, 1e944..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\p{Ll}]/u `] = lit` -[0..60, 7b..b4, b6..de, f7, 100, 102, 104, 106, 108, 10a, 10c, 10e, 110, 112, 114, 116, 118, 11a, 11c, 11e, 120, 122, 124, 126, 128, 12a, 12c, 12e, 130, 132, 134, 136, 139, 13b, 13d, 13f, 141, 143, 145, 147, 14a, 14c, 14e, 150, 152, 154, 156, 158, 15a, 15c, 15e, 160, 162, 164, 166, 168, 16a, 16c, 16e, 170, 172, 174, 176, 178..179, 17b, 17d, 181..182, 184, 186..187, 189..18b, 18e..191, 193..194, 196..198, 19c..19d, 19f..1a0, 1a2, 1a4, 1a6..1a7, 1a9, 1ac, 1ae..1af, 1b1..1b3, 1b5, 1b7..1b8, 1bb..1bc, 1c0..1c5, 1c7..1c8, 1ca..1cb, 1cd, 1cf, 1d1, 1d3, 1d5, 1d7, 1d9, 1db, 1de, 1e0, 1e2, 1e4, 1e6, 1e8, 1ea, 1ec, 1ee, 1f1..1f2, 1f4, 1f6..1f8, 1fa, 1fc, 1fe, 200, 202, 204, 206, 208, 20a, 20c, 20e, 210, 212, 214, 216, 218, 21a, 21c, 21e, 220, 222, 224, 226, 228, 22a, 22c, 22e, 230, 232, 23a..23b, 23d..23e, 241, 243..246, 248, 24a, 24c, 24e, 294, 2b0..370, 372, 374..376, 378..37a, 37e..38f, 391..3ab, 3cf, 3d2..3d4, 3d8, 3da, 3dc, 3de, 3e0, 3e2, 3e4, 3e6, 3e8, 3ea, 3ec, 3ee, 3f4, 3f6..3f7, 3f9..3fa, 3fd..42f, 460, 462, 464, 466, 468, 46a, 46c, 46e, 470, 472, 474, 476, 478, 47a, 47c, 47e, 480, 482..48a, 48c, 48e, 490, 492, 494, 496, 498, 49a, 49c, 49e, 4a0, 4a2, 4a4, 4a6, 4a8, 4aa, 4ac, 4ae, 4b0, 4b2, 4b4, 4b6, 4b8, 4ba, 4bc, 4be, 4c0..4c1, 4c3, 4c5, 4c7, 4c9, 4cb, 4cd, 4d0, 4d2, 4d4, 4d6, 4d8, 4da, 4dc, 4de, 4e0, 4e2, 4e4, 4e6, 4e8, 4ea, 4ec, 4ee, 4f0, 4f2, 4f4, 4f6, 4f8, 4fa, 4fc, 4fe, 500, 502, 504, 506, 508, 50a, 50c, 50e, 510, 512, 514, 516, 518, 51a, 51c, 51e, 520, 522, 524, 526, 528, 52a, 52c, 52e, 530..55f, 589..10cf, 10fb..10fc, 1100..13f7, 13fe..1c7f, 1c89..1cff, 1d2c..1d6a, 1d78, 1d9b..1e00, 1e02, 1e04, 1e06, 1e08, 1e0a, 1e0c, 1e0e, 1e10, 1e12, 1e14, 1e16, 1e18, 1e1a, 1e1c, 1e1e, 1e20, 1e22, 1e24, 1e26, 1e28, 1e2a, 1e2c, 1e2e, 1e30, 1e32, 1e34, 1e36, 1e38, 1e3a, 1e3c, 1e3e, 1e40, 1e42, 1e44, 1e46, 1e48, 1e4a, 1e4c, 1e4e, 1e50, 1e52, 1e54, 1e56, 1e58, 1e5a, 1e5c, 1e5e, 1e60, 1e62, 1e64, 1e66, 1e68, 1e6a, 1e6c, 1e6e, 1e70, 1e72, 1e74, 1e76, 1e78, 1e7a, 1e7c, 1e7e, 1e80, 1e82, 1e84, 1e86, 1e88, 1e8a, 1e8c, 1e8e, 1e90, 1e92, 1e94, 1e9e, 1ea0, 1ea2, 1ea4, 1ea6, 1ea8, 1eaa, 1eac, 1eae, 1eb0, 1eb2, 1eb4, 1eb6, 1eb8, 1eba, 1ebc, 1ebe, 1ec0, 1ec2, 1ec4, 1ec6, 1ec8, 1eca, 1ecc, 1ece, 1ed0, 1ed2, 1ed4, 1ed6, 1ed8, 1eda, 1edc, 1ede, 1ee0, 1ee2, 1ee4, 1ee6, 1ee8, 1eea, 1eec, 1eee, 1ef0, 1ef2, 1ef4, 1ef6, 1ef8, 1efa, 1efc, 1efe, 1f08..1f0f, 1f16..1f1f, 1f28..1f2f, 1f38..1f3f, 1f46..1f4f, 1f58..1f5f, 1f68..1f6f, 1f7e..1f7f, 1f88..1f8f, 1f98..1f9f, 1fa8..1faf, 1fb5, 1fb8..1fbd, 1fbf..1fc1, 1fc5, 1fc8..1fcf, 1fd4..1fd5, 1fd8..1fdf, 1fe8..1ff1, 1ff5, 1ff8..2109, 210b..210d, 2110..2112, 2114..212e, 2130..2133, 2135..2138, 213a..213b, 213e..2145, 214a..214d, 214f..2183, 2185..2c2f, 2c60, 2c62..2c64, 2c67, 2c69, 2c6b, 2c6d..2c70, 2c72, 2c75, 2c7c..2c80, 2c82, 2c84, 2c86, 2c88, 2c8a, 2c8c, 2c8e, 2c90, 2c92, 2c94, 2c96, 2c98, 2c9a, 2c9c, 2c9e, 2ca0, 2ca2, 2ca4, 2ca6, 2ca8, 2caa, 2cac, 2cae, 2cb0, 2cb2, 2cb4, 2cb6, 2cb8, 2cba, 2cbc, 2cbe, 2cc0, 2cc2, 2cc4, 2cc6, 2cc8, 2cca, 2ccc, 2cce, 2cd0, 2cd2, 2cd4, 2cd6, 2cd8, 2cda, 2cdc, 2cde, 2ce0, 2ce2, 2ce5..2ceb, 2ced, 2cef..2cf2, 2cf4..2cff, 2d26, 2d28..2d2c, 2d2e..a640, a642, a644, a646, a648, a64a, a64c, a64e, a650, a652, a654, a656, a658, a65a, a65c, a65e, a660, a662, a664, a666, a668, a66a, a66c, a66e..a680, a682, a684, a686, a688, a68a, a68c, a68e, a690, a692, a694, a696, a698, a69a, a69c..a722, a724, a726, a728, a72a, a72c, a72e, a732, a734, a736, a738, a73a, a73c, a73e, a740, a742, a744, a746, a748, a74a, a74c, a74e, a750, a752, a754, a756, a758, a75a, a75c, a75e, a760, a762, a764, a766, a768, a76a, a76c, a76e, a770, a779, a77b, a77d..a77e, a780, a782, a784, a786, a788..a78b, a78d, a78f..a790, a792, a796, a798, a79a, a79c, a79e, a7a0, a7a2, a7a4, a7a6, a7a8, a7aa..a7ae, a7b0..a7b4, a7b6, a7b8, a7ba, a7bc, a7be, a7c0, a7c2, a7c4..a7c7, a7c9, a7cb..a7d0, a7d2, a7d4, a7d6, a7d8, a7da..a7f5, a7f7..a7f9, a7fb..ab2f, ab5b..ab5f, ab69..ab6f, abc0..faff, fb07..fb12, fb18..ff40, ff5b..10427, 10450..104d7, 104fc..10596, 105a2, 105b2, 105ba, 105bd..10cbf, 10cf3..118bf, 118e0..16e5f, 16e80..1d419, 1d434..1d44d, 1d455, 1d468..1d481, 1d49c..1d4b5, 1d4ba, 1d4bc, 1d4c4, 1d4d0..1d4e9, 1d504..1d51d, 1d538..1d551, 1d56c..1d585, 1d5a0..1d5b9, 1d5d4..1d5ed, 1d608..1d621, 1d63c..1d655, 1d670..1d689, 1d6a6..1d6c1, 1d6db, 1d6e2..1d6fb, 1d715, 1d71c..1d735, 1d74f, 1d756..1d76f, 1d789, 1d790..1d7a9, 1d7c3, 1d7ca, 1d7cc..1deff, 1df0a, 1df1f..1df24, 1df2b..1e921, 1e944..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\P{Ll}]/u `] = lit` -[61..7a, b5, df..f6, f8..ff, 101, 103, 105, 107, 109, 10b, 10d, 10f, 111, 113, 115, 117, 119, 11b, 11d, 11f, 121, 123, 125, 127, 129, 12b, 12d, 12f, 131, 133, 135, 137..138, 13a, 13c, 13e, 140, 142, 144, 146, 148..149, 14b, 14d, 14f, 151, 153, 155, 157, 159, 15b, 15d, 15f, 161, 163, 165, 167, 169, 16b, 16d, 16f, 171, 173, 175, 177, 17a, 17c, 17e..180, 183, 185, 188, 18c..18d, 192, 195, 199..19b, 19e, 1a1, 1a3, 1a5, 1a8, 1aa..1ab, 1ad, 1b0, 1b4, 1b6, 1b9..1ba, 1bd..1bf, 1c6, 1c9, 1cc, 1ce, 1d0, 1d2, 1d4, 1d6, 1d8, 1da, 1dc..1dd, 1df, 1e1, 1e3, 1e5, 1e7, 1e9, 1eb, 1ed, 1ef..1f0, 1f3, 1f5, 1f9, 1fb, 1fd, 1ff, 201, 203, 205, 207, 209, 20b, 20d, 20f, 211, 213, 215, 217, 219, 21b, 21d, 21f, 221, 223, 225, 227, 229, 22b, 22d, 22f, 231, 233..239, 23c, 23f..240, 242, 247, 249, 24b, 24d, 24f..293, 295..2af, 371, 373, 377, 37b..37d, 390, 3ac..3ce, 3d0..3d1, 3d5..3d7, 3d9, 3db, 3dd, 3df, 3e1, 3e3, 3e5, 3e7, 3e9, 3eb, 3ed, 3ef..3f3, 3f5, 3f8, 3fb..3fc, 430..45f, 461, 463, 465, 467, 469, 46b, 46d, 46f, 471, 473, 475, 477, 479, 47b, 47d, 47f, 481, 48b, 48d, 48f, 491, 493, 495, 497, 499, 49b, 49d, 49f, 4a1, 4a3, 4a5, 4a7, 4a9, 4ab, 4ad, 4af, 4b1, 4b3, 4b5, 4b7, 4b9, 4bb, 4bd, 4bf, 4c2, 4c4, 4c6, 4c8, 4ca, 4cc, 4ce..4cf, 4d1, 4d3, 4d5, 4d7, 4d9, 4db, 4dd, 4df, 4e1, 4e3, 4e5, 4e7, 4e9, 4eb, 4ed, 4ef, 4f1, 4f3, 4f5, 4f7, 4f9, 4fb, 4fd, 4ff, 501, 503, 505, 507, 509, 50b, 50d, 50f, 511, 513, 515, 517, 519, 51b, 51d, 51f, 521, 523, 525, 527, 529, 52b, 52d, 52f, 560..588, 10d0..10fa, 10fd..10ff, 13f8..13fd, 1c80..1c88, 1d00..1d2b, 1d6b..1d77, 1d79..1d9a, 1e01, 1e03, 1e05, 1e07, 1e09, 1e0b, 1e0d, 1e0f, 1e11, 1e13, 1e15, 1e17, 1e19, 1e1b, 1e1d, 1e1f, 1e21, 1e23, 1e25, 1e27, 1e29, 1e2b, 1e2d, 1e2f, 1e31, 1e33, 1e35, 1e37, 1e39, 1e3b, 1e3d, 1e3f, 1e41, 1e43, 1e45, 1e47, 1e49, 1e4b, 1e4d, 1e4f, 1e51, 1e53, 1e55, 1e57, 1e59, 1e5b, 1e5d, 1e5f, 1e61, 1e63, 1e65, 1e67, 1e69, 1e6b, 1e6d, 1e6f, 1e71, 1e73, 1e75, 1e77, 1e79, 1e7b, 1e7d, 1e7f, 1e81, 1e83, 1e85, 1e87, 1e89, 1e8b, 1e8d, 1e8f, 1e91, 1e93, 1e95..1e9d, 1e9f, 1ea1, 1ea3, 1ea5, 1ea7, 1ea9, 1eab, 1ead, 1eaf, 1eb1, 1eb3, 1eb5, 1eb7, 1eb9, 1ebb, 1ebd, 1ebf, 1ec1, 1ec3, 1ec5, 1ec7, 1ec9, 1ecb, 1ecd, 1ecf, 1ed1, 1ed3, 1ed5, 1ed7, 1ed9, 1edb, 1edd, 1edf, 1ee1, 1ee3, 1ee5, 1ee7, 1ee9, 1eeb, 1eed, 1eef, 1ef1, 1ef3, 1ef5, 1ef7, 1ef9, 1efb, 1efd, 1eff..1f07, 1f10..1f15, 1f20..1f27, 1f30..1f37, 1f40..1f45, 1f50..1f57, 1f60..1f67, 1f70..1f7d, 1f80..1f87, 1f90..1f97, 1fa0..1fa7, 1fb0..1fb4, 1fb6..1fb7, 1fbe, 1fc2..1fc4, 1fc6..1fc7, 1fd0..1fd3, 1fd6..1fd7, 1fe0..1fe7, 1ff2..1ff4, 1ff6..1ff7, 210a, 210e..210f, 2113, 212f, 2134, 2139, 213c..213d, 2146..2149, 214e, 2184, 2c30..2c5f, 2c61, 2c65..2c66, 2c68, 2c6a, 2c6c, 2c71, 2c73..2c74, 2c76..2c7b, 2c81, 2c83, 2c85, 2c87, 2c89, 2c8b, 2c8d, 2c8f, 2c91, 2c93, 2c95, 2c97, 2c99, 2c9b, 2c9d, 2c9f, 2ca1, 2ca3, 2ca5, 2ca7, 2ca9, 2cab, 2cad, 2caf, 2cb1, 2cb3, 2cb5, 2cb7, 2cb9, 2cbb, 2cbd, 2cbf, 2cc1, 2cc3, 2cc5, 2cc7, 2cc9, 2ccb, 2ccd, 2ccf, 2cd1, 2cd3, 2cd5, 2cd7, 2cd9, 2cdb, 2cdd, 2cdf, 2ce1, 2ce3..2ce4, 2cec, 2cee, 2cf3, 2d00..2d25, 2d27, 2d2d, a641, a643, a645, a647, a649, a64b, a64d, a64f, a651, a653, a655, a657, a659, a65b, a65d, a65f, a661, a663, a665, a667, a669, a66b, a66d, a681, a683, a685, a687, a689, a68b, a68d, a68f, a691, a693, a695, a697, a699, a69b, a723, a725, a727, a729, a72b, a72d, a72f..a731, a733, a735, a737, a739, a73b, a73d, a73f, a741, a743, a745, a747, a749, a74b, a74d, a74f, a751, a753, a755, a757, a759, a75b, a75d, a75f, a761, a763, a765, a767, a769, a76b, a76d, a76f, a771..a778, a77a, a77c, a77f, a781, a783, a785, a787, a78c, a78e, a791, a793..a795, a797, a799, a79b, a79d, a79f, a7a1, a7a3, a7a5, a7a7, a7a9, a7af, a7b5, a7b7, a7b9, a7bb, a7bd, a7bf, a7c1, a7c3, a7c8, a7ca, a7d1, a7d3, a7d5, a7d7, a7d9, a7f6, a7fa, ab30..ab5a, ab60..ab68, ab70..abbf, fb00..fb06, fb13..fb17, ff41..ff5a, 10428..1044f, 104d8..104fb, 10597..105a1, 105a3..105b1, 105b3..105b9, 105bb..105bc, 10cc0..10cf2, 118c0..118df, 16e60..16e7f, 1d41a..1d433, 1d44e..1d454, 1d456..1d467, 1d482..1d49b, 1d4b6..1d4b9, 1d4bb, 1d4bd..1d4c3, 1d4c5..1d4cf, 1d4ea..1d503, 1d51e..1d537, 1d552..1d56b, 1d586..1d59f, 1d5ba..1d5d3, 1d5ee..1d607, 1d622..1d63b, 1d656..1d66f, 1d68a..1d6a5, 1d6c2..1d6da, 1d6dc..1d6e1, 1d6fc..1d714, 1d716..1d71b, 1d736..1d74e, 1d750..1d755, 1d770..1d788, 1d78a..1d78f, 1d7aa..1d7c2, 1d7c4..1d7c9, 1d7cb, 1df00..1df09, 1df0b..1df1e, 1df25..1df2a, 1e922..1e943] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\p{Ll}]/iu `] = lit` -[0..40, 5b..60, 7b..b4, b6..bf, d7, f7, 130, 1bb, 1c0..1c3, 294, 2b0..344, 346..36f, 374..375, 378..37a, 37e, 380..385, 387, 38b, 38d, 3a2, 3d2..3d4, 3f6, 482..489, 530, 557..55f, 589..109f, 10c6, 10c8..10cc, 10ce..10cf, 10fb..10fc, 1100..139f, 13f6..13f7, 13fe..1c7f, 1c89..1c8f, 1cbb..1cbc, 1cc0..1cff, 1d2c..1d6a, 1d78, 1d9b..1dff, 1f16..1f17, 1f1e..1f1f, 1f46..1f47, 1f4e..1f4f, 1f58, 1f5a, 1f5c, 1f5e, 1f7e..1f7f, 1fb5, 1fbd, 1fbf..1fc1, 1fc5, 1fcd..1fcf, 1fd4..1fd5, 1fdc..1fdf, 1fed..1ff1, 1ff5, 1ffd..2109, 210b..210d, 2110..2112, 2114..2125, 2127..2129, 212c..212e, 2130..2131, 2133, 2135..2138, 213a..213b, 213e..2145, 214a..214d, 214f..2182, 2185..2bff, 2c7c..2c7d, 2ce5..2cea, 2cef..2cf1, 2cf4..2cff, 2d26, 2d28..2d2c, 2d2e..a63f, a66e..a67f, a69c..a721, a770, a788..a78a, a78f, a7cb..a7cf, a7d2, a7d4, a7da..a7f4, a7f7..a7f9, a7fb..ab2f, ab5b..ab5f, ab69..ab6f, abc0..faff, fb07..fb12, fb18..ff20, ff3b..ff40, ff5b..103ff, 10450..104af, 104d4..104d7, 104fc..1056f, 1057b, 1058b, 10593, 10596, 105a2, 105b2, 105ba, 105bd..10c7f, 10cb3..10cbf, 10cf3..1189f, 118e0..16e3f, 16e80..1d419, 1d434..1d44d, 1d455, 1d468..1d481, 1d49c..1d4b5, 1d4ba, 1d4bc, 1d4c4, 1d4d0..1d4e9, 1d504..1d51d, 1d538..1d551, 1d56c..1d585, 1d5a0..1d5b9, 1d5d4..1d5ed, 1d608..1d621, 1d63c..1d655, 1d670..1d689, 1d6a6..1d6c1, 1d6db, 1d6e2..1d6fb, 1d715, 1d71c..1d735, 1d74f, 1d756..1d76f, 1d789, 1d790..1d7a9, 1d7c3, 1d7ca, 1d7cc..1deff, 1df0a, 1df1f..1df24, 1df2b..1e8ff, 1e944..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\P{Ll}]/iu `] = lit` -[131, 138, 149, 18d, 19b, 1aa..1ab, 1ba, 1be, 1f0, 221, 234..239, 255, 258, 25a, 25d..25f, 262, 264, 267, 26d..26e, 270, 273..274, 276..27c, 27e..27f, 281, 284..286, 28d..291, 293, 295..29c, 29f..2af, 390, 3b0, 3fc, 560, 587..588, 1d00..1d2b, 1d6b..1d77, 1d7a..1d7c, 1d7e..1d8d, 1d8f..1d9a, 1e96..1e9a, 1e9c..1e9d, 1e9f, 1f50, 1f52, 1f54, 1f56, 1fb2, 1fb4, 1fb6..1fb7, 1fc2, 1fc4, 1fc6..1fc7, 1fd2..1fd3, 1fd6..1fd7, 1fe2..1fe4, 1fe6..1fe7, 1ff2, 1ff4, 1ff6..1ff7, 210a, 210e..210f, 2113, 212f, 2134, 2139, 213c..213d, 2146..2149, 2c71, 2c74, 2c77..2c7b, 2ce4, a730..a731, a771..a778, a78e, a795, a7af, a7d3, a7d5, a7fa, ab30..ab52, ab54..ab5a, ab60..ab68, fb00..fb06, fb13..fb17, 1d41a..1d433, 1d44e..1d454, 1d456..1d467, 1d482..1d49b, 1d4b6..1d4b9, 1d4bb, 1d4bd..1d4c3, 1d4c5..1d4cf, 1d4ea..1d503, 1d51e..1d537, 1d552..1d56b, 1d586..1d59f, 1d5ba..1d5d3, 1d5ee..1d607, 1d622..1d63b, 1d656..1d66f, 1d68a..1d6a5, 1d6c2..1d6da, 1d6dc..1d6e1, 1d6fc..1d714, 1d716..1d71b, 1d736..1d74e, 1d750..1d755, 1d770..1d788, 1d78a..1d78f, 1d7aa..1d7c2, 1d7c4..1d7c9, 1d7cb, 1df00..1df09, 1df0b..1df1e, 1df25..1df2a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\w--\d]/v `] = lit` -[41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\w&&\d]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\w&&[\d\q{a|foo}]]/v `] = lit` -[30..39, 61] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d\q{a|foo|}]/v `] = lit` -[66][6f][6f]|[30..39, 61]| -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\d\q{a|b}]/v `] = lit` -[0..2f, 3a..60, 63..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\d\q{a|b}]/vi `] = lit` -[0..2f, 3a..40, 43..60, 63..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{foo|bar|x|X|"|""|"""}]/v `] = lit` -[22][22][22]|[62][61][72]|[66][6f][6f]|[22][22]|[22, 58, 78] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{foo|bar|x|X|"|""|"""}]/vi `] = lit` -[22][22][22]|[42, 62][41, 61][52, 72]|[46, 66][4f, 6f][4f, 6f]|[22][22]|[22, 58, 78] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{foo|bar}\q{x}X]/vi `] = lit` -[42, 62][41, 61][52, 72]|[46, 66][4f, 6f][4f, 6f]|[58, 78] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^\W--%]/v `] = lit` -[25, 30..39, 41..5a, 5f, 61..7a] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[^]/v `] = lit` -[0..10ffff] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[a-cd]/v `] = lit` -[61..64] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /\p{Basic_Emoji}/v `] = lit` -[a9][fe0f]|[ae][fe0f]|[203c][fe0f]|[2049][fe0f]|[2122][fe0f]|[2139][fe0f]|[2194][fe0f]|[2195][fe0f]|[2196][fe0f]|[2197][fe0f]|[2198][fe0f]|[2199][fe0f]|[21a9][fe0f]|[21aa][fe0f]|[2328][fe0f]|[23cf][fe0f]|[23ed][fe0f]|[23ee][fe0f]|[23ef][fe0f]|[23f1][fe0f]|[23f2][fe0f]|[23f8][fe0f]|[23f9][fe0f]|[23fa][fe0f]|[24c2][fe0f]|[25aa][fe0f]|[25ab][fe0f]|[25b6][fe0f]|[25c0][fe0f]|[25fb][fe0f]|[25fc][fe0f]|[2600][fe0f]|[2601][fe0f]|[2602][fe0f]|[2603][fe0f]|[2604][fe0f]|[260e][fe0f]|[2611][fe0f]|[2618][fe0f]|[261d][fe0f]|[2620][fe0f]|[2622][fe0f]|[2623][fe0f]|[2626][fe0f]|[262a][fe0f]|[262e][fe0f]|[262f][fe0f]|[2638][fe0f]|[2639][fe0f]|[263a][fe0f]|[2640][fe0f]|[2642][fe0f]|[265f][fe0f]|[2660][fe0f]|[2663][fe0f]|[2665][fe0f]|[2666][fe0f]|[2668][fe0f]|[267b][fe0f]|[267e][fe0f]|[2692][fe0f]|[2694][fe0f]|[2695][fe0f]|[2696][fe0f]|[2697][fe0f]|[2699][fe0f]|[269b][fe0f]|[269c][fe0f]|[26a0][fe0f]|[26a7][fe0f]|[26b0][fe0f]|[26b1][fe0f]|[26c8][fe0f]|[26cf][fe0f]|[26d1][fe0f]|[26d3][fe0f]|[26e9][fe0f]|[26f0][fe0f]|[26f1][fe0f]|[26f4][fe0f]|[26f7][fe0f]|[26f8][fe0f]|[26f9][fe0f]|[2702][fe0f]|[2708][fe0f]|[2709][fe0f]|[270c][fe0f]|[270d][fe0f]|[270f][fe0f]|[2712][fe0f]|[2714][fe0f]|[2716][fe0f]|[271d][fe0f]|[2721][fe0f]|[2733][fe0f]|[2734][fe0f]|[2744][fe0f]|[2747][fe0f]|[2763][fe0f]|[2764][fe0f]|[27a1][fe0f]|[2934][fe0f]|[2935][fe0f]|[2b05][fe0f]|[2b06][fe0f]|[2b07][fe0f]|[3030][fe0f]|[303d][fe0f]|[3297][fe0f]|[3299][fe0f]|[1f170][fe0f]|[1f171][fe0f]|[1f17e][fe0f]|[1f17f][fe0f]|[1f202][fe0f]|[1f237][fe0f]|[1f321][fe0f]|[1f324][fe0f]|[1f325][fe0f]|[1f326][fe0f]|[1f327][fe0f]|[1f328][fe0f]|[1f329][fe0f]|[1f32a][fe0f]|[1f32b][fe0f]|[1f32c][fe0f]|[1f336][fe0f]|[1f37d][fe0f]|[1f396][fe0f]|[1f397][fe0f]|[1f399][fe0f]|[1f39a][fe0f]|[1f39b][fe0f]|[1f39e][fe0f]|[1f39f][fe0f]|[1f3cb][fe0f]|[1f3cc][fe0f]|[1f3cd][fe0f]|[1f3ce][fe0f]|[1f3d4][fe0f]|[1f3d5][fe0f]|[1f3d6][fe0f]|[1f3d7][fe0f]|[1f3d8][fe0f]|[1f3d9][fe0f]|[1f3da][fe0f]|[1f3db][fe0f]|[1f3dc][fe0f]|[1f3dd][fe0f]|[1f3de][fe0f]|[1f3df][fe0f]|[1f3f3][fe0f]|[1f3f5][fe0f]|[1f3f7][fe0f]|[1f43f][fe0f]|[1f441][fe0f]|[1f4fd][fe0f]|[1f549][fe0f]|[1f54a][fe0f]|[1f56f][fe0f]|[1f570][fe0f]|[1f573][fe0f]|[1f574][fe0f]|[1f575][fe0f]|[1f576][fe0f]|[1f577][fe0f]|[1f578][fe0f]|[1f579][fe0f]|[1f587][fe0f]|[1f58a][fe0f]|[1f58b][fe0f]|[1f58c][fe0f]|[1f58d][fe0f]|[1f590][fe0f]|[1f5a5][fe0f]|[1f5a8][fe0f]|[1f5b1][fe0f]|[1f5b2][fe0f]|[1f5bc][fe0f]|[1f5c2][fe0f]|[1f5c3][fe0f]|[1f5c4][fe0f]|[1f5d1][fe0f]|[1f5d2][fe0f]|[1f5d3][fe0f]|[1f5dc][fe0f]|[1f5dd][fe0f]|[1f5de][fe0f]|[1f5e1][fe0f]|[1f5e3][fe0f]|[1f5e8][fe0f]|[1f5ef][fe0f]|[1f5f3][fe0f]|[1f5fa][fe0f]|[1f6cb][fe0f]|[1f6cd][fe0f]|[1f6ce][fe0f]|[1f6cf][fe0f]|[1f6e0][fe0f]|[1f6e1][fe0f]|[1f6e2][fe0f]|[1f6e3][fe0f]|[1f6e4][fe0f]|[1f6e5][fe0f]|[1f6e9][fe0f]|[1f6f0][fe0f]|[1f6f3][fe0f]|[231a..231b, 23e9..23ec, 23f0, 23f3, 25fd..25fe, 2614..2615, 2648..2653, 267f, 2693, 26a1, 26aa..26ab, 26bd..26be, 26c4..26c5, 26ce, 26d4, 26ea, 26f2..26f3, 26f5, 26fa, 26fd, 2705, 270a..270b, 2728, 274c, 274e, 2753..2755, 2757, 2795..2797, 27b0, 27bf, 2b1b..2b1c, 2b50, 2b55, 1f004, 1f0cf, 1f18e, 1f191..1f19a, 1f201, 1f21a, 1f22f, 1f232..1f236, 1f238..1f23a, 1f250..1f251, 1f300..1f320, 1f32d..1f335, 1f337..1f37c, 1f37e..1f393, 1f3a0..1f3ca, 1f3cf..1f3d3, 1f3e0..1f3f0, 1f3f4, 1f3f8..1f43e, 1f440, 1f442..1f4fc, 1f4ff..1f53d, 1f54b..1f54e, 1f550..1f567, 1f57a, 1f595..1f596, 1f5a4, 1f5fb..1f64f, 1f680..1f6c5, 1f6cc, 1f6d0..1f6d2, 1f6d5..1f6d7, 1f6dc..1f6df, 1f6eb..1f6ec, 1f6f4..1f6fc, 1f7e0..1f7eb, 1f7f0, 1f90c..1f93a, 1f93c..1f945, 1f947..1f9ff, 1fa70..1fa7c, 1fa80..1fa88, 1fa90..1fabd, 1fabf..1fac5, 1face..1fadb, 1fae0..1fae8, 1faf0..1faf8] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[\p{Basic_Emoji}abc]&&[^]]/v `] = lit` -[61..63, 231a..231b, 23e9..23ec, 23f0, 23f3, 25fd..25fe, 2614..2615, 2648..2653, 267f, 2693, 26a1, 26aa..26ab, 26bd..26be, 26c4..26c5, 26ce, 26d4, 26ea, 26f2..26f3, 26f5, 26fa, 26fd, 2705, 270a..270b, 2728, 274c, 274e, 2753..2755, 2757, 2795..2797, 27b0, 27bf, 2b1b..2b1c, 2b50, 2b55, 1f004, 1f0cf, 1f18e, 1f191..1f19a, 1f201, 1f21a, 1f22f, 1f232..1f236, 1f238..1f23a, 1f250..1f251, 1f300..1f320, 1f32d..1f335, 1f337..1f37c, 1f37e..1f393, 1f3a0..1f3ca, 1f3cf..1f3d3, 1f3e0..1f3f0, 1f3f4, 1f3f8..1f43e, 1f440, 1f442..1f4fc, 1f4ff..1f53d, 1f54b..1f54e, 1f550..1f567, 1f57a, 1f595..1f596, 1f5a4, 1f5fb..1f64f, 1f680..1f6c5, 1f6cc, 1f6d0..1f6d2, 1f6d5..1f6d7, 1f6dc..1f6df, 1f6eb..1f6ec, 1f6f4..1f6fc, 1f7e0..1f7eb, 1f7f0, 1f90c..1f93a, 1f93c..1f945, 1f947..1f9ff, 1fa70..1fa7c, 1fa80..1fa88, 1fa90..1fabd, 1fabf..1fac5, 1face..1fadb, 1fae0..1fae8, 1faf0..1faf8] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[\p{Basic_Emoji}abc]&&[^]]/vi `] = lit` -[41..43, 61..63, 231a..231b, 23e9..23ec, 23f0, 23f3, 25fd..25fe, 2614..2615, 2648..2653, 267f, 2693, 26a1, 26aa..26ab, 26bd..26be, 26c4..26c5, 26ce, 26d4, 26ea, 26f2..26f3, 26f5, 26fa, 26fd, 2705, 270a..270b, 2728, 274c, 274e, 2753..2755, 2757, 2795..2797, 27b0, 27bf, 2b1b..2b1c, 2b50, 2b55, 1f004, 1f0cf, 1f18e, 1f191..1f19a, 1f201, 1f21a, 1f22f, 1f232..1f236, 1f238..1f23a, 1f250..1f251, 1f300..1f320, 1f32d..1f335, 1f337..1f37c, 1f37e..1f393, 1f3a0..1f3ca, 1f3cf..1f3d3, 1f3e0..1f3f0, 1f3f4, 1f3f8..1f43e, 1f440, 1f442..1f4fc, 1f4ff..1f53d, 1f54b..1f54e, 1f550..1f567, 1f57a, 1f595..1f596, 1f5a4, 1f5fb..1f64f, 1f680..1f6c5, 1f6cc, 1f6d0..1f6d2, 1f6d5..1f6d7, 1f6dc..1f6df, 1f6eb..1f6ec, 1f6f4..1f6fc, 1f7e0..1f7eb, 1f7f0, 1f90c..1f93a, 1f93c..1f945, 1f947..1f9ff, 1fa70..1fa7c, 1fa80..1fa88, 1fa90..1fabd, 1fabf..1fac5, 1face..1fadb, 1fae0..1fae8, 1faf0..1faf8] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]&&[0-9]]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]&&\d]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]&&\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]&&_]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]--[0-9]]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]--\d]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]--\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[31, 33, 35..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]--_]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9][0-9]]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]\d]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[39][fe0f][20e3]|[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[[0-9]_]/v `] = lit` -[30..39, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d&&[0-9]]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d&&\d]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d&&\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d&&_]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d--[0-9]]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d--\d]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d--\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[31, 33, 35..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d--_]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d[0-9]]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d\d]/v `] = lit` -[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[39][fe0f][20e3]|[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\d_]/v `] = lit` -[30..39, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}&&[0-9]]/v `] = lit` -[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}&&\d]/v `] = lit` -[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}&&\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[39][fe0f][20e3]|[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}&&_]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}--[0-9]]/v `] = lit` -[39][fe0f][20e3] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}--\d]/v `] = lit` -[39][fe0f][20e3] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}--\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}--_]/v `] = lit` -[39][fe0f][20e3]|[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}[0-9]]/v `] = lit` -[39][fe0f][20e3]|[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}\d]/v `] = lit` -[39][fe0f][20e3]|[30..39] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[39][fe0f][20e3]|[30, 32, 34] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[\q{0|2|4|9\uFE0F\u20E3}_]/v `] = lit` -[39][fe0f][20e3]|[30, 32, 34, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_&&[0-9]]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_&&\d]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_&&\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_&&_]/v `] = lit` -[5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_--[0-9]]/v `] = lit` -[5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_--\d]/v `] = lit` -[5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_--\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_--_]/v `] = lit` -[] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_[0-9]]/v `] = lit` -[30..39, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_\d]/v `] = lit` -[30..39, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[_\q{0|2|4|9\uFE0F\u20E3}]/v `] = lit` -[39][fe0f][20e3]|[30, 32, 34, 5f] -`; - -module.exports[n`JS createCharSet >> Literal tests >> /[__]/v `] = lit` -[5f] -`; diff --git a/tests/js/__snapshots__/to-literal.ts b/tests/js/__snapshots__/to-literal.ts deleted file mode 100644 index f648453f..00000000 --- a/tests/js/__snapshots__/to-literal.ts +++ /dev/null @@ -1,2620 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /abc/u ({"flags":{"unicode":false}}) `] = lit` -/abc/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /abc/iu ({"flags":{"unicode":false}}) `] = lit` -/ABC/i -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\w+/u ({"flags":{"unicode":false}}) `] = lit` -/\w+/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\w+/iu ({"flags":{"unicode":false}}) `] = lit` -/[\w\u017f\u212a]+/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\W+/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\w\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /\W+/iu ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\w\u017f\u212a\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /./iu ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\n\r\u2028\u2029\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /./isu ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /\\u{1F4A9}/u ({"flags":{"unicode":false}}) `] = lit` -/(?:\ud83d\udca9)/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /[^\\u{1F4A9}]/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\ud800-\udfff]|[\ud800-\ud83c\ud83e-\udbff][\udc00-\udfff]|\ud83d[\udc00-\udca8\udcaa-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /\p{ASCII_Hex_Digit}/u ({"flags":{"unicode":false}}) `] = lit` -/[\dA-F]/i -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\p{Script_Extensions=Anatolian_Hieroglyphs}/u ({"flags":{"unicode":false}}) `] = lit` -/(?:\ud811[\udc00-\ude46])/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\p{ASCII_Hex_Digit}+/u ({"flags":{"unicode":false}}) `] = lit` -/[\dA-F]+/i -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /\p{Script_Extensions=Anatolian_Hieroglyphs}+/u ({"flags":{"unicode":false}}) `] = lit` -/(?:\ud811[\udc00-\ude46])+/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /[\p{ASCII_Hex_Digit}_]/u ({"flags":{"unicode":false}}) `] = lit` -/[\dA-F_]/i -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /[^\p{ASCII_Hex_Digit}_]/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\dA-F_a-f\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /[\P{Script_Extensions=Anatolian_Hieroglyphs}]/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\ud800-\udfff]|[\ud800-\ud810\ud812-\udbff][\udc00-\udfff]|\ud811[\ude47-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /[\p{Script_Extensions=Anatolian_Hieroglyphs}_]/u ({"flags":{"unicode":false}}) `] = lit` -/(?:_|\ud811[\udc00-\ude46])/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /[\P{Script_Extensions=Anatolian_Hieroglyphs}_]/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[^\ud800-\udfff]|[\ud800-\ud810\ud812-\udbff][\udc00-\udfff]|\ud811[\ude47-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?> Unicode to UTF16 >> /(?:\p{ASCII_Hex_Digit})/u ({"flags":{"unicode":false}}) `] = lit` -/(?:[\dA-F])/i -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /(?:\p{Script_Extensions=Anatolian_Hieroglyphs})/u ({"flags":{"unicode":false}}) `] = lit` -/(?:(?:\ud811[\udc00-\ude46]))/ -`; - -module.exports[n`JS.toLiteral >> Unicode to UTF16 >> /(?:\p{Script_Extensions=Wancho})/u ({"flags":{"unicode":false}}) `] = lit` -/(?:(?:\ud838[\udec0-\udef9\udeff]))/ -`; - -module.exports[n`JS.toLiteral >> Prism regexes >> snapshot `] = lit` -// -/<\?[^]+?\?>/ -//i -/[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/(?:))*\]\]>|(?!)/i -//i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^$/i -/^\s*=\s*["']|["']\s*$/ -/^$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?(?:))*\]\]>|(?!)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO\b)/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/[]/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b)\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/[]/ -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/[]/ -/[]/ -/[]/ -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?=$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)\b))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/[]/ -/(?:^|[^<])<<-?\s*(?:[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?|\{[^]*?\})"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/ -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not\b)\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/[]/ -/[]/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--.*/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|inputsequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop||boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?||remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice||check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?||3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error||exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex||real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/[]/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/[]/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)\s*?(?=\r?\n|\r))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/[]/ -/[]/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/[]/ -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b)[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/[]/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/[]/ -/[]/ -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:|[\w$]+)\()/ -/(?:|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof\b)[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js||.*(?:node_modules|\(\)|\(|$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/[]/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/[]/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS\b)/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/[]/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/[]/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML\b)[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{](?=$)(?!(?:\r?\n|\r)\{))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:,$|\{|(?=(?:\r?\n|\r)\{))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))\s*?(?=\r?\n|\r))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(??@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on\b)/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/[]/ -/[]/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/[]/ -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*(?:[]))+/ -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*End[A-Z]\w*(?=[\t ]*$)/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/[]/ -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/js/__snapshots__/unicode-set.ts b/tests/js/__snapshots__/unicode-set.ts deleted file mode 100644 index 71d9c0eb..00000000 --- a/tests/js/__snapshots__/unicode-set.ts +++ /dev/null @@ -1,968 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`JS.UnicodeSet >> equals `] = lit` -❌ /[]/v = /[\q{}]/v -❌ /[]/v = /[\q{}]/vi -❌ /[]/v = /a/v -❌ /[]/v = /A/v -❌ /[]/v = /[aA]/v -❌ /[]/v = /[aA]/vi -❌ /[]/v = /a/vi -❌ /[]/v = /[\q{aa}]/vi -❌ /[]/v = /[\q{aa|aA|Aa|AA}]/v -❌ /[]/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[]/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[]/v = /[\w\q{foo|bar}]/v -❌ /[]/v = /[\w\q{foo|bar}]/vi -❌ /[]/v = /[\w\q{foo|bar|food}]/v -❌ /[]/v = /[\w\q{foo|foot|food}]/v -❌ /[]/v = /[\q{foo|foot|food}]/v -❌ /[]/v = /[\w\q{foo|foot|food}]/vi -❌ /[]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[]/v = /[\q{foo|bar|baz}]/vi -✔️ /[\q{}]/v = /[\q{}]/vi -❌ /[\q{}]/v = /a/v -❌ /[\q{}]/v = /A/v -❌ /[\q{}]/v = /[aA]/v -❌ /[\q{}]/v = /[aA]/vi -❌ /[\q{}]/v = /a/vi -❌ /[\q{}]/v = /[\q{aa}]/vi -❌ /[\q{}]/v = /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{}]/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{}]/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{}]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/v = /[\w\q{foo|bar}]/v -❌ /[\q{}]/v = /[\w\q{foo|bar}]/vi -❌ /[\q{}]/v = /[\w\q{foo|bar|food}]/v -❌ /[\q{}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\q{}]/v = /[\q{foo|foot|food}]/v -❌ /[\q{}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\q{}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\q{}]/vi = /a/v -❌ /[\q{}]/vi = /A/v -❌ /[\q{}]/vi = /[aA]/v -❌ /[\q{}]/vi = /[aA]/vi -❌ /[\q{}]/vi = /a/vi -❌ /[\q{}]/vi = /[\q{aa}]/vi -❌ /[\q{}]/vi = /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{}]/vi = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{}]/vi = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{}]/vi = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/vi = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/vi = /[\w\q{foo|bar}]/v -❌ /[\q{}]/vi = /[\w\q{foo|bar}]/vi -❌ /[\q{}]/vi = /[\w\q{foo|bar|food}]/v -❌ /[\q{}]/vi = /[\w\q{foo|foot|food}]/v -❌ /[\q{}]/vi = /[\q{foo|foot|food}]/v -❌ /[\q{}]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[\q{}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{}]/vi = /[\q{foo|bar|baz}]/vi -❌ /a/v = /A/v -❌ /a/v = /[aA]/v -❌ /a/v = /[aA]/vi -❌ /a/v = /a/vi -❌ /a/v = /[\q{aa}]/vi -❌ /a/v = /[\q{aa|aA|Aa|AA}]/v -❌ /a/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /a/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /a/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /a/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /a/v = /[\w\q{foo|bar}]/v -❌ /a/v = /[\w\q{foo|bar}]/vi -❌ /a/v = /[\w\q{foo|bar|food}]/v -❌ /a/v = /[\w\q{foo|foot|food}]/v -❌ /a/v = /[\q{foo|foot|food}]/v -❌ /a/v = /[\w\q{foo|foot|food}]/vi -❌ /a/v = /[\w\q{foo|bar|baz}]/vi -❌ /a/v = /[\q{foo|bar|baz}]/vi -❌ /A/v = /[aA]/v -❌ /A/v = /[aA]/vi -❌ /A/v = /a/vi -❌ /A/v = /[\q{aa}]/vi -❌ /A/v = /[\q{aa|aA|Aa|AA}]/v -❌ /A/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /A/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /A/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /A/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /A/v = /[\w\q{foo|bar}]/v -❌ /A/v = /[\w\q{foo|bar}]/vi -❌ /A/v = /[\w\q{foo|bar|food}]/v -❌ /A/v = /[\w\q{foo|foot|food}]/v -❌ /A/v = /[\q{foo|foot|food}]/v -❌ /A/v = /[\w\q{foo|foot|food}]/vi -❌ /A/v = /[\w\q{foo|bar|baz}]/vi -❌ /A/v = /[\q{foo|bar|baz}]/vi -✔️ /[aA]/v = /[aA]/vi -✔️ /[aA]/v = /a/vi -❌ /[aA]/v = /[\q{aa}]/vi -❌ /[aA]/v = /[\q{aa|aA|Aa|AA}]/v -❌ /[aA]/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[aA]/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[aA]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/v = /[\w\q{foo|bar}]/v -❌ /[aA]/v = /[\w\q{foo|bar}]/vi -❌ /[aA]/v = /[\w\q{foo|bar|food}]/v -❌ /[aA]/v = /[\w\q{foo|foot|food}]/v -❌ /[aA]/v = /[\q{foo|foot|food}]/v -❌ /[aA]/v = /[\w\q{foo|foot|food}]/vi -❌ /[aA]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[aA]/v = /[\q{foo|bar|baz}]/vi -✔️ /[aA]/vi = /a/vi -❌ /[aA]/vi = /[\q{aa}]/vi -❌ /[aA]/vi = /[\q{aa|aA|Aa|AA}]/v -❌ /[aA]/vi = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[aA]/vi = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[aA]/vi = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/vi = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/vi = /[\w\q{foo|bar}]/v -❌ /[aA]/vi = /[\w\q{foo|bar}]/vi -❌ /[aA]/vi = /[\w\q{foo|bar|food}]/v -❌ /[aA]/vi = /[\w\q{foo|foot|food}]/v -❌ /[aA]/vi = /[\q{foo|foot|food}]/v -❌ /[aA]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[aA]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[aA]/vi = /[\q{foo|bar|baz}]/vi -❌ /a/vi = /[\q{aa}]/vi -❌ /a/vi = /[\q{aa|aA|Aa|AA}]/v -❌ /a/vi = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /a/vi = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /a/vi = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /a/vi = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /a/vi = /[\w\q{foo|bar}]/v -❌ /a/vi = /[\w\q{foo|bar}]/vi -❌ /a/vi = /[\w\q{foo|bar|food}]/v -❌ /a/vi = /[\w\q{foo|foot|food}]/v -❌ /a/vi = /[\q{foo|foot|food}]/v -❌ /a/vi = /[\w\q{foo|foot|food}]/vi -❌ /a/vi = /[\w\q{foo|bar|baz}]/vi -❌ /a/vi = /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa}]/vi = /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{aa}]/vi = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{aa}]/vi = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa}]/vi = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa}]/vi = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa}]/vi = /[\w\q{foo|bar}]/v -❌ /[\q{aa}]/vi = /[\w\q{foo|bar}]/vi -❌ /[\q{aa}]/vi = /[\w\q{foo|bar|food}]/v -❌ /[\q{aa}]/vi = /[\w\q{foo|foot|food}]/v -❌ /[\q{aa}]/vi = /[\q{foo|foot|food}]/v -❌ /[\q{aa}]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa}]/vi = /[\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi = /[\q{foo|bar|baz}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|foot|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\q{foo|foot|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/v = /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|bar}]/v = /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/v = /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/vi = /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar}]/vi = /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/vi = /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/vi = /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/vi = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar|food}]/v = /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|food}]/v = /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|food}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar|food}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar|food}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/v = /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|foot|food}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|foot|food}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\q{foo|foot|food}]/v = /[\w\q{foo|foot|food}]/vi -❌ /[\q{foo|foot|food}]/v = /[\w\q{foo|bar|baz}]/vi -❌ /[\q{foo|foot|food}]/v = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/vi = /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/vi = /[\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar|baz}]/vi = /[\q{foo|bar|baz}]/vi -`; - -module.exports[n`JS.UnicodeSet >> isSupersetOf `] = lit` -✔️ /[]/v ⊇ /[]/v -❌ /[]/v ⊇ /[\q{}]/v -❌ /[]/v ⊇ /[\q{}]/vi -❌ /[]/v ⊇ /a/v -❌ /[]/v ⊇ /A/v -❌ /[]/v ⊇ /[aA]/v -❌ /[]/v ⊇ /[aA]/vi -❌ /[]/v ⊇ /a/vi -❌ /[]/v ⊇ /[\q{aa}]/vi -❌ /[]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{}]/v ⊇ /[]/v -✔️ /[\q{}]/v ⊇ /[\q{}]/v -✔️ /[\q{}]/v ⊇ /[\q{}]/vi -❌ /[\q{}]/v ⊇ /a/v -❌ /[\q{}]/v ⊇ /A/v -❌ /[\q{}]/v ⊇ /[aA]/v -❌ /[\q{}]/v ⊇ /[aA]/vi -❌ /[\q{}]/v ⊇ /a/vi -❌ /[\q{}]/v ⊇ /[\q{aa}]/vi -❌ /[\q{}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{}]/vi ⊇ /[]/v -✔️ /[\q{}]/vi ⊇ /[\q{}]/v -✔️ /[\q{}]/vi ⊇ /[\q{}]/vi -❌ /[\q{}]/vi ⊇ /a/v -❌ /[\q{}]/vi ⊇ /A/v -❌ /[\q{}]/vi ⊇ /[aA]/v -❌ /[\q{}]/vi ⊇ /[aA]/vi -❌ /[\q{}]/vi ⊇ /a/vi -❌ /[\q{}]/vi ⊇ /[\q{aa}]/vi -❌ /[\q{}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /a/v ⊇ /[]/v -❌ /a/v ⊇ /[\q{}]/v -❌ /a/v ⊇ /[\q{}]/vi -✔️ /a/v ⊇ /a/v -❌ /a/v ⊇ /A/v -❌ /a/v ⊇ /[aA]/v -❌ /a/v ⊇ /[aA]/vi -❌ /a/v ⊇ /a/vi -❌ /a/v ⊇ /[\q{aa}]/vi -❌ /a/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /a/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /a/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /a/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /a/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /a/v ⊇ /[\w\q{foo|bar}]/v -❌ /a/v ⊇ /[\w\q{foo|bar}]/vi -❌ /a/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /a/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /a/v ⊇ /[\q{foo|foot|food}]/v -❌ /a/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /a/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /a/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /A/v ⊇ /[]/v -❌ /A/v ⊇ /[\q{}]/v -❌ /A/v ⊇ /[\q{}]/vi -❌ /A/v ⊇ /a/v -✔️ /A/v ⊇ /A/v -❌ /A/v ⊇ /[aA]/v -❌ /A/v ⊇ /[aA]/vi -❌ /A/v ⊇ /a/vi -❌ /A/v ⊇ /[\q{aa}]/vi -❌ /A/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /A/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /A/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /A/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /A/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /A/v ⊇ /[\w\q{foo|bar}]/v -❌ /A/v ⊇ /[\w\q{foo|bar}]/vi -❌ /A/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /A/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /A/v ⊇ /[\q{foo|foot|food}]/v -❌ /A/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /A/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /A/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[aA]/v ⊇ /[]/v -❌ /[aA]/v ⊇ /[\q{}]/v -❌ /[aA]/v ⊇ /[\q{}]/vi -✔️ /[aA]/v ⊇ /a/v -✔️ /[aA]/v ⊇ /A/v -✔️ /[aA]/v ⊇ /[aA]/v -✔️ /[aA]/v ⊇ /[aA]/vi -✔️ /[aA]/v ⊇ /a/vi -❌ /[aA]/v ⊇ /[\q{aa}]/vi -❌ /[aA]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[aA]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[aA]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[aA]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[aA]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[aA]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[aA]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[aA]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[aA]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[aA]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[aA]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[aA]/vi ⊇ /[]/v -❌ /[aA]/vi ⊇ /[\q{}]/v -❌ /[aA]/vi ⊇ /[\q{}]/vi -✔️ /[aA]/vi ⊇ /a/v -✔️ /[aA]/vi ⊇ /A/v -✔️ /[aA]/vi ⊇ /[aA]/v -✔️ /[aA]/vi ⊇ /[aA]/vi -✔️ /[aA]/vi ⊇ /a/vi -❌ /[aA]/vi ⊇ /[\q{aa}]/vi -❌ /[aA]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[aA]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[aA]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[aA]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[aA]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[aA]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[aA]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[aA]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[aA]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[aA]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[aA]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[aA]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /a/vi ⊇ /[]/v -❌ /a/vi ⊇ /[\q{}]/v -❌ /a/vi ⊇ /[\q{}]/vi -✔️ /a/vi ⊇ /a/v -✔️ /a/vi ⊇ /A/v -✔️ /a/vi ⊇ /[aA]/v -✔️ /a/vi ⊇ /[aA]/vi -✔️ /a/vi ⊇ /a/vi -❌ /a/vi ⊇ /[\q{aa}]/vi -❌ /a/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /a/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /a/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /a/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /a/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /a/vi ⊇ /[\w\q{foo|bar}]/v -❌ /a/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /a/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /a/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /a/vi ⊇ /[\q{foo|foot|food}]/v -❌ /a/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /a/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /a/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa}]/vi ⊇ /[]/v -❌ /[\q{aa}]/vi ⊇ /[\q{}]/v -❌ /[\q{aa}]/vi ⊇ /[\q{}]/vi -❌ /[\q{aa}]/vi ⊇ /a/v -❌ /[\q{aa}]/vi ⊇ /A/v -❌ /[\q{aa}]/vi ⊇ /[aA]/v -❌ /[\q{aa}]/vi ⊇ /[aA]/vi -❌ /[\q{aa}]/vi ⊇ /a/vi -✔️ /[\q{aa}]/vi ⊇ /[\q{aa}]/vi -✔️ /[\q{aa}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{aa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{aa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{aa}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa|aA|Aa|AA}]/v ⊇ /[]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /a/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /A/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[aA]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[aA]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /a/vi -✔️ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{aa}]/vi -✔️ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /a/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /A/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[aA]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[aA]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /a/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{aa}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /a/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /A/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[aA]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[aA]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /a/vi -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{aa}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /a/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /A/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[aA]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[aA]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /a/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa}]/vi -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{}]/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /a/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /A/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[aA]/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[aA]/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /a/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa}]/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|bar}]/v ⊇ /[]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|bar}]/v ⊇ /a/v -✔️ /[\w\q{foo|bar}]/v ⊇ /A/v -✔️ /[\w\q{foo|bar}]/v ⊇ /[aA]/v -✔️ /[\w\q{foo|bar}]/v ⊇ /[aA]/vi -✔️ /[\w\q{foo|bar}]/v ⊇ /a/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -✔️ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|bar}]/vi ⊇ /[]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|bar}]/vi ⊇ /a/v -✔️ /[\w\q{foo|bar}]/vi ⊇ /A/v -✔️ /[\w\q{foo|bar}]/vi ⊇ /[aA]/v -✔️ /[\w\q{foo|bar}]/vi ⊇ /[aA]/vi -✔️ /[\w\q{foo|bar}]/vi ⊇ /a/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -✔️ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|bar}]/v -✔️ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|bar|food}]/v ⊇ /[]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|bar|food}]/v ⊇ /a/v -✔️ /[\w\q{foo|bar|food}]/v ⊇ /A/v -✔️ /[\w\q{foo|bar|food}]/v ⊇ /[aA]/v -✔️ /[\w\q{foo|bar|food}]/v ⊇ /[aA]/vi -✔️ /[\w\q{foo|bar|food}]/v ⊇ /a/vi -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -✔️ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|bar}]/vi -✔️ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|bar|food}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|foot|food}]/v ⊇ /[]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|foot|food}]/v ⊇ /a/v -✔️ /[\w\q{foo|foot|food}]/v ⊇ /A/v -✔️ /[\w\q{foo|foot|food}]/v ⊇ /[aA]/v -✔️ /[\w\q{foo|foot|food}]/v ⊇ /[aA]/vi -✔️ /[\w\q{foo|foot|food}]/v ⊇ /a/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar|food}]/v -✔️ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|foot|food}]/v -✔️ /[\w\q{foo|foot|food}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{foo|foot|food}]/v ⊇ /[]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /a/v -❌ /[\q{foo|foot|food}]/v ⊇ /A/v -❌ /[\q{foo|foot|food}]/v ⊇ /[aA]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[aA]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /a/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{aa}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|foot|food}]/v -✔️ /[\q{foo|foot|food}]/v ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\q{foo|foot|food}]/v ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{}]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /a/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /A/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[aA]/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[aA]/vi -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /a/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|bar|food}]/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|foot|food}]/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{foo|foot|food}]/v -✔️ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -❌ /[\w\q{foo|foot|food}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{}]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /a/v -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /A/v -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[aA]/v -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[aA]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /a/vi -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{aa}]/vi -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar}]/v -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -✔️ /[\w\q{foo|bar|baz}]/vi ⊇ /[\q{foo|bar|baz}]/vi -✔️ /[\q{foo|bar|baz}]/vi ⊇ /[]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /a/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /A/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[aA]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[aA]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /a/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{aa}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{a|aa|aA|Aa|AA|aaa}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar|food}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|foot|food}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\q{foo|foot|food}]/v -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|foot|food}]/vi -❌ /[\q{foo|bar|baz}]/vi ⊇ /[\w\q{foo|bar|baz}]/vi -✔️ /[\q{foo|bar|baz}]/vi ⊇ /[\q{foo|bar|baz}]/vi -`; - -module.exports[n`JS.UnicodeSet >> isDisjointWith `] = lit` -✔️ /[]/v ∩ /[\q{}]/v = ∅ -✔️ /[]/v ∩ /[\q{}]/vi = ∅ -✔️ /[]/v ∩ /a/v = ∅ -✔️ /[]/v ∩ /A/v = ∅ -✔️ /[]/v ∩ /[aA]/v = ∅ -✔️ /[]/v ∩ /[aA]/vi = ∅ -✔️ /[]/v ∩ /a/vi = ∅ -✔️ /[]/v ∩ /[\q{aa}]/vi = ∅ -✔️ /[]/v ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /[]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /[]/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /[]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[]/v ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[]/v ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{}]/v ∩ /[\q{}]/vi = ∅ -✔️ /[\q{}]/v ∩ /a/v = ∅ -✔️ /[\q{}]/v ∩ /A/v = ∅ -✔️ /[\q{}]/v ∩ /[aA]/v = ∅ -✔️ /[\q{}]/v ∩ /[aA]/vi = ∅ -✔️ /[\q{}]/v ∩ /a/vi = ∅ -✔️ /[\q{}]/v ∩ /[\q{aa}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /a/v = ∅ -✔️ /[\q{}]/vi ∩ /A/v = ∅ -✔️ /[\q{}]/vi ∩ /[aA]/v = ∅ -✔️ /[\q{}]/vi ∩ /[aA]/vi = ∅ -✔️ /[\q{}]/vi ∩ /a/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\q{aa}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -✔️ /a/v ∩ /A/v = ∅ -❌ /a/v ∩ /[aA]/v = ∅ -❌ /a/v ∩ /[aA]/vi = ∅ -❌ /a/v ∩ /a/vi = ∅ -✔️ /a/v ∩ /[\q{aa}]/vi = ∅ -✔️ /a/v ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /a/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /a/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /a/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /a/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /a/v ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /a/v ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /a/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /a/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /a/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /a/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /a/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /a/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /A/v ∩ /[aA]/v = ∅ -❌ /A/v ∩ /[aA]/vi = ∅ -❌ /A/v ∩ /a/vi = ∅ -✔️ /A/v ∩ /[\q{aa}]/vi = ∅ -✔️ /A/v ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /A/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /A/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /A/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /A/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /A/v ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /A/v ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /A/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /A/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /A/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /A/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /A/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /A/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[aA]/v ∩ /[aA]/vi = ∅ -❌ /[aA]/v ∩ /a/vi = ∅ -✔️ /[aA]/v ∩ /[\q{aa}]/vi = ∅ -✔️ /[aA]/v ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /[aA]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /[aA]/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /[aA]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[aA]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[aA]/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[aA]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[aA]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[aA]/vi ∩ /a/vi = ∅ -✔️ /[aA]/vi ∩ /[\q{aa}]/vi = ∅ -✔️ /[aA]/vi ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /[aA]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /[aA]/vi ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /[aA]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[aA]/vi ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[aA]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[aA]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[aA]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -✔️ /a/vi ∩ /[\q{aa}]/vi = ∅ -✔️ /a/vi ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -✔️ /a/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -✔️ /a/vi ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -✔️ /a/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /a/vi ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /a/vi ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /a/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /a/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /a/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /a/vi ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /a/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /a/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /a/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{aa}]/vi ∩ /[\q{aa|aA|Aa|AA}]/v = ∅ -❌ /[\q{aa}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -❌ /[\q{aa}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -❌ /[\q{aa}]/vi ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[\q{aa}]/vi ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa}]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{aa}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{aa}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/v = ∅ -❌ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -❌ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\q{aa|aA|Aa|AA|aaa}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa|aAa}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\q{a|aa|aA|Aa|AA|aaa}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{aa|aA|Aa|AA|aaa}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar}]/v = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -✔️ /[\q{a|aa|aA|Aa|AA|aaa}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\w\q{foo|bar}]/vi = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\w\q{foo|bar|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\w\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar|food}]/v ∩ /[\w\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar|food}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|bar|food}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\w\q{foo|bar|food}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar|food}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|foot|food}]/v ∩ /[\q{foo|foot|food}]/v = ∅ -❌ /[\w\q{foo|foot|food}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\w\q{foo|foot|food}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|foot|food}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{foo|foot|food}]/v ∩ /[\w\q{foo|foot|food}]/vi = ∅ -❌ /[\q{foo|foot|food}]/v ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\q{foo|foot|food}]/v ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|foot|food}]/vi ∩ /[\w\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|foot|food}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -❌ /[\w\q{foo|bar|baz}]/vi ∩ /[\q{foo|bar|baz}]/vi = ∅ -`; diff --git a/tests/js/create-assertion.ts b/tests/js/create-assertion.ts deleted file mode 100644 index 0a3a8d45..00000000 --- a/tests/js/create-assertion.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { assert } from "chai"; -import { Parser } from "../../src/js"; -import { toPatternString } from "../helper/literal-to-string"; - -describe("JS createCharSet", function () { - interface TestCase { - literal: { source: string; flags: string }; - expected: string | Error; - } - - function test(cases: Iterable): void { - for (const { literal, expected } of cases) { - it(`/${literal.source}/${literal.flags}`, function () { - if (typeof expected === "string") { - const parser = Parser.fromLiteral(literal); - assert.strictEqual(toPatternString(parser.parse().expression), expected); - } else { - assert.throws(() => { - const parser = Parser.fromLiteral(literal); - parser.parse(); - }); - } - }); - } - } - - const cases: TestCase[] = [ - { - literal: /^/, - expected: "(?): void { - for (const { literal, expected } of cases) { - it(`/${literal.source}/${literal.flags}`, function () { - if (expected === undefined) { - const parser = Parser.fromLiteral(literal); - assertEqualSnapshot(this, toPatternString(parser.parse().expression)); - } else if (typeof expected === "string") { - const parser = Parser.fromLiteral(literal); - assert.strictEqual(toPatternString(parser.parse().expression), expected); - } else { - assert.throws(() => { - const parser = Parser.fromLiteral(literal); - parser.parse(); - }); - } - }); - } - } - - const cases: TestCase[] = [ - { literal: /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/ }, - { literal: /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/i }, - { literal: /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/u }, - { literal: /abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ/iu }, - - { literal: /[a-z]/ }, - { literal: /[a-z]/i }, - { literal: /[a-z]/u }, - { literal: /[a-z]/iu }, - - // \w \W - - { literal: /\w/ }, - { literal: /\w/i }, - { literal: /\w/u }, - { literal: /\w/iu }, - { literal: { source: String.raw`\w`, flags: "v" } }, - { literal: { source: String.raw`\w`, flags: "iv" } }, - { literal: /\W/ }, - { literal: /\W/i }, - { literal: /\W/u }, - { literal: /\W/iu }, - { literal: { source: String.raw`\W`, flags: "v" } }, - { literal: { source: String.raw`\W`, flags: "iv" } }, - - // \d \D - - { literal: /\d/ }, - { literal: /\d/i }, - { literal: /\d/u }, - { literal: /\d/iu }, - - { literal: /\D/ }, - { literal: /\D/i }, - { literal: /\D/u }, - { literal: /\D/iu }, - - // \s \S - - { literal: /\s/ }, - { literal: /\s/i }, - { literal: /\s/u }, - { literal: /\s/iu }, - - { literal: /\S/ }, - { literal: /\S/i }, - { literal: /\S/u }, - { literal: /\S/iu }, - - // . (dot) - - { literal: /./ }, - { literal: /./i }, - { literal: /./m }, - { literal: /./s }, - { literal: /./u }, - { literal: /./iu }, - { literal: /./mu }, - { literal: /./su }, - - // character classes - - { literal: /[\s\S]/ }, - { literal: /[\s\S]/u }, - { literal: /[^]/u }, - { literal: /[^\D][^\d]/ }, - { literal: /[^a-cx-z]/ }, - { literal: /a[A][aA]/i }, - { literal: /[^a-cx-z]/i }, - - // Unicode property escapes - - { - // not in unicode mode - literal: /\p{ASCII}/, - expected: "[70][7b][41][53][43][49][49][7d]", - }, - { - // property names are case sensitive - // (invalid property names/values are a JS syntax error, so we have to use object literals) - literal: { source: String.raw`\p{ascii}`, flags: "u" }, - expected: Error, - }, - { - // property names are case sensitive - literal: { source: String.raw`\p{any}`, flags: "u" }, - expected: Error, - }, - { - // not a valid binary property name or property value - literal: { source: String.raw`\p{General_Category}`, flags: "u" }, - expected: Error, - }, - - { literal: /\p{ASCII}/u }, - { literal: /\p{ASCII}/iu }, - { literal: { source: String.raw`\p{ASCII}`, flags: "iv" } }, - { literal: /\P{ASCII}/u }, - { literal: /\P{ASCII}/iu }, - { literal: { source: String.raw`\P{ASCII}`, flags: "iv" } }, - - { literal: /\p{Any}/u }, - { literal: /\p{Any}/iu }, - { literal: /\P{Any}/u }, - { literal: /\P{Any}/iu }, - - { literal: /\p{General_Category=Control}/u }, - { literal: /\p{gc=Control}/u }, - { literal: /\p{Control}/u }, - { literal: /\p{Cc}/u }, - - { literal: /\p{Emoji_Presentation}/u }, - - { literal: /\p{Script=Latin}/u }, - { literal: /\p{Script=Latin}/iu }, - { literal: /\p{Script=Grek}/u }, - { literal: /\p{Script=Grek}/iu }, - { literal: /\p{Script=Cyrillic}/u }, - { literal: /\p{Script=Cyrillic}/iu }, - - { literal: /\p{Script=Thaana}/u }, - { literal: /\p{Script_Extensions=Thaana}/u }, - - { literal: /\p{Ll}/u }, - { literal: /\P{Ll}/u }, - { literal: /\p{Ll}/iu }, - { literal: /\P{Ll}/iu }, - { literal: { source: String.raw`\p{Ll}`, flags: "iv" } }, - { literal: { source: String.raw`\P{Ll}`, flags: "iv" } }, - { literal: /[^\p{Ll}]/u }, - { literal: /[^\P{Ll}]/u }, - { literal: /[^\p{Ll}]/iu }, - { literal: /[^\P{Ll}]/iu }, - - { literal: { source: String.raw`[\w--\d]`, flags: "v" } }, - { literal: { source: String.raw`[\w&&\d]`, flags: "v" } }, - { literal: { source: String.raw`[\w&&[\d\q{a|foo}]]`, flags: "v" } }, - { literal: { source: String.raw`[\d\q{a|foo|}]`, flags: "v" } }, - { literal: { source: String.raw`[^\d\q{a|b}]`, flags: "v" } }, - { literal: { source: String.raw`[^\d\q{a|b}]`, flags: "vi" } }, - { literal: { source: String.raw`[\q{foo|bar|x|X|"|""|"""}]`, flags: "v" } }, - { literal: { source: String.raw`[\q{foo|bar|x|X|"|""|"""}]`, flags: "vi" } }, - { literal: { source: String.raw`[\q{foo|bar}\q{x}X]`, flags: "vi" } }, - { literal: { source: String.raw`[^\q{ab}]`, flags: "v" }, expected: Error }, - { literal: { source: String.raw`[^\W--%]`, flags: "v" } }, - { literal: { source: String.raw`[^]`, flags: "v" } }, - { literal: { source: String.raw`[]`, flags: "v" } }, - { literal: { source: String.raw`[a-cd]`, flags: "v" } }, - { literal: { source: String.raw`\p{Basic_Emoji}`, flags: "v" } }, - { literal: { source: String.raw`[[\p{Basic_Emoji}abc]&&[^]]`, flags: "v" } }, - { literal: { source: String.raw`[[\p{Basic_Emoji}abc]&&[^]]`, flags: "vi" } }, - - { literal: { source: "[[0-9]&&[0-9]]", flags: "v" } }, - { literal: { source: "[[0-9]&&\\d]", flags: "v" } }, - { literal: { source: "[[0-9]&&\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[[0-9]&&_]", flags: "v" } }, - { literal: { source: "[[0-9]--[0-9]]", flags: "v" } }, - { literal: { source: "[[0-9]--\\d]", flags: "v" } }, - { literal: { source: "[[0-9]--\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[[0-9]--_]", flags: "v" } }, - { literal: { source: "[[0-9][0-9]]", flags: "v" } }, - { literal: { source: "[[0-9]\\d]", flags: "v" } }, - { literal: { source: "[[0-9]\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[[0-9]_]", flags: "v" } }, - { literal: { source: "[\\d&&[0-9]]", flags: "v" } }, - { literal: { source: "[\\d&&\\d]", flags: "v" } }, - { literal: { source: "[\\d&&\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\d&&_]", flags: "v" } }, - { literal: { source: "[\\d--[0-9]]", flags: "v" } }, - { literal: { source: "[\\d--\\d]", flags: "v" } }, - { literal: { source: "[\\d--\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\d--_]", flags: "v" } }, - { literal: { source: "[\\d[0-9]]", flags: "v" } }, - { literal: { source: "[\\d\\d]", flags: "v" } }, - { literal: { source: "[\\d\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\d_]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}&&[0-9]]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}&&\\d]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}&&\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}&&_]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}--[0-9]]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}--\\d]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}--\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}--_]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}[0-9]]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}\\d]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[\\q{0|2|4|9\\uFE0F\\u20E3}_]", flags: "v" } }, - { literal: { source: "[_&&[0-9]]", flags: "v" } }, - { literal: { source: "[_&&\\d]", flags: "v" } }, - { literal: { source: "[_&&\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[_&&_]", flags: "v" } }, - { literal: { source: "[_--[0-9]]", flags: "v" } }, - { literal: { source: "[_--\\d]", flags: "v" } }, - { literal: { source: "[_--\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[_--_]", flags: "v" } }, - { literal: { source: "[_[0-9]]", flags: "v" } }, - { literal: { source: "[_\\d]", flags: "v" } }, - { literal: { source: "[_\\q{0|2|4|9\\uFE0F\\u20E3}]", flags: "v" } }, - { literal: { source: "[__]", flags: "v" } }, - ]; - - test(cases); - }); - - describe("Invariants", function () { - const elements: Literal[] = [ - /a/u, // case-variant - /;/u, // case-invariant - - // \w and \W behave different compared to normal characters and \p{}s - - /\p{ASCII}/u, - /\P{ASCII}/u, - /\P{ASCII}/u, - /\P{Ll}/u, - /\p{Ll}/u, - /\P{L}/u, - /\p{L}/u, - ]; - - elements.forEach(test); - - function test(literal: Literal): void { - it(`/${literal.source}/${literal.flags}`, function () { - const cs = getCharSet(literal); - const cs_i = getCharSet({ source: literal.source, flags: "iu" }); - - assert.isTrue(cs.isSubsetOf(cs_i), "Invariant: The i flag only adds characters"); - - assert.isTrue( - getCharSet({ source: `[${literal.source}]`, flags: literal.flags }).equals(cs), - "Invariant: [] does nothing" - ); - - assert.isTrue( - getCharSet({ source: `[^${literal.source}]`, flags: literal.flags }).equals(cs.negate()), - "Invariant: [^] simply negates its content" - ); - - assert.isTrue( - getCharSet({ source: `[^${literal.source}]`, flags: "iu" }).equals(cs_i.negate()), - "Invariant: [^] simply negates its content" - ); - }); - } - - function getCharSet(literal: Literal): CharSet { - const { expression } = Parser.fromLiteral(literal).parse(); - - assert.equal(expression.alternatives.length, 1); - const [a] = expression.alternatives; - assert.equal(a.elements.length, 1); - const [e] = a.elements; - assert.equal(e.type, "CharacterClass"); - return (e as CharacterClass).characters; - } - }); -}); diff --git a/tests/js/parser.ts b/tests/js/parser.ts deleted file mode 100644 index af84f7b6..00000000 --- a/tests/js/parser.ts +++ /dev/null @@ -1,504 +0,0 @@ -/* eslint-disable no-useless-backreference */ -import { assert } from "chai"; -import { Literal, ParseOptions, Parser, toLiteral } from "../../src/js"; -import { literalToString } from "../helper/fa"; -import { toPatternString } from "../helper/literal-to-string"; - -describe("JS.Parser", function () { - interface TestCase { - literal: { source: string; flags: string }; - options?: ParseOptions; - expected: string | typeof Error | Literal; - debug?: boolean; - } - - function test(cases: Iterable): void { - for (const { literal, expected, options, debug } of cases) { - const optionsStr = options ? " " + JSON.stringify(options) : ""; - it(`${literalToString(literal)}${optionsStr}`, function () { - if (debug) { - // eslint-disable-next-line no-debugger - debugger; - } - - const parser = Parser.fromLiteral(literal); - if (typeof expected === "function") { - assert.throws(() => { - parser.parse(options); - }); - } else { - const { expression } = parser.parse(options); - - if (typeof expected === "string") { - assert.strictEqual(toPatternString(expression), expected); - } else { - assert.strictEqual(literalToString(toLiteral(expression)), literalToString(expected)); - } - } - }); - } - } - - describe("parse", function () { - test([ - { - literal: /fo[o]/, - expected: "[66][6f][6f]", - }, - { - literal: /a(b|(?:c|d)(?:))(e)/, - expected: "[61](?:[62]|[63]|[64])[65]", - }, - { - literal: /a(b|(?:c|d)(?:))(e)/, - options: { simplify: false }, - expected: "[61](?:[62]|(?:[63]|[64])(?:))(?:[65])", - }, - { - literal: /ab?c*d+e{3}f{5,8}g{3,}?/, - expected: "[61][62]?[63]*[64]+[65]{3}[66]{5,8}[67]{3,}?", - }, - - { - literal: /(?=(?=a))/, - expected: "(?=(?=[61]))", - }, - { - literal: /(?!a*)/, - options: { simplify: false }, - expected: "(?![61]*)", - }, - { - literal: /(?!a*)/, - expected: "[]", - }, - { - literal: /a+|b+?|c+/, - expected: "[61]+|[62]+?|[63]+", - }, - - // properly remove unreachable parts - - { - literal: /ab|c\b/, - options: { assertions: "disable" }, - expected: "[61][62]", - }, - { - literal: /ab\b|c(?:\b)/, - options: { assertions: "disable" }, - expected: "[]", - }, - { - literal: /(a*)(?:[^\s\S]\1{0})/, - options: { backreferences: "throw" }, - expected: "[]", - }, - { - literal: /(a*)[^\s\S]\1/, - options: { backreferences: "throw" }, - expected: "[]", - }, - { - literal: /(a*)\1[^\s\S]/, - options: { backreferences: "throw" }, - expected: "[]", - }, - { - literal: /(a*)(?:[^\s\S]\1)/, - options: { backreferences: "throw" }, - expected: "[]", - }, - { - literal: /(a*)(?:\1{0})/, - options: { backreferences: "throw" }, - expected: "[61]*", - }, - { - literal: /(a*)(?:\b\1|$)/, - options: { backreferences: "throw", assertions: "disable" }, - expected: "[]", - }, - { - literal: /a(?=[^\s\S]abc|[^\s\S])/, - expected: "[]", - }, - { - literal: /a(?![^\s\S]abc|[^\s\S])/, - expected: "[61]", - }, - { - literal: /(?:)?/, - expected: "", - }, - { - literal: /(?:[^\s\S])?/, - expected: "", - }, - { - literal: /(?:[^\s\S])+/, - expected: "[]", - }, - { - literal: /(?:\b|abc$)+/, - options: { assertions: "disable" }, - expected: "[]", - }, - ]); - }); - - describe("parse options: assertions", function () { - test([ - { - literal: /(?=abc)a|b/, - options: { assertions: "parse" }, - expected: "(?=[61][62][63])[61]|[62]", - }, - { - literal: /(?=abc)a|b/, - options: { assertions: "disable" }, - expected: "[62]", - }, - { - literal: /(?=abc)a|b/, - options: { assertions: "ignore" }, - expected: "[61]|[62]", - }, - { - literal: /(?=abc)a|b/, - options: { assertions: "ignore", simplify: false }, - expected: "(?:)[61]|[62]", - }, - { - literal: /(?=abc)a|b/, - options: { assertions: "throw" }, - expected: Error, - }, - ]); - }); - - describe("parse options: backreferences", function () { - test([ - { - literal: /(a*)b\1/, - options: { backreferences: "disable" }, - expected: "[]", - }, - { - literal: /(a*)b\1/, - options: { backreferences: "throw" }, - expected: Error, - }, - - { - literal: /()b\1/, - options: { backreferences: "disable" }, - expected: "[62]", - }, - { - literal: /()b\1/, - options: { backreferences: "throw" }, - expected: "[62]", - }, - - { - literal: /()b\1/, - options: { backreferences: "disable", maxBackreferenceWords: 0 }, - expected: "[]", - }, - { - literal: /()b\1/, - options: { backreferences: "throw", maxBackreferenceWords: 0 }, - expected: Error, - }, - - { - literal: /(a*)[^\s\S]|b\1/, - options: { backreferences: "disable" }, - expected: "[62]", - }, - { - literal: /(a*)[^\s\S]|b\1/, - options: { backreferences: "throw" }, - expected: "[62]", - }, - ]); - }); - - describe("resolve constant backreferences", function () { - test([ - // backreferences which can only ever be the empty - { - literal: /\1(a*)/, - expected: "[61]*", - }, - { - literal: /(a*\1)/, - expected: "[61]*", - }, - { - literal: /(a*\1*)/, - expected: "[61]*", - }, - { - literal: /()\1/, - expected: "", - }, - { - literal: /((?=a))\1/, - expected: "(?=[61])", - }, - { - literal: /((?=a)|()*|a{0})\1/, - expected: "(?=[61])||", - }, - { - literal: /(a*)|b\1/, - expected: "[61]*|[62]", - }, - { - literal: /(?:\1(a)){2}/, - expected: "[61]{2}", - }, - { - literal: /(?<=(a)\1)/, - expected: "(?<=[61])", - }, - - // backreferences which only match a constant word - - { - literal: /(a)\1/, - expected: "[61][61]", - }, - { - literal: /(a)\1?/, - expected: "[61][61]?", - }, - { - literal: /(a)\1(b)\2(c)\3/, - expected: "[61][61][62][62][63][63]", - }, - { - literal: /(a)(b)\1\2/, - expected: "[61][62][61][62]", - }, - { - literal: /(a(b))\1\2/, - expected: "[61][62][61][62][62]", - }, - { - literal: /(a)[^\s\S]|(a\1)\2/, - expected: "[61][61]", - }, - { - literal: /(")(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: "[22](?:(?![22])[0..9, b..c, e..5b, 5d..ffff]|[5c][0..9, b..c, e..2027, 202a..ffff])*[22]", - }, - { - literal: /(")(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: /"(?:(?!")[^\n\r\\]|\\.)*"/, - }, - { - literal: /(''''').+?(?=\1)/, - expected: /'''''.+?(?=''''')/, - }, - { - literal: /(?<=\1(a))/, - expected: "(?<=[61][61])", - }, - - // where it can't be done - - { - literal: /(a)?\1/, - expected: Error, - }, - { - literal: /(a)*\1/, - expected: Error, - }, - { - literal: /(?:b|(a))+\1/, - expected: Error, - }, - ]); - }); - - describe("resolve variable backreferences", function () { - test([ - { - literal: /(a)\1/, - expected: "[61][61]", - }, - { - literal: /(a)\1/i, - expected: "[41, 61][41, 61]", - }, - { - literal: /(a)\1/iu, - expected: "[41, 61][41, 61]", - }, - { - literal: /([aA])\1/, - expected: "[41][41]|[61][61]", - }, - - { - literal: /(k)\1/i, - expected: "[4b, 6b][4b, 6b]", - }, - { - literal: /(k)\1/iu, - expected: "[4b, 6b, 212a][4b, 6b, 212a]", - }, - - { - literal: /(a)\1?/i, - expected: "[41, 61][41, 61]?", - }, - { - literal: /(a)\1(b)\2(c)\3/i, - expected: "[41, 61][41, 61][42, 62][42, 62][43, 63][43, 63]", - }, - { - literal: /(a)\1(b)\2(c\1)\3/i, - expected: /AABBCACA/i, - }, - { - literal: /([aA])\1([bB])\2([cC])\3/, - expected: "(?:[41][41]|[61][61])(?:[42][42]|[62][62])(?:[43][43]|[63][63])", - }, - { - literal: /([aA])\1([bB])\2([cC]\1)\3/, - expected: /AA(?:BB|bb)(?:CACA|cAcA)|aa(?:BB|bb)(?:CaCa|caca)/, - }, - { - literal: /(a)(b)\1\2/i, - expected: "[41, 61][42, 62][41, 61][42, 62]", - }, - { - literal: /(a)(b)\1\2/i, - expected: /ABAB/i, - }, - { - literal: /([aA])([bB])\1\2/, - expected: "[41](?:[42][41][42]|[62][41][62])|[61](?:[42][61][42]|[62][61][62])", - }, - { - literal: /([aA])([bB])\1\2/, - expected: /A(?:BAB|bAb)|a(?:BaB|bab)/, - }, - - { - literal: /(?=(a)\1)/i, - expected: /(?=AA)/i, - }, - { - literal: /(?=([aA])\1)/, - expected: /(?=AA|aa)/, - }, - { - literal: /(?=(AB|CD)bcd\1)/, - expected: /(?=ABbcdAB|CDbcdCD)/, - }, - { - literal: /(?<=\1(a))/i, - expected: /(?<=AA)/i, - }, - { - literal: /(?<=\1([aA]))/, - expected: /(?<=AA|aa)/, - }, - { - literal: /(?<=\1("|'))/i, - expected: /(?<=""|'')/, - }, - { - literal: /(?<=\1bcd(AB|CD))/, - expected: /(?<=ABbcdAB|CDbcdCD)/, - }, - - // real world examples - - { - literal: /("|')(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: - "[22](?:(?![22])[0..9, b..c, e..5b, 5d..ffff]|[5c][0..9, b..c, e..2027, 202a..ffff])*[22]|[27](?:(?![27])[0..9, b..c, e..5b, 5d..ffff]|[5c][0..9, b..c, e..2027, 202a..ffff])*[27]", - }, - { - literal: /("|')(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: /"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'/, - }, - { - literal: /('|")(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: /'(?:(?!')[^\n\r\\]|\\.)*'|"(?:(?!")[^\n\r\\]|\\.)*"/, - }, - { - literal: /(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/, - expected: /"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'/, - }, - - { - literal: /<(a|p|div)>[^]*?<\/\1>/, - expected: /<(?:a>[^]*?<\/a|p>[^]*?<\/p|div>[^]*?<\/div)>/, - }, - { - literal: /<(a|p|div)>[^]*?<\/\1>/i, - expected: /<(?:A>[^]*?<\/A|P>[^]*?<\/P|DIV>[^]*?<\/DIV)>/i, - }, - { - literal: /<(a|p|div)>[^]*?<\/\1>/iu, - expected: /<(?:A>[^]*?<\/A|P>[^]*?<\/P|DIV>[^]*?<\/DIV)>/iu, - }, - { - literal: /#[\da-z]+|#(?:-|([+/\\*~<>=@%|&?!])\1?)|#(?=\()/i, - expected: - /#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i, - }, - { - literal: /(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i, - expected: /(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i, - }, - { - literal: /url\((["']?).*?\1\)/i, - expected: /URL\((?:".*?"|'.*?'|.*?)\)/i, - }, - { - literal: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, - expected: /@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|`(?:\\[^]|(?!`)[^\\])+`)/, - }, - { - literal: /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, - expected: - /\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/, - }, - { - literal: /('{2,5}).+?\1/, - expected: /'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/, - }, - { - literal: /('{2,5}?).+?\1/, - expected: /''.+?''|'''.+?'''|''''.+?''''|'''''.+?'''''/, - }, - { - literal: /^("(?:"")?)(?!\1)[\s\S]+(?=\1$)/, - expected: /^(?:"""(?!""")[^]+(?="""$)|"(?!")[^]+(?="$))/, - }, - - { - // `(nowiki|pre|sources?)` will be resolved to 4 words. - // Since if only 3 words are allowed, this will fail. - literal: /<(nowiki|pre|sources?)\b[\s\S]*?>[\s\S]*?<\/\1>/i, - options: { maxBackreferenceWords: 3 }, - expected: Error, - }, - { - literal: /<(nowiki|pre|sources?)\b[\s\S]*?>[\s\S]*?<\/\1>/i, - options: { maxBackreferenceWords: 4 }, - expected: - /<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCES\b[^]*?>[^]*?<\/SOURCES|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i, - }, - ]); - }); -}); diff --git a/tests/js/to-literal.ts b/tests/js/to-literal.ts deleted file mode 100644 index 7a3c2190..00000000 --- a/tests/js/to-literal.ts +++ /dev/null @@ -1,513 +0,0 @@ -/* eslint-disable no-control-regex */ -import { assert } from "chai"; -import { Literal, Parser, ToLiteralOptions, toLiteral } from "../../src/js"; -import { literalToString } from "../helper/fa"; -import { assertEqualSnapshot } from "../helper/snapshot"; -import { PrismRegexes } from "../helper/prism-regex-data"; -import { TooManyNodesError } from "../../src/errors"; - -describe("JS.toLiteral", function () { - interface TestCase { - literal: Literal; - options?: ToLiteralOptions; - expected?: Literal | typeof Error; - } - - function test(cases: TestCase[]): void { - for (const { literal, options, expected } of cases) { - it(`${literalToString(literal)} ${options ? `\t(${JSON.stringify(options)})` : ""}`, function () { - const { expression } = Parser.fromLiteral(literal).parse({ simplify: false }); - try { - const actual = toLiteral(expression, options); - if (expected === undefined) { - assertEqualSnapshot(this, literalToString(actual)); - } else if ("source" in expected && "flags" in expected) { - assert.equal(literalToString(actual), literalToString(expected)); - } else { - assert.fail("Expected it to fail."); - } - } catch (error) { - if (expected === Error) { - // all according to keikaku - } else if (expected === undefined) { - assertEqualSnapshot(this, "Error: " + String(error)); - } else { - throw error; - } - } - }); - } - } - - describe("general", function () { - test([ - { - literal: /abc/, - expected: /abc/, - }, - { - literal: /abc/i, - expected: /ABC/i, - }, - { - literal: /-\//i, - expected: /-\//, - }, - { - literal: /[-][^-][a\- ][\^.][\^-]/, - expected: /-[^-][- a][.^][-^]/, - }, - { - literal: /[a][ab][abc][abcd][abcde]/, - expected: /a[ab][abc][a-d][a-e]/, - }, - { - literal: /[!][!"][!"#][!"#$][!"#$%][!"#$%&][!"#$%&'][!"#$%&'(][!"#$%&'()]/, - expected: /![!"][!"#][!"#$][!"#$%][!"#$%&][\x21-\x27][\x21-\x28][\x21-\x29]/, - }, - { - literal: /\n\r\f\t[\n\r\f\t]/, - expected: /\n\r\f\t[\t\n\f\r]/, - }, - { - literal: /\s\d\w\S\D\W./, - expected: /\s\d\w\S\D\W./, - }, - { - literal: /\s\d\w\S\D\W./iu, - expected: /\s\d\w\S\D\W./iu, - }, - { - literal: /a{0,1}b{1}c{0,}d{1,}e{0}f{3,6} (){2}/, - expected: /a?b{1}c*d+e{0}f{3,6} (?:){2}/, - }, - { - literal: /[^\s\S][^\0-\uFFFF]/, - // eslint-disable-next-line no-empty-character-class - expected: /[][]/, - }, - - { - literal: /\0/, - expected: /\0/, - }, - { - literal: /\p{ASCII}/u, - expected: /[\0-\x7f]/u, - }, - { - literal: /\p{Cc}/u, - // eslint-disable-next-line no-control-regex - expected: /[\0-\x1f\x7f-\x9f]/u, - }, - - { - literal: /[\s'">=]/, - expected: /[\s"'=>]/, - }, - { - literal: /[^\s'">=]/, - expected: /[^\s"'=>]/, - }, - { - literal: /[\s'">=]/u, - expected: /[\s"'=>]/u, - }, - { - literal: /[^\s'">=]/u, - expected: /[^\s"'=>]/u, - }, - - { - literal: /[\w-]/, - expected: /[-\w]/, - }, - - { - literal: { source: /(abc)/.source, flags: "d" }, - expected: { source: /(?:abc)/.source, flags: "" }, - }, - - { - literal: { source: String.raw`[\w&&a]`, flags: "v" }, - expected: { source: String.raw`a`, flags: "u" }, - }, - { - literal: { source: String.raw`[\w&&a]`, flags: "v" }, - options: { flags: { unicodeSets: true } }, - expected: { source: String.raw`a`, flags: "v" }, - }, - ]); - }); - - describe("assertions", function () { - test([ - { - literal: /^$ (? { - try { - return literalToString( - toLiteral(Parser.fromLiteral(re).parse({ backreferences: "disable" }).expression) - ); - } catch (e) { - if (e instanceof TooManyNodesError) { - return "TooManyNodesError"; - } - throw e; - } - }); - - it("should not contain line ends", function () { - for (const l of literals) { - assert.notMatch(l, /[\r\n]/); - } - }); - - it("snapshot", function () { - assertEqualSnapshot(this, literals.join("\n")); - }); - }); -}); diff --git a/tests/js/unicode-set.ts b/tests/js/unicode-set.ts deleted file mode 100644 index ca41a51a..00000000 --- a/tests/js/unicode-set.ts +++ /dev/null @@ -1,174 +0,0 @@ -import { assert } from "chai"; -import { Parser, UnicodeSet, parseUnicodeSet } from "../../src/js"; -import { assertEqualSnapshot } from "../helper/snapshot"; - -describe("JS.UnicodeSet", function () { - interface TestCase { - readonly literal: string; - readonly set: UnicodeSet; - } - function parseCharacterClass(literal: string): TestCase { - const parser = Parser.fromLiteral(literal); - const element = parser.ast.pattern.alternatives[0].elements[0]; - if ( - element.type === "Assertion" || - element.type === "Group" || - element.type === "CapturingGroup" || - element.type === "Backreference" || - element.type === "Quantifier" - ) { - throw new Error("Invalid element type"); - } - const set = parseUnicodeSet(element, parser.flags); - return { literal, set }; - } - - const testCases: readonly TestCase[] = [ - String.raw`/[]/v`, - String.raw`/[\q{}]/v`, - String.raw`/[\q{}]/vi`, - - String.raw`/a/v`, - String.raw`/A/v`, - String.raw`/[aA]/v`, - String.raw`/[aA]/vi`, - String.raw`/a/vi`, - String.raw`/[\q{aa}]/vi`, - String.raw`/[\q{aa|aA|Aa|AA}]/v`, - String.raw`/[\q{aa|aA|Aa|AA|aaa}]/v`, - String.raw`/[\q{aa|aA|Aa|AA|aaa|aAa}]/v`, - String.raw`/[\q{aa|aA|Aa|AA|aaa}]/vi`, - String.raw`/[\q{a|aa|aA|Aa|AA|aaa}]/vi`, - - String.raw`/[\w\q{foo|bar}]/v`, - String.raw`/[\w\q{foo|bar}]/vi`, - String.raw`/[\w\q{foo|bar|food}]/v`, - String.raw`/[\w\q{foo|foot|food}]/v`, - String.raw`/[\q{foo|foot|food}]/v`, - String.raw`/[\w\q{foo|foot|food}]/vi`, - String.raw`/[\w\q{foo|bar|baz}]/vi`, - String.raw`/[\q{foo|bar|baz}]/vi`, - ].map(parseCharacterClass); - - function test1(name: string, testFn: (a: UnicodeSet) => boolean): void { - it(name, function () { - for (const { literal, set } of testCases) { - let result; - try { - result = testFn(set); - } catch (e) { - assert.fail(`Failed for A=${literal}: ${e}`); - } - assert.isTrue(result, `Failed for A=${literal}`); - } - }); - } - function test2(name: string, testFn: (a: UnicodeSet, b: UnicodeSet) => boolean): void { - it(name, function () { - for (const a of testCases) { - for (const b of testCases) { - const errorPrefix = `Failed for A=${a.literal} B=${b.literal}`; - let result; - try { - result = testFn(a.set, b.set); - } catch (e) { - assert.fail(`${errorPrefix}: ${e}`); - } - if (!result) { - testFn(a.set, b.set); - } - assert.isTrue(result, errorPrefix); - } - } - }); - } - // function test3(name: string, testFn: (a: UnicodeSet, b: UnicodeSet, c: UnicodeSet) => boolean): void {} - - describe("Invariants", function () { - test1("A = A", a => a.equals(a)); - test1("A ⊆ A", a => a.isSubsetOf(a)); - test1("A ∪ A = A", a => a.union(a).equals(a)); - test1("A ∩ A = A", a => a.intersect(a).equals(a)); - test1("A ∪ A ⊆ A", a => a.union(a).isSubsetOf(a)); - test1("A ∩ A ⊆ A", a => a.intersect(a).isSubsetOf(a)); - test1("A - A = ∅", a => a.without(a).isEmpty); - - test2("A = B ↔ B = A", (a, b) => a.equals(b) === b.equals(a)); - test2("A = B ↔ A = B (chars)", (a, b) => { - if (!a.accept.isEmpty) { - return true; - } - return a.equals(b) === b.equals(a.chars); - }); - test2("isDisjoint(A, B) ↔ isDisjoint(B, A)", (a, b) => a.isDisjointWith(b) === b.isDisjointWith(a)); - test2("A = B ↔ A ⊆ B ∧ B ⊆ A", (a, b) => { - const eq = a.equals(b); - const aSubB = a.isSubsetOf(b); - const bSubA = b.isSubsetOf(a); - return eq === (aSubB && bSubA); - }); - test2("A ∪ B = B ∪ A", (a, b) => !a.isCompatibleWith(b) || a.union(b).equals(b.union(a))); - test2("A ∩ B = B ∩ A", (a, b) => !a.isCompatibleWith(b) || a.intersect(b).equals(b.intersect(a))); - test2( - "A - B = B - A ↔ A = B", - (a, b) => !a.isCompatibleWith(b) || a.without(b).equals(b.without(a)) === a.equals(b) - ); - test2("A ∪ B ⊇ A ∧ A ∪ B ⊇ B", (a, b) => { - if (!a.isCompatibleWith(b)) { - return true; - } - const union = a.union(b); - const uSuperA = union.isSupersetOf(a); - const uSuperB = union.isSupersetOf(b); - return uSuperA && uSuperB; - }); - }); - - it("equals", function () { - const results: string[] = []; - for (let i = 0; i < testCases.length; i++) { - for (let j = i + 1; j < testCases.length; j++) { - const a = testCases[i]; - const b = testCases[j]; - const eq = a.set.equals(b.set); - - const message = `${eq ? "✔️" : "❌"} ${a.literal} = ${b.literal}`; - results.push(message); - } - } - - assertEqualSnapshot(this, results.join("\n")); - }); - - it("isSupersetOf", function () { - const results: string[] = []; - for (let i = 0; i < testCases.length; i++) { - for (let j = 0; j < testCases.length; j++) { - const a = testCases[i]; - const b = testCases[j]; - const eq = a.set.isSupersetOf(b.set); - - const message = `${eq ? "✔️" : "❌"} ${a.literal} ⊇ ${b.literal}`; - results.push(message); - } - } - - assertEqualSnapshot(this, results.join("\n")); - }); - - it("isDisjointWith", function () { - const results: string[] = []; - for (let i = 0; i < testCases.length; i++) { - for (let j = i + 1; j < testCases.length; j++) { - const a = testCases[i]; - const b = testCases[j]; - const eq = a.set.isDisjointWith(b.set); - - const message = `${eq ? "✔️" : "❌"} ${a.literal} ∩ ${b.literal} = ∅`; - results.push(message); - } - } - - assertEqualSnapshot(this, results.join("\n")); - }); -}); diff --git a/tests/nfa.ts b/tests/nfa.ts deleted file mode 100644 index bb9dfb43..00000000 --- a/tests/nfa.ts +++ /dev/null @@ -1,777 +0,0 @@ -import { NFA } from "../src/nfa"; -import { assert } from "chai"; -import { fromStringToUnicode, fromUnicodeToString } from "../src/words"; -import { literalToDFA, literalToNFA, literalToString, reachableFinalStates, removeIndentation } from "./helper/fa"; -import { EMPTY_LITERALS, FINITE_LITERALS, NON_EMPTY_LITERALS, NON_FINITE_LITERALS } from "./helper/regexp-literals"; -import { Literal, Parser, toLiteral } from "../src/js"; -import { RegExpParser } from "@eslint-community/regexpp"; -import { prefixes, suffixes } from "./helper/util"; -import { DFA } from "../src/dfa"; -import { testWordTestCases, wordTestData } from "./helper/word-test-data"; -import { isDisjointWith } from "../src/intersection"; -import { assertEqualSnapshot } from "./helper/snapshot"; -import { TEST_PAIRS } from "./helper/literal-pair-data"; -import { FROM_REGEX_LITERALS } from "./helper/from-regex-data"; - -describe("NFA", function () { - describe("fromRegex", function () { - for (const literal of FROM_REGEX_LITERALS) { - it(literalToString(literal), function () { - const nfa = literalToNFA(literal); - assert.strictEqual(nfa.finals.size, reachableFinalStates(nfa)); - assertEqualSnapshot(this, nfa.toString()); - }); - } - }); - - describe("fromRegex options", function () { - const options: NFA.FromRegexOptions[] = [{ assertions: "disable" }, { assertions: "ignore" }]; - const literals: Literal[] = [/^foo$|bar/]; - for (const literal of literals) { - for (const o of options) { - it(JSON.stringify(o) + ": " + literalToString(literal), function () { - const parsed = Parser.fromLiteral(literal).parse(); - const nfa = NFA.fromRegex(parsed.expression, { maxCharacter: parsed.maxCharacter }, o); - assertEqualSnapshot(this, nfa.toString()); - }); - } - } - }); - - describe("test", function () { - for (const testCase of wordTestData) { - it(literalToString(testCase.literal), function () { - const nfa = literalToNFA(testCase.literal); - testWordTestCases(nfa, testCase); - }); - } - }); - - describe("union", function () { - for (const [literal, other] of TEST_PAIRS) { - it(`${literalToString(literal)} ∪ ${literalToString(other)}`, function () { - const a = literalToNFA(literal); - const b = literalToNFA(other); - a.union(b); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("unionInto", function () { - for (const [literal, other] of TEST_PAIRS) { - it(`${literalToString(literal)} ∪ ${literalToString(other)}`, function () { - const a = literalToNFA(literal); - const b = literalToNFA(literal); - const c = literalToNFA(other); - a.union(c); - b.unionInto(c); - - assert.strictEqual(a.toString(), b.toString()); - assert.isTrue(c.isEmpty); - }); - } - }); - - describe("append", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(left)} * ${literalToString(right)}`, function () { - const a = literalToNFA(left); - const c = literalToNFA(right); - a.append(c); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("appendInto", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(left)} * ${literalToString(right)}`, function () { - const a = literalToNFA(left); - const b = literalToNFA(left); - const c = literalToNFA(right); - a.append(c); - b.appendInto(c); - - assert.strictEqual(a.toString(), b.toString()); - assert.isTrue(c.isEmpty); - }); - } - }); - - describe("prepend", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(right)} * ${literalToString(left)}`, function () { - const a = literalToNFA(left); - const c = literalToNFA(right); - a.prepend(c); - assertEqualSnapshot(this, a.toString()); - }); - } - }); - - describe("prependInto", function () { - for (const [left, right] of TEST_PAIRS) { - it(`${literalToString(right)} * ${literalToString(left)}`, function () { - const a = literalToNFA(left); - const b = literalToNFA(left); - const c = literalToNFA(right); - a.prepend(c); - b.prependInto(c); - - assert.strictEqual(a.toString(), b.toString()); - assert.isTrue(c.isEmpty); - }); - } - }); - - describe("quantify", function () { - test([ - { - literal: /a/, - min: 1, - max: 0, - expected: Error, - }, - { - literal: /a/, - min: Infinity, - max: Infinity, - expected: Error, - }, - { - literal: /a/, - min: NaN, - max: NaN, - expected: Error, - }, - { - literal: /a/, - min: -1, - max: 0, - expected: Error, - }, - { - literal: /a/, - min: 0.5, - max: 1.5, - expected: Error, - }, - - { - literal: /a/, - min: 1, - max: 1, - expected: ` - (0) -> [1] : a - - [1] -> none`, - }, - { - literal: /a*/, - min: 1, - max: 1, - expected: ` - [0] -> [1] : a - - [1] -> [1] : a`, - }, - - { - literal: /a/, - min: 0, - max: 1, - expected: ` - [0] -> [1] : a - - [1] -> none`, - }, - { - literal: /(ab)*/, - min: 0, - max: 1, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - { - literal: /(ab)+/, - min: 0, - max: 1, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - - { - literal: /a/, - min: 3, - max: 3, - expected: ` - (0) -> (1) : a - - (1) -> (2) : a - - (2) -> [3] : a - - [3] -> none`, - }, - { - literal: /(ab)*/, - min: 3, - max: 3, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - { - literal: /(ab)+/, - min: 3, - max: 3, - expected: ` - (0) -> (1) : a - - (1) -> (2) : b - - (2) -> (3) : a - - (3) -> (4) : b - - (4) -> (5) : a - - (5) -> [6] : b - - [6] -> (5) : a`, - }, - - { - literal: /a/, - min: 0, - max: 3, - expected: ` - [0] -> [1] : a - - [1] -> [2] : a - - [2] -> [3] : a - - [3] -> none`, - }, - { - literal: /(ab)*/, - min: 0, - max: 3, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - { - literal: /(ab)+/, - min: 0, - max: 3, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - - { - literal: /a/, - min: 0, - max: Infinity, - expected: ` - [0] -> [1] : a - - [1] -> [1] : a`, - }, - { - literal: /(ab)*/, - min: 0, - max: Infinity, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - { - literal: /(ab)+/, - min: 0, - max: Infinity, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - - { - literal: /a/, - min: 3, - max: Infinity, - expected: ` - (0) -> (1) : a - - (1) -> (2) : a - - (2) -> [3] : a - - [3] -> [3] : a`, - }, - { - literal: /(ab)*/, - min: 3, - max: Infinity, - expected: ` - [0] -> (1) : a - - (1) -> [2] : b - - [2] -> (1) : a`, - }, - { - literal: /(ab)+/, - min: 3, - max: Infinity, - expected: ` - (0) -> (1) : a - - (1) -> (2) : b - - (2) -> (3) : a - - (3) -> (4) : b - - (4) -> (5) : a - - (5) -> [6] : b - - [6] -> (5) : a`, - }, - ]); - - interface TestCase { - literal: Literal; - min: number; - max: number; - expected: string | typeof Error; - } - - function test(cases: TestCase[]): void { - for (const { literal, min, max, expected } of cases) { - it(`${literalToString(literal)}{${min},${max === Infinity ? "" : max}}`, function () { - const nfa = literalToNFA(literal); - - if (typeof expected === "string") { - nfa.quantify(min, max); - assert.strictEqual(nfa.toString(), removeIndentation(expected)); - } else { - assert.throws(() => nfa.quantify(min, max)); - } - }); - } - } - }); - - describe("intersect", function () { - test([ - { - left: /a/, - right: /b/, - }, - { - left: /a*/, - right: /a/, - }, - { - left: /b*(ab+)*a/, - right: /a*(ba+)*/, - }, - { - left: /a+/, - right: /(?:a+){2,}/, - }, - { - left: /a*/, - right: /b*/, - }, - ]); - - interface TestCase { - left: Literal; - right: Literal; - } - - function test(cases: TestCase[]): void { - for (const { left, right } of cases) { - it(`${literalToString(left)} ∩ ${literalToString(right)}`, function () { - const nfaLeft = literalToNFA(left); - const nfaRight = literalToNFA(right); - const actual = NFA.fromIntersection(nfaLeft, nfaRight).toString(); - assertEqualSnapshot(this, actual); - }); - } - } - }); - - describe("isEmpty", function () { - it("constructed from 0 words", function () { - // empty language - assert.isTrue(NFA.fromWords([], { maxCharacter: 0xff }).isEmpty); - assert.isTrue(NFA.fromWords([], { maxCharacter: 0xffff }).isEmpty); - - // language containing the empty word - assert.isFalse(NFA.fromWords([[]], { maxCharacter: 0xff }).isEmpty); - assert.isFalse(NFA.fromWords([[]], { maxCharacter: 0xffff }).isEmpty); - }); - - describe("true", function () { - for (const literal of EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToNFA(literal).isEmpty); - }); - } - }); - - describe("false", function () { - for (const literal of NON_EMPTY_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToNFA(literal).isEmpty); - }); - } - }); - }); - - describe("isFinite", function () { - describe("true", function () { - for (const literal of FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isTrue(literalToNFA(literal).isFinite); - }); - } - }); - - describe("false", function () { - for (const literal of NON_FINITE_LITERALS) { - it(`${literalToString(literal)}`, function () { - assert.isFalse(literalToNFA(literal).isFinite); - }); - } - }); - }); - - describe("empty() & all()", function () { - it("empty()", function () { - assert.isTrue(NFA.empty({ maxCharacter: 0xff }).isEmpty); - assert.isTrue(NFA.empty({ maxCharacter: 0xffff }).isEmpty); - - assert.isTrue(NFA.empty({ maxCharacter: 0xff }).isFinite); - assert.isTrue(NFA.empty({ maxCharacter: 0xffff }).isFinite); - }); - - it("all()", function () { - assert.isFalse(NFA.all({ maxCharacter: 0xff }).isEmpty); - assert.isFalse(NFA.all({ maxCharacter: 0xffff }).isEmpty); - - assert.isFalse(NFA.all({ maxCharacter: 0xff }).isFinite); - assert.isFalse(NFA.all({ maxCharacter: 0xffff }).isFinite); - }); - }); - - describe("prefixes", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const nfa = NFA.fromWords(chars, { maxCharacter: 0x10ffff }); - nfa.prefixes(); - - const acutal = [...new Set([...nfa.words()].map(fromUnicodeToString))]; - const expected = [...prefixes(words)]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("suffixes", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const nfa = NFA.fromWords(chars, { maxCharacter: 0x10ffff }); - nfa.suffixes(); - - const acutal = [...new Set([...nfa.words()].map(fromUnicodeToString))]; - const expected = [...suffixes(words)]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("reverse (words)", function () { - test([ - { - words: [], - }, - { - words: [""], - }, - { - words: ["", "a"], - }, - { - words: ["", "a", "aa", "aaa"], - }, - { - words: ["foobar", "foo", "bar"], - }, - { - words: ["bet", "let", "street", "sheet", "diet"], - }, - { - words: ["bet", "bat", "boot", "boat"], - }, - ]); - - interface TestCase { - words: readonly string[]; - } - - function test(cases: TestCase[]): void { - for (const { words } of cases) { - const title = words.map(w => JSON.stringify(w)).join(", "); - it(`${title}`, function () { - const chars = words.map(w => fromStringToUnicode(w)); - const nfa = NFA.fromWords(chars, { maxCharacter: 0x10ffff }); - nfa.reverse(); - const nfaR = NFA.fromWords( - chars.map(x => x.reverse()), - { maxCharacter: 0x10ffff } - ); - - const acutal = [...new Set([...nfa.words()].map(fromUnicodeToString))]; - const expected = [...new Set([...nfaR.words()].map(fromUnicodeToString))]; - assert.sameMembers(acutal, expected); - }); - } - } - }); - - describe("reverse", function () { - test([ - { - literal: /(?:)/, - expected: /(?:)/, - }, - { - literal: /[^\s\S]/, - expected: /[^\s\S]/, - }, - { - literal: /a/, - expected: /a/, - }, - { - literal: /foo|bar/, - expected: /rab|oof/, - }, - { - literal: /a?/, - expected: /a?/, - }, - { - literal: /a?b?/, - expected: /b?a?/, - }, - { - literal: /a+/, - expected: /a+/, - }, - { - literal: /a*b*c*/, - expected: /c*b*a*/, - }, - { - literal: /a+b*c*/, - expected: /c*b*a+/, - }, - { - literal: /a*b+c*/, - expected: /c*b+a*/, - }, - { - literal: /a*b*c+/, - expected: /c+b*a*/, - }, - { - literal: /a+b+c*/, - expected: /c*b+a+/, - }, - { - literal: /a+b*c+/, - expected: /c+b*a+/, - }, - { - literal: /a*b+c+/, - expected: /c+b+a*/, - }, - { - literal: /a+b+c+/, - expected: /c+b+a+/, - }, - ]); - - interface TestCase { - literal: Literal; - expected: Literal; - } - - function test(cases: TestCase[]): void { - for (const { literal, expected } of cases) { - it(`reverse(${literalToString(literal)}) == ${literalToString(expected)}`, function () { - const aNfa = literalToNFA(literal); - aNfa.reverse(); - const a = DFA.fromFA(aNfa); - a.minimize(); - - const e = literalToDFA(expected); - e.minimize(); - - const actualRE = toLiteral(aNfa.toRegex()); - assert.isTrue( - a.structurallyEqual(e), - "Not equal.\n\n" + - `Actual: reverse(${literalToString(literal)}) == ${literalToString(actualRE)}` - ); - }); - } - } - }); - - describe("Safe creation", function () { - const testNfa = literalToNFA(/a{1000}/); - - it(NFA.fromFA.name, function () { - assert.throws(() => { - NFA.fromFA(testNfa, new NFA.LimitedNodeFactory(100)); - }); - }); - it(NFA.fromIntersection.name, function () { - assert.throws(() => { - NFA.fromIntersection(testNfa, testNfa, new NFA.LimitedNodeFactory(100)); - }); - }); - it(NFA.fromRegex.name, function () { - assert.throws(() => { - NFA.fromRegex(testNfa.toRegex(), testNfa, {}, new NFA.LimitedNodeFactory(100)); - }); - }); - it(NFA.fromTransitionIterator.name, function () { - assert.throws(() => { - NFA.fromTransitionIterator(testNfa.transitionIterator(), testNfa, new NFA.LimitedNodeFactory(100)); - }); - }); - it(NFA.fromWords.name, function () { - assert.throws(() => { - NFA.fromWords(testNfa.words(), testNfa, new NFA.LimitedNodeFactory(100)); - }); - }); - }); - - it("issue #5", function () { - const ast = new RegExpParser().parseLiteral(/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/.toString()); - const parser = Parser.fromAst(ast); - - let total: NFA | undefined = undefined; - for (const alt of ast.pattern.alternatives) { - const nfa = NFA.fromRegex(parser.parseElement(alt).expression, { maxCharacter: 0xffff }); - nfa.withoutEmptyWord(); - - if (!total) { - total = nfa; - } else { - if (isDisjointWith(total, nfa)) { - total.union(nfa); - } else { - // do something - } - } - } - }); -}); diff --git a/tests/regex-stress-test.ts b/tests/regex-stress-test.ts deleted file mode 100644 index 405b46d3..00000000 --- a/tests/regex-stress-test.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { assert } from "chai"; -import { ParseOptions, Parser } from "../src/js"; -import { PrismRegexes } from "./helper/prism-regex-data"; -import { NFA } from "../src/nfa"; -import { DFA, ReadonlyDFA } from "../src/dfa"; -import { Expression, NoParent } from "../src/ast"; -import { CONFIG_ALL_PARSE_OPTIONS, CONFIG_RUN_STRESS_TEST } from "./helper/config"; -import { TooManyNodesError } from "../src/errors"; - -/** - * Setting this to `true` will enable the check that verifies that the language of the generated RE from `toRegex` is - * the same as the language of the NFA/DFA that created it. - * - * The generated RE tends to create NFA that are both large and very non-deterministic. This means that the conversion - * to DFA will create __A LOT__ nodes (sometimes >10k). Both creating and minimizing the DFA takes time (up to a minute - * for a single regex). - * - * Only set this to `true` if you have the time to run it. - */ -const CHECK_RE_LANGUAGE = false as boolean; - -const maxNodes = 100_000; - -function equalLanguage(expected: ReadonlyDFA, re: NoParent, maxCharacter: number): void { - const nfa = NFA.fromRegex(re, { maxCharacter }, { assertions: "disable" }); - const dfa = DFA.fromFA(nfa, new DFA.LimitedNodeFactory(maxNodes)); - dfa.minimize(); - - assert.isTrue(expected.structurallyEqual(dfa)); -} - -const parseOptions: ParseOptions[] = []; -if (CONFIG_ALL_PARSE_OPTIONS) { - for (const assertions of ["parse", "disable", "unknown"] as ParseOptions["assertions"][]) { - for (const backreferences of ["disable", "unknown"] as ParseOptions["backreferences"][]) { - for (const maxBackreferenceWords of [0, 1, 10, 100]) { - for (const simplify of [true, false]) { - parseOptions.push({ - assertions, - backreferences, - maxBackreferenceWords, - maxNodes, - simplify, - }); - } - } - } - } -} else { - parseOptions.push({ backreferences: "disable", maxNodes }); -} - -describe("Regex stress test", function () { - if (!CONFIG_RUN_STRESS_TEST) { - return; - } - - this.timeout(60 * 1000); // timeout after a minute - - parseOptions.forEach(options => { - describe("Parser config: " + JSON.stringify(options), function () { - PrismRegexes.forEach((literal, index) => { - let patternPreview = String(literal); - if (patternPreview.length > 80) { - patternPreview = patternPreview.substr(0, 80) + "..."; - } - it(`[${index}]: ${patternPreview}`, function () { - try { - const { expression, maxCharacter } = Parser.fromLiteral(literal).parse(options); - const nfa = NFA.fromRegex( - expression, - { maxCharacter }, - { assertions: "disable", unknowns: "disable" }, - new NFA.LimitedNodeFactory(maxNodes) - ); - nfa.countNodes(); - - const re1 = nfa.toRegex({ maxNodes }); - - const dfa = DFA.fromFA(nfa, new DFA.LimitedNodeFactory(maxNodes)); - const dfaOriginalCount = dfa.countNodes(); - dfa.minimize(); - assert.isTrue(dfa.countNodes() <= dfaOriginalCount); - - if (CHECK_RE_LANGUAGE) { - equalLanguage(dfa, re1, maxCharacter); - } - - const re2 = dfa.toRegex({ maxNodes }); - if (CHECK_RE_LANGUAGE) { - equalLanguage(dfa, re2, maxCharacter); - } - } catch (e) { - if (!(e instanceof TooManyNodesError)) { - throw e; - } - } - }); - }); - }); - }); -}); diff --git a/tests/transformers/__snapshots__/apply-assertions.ts b/tests/transformers/__snapshots__/apply-assertions.ts deleted file mode 100644 index 17d8a25a..00000000 --- a/tests/transformers/__snapshots__/apply-assertions.ts +++ /dev/null @@ -1,2977 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> apply-assertions >> /(?=\d)\wa/ `] = lit` -/\da/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!\d)\wa/ `] = lit` -/[A-Z_a-z]a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=\w[^9])a\d/ `] = lit` -/a[0-8]/ -`; - -module.exports[n`Transformers >> apply-assertions >> /\da(?<=[^9]\w)/ `] = lit` -/[0-8]a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!4)(?=\d)\w(?> apply-assertions >> /(?=a)\wa/ `] = lit` -/aa/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=aa)\wa/ `] = lit` -/aa/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=aaa)\wa/ `] = lit` -/aa(?=a)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!a)aa/ `] = lit` -/[]a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!aa)\wa/ `] = lit` -/(?:[\dA-Z_b-z])a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!aaa)\wa/ `] = lit` -/(?:[\dA-Z_b-z]a|aa(?!a))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /a$a/ `] = lit` -/a[]/ -`; - -module.exports[n`Transformers >> apply-assertions >> /a^a/ `] = lit` -/[]a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!a|""")./s `] = lit` -/(?:[^"a]|"(?!""))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!a)(?!""")./s `] = lit` -/(?:[^"a]|"(?!""))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=foo)foo/i `] = lit` -/FOO/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!foo)bar/i `] = lit` -/BAR/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!food)foo/i `] = lit` -/FOO(?!D)/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!food)foot/i `] = lit` -/FOOT/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!food|foobar)foot/i `] = lit` -/FOOT/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!food)foo\w/i `] = lit` -/FOO[\dABCE-Z_]/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!food|foot)foo\w/i `] = lit` -/FOO[\dABCE-SU-Z_]/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!fo{6})foo\w/i `] = lit` -/FOO(?:[\dA-NP-Z_]|O(?!O{3}))/i -`; - -module.exports[n`Transformers >> apply-assertions >> /\(\s*(?!\s)(?:[^()]|\([^()]*\))*?(?=\s*\))/ `] = lit` -/\(\s*(?:(?!\s)|(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?)(?=\s*\))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ `] = lit` -/\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!\d)(?> apply-assertions >> /(?!\d)\w+/ `] = lit` -/[A-Z_]\w*/i -`; - -module.exports[n`Transformers >> apply-assertions >> /\w+(?> apply-assertions >> /(?=\da)\w+/ `] = lit` -/\d(?:a\w*|(?=a))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /\w+(?<=a\d)/ `] = lit` -/(?:\w*a|(?<=a))\d/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!\d)\w{1,2}/ `] = lit` -/[A-Z_]\w?/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!\d)\w*/ `] = lit` -/(?:[A-Z_]\w*|(?!\d))/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=foobar)\w*\s/ `] = lit` -/foobar\w*\s/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=foobar)\w*(?!\w)/ `] = lit` -/foobar\w*(?!\w)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=foobar)\w*(?![bfo])/ `] = lit` -/foob(?=ar)\w*(?![bfo])/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=foobar)\w*$/ `] = lit` -/foobar\w*$/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=fo{4})\w*$/ `] = lit` -/foooo\w*$/ -`; - -module.exports[n`Transformers >> apply-assertions >> /^\w*(?<=foobar)$/ `] = lit` -/^\w*foobar$/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!foobar)\w*\s/ `] = lit` -/(?!foobar)\w*\s/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!foobar)\w*(?!\w)/ `] = lit` -/(?!foobar)\w*(?!\w)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!foobar)\w*(?![bfo])/ `] = lit` -/(?!foobar)\w*(?![bfo])/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!foobar)\w*$/ `] = lit` -/(?!foobar)\w*$/ -`; - -module.exports[n`Transformers >> apply-assertions >> /^\w+(?> apply-assertions >> /(?!\d)(?:\w+|:|123)/ `] = lit` -/(?:[A-Z_]\w*|:)/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=\d)\s*\w+/ `] = lit` -/(?:(?=[])\s+\w|\d)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /a$(?:a|b)/ `] = lit` -/a(?:[])/ -`; - -module.exports[n`Transformers >> apply-assertions >> /a$(?:a|b)?/ `] = lit` -/a(?:(?:[])(?:a|b){0}|$)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /a$(?:a|b|)/ `] = lit` -/a(?:$)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(a(?!b))+/ `] = lit` -/a+(?!b)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(a(?!b))*/ `] = lit` -/(?:a+(?!b))?/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(a(?!b))*?/ `] = lit` -/(?:a+?(?!b))??/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(a(?!b)){0,4}/ `] = lit` -/(?:a{1,4}(?!b))?/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(a(?!b)){1,2}/ `] = lit` -/a{1,2}(?!b)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(\w(?=\d))*/ `] = lit` -/(?:\w\d*(?=\d))?/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:fo(?=o)|ba(?=r))\w+/ `] = lit` -/(?:foo|bar)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:fo(?=o)|ba(?=r))?\w+/ `] = lit` -/(?:foo|bar|\w)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:fo(?=o)|ba(?=r))??\w+/ `] = lit` -/(?:\w|foo|bar)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:f(?=oo)|ba(?=r))\w+/ `] = lit` -/(?:fo(?=o)|bar)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:f(?=oo)|ba(?=r))?\w+/ `] = lit` -/(?:fo(?=o)|bar|\w)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!\s)[^]*\S/ `] = lit` -/(?:\S[^]*|)\S/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=a)[^]*/ `] = lit` -/(?:a[^]*|(?=a))/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=a)[^]*?/ `] = lit` -/(?:(?=a)|a[^]*?)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?!a)[^]*?/ `] = lit` -/(?:(?!a)|[^a][^]*?)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=a)[^]*b/ `] = lit` -/(?:a[^]*)b/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=a)[^]*a/ `] = lit` -/(?:a[^]*|)a/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=\d)[^]*\w/ `] = lit` -/(?:\d[^]*\w|\d)/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=\d)[^]*\w+/ `] = lit` -/(?:\d[^]*\w|\d)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?=\d)[^]?\w+/ `] = lit` -/(?:\d[^]{0}\w|\d)\w*/ -`; - -module.exports[n`Transformers >> apply-assertions >> /=begin\s[^]*^=end/m `] = lit` -/=begin(?:\s[^]*[\n\r\u2028\u2029]|[\n\r\u2028\u2029])=end/ -`; - -module.exports[n`Transformers >> apply-assertions >> /-?(?> apply-assertions >> /(?:a(?!\d)|foo(?=\w)|bar(?!\w)|b)\w+/i `] = lit` -/(?:A[A-Z_]|FOO\w|B\w)\w*/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:\[)(?!\d)\w+(?=\])/i `] = lit` -/(?:\[)[A-Z_]\w*(?=\])/i -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:^|[^&])(?> apply-assertions >> /""((?!"").)*""/s `] = lit` -Start: /""(?:(?!"")[^])*""/ -Pass 1 -Con applyAssertions: /""(?:[^"]|"(?!"))*""/ -Qnt inline: /""(?:[^"]|"(?!"))*""/ -Con applyAssertions: /""(?:[^"]|"(?:(?!")")*(?:(?!")[^"]))*(?:)""/ -Con inline: /""(?:[^"]|"(?:(?!")")*(?:(?!")[^"]))*""/ -Pass 2 -Con applyAssertions: /""(?:[^"]|"[]*(?:(?!")[^"]))*""/ -Qnt removeDeadBranches: /""(?:[^"]|"(?:[])*(?:(?!")[^"]))*""/ -Con applyAssertions: /""(?:[^"]|"(?:[])*(?:[^"]))*""/ -Con inline: /""(?:[^"]|"(?:[])*[^"])*""/ -Con removeDeadBranches: /""(?:[^"]|"[^"])*""/ -Pass 3 -Final: /""(?:[^"]|"[^"])*""/ -`; - -module.exports[n`Transformers >> apply-assertions >> /""(.(?> apply-assertions >> /""((?!"")(?:[^\\]|\\"))*""/s `] = lit` -/""(?:"(?:[^"\\]|\\")|[^"\\]|\\")*""/ -`; - -module.exports[n`Transformers >> apply-assertions >> /""((?!"")(?:[^\\]|\\"))+""/s `] = lit` -/""(?:[^"\\]|"(?!")|\\")(?:"(?:[^"\\]|\\")|[^"\\]|\\")*""/ -`; - -module.exports[n`Transformers >> apply-assertions >> /"""((?!""").)*"""/s `] = lit` -Start: /"""(?:(?!""")[^])*"""/ -Pass 1 -Con applyAssertions: /"""(?:[^"]|"(?!""))*"""/ -Qnt inline: /"""(?:[^"]|"(?!""))*"""/ -Con applyAssertions: /"""(?:[^"]|"(?:(?!"")")*(?:(?!"")[^"]))*(?:"(?:(?!"")")*(?!"")"|")""/ -Pass 2 -Con applyAssertions: /"""(?:[^"]|"(?:"(?!"))*(?:(?!"")[^"]))*(?:"(?:(?!"")")*(?!"")"|")""/ -Con applyAssertions: /"""(?:[^"]|"(?:"(?!"))*(?:[^"]))*(?:"(?:(?!"")")*(?!"")"|")""/ -Con applyAssertions: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?(?:[^"]))*(?:"(?:(?!"")")*(?!"")"|")""/ -Con inline: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*(?:"(?:(?!"")")*(?!"")"|")""/ -Con applyAssertions: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*(?:"(?:"(?!"))*(?!"")"|")""/ -Con applyAssertions: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*(?:"(?:)"(?!")|")""/ -Con inline: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*(?:""(?!")|")""/ -Con applyAssertions: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*(?:")""/ -Con inline: /"""(?:[^"]|"(?:"(?:(?!")")*(?!"))?[^"])*"""/ -Pass 3 -Con applyAssertions: /"""(?:[^"]|"(?:"[]*(?!"))?[^"])*"""/ -Qnt removeDeadBranches: /"""(?:[^"]|"(?:"(?:[])*(?!"))?[^"])*"""/ -Con removeDeadBranches: /"""(?:[^"]|"(?:"(?!"))?[^"])*"""/ -Con applyAssertions: /"""(?:[^"]|"(?:"|)[^"])*"""/ -Pass 4 -Final: /"""(?:[^"]|"(?:"|)[^"])*"""/ -`; - -module.exports[n`Transformers >> apply-assertions >> /"""((?!""").)+"""/s `] = lit` -/"""(?:[^"]|"(?!""))(?:[^"]|"(?:"|)[^"])*"""/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:^|[^.]|\.\.\.\s*)(?> apply-assertions >> /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/ `] = lit` -Start: /(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -Pass 1 -Con applyAssertions: /(?:(?:(?> apply-assertions >> /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+/ `] = lit` -Start: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+/ -Pass 1 -Con applyAssertions: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}])){1}(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?:(?![)\]}])\.)*(?:(?![)\]}])(?:[-!$%&*+/:<=>?@\\|~^]|\.\.)))*(?:\.(?:(?![)\]}])\.)*(?![)\]}]))?/ -Con inline: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?:(?![)\]}])\.)*(?:(?![)\]}])(?:[-!$%&*+/:<=>?@\\|~^]|\.\.)))*(?:\.(?:(?![)\]}])\.)*(?![)\]}]))?/ -Pass 2 -Con applyAssertions: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:(?![)\]}])(?:[-!$%&*+/:<=>?@\\|~^]|\.\.)))*(?:\.(?:(?![)\]}])\.)*(?![)\]}]))?/ -Con applyAssertions: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.)))*(?:\.(?:(?![)\]}])\.)*(?![)\]}]))?/ -Alt inline: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.(?:(?![)\]}])\.)*(?![)\]}]))?/ -Con applyAssertions: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.\.*(?![)\]}]))?/ -Pass 3 -Final: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.\.*(?![)\]}]))?/ -`; - -module.exports[n`Transformers >> apply-assertions >> /(?:[a-z%]|(?> apply-assertions >> /(?:[a-z]|(?> apply-assertions >> /(?:(?!<\/title>).)*<\/title>/s `] = lit` -Start: /<title>(?:(?!<\/title>)[^])*<\/title>/ -Pass 1 -Con applyAssertions: /<title>(?:[^<]|<(?!\/title>))*<\/title>/ -Qnt inline: /<title>(?:[^<]|<(?!\/title>))*<\/title>/ -Con applyAssertions: /<title>(?:[^<]|<(?:(?!\/title>)<)*(?:(?!\/title>)[^<]))*(?:<(?:(?!\/title>)<)*(?!\/title>)<|<)\/title>/ -Pass 2 -Con applyAssertions: /<title>(?:[^<]|<<*(?:(?!\/title>)[^<]))*(?:<(?:(?!\/title>)<)*(?!\/title>)<|<)\/title>/ -Con applyAssertions: /<title>(?:[^<]|<<*(?:(?:[^/<]|\/(?!title>))))*(?:<(?:(?!\/title>)<)*(?!\/title>)<|<)\/title>/ -Alt inline: /<title>(?:[^<]|<<*(?:[^/<]|\/(?!title>)))*(?:<(?:(?!\/title>)<)*(?!\/title>)<|<)\/title>/ -Con applyAssertions: /<title>(?:[^<]|<<*(?:[^/<]|\/(?!title>)))*(?:<<*(?!\/title>)<|<)\/title>/ -Con applyAssertions: /<title>(?:[^<]|<<*(?:[^/<]|\/(?!title>)))*(?:<<*<|<)\/title>/ -Pass 3 -Final: /<title>(?:[^<]|<<*(?:[^/<]|\/(?!title>)))*(?:<<*<|<)\/title>/ -`; - -module.exports[n`Transformers >> apply-assertions >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:<<*(?:[^!"'<\]]|!(?!--)|"[^"]*"|'[^']*'|<!--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->)|[^"'<\]]|"[^"]*"|'[^']*'|<!--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->)*(?:<<*\]|\])\s*)?>/i -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT(?!\w)/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/(?<!\w)URL\((?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/(?<!\w)selector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?:\]+[^>\]]|[^\]]))*(?:\](?:\]+|)\]|\])\]>|[^<]|<<*?(?:<!\[CDATA\[(?:[^\]]|\](?:\]+[^>\]]|[^\]]))*(?:\](?:\]+|)\]|\])\]>|[^!<]|!(?!\[CDATA\[)))*?(?:<<*?(?!!\[CDATA\[))??(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|(?<!\w)CATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/(?<!\w)[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|(?<!\w)\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?!\w)|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?:\]+[^>\]]|[^\]]))*(?:\](?:\]+|)\]|\])\]>|[^<]|<<*?(?:<!\[CDATA\[(?:[^\]]|\](?:\]+[^>\]]|[^\]]))*(?:\](?:\]+|)\]|\])\]>|[^!<]|!(?!\[CDATA\[)))*?(?:<<*?(?!!\[CDATA\[))??(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|[^\n\r\\\\\`])*\`|'(?:\\.|[^\n\r'\\])*'/ -/(?<!\w)\d+(?!\w)/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/(?<=\w)'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/(?<!\w)[A-Z]\w*\b/i -/(?<!\w)\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/(?<!\w)\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/(?<!\w)[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*|(?<!\w))[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/(?<!\w)\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/(?<!\w)[a-z]\w*(?=\s*:)/ -/(?<!\w)[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*(?:\.|(?<!\w))\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*\**[^)*])*(?:\*\**|)\*\)|[^(]|\(\(*?(?:\(\*(?:[^*]|\*\**[^)*])*(?:\*\**|)\*\)|[^(*]))*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/[A-Z_]\w*(?=\s*\()/i -/TRUE|FALSE/i -/(?:(?<!\w)\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:[A-Z_]\w*|"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4)(?=\s*:)/i -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/(?<!\w)WITH\s+COUNT(?=\s+INTO(?!\w))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/(?<!\w)OPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:(?<!\w)0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:\/\/*(?:[^\n\r*/\\]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\\(?:\r\n|[^]))|[^\n\r/\\]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\\(?:\r\n|[^]))*(?:\/\/*(?!\*))?/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/(?<!\w)[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/(?<!\w)[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:(?<!\w)0B['01]+|(?<!\w)0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:(?:(?<!\w)\d|(?<=\w)')[\d']*\.?[\d']*|(?<!\w)\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/(?<!\w)[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/(?<!\w)\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?:[^\s.].*|(?![\s.]))/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?:(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|[^[\\\]]|\\.)(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*|)\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/(?<!\w)[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:(?<!\w)\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:(?<!\w)_(?:[^\s\\_]|\\.)(?: _|[^\n\r\\_]|\\.)*(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_(?!\w)|(?<!\w)\`\`\S.*?(?:(?:\r?\n|\r).+?)*''(?!\w)|(?<!\w)\`[^\s'\`](?:[^\s'\`]|\s+\S)*['\`](?!\w)|\B(?:#(?:[^\s#\\]|\\.)(?: #|[^\n\r#\\]|\\.)*(?:(?:\r?\n|\r)(?: #|[^\n\r#\\]|\\.)+)*#|'(?:[^\s'\\]|\\.)(?: '|[^\n\r'\\]|\\.)*(?:(?:\r?\n|\r)(?: '|[^\n\r'\\]|\\.)+)*'|\*(?:[^\s*\\]|\\.)(?: \*|[^\n\r*\\]|\\.)*(?:(?:\r?\n|\r)(?: \*|[^\n\r*\\]|\\.)+)*\*|\+(?:[^\s+\\]|\\.)(?: \+|[^\n\r+\\]|\\.)*(?:(?:\r?\n|\r)(?: \+|[^\n\r+\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?:(?:\d+(?:\.\d+)?|\.\d+)[*+]|(?!\|))(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:[^$\\]|\\.)*\$|\`(?:[^\\\\\`]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:(?<!\w)0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:(?<!\w)\.\d+(?:_+\d+)*|(?<!\w)\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+(?:@|)[A-Z_a-z]\w*\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*(?:\b(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b)*\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*)?\b)?(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/(?<!\w)new\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/(?:@|(?<!\w))[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\s+(?:@|)[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+(?:@|)[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*\))?(?:\s*,\s*(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*(?:@|(?<!\w))[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?:\/[^\s/>]|[^\s%/>])[^\s/>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*|(?!\{))(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/\/*(?:[^"'()*/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/\/*|)\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/\/*(?:[^"'()*/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/\/*|)\))*\))*\))*|(?!\{))(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^(?:@|(?<!\w))[A-Z_]\w*\b/i -/,/ -/[,:]/ -/(?<!\w)using\s+static\s+(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/(?<!\w)using\s+(?:@|)[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/(?<!\w)using\s+(?:@|)[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\s+(?:@|)[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/(?<!\w)catch\s*\(\s*(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/(?<!\w)where\s+(?:@|)[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:@|(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*\)/ -/(?:@|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*(?:@|(?<!\w))[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*|(?!\{))(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/\/*(?:[^"'()*/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/\/*|)\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/\/*(?:[^"'()*/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/\/*|)\))*\))*\))*|(?!\{))(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/|)\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^\{(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/\/*(?:[^"'()*/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*(?:\/\/*|)\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\`(?:\\.|[^\n\r\\\\\`])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}(?!\w)/i -/#?%[01]+(?!\w)/ -/(?:#|(?<!\w))\d+(?!\w)/ -/(?<!\w)[AXY](?!\w)/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/(?<!\w)\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|[^\n\r"])*"|'(?:''|[^\n\r'])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)(?:^|[^]*?[\n\r\u2028\u2029])\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/(?<!\w)&\d(?!\w)/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/(?<!\w)function\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/(?<!\w)\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!.|REM[^\w\n\r\u2028\u2029]).*/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM(?:(?:[^\w\n\r&)^]|\^(?:\r\n|[^]))(?:[^\n\r&)^]|\^(?:\r\n|[^]))*|(?!\w))/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE(?!\w)/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+(?:(?:"(?:["\\]"|[^"])*"(?:[^\n\r"&)^]|\^(?:\r\n|[^]))|[^\w\n\r"&)^]|\^(?:\r\n|[^]))(?:"(?:["\\]"|[^"])*"(?:[^\n\r"&)^]|\^(?:\r\n|[^]))|[^\n\r"&)^]|\^(?:\r\n|[^]))*|(?!\w))(?:"(?:["\\]"|[^"])*"(?!"))?/m -/^FOR(?!\w)|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)|-)\d+(?!\w)/ -/['(),]/ -/^IF(?!\w)|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE(?!\w)/i -/^SET(?!\w)/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+(?!\w)/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z](?!\w)|--[-A-Z]*(?:-(?=\w)|[A-Z](?!\w))/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:(?<!\w)REM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/(?<!\w)[A-Z_]\w*(?=[\t ]*\()/i -/(?:(?<!\w)\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/(?<!\w)LINE_NUM(?!\w)/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:[A-Z_]\w*|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/i -/"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)AS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/(?<!\w)[FT](?!\w)/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/(?<!\w)[\dA-F]+(?!\w)/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/(?<!\w)\d+(?:\.\d+)*\b/ -/(?<!\w)[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/(?<!\w)\w+::\w+(?!\w)/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#[^\n\r{\u2028\u2029].*/ -/[A-Z_]\w*(?=\s*:(?!:))/i -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@[A-Z_]\w*/i -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/(?<!\w)0B[01][01_]*L?\b|(?<!\w)0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:(?<!\w)\d[\d_]*\.?[\d_]*|(?<!\w)\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/(?<!\w)[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:(?<!\w)CLASS\s+|(?<!\w)CATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?<!\w)def\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin(?:[\n\r\u2028\u2029]|\s[^]*?[\n\r\u2028\u2029])=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])*\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/(?<!\w)#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/(?<!\w)\d+(?:%|[a-z]+(?!\w))/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)(?!\w)|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)(?!\w)/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/(?<!\w)\w+(?!\w)(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/(?<!\w)@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns](?!\w)|<>?=?|>=?|=)?|(?<!\w)i[ns](?!\w)|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|(?<!\w)ST(?:\([0-7]\)|(?!\w))/ -/(?<!\w)0X\.?[\dA-F_]+(?:\.(?:[\dA-F_]+|(?!\.)))?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+\+*[^+/])*(?:\+\+*|)\+\/|[^/]|\/\/*?(?:\/\+(?:[^+]|\+\+*[^+/])*(?:\+\+*|)\+\/|[^+/]))*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/(?<!\w)[rx]"(?:\\[^]|[^"\\])*"[cdw]?|(?<!\w)q"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|(?<!\w)q"[A-Z_a-z]\w*(?:$^|[\n\r\u2028\u2029](?:|[^]*?[\n\r\u2028\u2029]))[]Unknown:\\1[]"|(?<!\w)q".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|[^"\\])*"|\`(?:\\[^]|[^\\\\\`])*\`)[cdw]?/m -/(?<!\w)q\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:(?<!\w)0B\.?|(?<!\w)|\.)\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/(?<!\w)is!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?:\[[\w \xa0-\uffff]+\]|(?!'))|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:--*(?:[^-{}]|\{(?!-)|\{-(?:--*(?:[^-{}]|\{\{*[^-{])|[^-{]|\{\{*[^-{])*(?:--*|)-\})|[^-{]|\{-(?:--*(?:[^-{}]|\{\{*[^-{])|[^-{]|\{\{*[^-{])*(?:--*|)-\}|\{\{*(?:[^-{]|\{-(?:--*(?:[^-{}]|\{\{*[^-{])|[^-{]|\{\{*[^-{])*(?:--*|)-\}))*(?:\{\{*(?!-))?(?:--*|)-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/(?<!\w)NaN(?!\w)|(?:-|(?<!\w))Infinity(?!\w)|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/(?<!\w)[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:'[^']|[^']|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/(?<!\w)https?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/(?<!\w)env:(?:[A-Z_a-z]\w*|"(?:[^"=\\]|\\.)*")/ -/(?<!\w)sha256:[\dA-Fa-f]{64}(?!\w)/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?:..*|(?=[^]))(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/(?<!\w)[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/(?<!\w)\w+?(?!\w)/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/\|\w+/ -/(?<!\w)is\s+(?:not\s+)?(?:[\dA-Z_a-mo-z]|n(?!ot(?!\w)))\w*/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/(?<!\w)[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/(?<!\w)[A-Z][\dA-Z_]*\b/ -/(?<!\w)0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:(?<!\w)\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|(?<!\w)\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:\\[^]|[^"\\]|"(?:"(?!"))?(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:\\[^]|[^'\\]|'(?:'(?!'))?(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/(?<!\w)in(?!\w)|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|(?<!\w)!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:\\[^]|[^"\\]|"(?:"(?!"))?(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:\\[^]|[^'\\]|'(?:'(?!'))?(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])(?:\\.|#\{[^}]+\}|[^\n\r#\\}]|##*(?:\\.|#\{[^}]+\}|[^\n\r#\\{}]))*(?:##*|)\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/(?<!\w)0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|(?<!\w)\d+(?:\.(?!\w)|\.?\d*(?:E[-+]?\d+)?\b)|(?<!\w)\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/[A-Z_]\w*(?=\s*[({])/i -/[(),;[\]{}]|\.+|:+/ -/"(?:[^\n\r"\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/(?<!\w)[a-z][\w@]*(?=\()/ -/(?<!\w)[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:(?<!\w)\d+(?:\.\d+)?|(?<!\w)\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/(?<!\w)N\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/(?<!\w)[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/(?<!\w)[A-Z]+\d+(?!\w)|\$[A-Za-z]+\$?\d+(?!\w)|(?<!\w)[A-Za-z]+\$\d+(?!\w)/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!(?!\w)|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]*(?:\.(?=\w)|\w(?!\w))(?:\s*(?:->|\*)\s*[\w.]*(?:(?:\.(?=\w)|\w(?!\w))\s*(?:->|\*)\s*[\w.]*)*(?:\.(?=\w)|\w(?!\w)))?(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/(?<!\w)0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/(?<!\w)0b[01]+(?:y|uy)?\b/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/(?<!\w)\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?:[^-\s=]|-(?!-*>)|=(?!=*>|-+>))\S*>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s":>][^\s:>]*>|[^\s">][^\s>]*>[^\s>]+|\+[^\s+]+\+|[^\s"?][^\s?]*\?|\?[^\s?]+|[^\s">][^\s>]*>>|>>[^\s>]+|[^\s"<][^\s<]*<<|\([^\s()]+\)|[^\s!"][^\s!]*!|[^\s"*]\S*\*|[^\s".]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|[^\s;]\S*)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/(?<!\w)allow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?!\w)|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^\w$](?=\w)|\w(?!\w))(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^\w$])\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:(?<!\w)\d+(?:\.\d*)?|(?<!\w)\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r"\u2028\u2029])*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r'\u2028\u2029])*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|[^\n\r(\u2028\u2029])\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/(?<!\w)as(?!\w)/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/(?<!\w)r(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/ -/"(?:[^"$\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<<*(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*(?:<<*\)|\))|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:[^$'\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<<*(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*(?:<<*\)|\))|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<<*(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*(?:<<*\)|\))|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?:-+[^->]|[^-]))*(?:-(?:-+|)-|-)->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|(?<!\w)\(.*?\)(?!\w)/ -/(?<!\w)[GM]\d+(?:\.\d+)?\b/ -/(?<!\w)[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/(?<!\w)[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:[^\n"\\]|\\[^])*"|'(?:[^\n'\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|(?<!\w)as[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/(?<!\w)0b[01_]+(?!\w)|(?<!\w)0x[\dA-F_a-f]+(?!\w)|(?:(?<!\w)\d[\d_]*(?:\.[\d_]*)?|(?<!\w)\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`/ -/(?:(?<!\w)-|(?<!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?:[A-HJ-Z]|I(?!D(?!\w)))[\dA-Z_]*\b/ -/(?:"""(?:[^"]|"(?:"|)[^"])*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|"(?:"|)[^"])*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:(?<!\w)fragment\s+[A-Z_a-z]|\.{3}\s*(?:[A-Z_a-np-z]|o(?!n(?!\w))))\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?!\n|\r\n?)|_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?!\n|\r\n?))+_)+__(?!\w)|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?!\n|\r\n?)|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?!\n|\r\n?))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?!\n|\r\n?)|__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?!\n|\r\n?))+__)+_(?!\w)|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?!\n|\r\n?)|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?!\n|\r\n?))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?!\n|\r\n?))+?~~|~(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?!\n|\r\n?))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?!\n|\r\n?))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?!\n|\r\n?))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?[\n\r\u2028\u2029]\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:[^\n\r\`]|\`[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/\/*[^$/])*(?:\/\/*|)\/\$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?:\\.|[^\n\r/\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.][-A-Z_][-\w]*.*?(?=[(;])/i -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?:[^\s();@{}]|(?=\S))(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/(?<!\w)!(?:DEFAULT|OPTIONAL)\b/i -/(?<!\w)null(?!\w)/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?[A-Z][\dA-Z]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/(?<=\w)\[\d+\]/ -/(?<!\w)[\dA-Z]+\([^)]+\)/ -/(?<=\w)\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding(?!\w))?/m -/\b(?:import|qualified|as|hiding)\b/ -/(?<!\w)this(?!\w)|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?<!\w)\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?[\n\r\u2028\u2029]\s*[]Unknown:\\1[]/ -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\.[\w*]+/i -/(?:(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?|(?<!\w)0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/(?:-|(?<!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/(?<!\w)\d{7,}(?!\w)/ -/(?<!\w)\d{1,6}(?!\w)/ -/\b(?:max-age=|includeSubDomains|preload)/ -/(?<!\w)\d{8,}(?!\w)/ -/(?<!\w)\d{1,7}(?!\w)/ -/(?:(?<!\w)'|REM)[^\n\r]*/i -/(?<!\w)#[\dA-F]+|(?<!\w)\`[01]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?<!\w)@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+(?!\w)/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/[A-Z_]\w*(?=\s*[({]|\s*!\s*\[)/i -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:[^\n\r"\\_]|\\.|_(?:\r\n|[^"]))*"|'(?:[^\n\r'\\_]|\\.|_(?:\r\n|[^']))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)(?:(?<!\w)\w|(?<=\w)[^\w\n\r\u2028\u2029]).*/im -/(?:^|[^-])(?:(?<!\w)\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|[^"\\]|"(?:"(?!"))?(?:\\[^]|[^"\\]))*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/(?<!\w)NB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:\d(?:\d+|(?!:))(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\w)(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/\{(?:\.|::?)?|p(?:\.\.?|:)|\]|[!=](?![.:])|[-#$%*+,<>|][.:]?|(?:\?|\^(?!:))\.?|(?:\[|;(?!\.)):?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|(?!\^:|;\.|[!=][.:])_?\d):/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/(?<!\w)0B[01][01_]*L?\b|(?<!\w)0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:(?<!\w)\d[\d_]*\.?[\d_]*|(?<!\w)\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/(?<!\w)[A-Z](?:\w*[a-z]\w*)?\b/ -/(?<!\w)[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]*(?:-(?=\w)|[A-Za-z](?!\w))/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/(?<!\w)[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/(?<!\w)0X[\dA-F]*\.?[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+(?!\w)|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/(?<!\w)[A-Z_][\dA-Z_]*\b/ -/(?<!\w)NULL(?!\w)/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/(?<!\w)[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/(?<!\w)Aggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/(?<!\w)Redirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/(?<!\w)with\s+\w+/ -/=>/ -/(?<!\w)with(?!\w)/ -/(?<!\w)\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:(?<!\w)\d+\.|(?<!\w)\.|(?<!\w))\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/(?<!\w)DEF\s+[A-Z_]\w+/i -/(?<!\w)[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?:[$A-Z_a-jl-z\xa0-\uffff]|k(?!eyof(?!\w)))[\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/(?<!\w)console(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/(?<!\w)[A-Z]\w*Error(?!\w)/ -/\b(?:as|default|export|from|import)\b/ -/(?<!\w)undefined(?!\w)/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+(?!\w))?/ -/"(?:\\(?:\r\n?|\n|.)|[^\n\r"\\])*"|'(?:\\(?:\r\n?|\n|.)|[^\n\r'\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|[^\n\r"\\])*"|'(?:\\(?:\r\n?|\n|.)|[^\n\r'\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:(?<!\w)at\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/(?:(?<!\w)html|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/(?<!\w)svg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$\$*(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*(?:\$\$*|)\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:##*(?:[^#=]|#=(?:==*[^#=]|[^#=]|##*[^#=])*(?:==*|)=#)|==*[^#=]|[^#=]|#=(?:==*[^#=]|[^#=]|##*[^#=])*(?:==*|)=#)*(?:##*(?!=))?(?:==*|)=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/(?<!\w)C\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/(?<!\w)@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?[A-Z_](?!\w*\()\w*|)/i -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:[^\n\r{\u2028\u2029].*|(?!\{)|\{[^]*?%\})/ -/[=|]|<<|>>/ -/(?<!\w)\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|##*[^#}])*(?:##*|)#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/(?<!\w)0B[01]+(?!\w)|(?<!\w)0X[\dA-F]*\.?[-\dA-FP]*(?:-(?=\w)|[\dA-FP](?!\w))|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|[^"\\]|"(?:"(?!"))?(?:\\[^]|[^"\\]))*"""|"(?:\\[^]|[^"\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|[^-\n\r\u2028\u2029])\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^&|[^&.]&|\.&(?!\.))(?:\d+|(?!&))/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|[^'\\]|'(?:'(?!'))?(?:\\[^]|[^'\\]))*'''|'(?:\\[^]|[^'\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|[^/[\\]|\/(?!\/))(?:\[[^\n\r\]]*\]|\\.|[^/[\\]|\/(?:\[[^\n\r\]]*\]|\\.|[^/[\\]))*\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*|\d+)/i -/(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*:/i -/(?<!\w)[_a-z][\d_a-z]*\b/ -/(?:[-+]|(?<!\w))\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?<!\w)0xK[\dA-Fa-f]{20}(?!\w)|(?<!\w)0x[LM][\dA-Fa-f]{32}(?!\w)|(?<!\w)0xH[\dA-Fa-f]{4}(?!\w)/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:(?<!\w)-)?(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)/ -/\.{3}|\u2026|,|!/ -/(?<!\w)OBTW\s+[^]*?\s+TLDR(?!\w)/ -/(?<!\w)BTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include(?!\w)|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?[ij]?|(?<!\w)[ij](?!\w)/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/(?<!\w)'(?:''|[^\n\r'])*'/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof(?!\w)|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)|(?<!\w)-\.?|(?<!\w)\.)\d+(?:\.(?:\d+|(?!\.)))?|\$[\dA-F]+)/i -/^#REM\s*(?:[\n\r\u2028\u2029]|\s[^]*?[\n\r\u2028\u2029])#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:(?<!\w)\.\d+|(?<!\w)\d+\.\d+|(?<!\w)\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|(?<!\w)not(?!\w)/ -/[(),.[\\\]{}]/ -/(?<!\w)[A-Z_]\w*(?=:)|:[A-Z_]\w*/i -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:(?<!\w)\d+\.|(?<!\w)\.)\d+E[-+]?\d+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+[^\s{}][^\n\r{}]*/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\W[^]*(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|[^\n\r([{\u2028\u2029]|[([{](?!\.))(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.\.*(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.\.*(?![)\]}]))?|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|(?<!\w)foldl'(?!\w)/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:'[^']|[^']|''(?:'|\\|\$\{))*''/ -/(?<!\w)[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?:[\w#%&+\-.:=?~]|\/(?!\/)))?\/(?:[\w#%&+\-.:=?~][\w#%&+\-./:=?~]*|(?!\/))/ -/(?:^|^[^\\]|[^\n\r'\u2028\u2029][^\\]|'[^'\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|(?<!\w)_(?!\w)/ -/(?<!\w)#\w+/ -/(?<!\w)~\w+/ -/(?<!\w)'\w+/ -/\`\w+/ -/(?<!\w)[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r'\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r\\\\\`])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:(?<!\w)0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/(?<!\w)cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/(?<!\w)CL_(?:TRUE|FALSE)\b/ -/(?<!\w)CL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/(?<!\w)cl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/(?<!\w)[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/(?<!\w)[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:(?<!\w)\d(?: *\d)*(?: *\.(?! *\.)(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^(?<!\w)|[^\w^])\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^(?<!\w)|[^\w^])[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:[^"^]|\^[^])*"|'(?:[^'^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)(?:'(?:''|[^\n\r'])*'#[$%&]?[\dA-F]+|#[$%&]?[\dA-F]+)*(?:'(?:''|[^\n\r'])*'(?!'))?|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/(?<!\w)TYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?!\w))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|(?<!\w)REM[^;]*;|<\*(?:\*\**(?:[^*<>]|<(?!\*)|<\*(?:[^*]|\*\**[^*>])*(?:\*\**|)\*>)|[^*<]|<\*(?:[^*]|\*\**[^*>])*(?:\*\**|)\*>|<<*(?:[^*<]|<\*(?:[^*]|\*\**[^*>])*(?:\*\**|)\*>))*(?:<<*(?!\*))?(?:\*\**|)\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz](?!\w)|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|(?<!\w)x(?:=|(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?[$A-Z_][\w$]*)+(?:::)*/i -/[$%&*@]\d+/ -/[$@][^\0-\x200-9A-Za-z\x7f-\uffff]|%[\x21-\x2f:;<>?@[\\\]\^_\`{|}~]/ -/<(?:[^\s<=]\S*|)>|(?<!\w)_(?!\w)/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:[^"\\]|\\[^])*"|\`(?:[^\\\\\`]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s+(?:0(?:[^0\\]|\\[^])*0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z(?:[^\\z]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-\w](?=\w)|\w(?!\w))(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:(?<!\w)[A-Za-z]\w*)?(?:[[\\\]|][A-Za-z]\w*|[[\\\]|])*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:[A-Za-z]\w*|)(?:[[\\\]|][A-Za-z]\w*|[[\\\]|])*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this(?!\w)/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/(?:(?<!\w)\w|(?<=\w)\\)[\w\\]*::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/(?<!\w)0X[\dA-F]+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|[^"\\])+"|'(?:\\[^]|[^'\\])+'|\`(?:\\[^]|[^\\\\\`])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)Day\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/(?<!\w)TraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/(?<!\w)Occurrence\.(?:First|Last|All)\b/ -/(?<!\w)Order\.(?:Ascending|Descending)\b/ -/(?<!\w)RoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/(?<!\w)MissingField\.(?:Error|Ignore|UseNull)\b/ -/(?<!\w)QuoteStyle\.(?:Csv|None)\b/ -/(?<!\w)JoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/(?<!\w)GroupKind\.(?:Global|Local)\b/ -/(?<!\w)ExtraValues\.(?:List|Ignore|Error)\b/ -/(?<!\w)JoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/(?<!\w)JoinSide\.(?:Left|Right)\b/ -/(?<!\w)Precision\.(?:Double|Decimal)\b/ -/(?<!\w)RelativePosition\.From(?:End|Start)\b/ -/(?<!\w)TextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type(?!\w)/ -/(?:^|[^\w#.])[.A-Z_][\w.]*(?=\s*\()/i -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:[-+]?(?:(?<!\w)\d+\.|(?<!\w))\d+|[-+]\.\d+|(?:^(?<!\w)|[^\w.])\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+(?!\w)/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+(?!\w)/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|[^\n\r$)]|\$\$*(?:\$\([^\n\r()]*\)|[^\n\r$()]))*(?:\$\$*|)\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?:[A-WYZ][\dA-Z_]|X(?:[\dA-LN-Z_]|M(?!L(?!\w))))[\dA-Z_]*\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/(?<!\w)[A-Z_]\w*/ -/(?<!\w)[a-z]\w*(?:(?=\()|\/\d+)/ -/(?<!\w)\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:''|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/(?<!\w)MAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)|(?<!\w)\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script(?:[^\w\n\r\u2028\u2029].*|)\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)(?:(?<!\w)\w|(?<=\w)[^\w\n\r\u2028\u2029]).*/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in(?!\w)/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?:[^\s():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*(?:(?:\r?\n|\r)[]Unknown:\\1[](?:[^\s():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/(?<!\w)0x[\dA-Fa-f]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?/ -/(?<!\w)[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/(?<!\w)!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/(?<!\w)\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||(?<!\w)-(?!\w)|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:(?<!\w)node\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+(?!\w)|(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^"\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^'\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|(?<!\w)[A-Z_a-z]\w*(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.[A-Z_]\w*/i -/(?:\S.*|)\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?:::\w|\w(?!\w*\())\w*(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|(?<!\w)_+(?!\w))(?:(?<!\w)(?:_+[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])*_+[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])?(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^](?:_+[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])*_+[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])*(?:(?<!\w)_+(?!\w))?|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|(?<!\w)0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|(?<!\w)\.\d)\d*(?:E[-+]?\d+)?L?)/i -/(?<!\w)__[A-Z]+__(?!\w)/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/(?<!\w)\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/(?<!\w)CLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{[^{}](?:[^{}]|\{[^{}](?:[^{}]|\{[^{}]+\})*\})*\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|(?:[2-9]|[01](?!:))\d*\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+(?!\w)|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|(?<!\w)each(?!\w)/ -/(?:(?<!\w)\.(?!\w)|(?<!\w)[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|(?<!\w)_(?::|(?!\w))/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*[A-Z_a-z]\w*(?=[\t ]*\{|[\t ]+on(?!\w))/m -/:[\t ]*(?:[^\s"'()/;[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\)|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\}|\\[^])(?:[^\n\r"'()/;[\\\]{}\u2028\u2029]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*\**[^*/])*(?:\*\**|)\*\/|\(\)|\[\]|\{\}|\\[^])*(?:\/|)\}|\\[^])*\}|\\[^])*\}|\\[^])*/m -/(?:^|[;{])[\t ]*[A-Z_]\w*(?:\.\w+)*(?=[\t ]*:)/im -/(?:^|[;{])[\t ]*property[\t ]+[A-Z_a-z]\w*(?:\.\w+)*[\t ]+[A-Z_a-z]\w*(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/(?:\$|(?<!\w))[A-Z_]\w*(?=\()/i -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$[A-Z_]\w*\b/i -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:(?<!\w)0x[\dA-Fa-f]+(?:\.\d*)?|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'>{][^\s"'>]*)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/(?<!\w)[A-Z]\w*\b(?!\s*\.)/ -/(?<!\w)[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?:[4-9]|[123](?![0-7]{2}))/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/(?<!\w)[\dA-Z_]+(?!\w)/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/(?<!\w)[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?:|\S.*?)\S\*\*|\*(?:|\S.*?)\S\*|\`\`(?:|\S.*?)\S\`\`|\`(?:|\S.*?)\S\`|\|(?:|\S.*?)\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:(?<!\w)[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|(?<!\w)System(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?!\w)/ -/(?<!\w)\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\`(?:[^\s\w"#'(),./:;<>[\\\]\`{}](?=\w)|\w(?!\w))/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])*\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r] ?(?:[^\s#.]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?[^\s#](?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/\[Documentation\](?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r](?: {2}|\t)[\t ]*(?:[^\s#.[]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/^[$%&@]\{|\}$/ -/(?<!\w)[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/(?<!\w)[A-Z_][\dA-Z_]+(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|(?<!\w)move\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/(?<!\w)fn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:(?<!\w)(?:[a-z][\d_a-z]*\s*::\s*)+|(?<!\w))[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:\/\/*(?:[^*/]|\/\*(?:\*\**[^*/]|[^*/]|\/\/*[^*/])*(?:\*\**|)\*\/)|\*\**[^*/]|[^*/]|\/\*(?:\*\**[^*/]|[^*/]|\/\/*[^*/])*(?:\*\**|)\*\/)*(?:\/\/*(?!\*))?(?:\*\**|)\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]*?[\n\r\u2028\u2029]\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?:[^\s"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:"(?:""|[^"])*"(?:[^"';]|'(?:''|[^'])*'(?:[^"';]|"(?:""|[^"])*"(?!")))|[^"';]|'(?:''|[^'])*'(?:[^"';]|"(?:""|[^"])*"(?!")))*(?:"(?:""|[^"])*"(?!"))?(?:'(?:''|[^'])*'|);/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/(?<!\w)INPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+[^\w;][^;]*/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+(?!\w)/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"';])|[^"';]|'(?:''|[^'])*'(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"';])|[^"';]))*(?:'(?:''|[^'])*'(?!'))?(?:"(?:""|[^"])*"|);/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"'])|[^"']|'(?:''|[^'])*'(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"'])|[^"']))*?(?:'(?:''|[^'])*'(?!'))??(?:"(?:""|[^"])*"(?!"))??(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*'|<<-?\s*\w+?[\t ]*(?:|[\n\r\u2028\u2029][^]*?)[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*(?:|[\n\r\u2028\u2029][^]*?)[\n\r][]Unknown:\\4[]|'\w+'[\t ]*(?:|[\n\r\u2028\u2029][^]*?)[\n\r][]Unknown:\\4[]))+/ -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.[-A-Z_][-\w]*/i -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/(?<!\w)\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$[A-Z_]\w*/i -/#[A-Z_]\w*#/i -/^\/?[A-Z_]\w*/i -/[A-Z_]\w*(?=\()/i -/\w+\s*=\s*(?:[A-Z_]\w*)?/i -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/(?<!\w)is\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)[A-Z_]\w*/i -/\[[A-Z_]\w*(?=\])/i -/\|\s*@?[A-Z_]\w*/i -/=\s*[A-Z_]\w*/i -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+[$A-Z_a-z][\w$]*/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+(?!\w)/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/(?<!\w)\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|(?<!\w)0x[\dA-F]+(?!\w)/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/(?:[-+]|(?<!\w))\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:[A-Z_\xb5\xc0-\ufffd][\w\-.\xb5\xb7\xc0-\ufffd]*)?:(?:(?:[\w:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)*)?/i -/(?:(?<!\w)a|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/(?<!\w)\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|(?<!\w)0X)[\dA-F]+(?!\w)|(?:(?<!\w)\.\d+|(?<!\w)\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/(?<!\w)DIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+(?!\w)/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r'\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/(?<!\w)[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/(?<!\w)0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|(?:[-+]|(?<!\w))\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/(?<!\w)\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|(?<!\w)in(?!\w)/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/(?<!\w)\$\w+(?!\w)/ -/(?<!\w)\`\w+(?!\w)/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/(?<!\w)##?\d+|(?:(?<!\w)\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/(?<!\w)[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|(?<!\w)is(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:(?<!\w)\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM(?!\w))(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:''*(?:[^'>\\]|\\.)|[^'\\]|\\.)*(?:''*|)'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|(?<!\w)inf(?!\w)|(?<!\w)nan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI(?:|\W[^]*?)>[^]*?<\/NOWIKI|PRE(?:|\W[^]*?)>[^]*?<\/PRE|SOURCE(?:|\W[^]*?)>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX](?!\w)|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'.|\/\/.|REM[^\w\n\r\u2028\u2029]).*/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|[^"])*"|'(?:''|[^'])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/(?<!\w)@[A-Z_]\w*(?=\s*\()/i -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+(?!\w)|(?<!\w)[A-Z_a-z]\w*\b(?=\s*:\s*(?:\{|while(?!\w)))/ -/(?<!\w)[A-Z_a-z]\w*(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?:!|(?!\s))\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w))))(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w)))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?:!|(?!\s))\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w))))(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w)))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?:!|(?!\s))\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w))))(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?:\s+allowzero)*(?:\s+align\s*\((?:[^()]|\([^()]*\))*\)|\s+const(?!\w)|\s+volatile(?!\w)))*(?:\s*allowzero(?:\s+allowzero)*(?!\w))?)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?\b(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*\b)*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z_a-z]\w*(?:(?<!\w)\w|(?<=\w)(?!\w)))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/factor-out.ts b/tests/transformers/__snapshots__/factor-out.ts deleted file mode 100644 index ec694d91..00000000 --- a/tests/transformers/__snapshots__/factor-out.ts +++ /dev/null @@ -1,2544 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> factor-out >> /a$|b$|c/ `] = lit` -/(?:a|b)$|c/ -`; - -module.exports[n`Transformers >> factor-out >> /a(?:b|c)|b|c|d/ `] = lit` -/a?(?:b|c)|d/ -`; - -module.exports[n`Transformers >> factor-out >> /b|c|a(?:b|c)|d/ `] = lit` -/a??(?:b|c)|d/ -`; - -module.exports[n`Transformers >> factor-out >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:tru|fals)e\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/\b(?:(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|CATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:0(?:[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|[Bb](?:[01](?:_[01])?)+|[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*|\])\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:g|s)et(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])\d*(?:\*\d*|\d)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRU|FALS)E\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/(?:\/.*|\*[^]*?\*\/)/ -/\b(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALS|TRU)E\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s|(?:^|[^.])\.)\s*[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/(?:\/.*|\*[^]*?(?:\*\/|$))/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_(?:LOGEMAIL|MUSTGIVEEMAIL|NOUSERID|VERIFYEMAIL))?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:(?:MAXSIZ|MAXTIM|MINTIM|READSIZ|READTIM)E)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURS|LIMI)T|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?|\B\.\d)\d*(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|does(?: no|n')t contain|contains?|is(?:|n't| not) (?:in|contained by)|(?:is(?:|n't| not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:does(?: no|n')t come|comes) (?:before|after)|is(?:|n't| not) equal(?: to)?|does(?: no|n')t equal|equals|equal to|isn't|is not|(?:a )?ref(?:(?: to)?|erence to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/(?:TRU|FALS)E/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/(?:\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\*[^]*?(?:\*\/|$))/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?|\.[\d'A-F])[\d'A-F]*(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?|\B\.[\d'])[\d']*(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^(?:.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|={1,5} +.+|\.(?![\s.]).*)/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b\s*(?:[),:;=\]{]|\s(?:i|whe)n(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRU|FALS)E\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#c(?:omments-start|s)[^]*?^\s*#c(?:omments-end|e)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:tru|fals)e(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"|'\w+')\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^(?:\$\(|\`)|(?:\)|\`)$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/(?:^FOR|\b(?:IN|DO))\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/(?:^IF|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST))\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/(?:%\{[^]*?%|\{(?:\{[^}]*\}|[^{}])*)\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOB|LOC)AL \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/(?:glob|loc)al/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.(?:\d+|[Mm]1|s))?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|endf(?:ault|ilter|inally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.(?:\d+|s))?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_(?:MAJOR|MINOR|PATCH|TWEAK))?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERROR|WARNING)S|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:fals|tru)e\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?|\B\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce|sha(?:256|384|512))-[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/\bC(?:LASS\s+|ATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)[gim]{0,3}/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection|:[-\w]+)/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)(?:\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?|A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1))\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:(?:\w+|\`[^\n\r\\\\\`]*\`)\s*)?|\|\s*):\s*(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|ST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w)))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])\/(?:\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/.*|\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b(?:0B\.?)?|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:a|i)s\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Som|Non)e\b/ -/\b(?:Fals|Tru)e\b/ -/(?:\bNaN|-?\bInfinity|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?))\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:[Tt]ru|[Ff]als|[Nn]on)e/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRU|FALS)E\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/(?:\b[A-Z]+|\$[A-Za-z]+\$?|\b[A-Za-z]+\$)\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b)/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:(?:"""[^]*?""|@"(?:""|[^"])*|"(?:\\[^]|[^"\\])*)"|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))')B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s|\w\s*:|\s:\??>)\s*[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:(?:|u)y)?\b/ -/(?:\b\d+\.?|\B\.\d)\d*(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/[dimrs]*(?:|[dimrs]-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!(?:=+|-+)>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;|(?!;))\S+(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)!(?: .*|$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?\d*(?:\.\d+|\d\.\d*|\d)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:|\r)\n.*(?:|\r)\n\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:|\r)\n.*(?:|\r)\n\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:|\r)\n\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\bi(?:n|s)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRU|FALS)E\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fp|microsecond)s|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cde|cdec|stdcal)l|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:sol|rig)id|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:De|A)sc|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:(?:x|y)(?:previous|start)??|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:(?:class_name|class|extends)[\t ]|export\()|\bas[\t ]|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:|->)[\t ]*[A-Z_a-z]\w*/m -/(?:\b0b[01_]+|\b0x[\dA-F_a-f]+|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?)\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/"(?:""(?:[^"]|(?!""")")*""|(?:\\.|[^\n\r"\\])*)"(?=\s*[A-Z_])/i -/"(?:""(?:[^"]|(?!""")")*""|(?:\\.|[^\n\r"\\])*)"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s|&)\s*[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*~(?:~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~|(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?)~/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`(?:\`.+?\`|[^\n\r\`]+)\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/(?:==+|--+)$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*(?:!?=|[),]))/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])\/(?:\*[^]*?\*\/|\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\b(?:this|(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.))\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:0X[\dA-F]+\b|\d+\.?\d*(?:E[-+]?\d+)?)/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?|\B\.\d)\d*(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min1(?:0floa|2in|6(?:floa|in|uin))t|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/|)\/\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/(?:\b\d+(?:R[\dA-Z]+|(?:\.\d+)?(?:E[-+]?\d+)?)|\.\d+)\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*(?:[({]|!\s*\[))/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])\b(?:\d+(?:\.\d+)?(?:\^\d+)?\w*|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE)\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: O(?:N|FF))?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:(?:EA|WE)ST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:(?:EA|WE)ST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?|\B\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"(?:|"))?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?|\B\.\d)\d*(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[]|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[]);/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:(?:\b\d+|(?<=\w)(?=\w)|(?<!\w)(?!\w))\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Ui|I)nt(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?(?:\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|(?:\b\d+\.?|\B\.\d)\d*(?:[Ee][-+]?\d+\b)?)/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inn|out)erHTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bm(?:d|arkdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bg(?:ql|raphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])#(?:=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)i)?|i)|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?def(?:un\*?|macro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b\d(?:\d*~[\dA-Z]+|[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])"(?:""(?:\\[^]|(?!""")[^\\])*""|(?:\\[^]|(?!")[^\\])*)"(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:(?:n| no)t)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'(?:''(?:\\[^]|(?!''')[^\\])*''|(?:\\[^]|(?!')[^\\])*)'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/(?:[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+|\b0xK[\dA-Fa-f]{20}|\b0x[LM][\dA-Fa-f]{32}|\b0xH[\dA-Fa-f]{4})\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?|\B\.\d)\d*/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)IM (?:IN|OUTTA) YR [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/(?:-include|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath))\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?|\B\.\d)\d*(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/(?:@proof|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt))\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?)\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:clas|extend)s[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+|(?<=\w)(?=\w)|(?<!\w)(?!\w))\.\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*(?::(?:$|[\s),\]}])|=))/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?|\.?\d)\d*(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?"(?:""[^]*?"""(?!")|(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:ur|Tarbal)l|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|foldl'\B)/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_ATTRIBUTE_(?:ARCHIVE|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$(?:\{[\w\-.:^]+\}|\([\w\-.:^]+\))/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImag|Siz)e|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Prin|sButtonTex)t|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:(?:G|S)etText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Se|Tex)t|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:|Un)Install|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)|@(?:interface|end|implementation|protocol|class|public|protected|private|property|try|catch|finally|throw|synthesize|dynamic|selector))\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:(?:array|buffer)_)?|2d_(?:array_(?:(?:depth|msaa_depth|msaa)_)?|depth_|msaa_depth_|msaa_)?|3d_)t|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_(?:info|properties))?|type)|context(?:_(?:info|properties))?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_(?:|work_group_)info)?|map_flags|mem(?:_(?:flags|info|object_type))?|platform_i(?:d|nfo)|profiling_info|program(?:_(?:build_|)info)?)\b/ -/\bCL_(?:TRU|FALS)E\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_(?:RECT|TO_IMAGE))?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP_(?:BUFFER|IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZ|CACHE_SIZ|CACHE_TYP|SIZ)|VARIABLE_PREFERRED_TOTAL_SIZ)E|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENT|QUEUE)S|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_(?:ACCELERATOR|ALL|CPU|CUSTOM|DEFAULT|GPU))?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_(?:COMPILED_OBJECT|EXECUTABLE|LIBRARY|NONE))?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_5(?:5|6)5|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barri|Mark)er(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:Arg||SubGroup|WorkGroup)Info|MemObjectInfo|PipeInfo|PlatformI(?:Ds|nfo)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|Re(?:lease|tain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOC|GLOB)AL_MEM_FENCE|NORMALIZED_COORDS_(?:FALS|TRU)E)|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_5(?:5|6)5))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|M(?:IN|AX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_M(?:AX|IN)|U(?:CHAR|SHRT|INT|LONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_|)2)(?:_(?:F|H))?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE))\b/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:G|S)ET_/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRU|FALS)E\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\bq(?:|q|x|w)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\bq(?:|q|x|w)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\bq(?:|q|x|w)\s*\((?:[^()\\]|\\[^])*\)/ -/\bq(?:|q|x|w)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\bq(?:|q|x|w)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\bq(?:|q|x|w)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-(?:read|write))?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-(?:read|write))?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_(?:DATE|TIME|TIMESTAMP|USER))?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:AN|VAR)Y|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/(?:\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time))\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])\/(?:\*[^]*?\*\/|\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:A|De)scending\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Glob|Loc)al\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Lef|Righ)t\b/ -/\bPrecision\.D(?:ouble|ecimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/(?:\b0X[\dA-F]+|(?:[-+]?(?:\b\d+\.)?\b|[-+]\.|(?:^|[^.])\B\.)\d+(?:E[-+]?\d+)?)\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRU|FALS)E\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\br(?:pc\s+\w+|eturns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*(?:\(|$))/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*(?:!?=|[),]))/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{(?:\{[^]*?\}|%[^]*?%)\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?|\B\.\d)\d*(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^\{(?:\{-?|%-?\s*\w+)/ -/-?(?:%|\})\}$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^\{(?:\{|%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s|[(,=[{~]|[+=]>|^)\s*\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|(?!\d)\w+(?=\())/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float_(?:matrix|pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:Tru|Fals|Non)e\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?|\.\d)\d*(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/(?:\\\w+|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank))\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]|\b_\b):?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*(?:\{|[\t ]on(?:(?<!\w)\w|(?<=\w)(?!\w))))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRU|FALS)E\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)i)?|i)|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\(?:[DSW]|P\{[^{}]+\})/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]ru|[Ff]als)e\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?|\B\.\d)\d*(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|[^\s|](?:|[^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|(?:\`|\`?_?_)$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b\d+(?:\.\d+|)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?(?:"(?:\\[^]|[^"\\])*"|r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[])/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]|\bmove)\s*\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b\d(?:[\dA-F]*X|\d*(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINE|CARD)S;[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMA|PU)T\b=?[\w$'.]+/i -/\b(?:FORMA|PU)T\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^|;)\s*\*[^;]*;/m -/^(?:FORMA|PU)T(?==)/i -/^(?:FORMA|PU)T/i -/^(?:(?:DATA)?LINE|CARD)S/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:|:[^\s:]+).*/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"|'\w+')[\t ]*$[^]*?[\n\r][]Unknown:\\4[])+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:tru|fals)e(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#(?:[\dA-Z]+|-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?|(?=\())/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALS|TRU)E\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b(?:\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|0x[\dA-F]+)\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u|U[\dA-Fa-f]{4})[\dA-Fa-f]{4})*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:(?:\$|\b0X)[\dA-F]+|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?)\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%(?:[IMQ][BDLWX]|[IQ])[\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?|\B\.\d)\d*(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN|FILE|FUNCTION|LINE)__)\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:Fir|La)st|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:Mutable|)Pointers?|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^(?:=|["'])|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B#(?:CONST|ELSE|ELSEIF|END|IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?\d(?:\d{3}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{3}-\d{2}-\d{2}|\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRU|FALS)E(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?|\.?\d)\d*(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\belse(?:if|)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[|%)%-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/(?:\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?|[-+]?\b(?:inf|nan))\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^|[,{])\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\balways(?:_latch|_comb|_ff|)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b\d(?:\d*#[\d.A-F_]+#|[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/(?:\b[BOX]"[\dA-F_]+|"[-01HLUWXZ]+)"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:(?:TYP|XMLNAMESPAC)E)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:(?:INHERIT|OVERRID)ABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\d+(?:(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:A|P)M|:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:A|P)M)?))?|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:A|P)M|:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:A|P)M)?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/(?:[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)|\binf|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?)\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_(?:if|table))?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:glob|loc)al|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:glob|loc)al|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/''(?:'''.+?'''|''.+?''|'.+?'|.+?)''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[(?:\[.+?\]|.+?)\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:(?:NOWIKI|PRE|SOURCE)\b[^]*?|\/(?:NOWIKI|PRE|SOURCE))>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w(?:\w*:\{|(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?)/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greate|lea)st|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/(?:\*[^]*?\*\/|\/.*)/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:(?:break|continue)\s*:\s*\w+\b|(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w)))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:floa|in)t|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|const\b|volatile\b|allowzero\b))*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|const\b|volatile\b|allowzero\b))*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|const\b|volatile\b|allowzero\b))*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/make-greedy.ts b/tests/transformers/__snapshots__/make-greedy.ts deleted file mode 100644 index aea49b10..00000000 --- a/tests/transformers/__snapshots__/make-greedy.ts +++ /dev/null @@ -1,2564 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> make-greedy >> /abc+/ `] = lit` -/abc+/ -`; - -module.exports[n`Transformers >> make-greedy >> /abc+?/ `] = lit` -/abc+?/ -`; - -module.exports[n`Transformers >> make-greedy >> /abc+?c/ `] = lit` -/abc+?c/ -`; - -module.exports[n`Transformers >> make-greedy >> /abc+?$/ `] = lit` -/abc+$/ -`; - -module.exports[n`Transformers >> make-greedy >> /abc+?d/ `] = lit` -/abc+d/ -`; - -module.exports[n`Transformers >> make-greedy >> /abc{3,3}?/ `] = lit` -/abc{3}/ -`; - -module.exports[n`Transformers >> make-greedy >> /(?!cc+?d)/ `] = lit` -/(?!cc+d)/ -`; - -module.exports[n`Transformers >> make-greedy >> /(?<!cc+?d)/ `] = lit` -/(?<!cc+?d)/ -`; - -module.exports[n`Transformers >> make-greedy >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO\b)/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b)\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)\b))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not\b)\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID\b)[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on\b))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b)[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof\b)[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS\b)/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML\b)[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{](?=$)(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on\b)/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[](?=[\t ]*$))|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b)(?!\d)\w+\b)))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/merge-with-quantifier.ts b/tests/transformers/__snapshots__/merge-with-quantifier.ts deleted file mode 100644 index b9bd2b1c..00000000 --- a/tests/transformers/__snapshots__/merge-with-quantifier.ts +++ /dev/null @@ -1,2548 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> merge-with-quantifier >> /aab(?:ab)*/ `] = lit` -/a(?:ab)+/ -`; - -module.exports[n`Transformers >> merge-with-quantifier >> /aba(?:ab)*/ `] = lit` -/aba(?:ab)*/ -`; - -module.exports[n`Transformers >> merge-with-quantifier >> /(?:ab)*aba/ `] = lit` -/(?:ab)+a/ -`; - -module.exports[n`Transformers >> merge-with-quantifier >> /(?:ab)*baa/ `] = lit` -/(?:ab)*baa/ -`; - -module.exports[n`Transformers >> merge-with-quantifier >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|-{1,2}|\+{1,2}|&{1,2}|\|{1,2}|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>{2,3}=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*{1,2}|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&{1,2}(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&{1,2}|\|{1,2}|<{1,2}|>{1,2}>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*{1,2}|[-&+]/ -/\.{1,2}|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:L{1,2})?|L{1,2})?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@{1,2}\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*:{1,2}(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[{2,3}.+?(?:(?:\r?\n|\r).+?)*\]{2,3}|<<.+?(?:(?:\r?\n|\r).+?)*>>|\({2,3}.+?(?:(?:\r?\n|\r).+?)*\){2,3}))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^:{1,2}/ -/^(?:\`{1,2}|\+{1,3}|#{1,2}|\$\$|[~^]|\({2,3})|(?:'{1,2}|\+{1,3}|#{1,2}|\$\$|[\`~^]|\){2,3})$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[{2,3}.+?\]{2,3}|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[{2,3}|<<)|(?:\]{2,3}|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|:{1,2}/ -/^(?:'{1,2}|_{1,2})|(?:'{1,2}|_{1,2})$/ -/^\*{1,2}|\*{1,2}$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/{1,2}=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>{1,2}=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\({1,2}|\){1,2}|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|={1,2}|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/-{1,2}|-=|\+{1,2}|\+=|!=?|~|\*{1,2}|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|={1,2}|&{1,2}|&=|\^=?|\|{1,2}|\|=|\?|:/ -/\({1,2}|\){1,2}|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|#{1,2}|%{1,2}|\^{1,2}|,{1,2}/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%{1,2}[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/-{1,2}|\+{1,2}|!=?=?|<=?|>=?|={1,2}=?|&&|\|{1,2}|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<-{1,2}|-{1,2}>?|<>|=~?|[<>]=?|[%*+/|^]|\.{2,3}/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.{2,3}|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>{1,2}>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&{1,2}|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&{1,2}|\|[>|]?|\\\\|::|\.{2,3}|\+{1,2}|-[->]?|<[-=>]|>=|!={1,2}|\B!|=(?:={1,2}|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/{1,2}|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+{1,2}|-{1,2}|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|X{2,}|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:(?:\r?\n|\r)[\t ]*\|.+\|.*){2,}/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s-{1,2}\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:={2,}|-{2,})(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~{1,2}/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/={2,}$|-{2,}$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~{1,2}[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|={1,2}~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>{1,2}=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@{1,2}[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^_{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{{2,3}|\}{2,3}$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+{1,2}|-[->]?|[!=]=?|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+{1,2}|-{1,2}|={1,2}=?|~={1,2}=?|\*{1,2}|\|{2,3}|<(?:->?|<?=?)|>{1,2}=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*{1,2}|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>{1,2}=?|<{1,2}=?|:?:?=|\+{1,2}|-{1,2}|\*{1,2}|\/{1,2}|%|\|{1,2}|&{1,2}|\b(?:return|and|or|not)\b|@{1,2}|\?{1,2}|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|:{1,2})?|p(?:\.{1,2}|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>{2,3}=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+(?: [a-z]+)+/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/(?::\d+){1,2}\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>{1,2}=?)?|={1,2}=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/:{1,2}|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|={1,2}=?|!(?:!|={1,2})?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<{1,2}=?|>{1,2}>?=?|={1,2}|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)(?:\s+\S+)+/ -/&(?:optional|aux)(?:\s+\S+)+/ -/&key(?:\s+\S+)+(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.{1,2})|\.(?:[&|^]|<<|>{2,3})\.|:(?:=|:=?)|&&|\|[>|]|<(?:<{1,2}<?|-{1,2}!?|~{1,2}!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+{1,2}|@{1,2}|%{1,2}|\*{1,2}|!(?:~?=|-{1,2}>|~{1,2}>)?|~(?:~?>|=)?|={1,2}|\^{1,2}|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&{1,2}|\|{1,2}/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|if{1,2}|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@{1,2}\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|={1,2}|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d{1,2}-\d{1,2}(?:(?:[Tt]| +)\d{1,2}:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d{1,2}(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+{1,2}|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/-{1,2}|\+{1,2}|<=?|>=?|={1,2}=?|&{1,2}|\|{1,2}|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|:{1,2})|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!{1,2}|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\.(?: *\d)+)(?: *E *[-+]?(?: *\d)+)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|{1,2}|=)?|&{1,2}|\|{1,2}|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*{1,2}=?|\/{1,2}=?|=[=>~]?|~[=~]?|\|{1,2}=?|&{1,2}=?|<(?:=>?|<=?)?|>{1,2}=?|![=~]?|[%^]=?|\.(?:=|\.{1,2})?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OF{1,2}|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&{1,2}|\|{1,2}|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.{2,3}/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&{1,2}|\|{1,2}|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*{1,2}|\/{1,2}|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?:(?<!\w)\w|(?<=\w)(?!\w)))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:={1,2}|~)?|>{1,2}=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|:{1,2}|&{1,2}|\|{1,2}|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:={1,2}|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?{1,2}|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!{4,}|"{4,}|#{4,}|\\\${4,}|%{4,}|&{4,}|'{4,}|\({4,}|\){4,}|\*{4,}|\+{4,}|,{4,}|-{4,}|\.{4,}|\/{4,}|:{4,}|;{4,}|<{4,}|={4,}|>{4,}|\?{4,}|@{4,}|\[{4,}|\\{4,}|\]{4,}|\^{4,}|_{4,}|\`{4,}|\{{4,}|\|{4,}|\}{4,}|~{4,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:-{2,3}|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_{1,2}|\`[^\`]+\`_{1,2}|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!+|"+|#+|\$+|%+|&+|'+|\(+|\)+|\*+|\++|,+|-+|\.+|\/+|:+|;+|<+|=+|>+|\?+|@+|\[+|\\+|\]+|\^+|_+|\`+|\{+|\|+|\}+|~+)/m -/\*{1,2}|\`{1,2}|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_{1,2}$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<{1,2}=?|>{1,2}=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*{1,2}|\|{1,2}|!{1,2}|\xa6{1,2}|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!{1,2}|%{1,2}|&{1,2}|\*{1,2}|\+{1,2}|\/{1,2}|<{1,2}|={1,2}|>{1,2}|\?{1,2}|@{1,2}|\\{1,2}|\|{1,2}|~{1,2})|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/{1,2}|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|={1,2}=?|[!<>]=?|&&|\|{1,2}/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|={1,2}|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:"{1,2})?(?:[^"\\]|\\.))*"""|'''(?:(?:'{1,2})?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&{1,2}|\*{1,2}|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d{1,2}-\d{1,2}(?:[Tt]|[\t ]+)\d{1,2}:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d{1,2}(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d{1,2}:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*{1,2}|==|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|{1,2}|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*(?:\[\s*){1,2}(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&{1,2}|\|{1,2}|\^{1,2}|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B#{1,2}\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&{1,2}|\|{1,2}|\*{1,2}|>{2,3}|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^'{2,}|'{2,}$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.{1,2}|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/move-up-empty.ts b/tests/transformers/__snapshots__/move-up-empty.ts deleted file mode 100644 index a2839505..00000000 --- a/tests/transformers/__snapshots__/move-up-empty.ts +++ /dev/null @@ -1,2540 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> move-up-empty >> /a*|b*|/ `] = lit` -/(?:a*|b*)?/ -`; - -module.exports[n`Transformers >> move-up-empty >> /|a*|b*|/ `] = lit` -/(?:(?:a*|b*)?)??/ -`; - -module.exports[n`Transformers >> move-up-empty >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])+)?\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.+)?/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]+|[dimrs]+-[dimrs]+)?(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+)?/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.+?)?\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]+)?/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?:(?<!\w)\w|(?<=\w)(?!\w)))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/nested-quantifiers.ts b/tests/transformers/__snapshots__/nested-quantifiers.ts deleted file mode 100644 index ef8ef3f7..00000000 --- a/tests/transformers/__snapshots__/nested-quantifiers.ts +++ /dev/null @@ -1,2532 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> nested-quantifiers >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?\S*?\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#[\dA-F]{3,8}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?:(?<!\w)\w|(?<=\w)(?!\w)))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:[\dA-F]{6}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/remove-unnecessary-assertions.ts b/tests/transformers/__snapshots__/remove-unnecessary-assertions.ts deleted file mode 100644 index 6fb3b163..00000000 --- a/tests/transformers/__snapshots__/remove-unnecessary-assertions.ts +++ /dev/null @@ -1,2632 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s*)a|(?!\s*)b|c(?<=\s*)|d(?<!\s*)/ `] = lit` -/a|c/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=[])a|(?![])b|c(?<=[])|d(?<![])/ `] = lit` -/b|d/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /\bfoo\b|\Bfoo\B/ `] = lit` -/(?<!\w)foo(?!\w)|(?<=\w)foo(?=\w)/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s*$|\S)[\s\S]+/ `] = lit` -/(?=\s*$|\S)[^]+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s*$|\S)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s?$|\S)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s$|\S)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=(?:\s|bb)$|\S)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=(?:\s|b*b|)$|\S)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?!b)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?!b+)a+/ `] = lit` -/a+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?!\s*::|\d)\w+/ `] = lit` -/(?!\d)\w+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?=\s*::|\d)\w+/ `] = lit` -/(?=\d)\w+/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^^/ `] = lit` -/^/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /$$$$$/ `] = lit` -/$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?!\w)$/ `] = lit` -/$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /$(?!\w)/ `] = lit` -/$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^(?:@|(?<!\w))[A-Z_]\w*/i `] = lit` -/^(?:@|)[A-Z_]\w*/i -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^(?:@|(?<!\w)(?!\w))/i `] = lit` -/^(?:@|(?!\w))/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^(?:@|(?<!\w)(?!\w))$/i `] = lit` -/^(?:@|)$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /(?:@|(?<!\w)(?!\w))$/i `] = lit` -/(?:@|(?<!\w))$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^\bfoo\b$/ `] = lit` -/^foo$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /^\b(?:foo|bar)\b$/ `] = lit` -/^(?:foo|bar)$/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /\w+\b(?=\s*%)/ `] = lit` -/\w+(?=\s*%)/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> /\w+(?=\s*%)\b/ `] = lit` -/\w+(?=\s*%)/ -`; - -module.exports[n`Transformers >> remove-unnecessary-assertions >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT(?!\w)/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/(?<!\w)URL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/(?<!\w)selector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/(?<!\w)(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)(?!\w)/ -/(?<!\w)(?:true|false)(?!\w)/ -/\w+(?=\()/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:(?<!\w)(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|(?<!\w)CATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/(?<!\w)[A-Z](?:[A-Z_]|\dx?)*(?!\w)/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/(?<!\w)(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)(?!\w)|(?:(?<!\w)(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|(?<!\w)\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/(?<!\w)(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|(?<!\w)(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)(?!\w)/ -/(?:^|[^.]|\.\.\.\s*)(?<!\w)(?:as|async(?=\s*(?:function(?!\w)|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/(?<!\w)\d+(?!\w)/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)(?!\w)/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/(?<!\w)(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)(?!\w)/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/(?<=\w)'\w+/ -/(?<!\w)(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)(?!\w)/i -/(?<!\w)(?:TRUE|FALSE)(?!\w)/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/(?<!\w)[A-Z]\w*(?!\w)/i -/(?<!\w)\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/(?<!\w)\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?(?!\w)/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/(?<!\w)(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)(?!\w)/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/(?<!\w)(?:FALSE|TRUE)(?!\w)/i -/(?<!\w)(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)(?!\w)/ -/(?<!\w)(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)(?!\w)/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|(?<!\w)(?:AND|DIV|MOD|NOT|OR|XOR)(?!\w)/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:(?<!\w)(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)(?!\w)/i -/(?<!\w)(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)(?!\w)/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/(?<!\w)(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)(?!\w)/ -/(?<!\w)[A-Z][A-Z_]*(?!\w)/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?(?<!\w)[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/(?<!\w)\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/(?<!\w)[a-z]\w*(?=\s*:)/ -/(?<!\w)[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)(?!\w)/im -/<\/?(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)(?!\w) *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?(?<!\w)\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*(?!\w)/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E-?\d+)?\b/i -/(?<!\w)(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)(?!\w)/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/(?<!\w)(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)(?!\w)/ -/(?<!\w)(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)(?!\w)/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:(?<!\w)\.\d+|(?<!\w)(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/(?<!\w)(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)(?!\w)/i -/\.\./ -/(?<!\w)WITH\s+COUNT(?=\s+INTO(?!\w))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)(?!\w)/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)(?!\w)/ -/(?<!\w)OPTIONS(?=\s*\{)/i -/(?<!\w)(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)(?!\w)/ -/(?<!\w)(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)(?!\w)/ -/[A-Z_]\w*(?=\s*\()/i -/(?:(?<!\w)0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w)/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|(?<!\w)(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)(?!\w)/ -/(?<!\w)(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)(?!\w)/ -/(?<!\w)(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)(?!\w)/ -/(?<!\w)(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)(?!\w)/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/(?<!\w)(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/(?<!\w)(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/(?<!\w)[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/(?<!\w)[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:(?<!\w)0B['01]+|(?<!\w)0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|(?<!\w)\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/(?<!\w)[A-Z_]\w*(?!\w)(?!\s*::)/i -/(?<!\w)(?:class|concept|enum|struct|typename)\s+(?!(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)(?!\w)/i -/(?<!\w)\d+(?:\.\d+)?(?!\w)/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/(?<!\w)[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:(?<!\w)\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:(?<!\w)_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_(?!\w)|(?<!\w)\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''(?!\w)|(?<!\w)\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`](?!\w)|(?<!\w)(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)(?!\w))|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)/ -/(?:(?<!\w)0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:(?<!\w)\.\d+(?:_+\d+)*|(?<!\w)\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?(?!\w)/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/(?<!\w)(?:namespace|using)\s+@?[A-Z_a-z]\w*(?:\s*\.\s*@?[A-Z_a-z]\w*)*(?=\s*[;{])/ -/(?<!\w)(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?(?<!\w)[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/(?<!\w)new\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?(?<!\w)[A-Z_]\w*\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/(?<!\w)(?:(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?[A-Z_a-z]\w*)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:(?:assembly|event|field|method|module|param|property|return|type)\s*:\s*)?(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?[A-Z_]\w*(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?[A-Z_]\w*(?!\w)/i -/,/ -/[,:]/ -/(?<!\w)using\s+static\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*(?=\s*=)/ -/(?<!\w)(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/(?<!\w)catch\s*\(\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/(?<!\w)where\s+@?[A-Z_a-z]\w*(?!\w)/ -/(?<!\w)(?:is(?:\s+not)?|as)\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?(?<!\w)[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*[),:;=\]{]|\s+(?:in|when)(?!\w)))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?(?<!\w)[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)(?!\w)/ -/^(?:assembly|event|field|method|module|param|property|return|type)(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?(?<!\w)[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?!\w)(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/(?<!\w)(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)(?!\w)/ -/#?\$[\dA-F]{2,4}(?!\w)/i -/#?%[01]+(?!\w)/ -/#?(?<!\w)\d+(?!\w)/ -/(?<!\w)[AXY](?!\w)/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/(?<!\w)(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)(?!\w)/i -/(?<!\w)(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)(?!\w)/i -/(?<!\w)(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)(?!\w)/i -/(?<!\w)(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)(?!\w)/i -/#(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)(?!\w)/i -/(?<!\w)(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)(?!\w)/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/(?<!\w)\w+(?=\()/ -/[$@]\w+/ -/(?<!\w)(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/(?<!\w)(?:TRUE|FALSE)(?!\w)/i -/<[=>]?|[-&*+/=>]=?|[?^]|(?<!\w)(?:AND|OR|NOT)(?!\w)/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/(?<!\w)(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?(?<!\w)(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?![^\s&);|])/ -/(?<!\w)&\d(?!\w)/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?(?!\w)/ -/(?<!\w)function\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/(?<!\w)\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\(/ -/\{(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\([^]+\)\)/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/(?<!\w)(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|(?<!\w)(?:AND|EQV|IMP|NOT|OR|XOR)(?!\w)/i -/[(),:;]/ -/(?:!|REM(?!\w)).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM(?!\w)(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE(?!\w)/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+(?!\w)(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR(?!\w)|(?<!\w)(?:IN|DO)(?!\w)/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)|-)\d+(?!\w)/ -/['(),]/ -/^IF(?!\w)|(?<!\w)(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)(?!\w)/i -/\^|==|(?<!\w)(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?!\w)/i -/^ELSE(?!\w)/i -/^SET(?!\w)/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+(?!\w)/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z](?!\w)|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])(?<!\w)(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:(?<!\w)REM|').*/i -/(?<!\w)(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)(?!\w)/i -/(?<!\w)(?!\d)\w+(?=[\t ]*\()/ -/(?:(?<!\w)\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)(?!\w)[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/[(),.;[\]{}]/ -/(?<!\w)LINE_NUM(?!\w)/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*")(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)AS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/(?<!\w)[FT](?!\w)/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/(?<!\w)(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)(?!\w)/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/(?<!\w)(?:TODO|FIXME|XXX)(?!\w)/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/(?<!\w)(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)(?!\w)/ -/(?<!\w)(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?(?!\w)/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])[A-Z][-\w!*+?]*\b/i -/(?<!\w)(?:true|false|nil)(?!\w)/ -/(?<!\w)[\dA-F]+(?!\w)/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/(?<!\w)(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)(?!\w)/ -/(?<!\w)(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)(?!\w)/ -/(?<!\w)(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()/ -/(?<!\w)(?:ON|OFF|TRUE|FALSE)(?!\w)/ -/(?<!\w)(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)(?!\w)/ -/(?<!\w)(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)(?!\w)/ -/(?<!\w)\d+(?:\.\d+)*(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/(?<!\w)\w+::\w+(?!\w)/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/(?<!\w)(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)(?!\w)/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/(?<!\w)(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)(?!\w)/ -/(?<!\w)(?:false|true)(?!\w)/ -/(?<!\w)0B[01][01_]*L?(?!\w)|(?<!\w)0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:(?<!\w)\d[\d_]*\.?[\d_]*|(?<!\w)\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|(?<!\w)(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)(?!\w)=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/(?<!\w)(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)(?!\w)/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)(?!\w)/ -/(?<!\w)(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)(?!\w)/ -/(?<!\w)[A-Z]\w*(?:[!?]|(?!\w))/ -/(?<!\w)(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?(?!\w)/ -/(?:(?<!\w)CLASS\s+|(?<!\w)CATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)def\s+[\w.]+/ -/@\[.+?\]/ -/(?<!\w)(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)(?!\w)/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/(?<!\w)#(?:[\dA-F]{1,2}){3,4}(?!\w)/i -/(?<!\w)(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)(?!\w)/i -/(?<!\w)\d+(?:%|[a-z]+(?!\w))/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/(?<!\w)(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)(?!\w)|(?<!\w)(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)(?!\w)/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/(?<!\w)(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)(?!\w)/i -/(?<!\w)\w+(?=\s*\()/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/(?<!\w)(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)(?!\w)/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/(?<!\w)@\w*/ -/\$|(?<!\w)(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)(?!\w)/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns](?!\w)|<>?=?|>=?|=)?|(?<!\w)i[ns](?!\w)|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/(?<!\w)(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))(?!\w)|(?<!\w)ST(?:\([0-7]\)|(?!\w))/ -/(?<!\w)0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/(?<!\w)[rx]"(?:\\[^]|[^"\\])*"[cdw]?|(?<!\w)q"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|(?<!\w)q"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|(?<!\w)q".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/(?<!\w)q\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:(?<!\w)0B\.?|(?<!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/(?<!\w)is!|(?<!\w)(?:as|is)(?!\w)|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/(?<!\w)(?:async|sync|yield)\*/ -/(?<!\w)(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)(?!\w)/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/(?<!\w)(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/(?<!\w)(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)(?!\w)/i -/(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|(?<!\w)(?:IN|NOT)(?!\w)/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/(?<!\w)(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)(?!\w)|\u2200/ -/(?<!\w)(?:Some|None)(?!\w)/ -/(?<!\w)(?:False|True)(?!\w)/ -/(?<!\w)NaN(?!\w)|-?(?<!\w)Infinity(?!\w)|[-+]?(?<!\w)(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)(?!\w)/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/(?<!\w)[A-Z]\w*(?!\w)/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/(?<!\w)https?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/(?<!\w)env:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/(?<!\w)sha256:[\dA-Fa-f]{64}(?!\w)/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/(?<!\w)[A-Z_]\w+(?=\s*\()/i -/(?<!\w)(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)(?!\w)/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/(?<!\w)\w+?(?!\w)/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/(?<!\w)is\s+(?:not\s+)?(?!not(?!\w))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?!\S)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?!\S)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?!\S)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/(?<!\w)[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?!\w)/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/(?<!\w)(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)(?!\w)/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/(?<!\w)0[BCX][\dA-F](?:_*[\dA-F])*(?!\w)/i -/(?:(?<!\w)\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*(?!\w)|(?<!\w)\d(?:_*\d)*(?!\w)\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/(?<!\w)(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?(?!\w)/i -/(?<!\w)(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)(?!\w)/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/(?<!\w)in(?!\w)|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|(?<!\w)!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/(?<!\w)(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)(?!\w)/ -/(?<!\w)(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/(?<!\w)(?:[A-Z]\w*\.)*[a-z]\w*(?!\w)/ -/(?<!\w)(?:[A-Z]\w*\.)*[A-Z]\w*(?!\w)/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/(?<!\w)(?:import|as|exposing)(?!\w)/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/(?<!\w)0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|(?<!\w)\d+(?:\.(?!\w)|\.?\d*(?:E[-+]?\d+)?\b)|(?<!\w)\.\d+(?:E[-+]?\d+)?(?!\w)/i -/(?<!\w)(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)(?!\w)/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/(?<!\w)(?:fun|when|case|of|end|if|receive|after|try|catch)(?!\w)/ -/(?<!\w)[a-z][\w@]*(?=\()/ -/(?<!\w)[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|(?<!\w)(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)(?!\w)/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:(?<!\w)\d+(?:\.\d+)?|(?<!\w)\.\d+)(?:E[-+]?\d+)?(?!\w)/i -/(?<!\w)(?:TRUE|FALSE)(?!\w)/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/(?<!\w)N\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/(?<!\w)[A-Z]\w*(?=\()/i -/\$?(?<!\w)(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)(?!\w)/i -/(?<!\w)[A-Z]+\d+(?!\w)|\$[A-Za-z]+\$?\d+(?!\w)|(?<!\w)[A-Za-z]+\$\d+(?!\w)/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/(?<!\w)(?:let|return|use|yield)(?:!(?!\w)|(?!\w))|(?<!\w)(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)(?!\w)/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:(?<!\w)(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/(?<!\w)0x[\dA-Fa-f]+(?:un|lf|LF)?(?!\w)/ -/(?<!\w)0b[01]+(?:y|uy)?(?!\w)/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/(?<!\w)\d+(?:[ILlsy]|u[lsy]?|UL)?(?!\w)/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#(?:else|endif|if|light|line|nowarn)(?!\w)/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?!\S)/ -/(?:^|\s)[ft](?!\S)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?!\S)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?!\S)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?!\S)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?!\S)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?!\S)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?!\S)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?!\S)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?!\S)/ -/\s(?:;|:>)(?!\S)/ -/(?:^|\s)[^\s"]\S*(?!\S)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?!\S)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?!\S)/ -/(?:^|\s)[-+]?\d+(?!\S)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?!\S)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?!\S)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?!\S)/ -/(?:^|\s)-\d+-\d+\/\d+(?!\S)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?!\S)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?!\S)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?!\S)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?!\S)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?!\S)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?!\S)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?!\S)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?!\S)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?!\S)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?!\S)/ -/(?<!\w)(?:allow|function|if|match|null|return|rules_version|service)(?!\w)/ -/&&|\|\||[!<=>]=?|[-%*+/=]|(?<!\w)(?:in|is)(?!\w)/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/(?<!\w)allow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?!\w)|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/(?<!\w)(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)(?!\w)/ -/(?:^|[^$](?<!\w))(?:type|opaque|declare|Class)(?!\w)(?!\$)/ -/(?:^|[^$](?<!\w))\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)(?!\w)(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:(?<!\w)\d+(?:\.\d*)?|(?<!\w)\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/(?<!\w)(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)(?!\w)/i -/(?<!\w)(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)(?!\w)/i -/(?<!\w)(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)(?!\w)/i -/(?<!\w)(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)(?!\w)/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/(?<!\w)as(?!\w)/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|(?<!\w)(?:gt|gte|lt|lte)(?!\w)/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/(?<!\w)r(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/(?<!\w)(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)(?!\w)/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at|xor|not)(?!\w)/ -/(?<!\w)(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)(?!\w)/ -/(?<!\w)(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)(?!\w)/ -/;.*|(?<!\w)\(.*?\)(?!\w)/ -/(?<!\w)[GM]\d+(?:\.\d+)?(?!\w)/ -/(?<!\w)[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/(?<!\w)(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)(?!\w)/ -/[A-Z_]\w*(?=[\t ]*\()/i -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|(?<!\w)as[\t ]+|(?:(?<!\w)(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/(?<!\w)0b[01_]+(?!\w)|(?<!\w)0x[\dA-F_a-f]+(?!\w)|(?:(?<!\w)\d[\d_]*(?:\.[\d_]*)?|(?<!\w)\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/(?<!\w)(?:INF|NAN|PI|TAU)(?!\w)/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/(?<!\w)(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)(?!\w)/ -/(?<!\w)(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)(?!\w)/ -/(?<!\w)(?:_|iota|nil|true|false)(?!\w)/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/(?<!\w)(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)(?!\w)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:(?<!\w)-|(?<!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/\$[A-Z_]\w*/i -/(?<!\w)(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)(?!\w)/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/(?<!\w)(?!ID(?!\w))[A-Z][\dA-Z_]*(?!\w)/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:(?<!\w)(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:(?<!\w)fragment\s+|\.{3}\s*(?!on(?!\w)))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+_)+__(?!\w)|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+__)+_(?!\w)|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/(?<!\w)(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)(?!\w)/ -/(?<!\w)(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/(?<!\w)(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/(?<!\w)!(?:DEFAULT|OPTIONAL)(?!\w)/i -/(?<!\w)null(?!\w)/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/(?<=\w)\[\d+\]/ -/(?<!\w)[\dA-Z]+\([^)]+\)/ -/(?<=\w)\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/(?<!\w)(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)(?!\w)/ -/(?<!\w)(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/(?<!\w)(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/(?<!\w)(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding(?!\w))?/m -/(?<!\w)(?:import|qualified|as|hiding)(?!\w)/ -/(?<!\w)this(?!\w)|(?<!\w)(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)(?!\w)/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?<!\w)\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)(?!\w)/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\.[\w*]+/i -/(?:(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?|(?<!\w)0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/(?<!\w)(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)(?!\w)/ -/(?<!\w)(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)(?!\w)/ -/(?<!\w)(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?(?!\w)/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)(?!\w)/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/(?<!\w)(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/(?<!\w)\d{7,}(?!\w)/ -/(?<!\w)\d{1,6}(?!\w)/ -/(?<!\w)(?:max-age=|includeSubDomains|preload)/ -/(?<!\w)\d{8,}(?!\w)/ -/(?<!\w)\d{1,7}(?!\w)/ -/(?:(?<!\w)'|REM)[^\n\r]*/i -/(?<!\w)#[\dA-F]+|(?<!\w)\`[01]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/(?<!\w)(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?!\w))/i -/(?<!\w)@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),:;[\]]/ -/(?<!\w)(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)|\.\d+(?!\w)/i -/(?<!\w)(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)(?!\w)/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)(?!\w)/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)(?!\w).+/im -/(?:^|[^-])(?:(?<!\w)\d+(?:\.\d+)?(?:\^\d+)?\w*|(?<!\w)(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))(?!\w)(?!-)/i -/(?:^|[^-])(?<!\w)(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)(?!\w)(?!-)/i -/(?:^|[^-])(?<!\w)(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)(?!\w)(?!-)/i -/(?:^|[^-])(?<!\w)(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)(?!\w)(?!-)/i -/(?:^|[^-])(?<!\w)(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)(?!\w)(?!-)/i -/(?:^|[^-])(?<!\w)(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)(?!\w)(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/(?<!\w)(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)(?!\w)/ -/(?<!\w)(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)(?!\w)/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|(?<!\w)(?:return|and|or|not)(?!\w)|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/(?<!\w)NB\..*/ -/(?<!\w)(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)(?!\w)|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/(?<!\w)_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\w)(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w)/ -/(?<!\w)0B[01][01_]*L?(?!\w)|(?<!\w)0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:(?<!\w)\d[\d_]*\.?[\d_]*|(?<!\w)\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/(?<!\w)(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/(?<!\w)[A-Z](?:\w*[a-z]\w*)?(?!\w)/ -/(?<!\w)[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/(?<!\w)[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/(?<!\w)(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|(?<!\w)(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)(?!\w)/ -/(?<!\w)0X[\dA-F]*\.?[\dA-F]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E\d+)?[DFL]?/i -/(?<!\w)(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)(?!\w)/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+(?!\w)|(?=\{))/ -/(?<!\w)(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)(?!\w)/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/(?<!\w)[A-Z_][\dA-Z_]*(?!\w)/ -/(?<!\w)NULL(?!\w)/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/(?<!\w)[a-z]+(?: [a-z]+)*(?!\w)/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?![^:])/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?![^:])/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/(?<!\w)(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)(?!\w)/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/(?<!\w)(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)(?!\w)/ -/[;@|]/ -/(?:(?<!\w)(?:outputPort|inputPort|in|service|courier)(?!\w)|@)\s*\w+/ -/(?<!\w)Aggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/(?<!\w)Redirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/(?<!\w)with\s+\w+/ -/=>/ -/(?<!\w)with(?!\w)/ -/(?<!\w)\$\w+/ -/(?<!\w)(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)(?!\w)/ -/(?:(?<!\w)\d+\.|(?<!\w)\.)?(?<!\w)\d+(?:E[-+]?\d+)?(?!\w)/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/(?<!\w)DEF\s+[A-Z_]\w+/i -/(?<!\w)[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|(?<!\w)(?:and|or|not)(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/(?<!\w)(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/(?<!\w)(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)(?!\w)/ -/(?<!\w)(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?!\w))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?!\S)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?!\S)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/(?<!\w)(?:document|location|navigator|performance|(?:local|session)Storage|window)(?!\w)/ -/(?<!\w)console(?=\s*\.)/ -/^[A-Z][^]*/ -/(?<!\w)(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)(?!\w)/ -/(?<!\w)[A-Z]\w*Error(?!\w)/ -/(?<!\w)(?:as|default|export|from|import)(?!\w)/ -/(?<!\w)undefined(?!\w)/ -/(?<!\w)(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)(?!\w)/ -/@+\w+/ -/[-+]?(?<!\w)(?:NaN|Infinity|0x[\dA-Fa-f]+)(?!\w)|[-+]?(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+(?!\w))?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/(?<!\w)(?:at|new)(?!\w)/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:(?<!\w)at\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?(?!\w)/ -/(?<!\w)(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:(?<!\w)html|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?<!\w)svg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?<!\w)(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?<!\w)(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?<!\w)(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)(?!\w)/ -/(?:(?<!\w)(?=\d)|(?<!\w)(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/(?<!\w)(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)(?!\w)|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/(?<!\w)C\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/(?<!\w)(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)(?!\w)/i -/(?<!\w)(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)(?!\w)/i -/(?<!\w)(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)(?!\w)/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)(?!\w)/i -/(?<!\w)(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)(?!\w)/i -/(?<!\w)(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)(?!\w)/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||(?<!\w)(?:and|inv|or|shl|shr|ushr|xor)(?!\w)/ -/(?<!\w)@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])(?<!\w)(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)(?!\w)/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/(?<!\w)\d+(?:\/\d+)?(?!\w)/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()])/ -/\((?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()])/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?![^\s()])/ -/(?:^|[\s()])#[ft](?![^\s()])/ -/\((?:[-%*+/]|[<>]=?|=>?)(?![^\s()])/ -/\([^\s'()]+(?![^\s()])/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/(?<!\w)(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)(?!\w)/ -/(?<!\w)0B[01]+(?!\w)|(?<!\w)0X[\dA-F]*\.?[-\dA-FP]+\b|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?![^\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/(?<!\w)(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)(?<!\w)(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)(?!\w)/m -/(?:^|[^-])(?<!\w)(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)(?!\w))/m -/(?:^|[^-])(?<!\w)(?:false|no|off|on|true|yes)(?!-)(?!\w)/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/(?<!\w)[_a-z][\d_a-z]*(?!\w)/ -/[-+]?(?<!\w)\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?(?!\w)|(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?<!\w)0xK[\dA-Fa-f]{20}(?!\w)|(?<!\w)0x[LM][\dA-Fa-f]{32}(?!\w)|(?<!\w)0xH[\dA-Fa-f]{4}(?!\w)/ -/[!()*,.;<=>[\]{}]/ -/(?<!\w)(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)(?!\w)/ -/(?:(?<!\w)-)?(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)/ -/\.{3}|\u2026|,|!/ -/(?<!\w)OBTW\s+[^]*?\s+TLDR(?!\w)/ -/(?<!\w)BTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include(?!\w)|(?<!\w)(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)(?!\w)/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?[ij]?|(?<!\w)[ij](?!\w)/ -/(?<!\w)(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)(?!\w)/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/(?<!\w)'(?:''|[^\n\r'])*'/ -/(?<!\w)0x[\dA-Fa-f]+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+/ -/(?<!\w)(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)(?!\w)/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof(?!\w)|(?<!\w)(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)(?!\w)/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/(?<!\w)(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)(?!\w)/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|(?<!\w)(?:MOD|SHL|SHR)(?!\w))=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)|(?<!\w)-\.?|(?<!\w)\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/(?<!\w)(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)(?!\w)/ -/@@?\w*/ -/(?:(?<!\w)\.\d+|(?<!\w)\d+\.\d+|(?<!\w)\d+(?=[Ee]))(?:[Ee][-+]?\d+)?(?!\w)|(?<!\w)(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?(?!\w)/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|(?<!\w)(?:and|or)(?!\w)=?|(?<!\w)not(?!\w)/ -/[(),.[\\\]{}]/ -/(?<!\w)(?!\d)\w+(?=:)|:(?!\d)\w+/ -/(?<!\w)(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)(?!\w)/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/(?<!\w)(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/(?<!\w)(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/(?<!\w)(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)(?!\w)/i -/(?:(?<!\w)\d+\.|(?<!\w)\.)\d+E[-+]?\d+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|(?<!\w)(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)(?!\w)/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/(?<!\w)(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)(?!\w)/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+(?!\w)[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/(?<!\w)(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)(?!\w)/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?![^\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?![^\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?=[^\s),\]}])|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/(?<!\w)(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)(?!\w)/i -/(?:^|[^"\\{])#.*/ -/(?<!\w)(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/(?<!\w)(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)(?!\w)/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|(?<!\w)(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)(?!\w))/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/(?<!\w)(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)(?!\w)/ -/(?<!\w)(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)(?!\w)|(?<!\w)foldl'(?!\w)/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/(?<!\w)[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/(?<!\w)(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)(?!\w)/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)(?!\w)/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)(?!\w)/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?<!\w)(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)(?!\w)|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)(?!\w)/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/(?<!\w)(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/(?<!\w)(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)(?!\w)/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|(?<!\w)(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)(?!\w)/ -/[(),.:;[\]{|}]|(?<!\w)_(?!\w)/ -/(?<!\w)#\w+/ -/(?<!\w)~\w+/ -/(?<!\w)'\w+/ -/\`\w+/ -/(?<!\w)[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/(?<!\w)(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)(?!\w)/ -/(?:(?<!\w)0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/(?<!\w)cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)(?!\w)/ -/(?<!\w)CL_(?:TRUE|FALSE)(?!\w)/ -/(?<!\w)CL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)(?!\w)/ -/(?<!\w)cl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)(?!\w)/ -/(?<!\w)(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)(?!\w)/ -/(?<!\w)(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)(?!\w)/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|(?<!\w)(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)(?!\w)/ -/(?<!\w)(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/(?<!\w)[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|(?<!\w)(?:andthen|div|mod|orelse)(?!\w)/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/(?<!\w)[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*(?!\w)/ -/\/\*[^]*?\*\/|\\\\.*/ -/(?<!\w)(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)(?!\w)/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:(?<!\w)\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)(?!\w)|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)(?!\w))/ -/(?:^|[^\^])(?<!\w)\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])(?<!\w)[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/(?<!\w)(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|(?<!\w)(?:def|eq|ge|gt|in|is|le|lt|ne)(?!\w)/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])(?<!\w)(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:DISPOSE|EXIT|FALSE|NEW|TRUE)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)(?!\w)/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|(?<!\w)(?:and|mod|or)(?!\w)/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])(?<!\w)(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:TRUE|FALSE)(?!\w)/i -/(?:^|[^&])(?<!\w)(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)(?!\w)/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/(?<!\w)TYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?!\w))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|(?<!\w)REM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/(?<!\w)(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)(?!\w)/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/(?<!\w)(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?!\w)/ -/-[ABCMORSTWXb-gklopr-uwxz](?!\w)|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|(?<!\w)x(?:=|(?!\w))|(?<!\w)(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)(?!\w)/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|(?<!\w)_(?!\w)/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/(?<!\w)(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/(?<!\w)(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/(?<!\w)(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/(?<!\w)(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/(?<!\w)(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/(?<!\w)(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/(?<!\w)(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-](?<!\w))(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?!\w)))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])+/ -/(?<!\w)(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)(?!\w)/ -/[()[\\\]|]/ -/\$this(?!\w)/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)(?!\w)/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/(?<!\w)(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/(?<!\w)(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)(?!\w)/i -/(?<!\w)0X[\dA-F]+(?!\w)|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+(?!\w)/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|(?<!\w)(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)(?!\w)/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/(?<!\w)(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)(?!\w)/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/(?<!\w)(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)(?!\w)|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)(?!\w)/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)Day\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)(?!\w)/ -/(?<!\w)TraceLevel\.(?:Critical|Error|Information|Verbose|Warning)(?!\w)/ -/(?<!\w)Occurrence\.(?:First|Last|All)(?!\w)/ -/(?<!\w)Order\.(?:Ascending|Descending)(?!\w)/ -/(?<!\w)RoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)(?!\w)/ -/(?<!\w)MissingField\.(?:Error|Ignore|UseNull)(?!\w)/ -/(?<!\w)QuoteStyle\.(?:Csv|None)(?!\w)/ -/(?<!\w)JoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)(?!\w)/ -/(?<!\w)GroupKind\.(?:Global|Local)(?!\w)/ -/(?<!\w)ExtraValues\.(?:List|Ignore|Error)(?!\w)/ -/(?<!\w)JoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)(?!\w)/ -/(?<!\w)JoinSide\.(?:Left|Right)(?!\w)/ -/(?<!\w)Precision\.(?:Double|Decimal)(?!\w)/ -/(?<!\w)RelativePosition\.From(?:End|Start)(?!\w)/ -/(?<!\w)TextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)(?!\w)/ -/(?<!\w)(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type(?!\w)/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/(?<!\w)(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)(?!\w)/ -/(?<!\w)0X[\dA-F]+(?!\w)|(?:[-+]?(?:(?<!\w)\d+\.)?(?<!\w)\d+|[-+]\.\d+|(?:^|[^.])(?<!\w)\.\d+)(?:E[-+]?\d+)?(?!\w)/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)(?!\w)/i -/\$\w+(?!\w)/ -/(?<!\w)(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)(?!\w)/i -/[(),.;[\]{|}]/ -/(?<!\w)(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+(?!\w)/i -/(?<!\w)(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)(?!\w)/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)(?!\w)|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/(?<!\w)(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)(?!\w)/ -/(?<!\w)(?!XML(?!\w))[A-Z][\dA-Z_]+(?!\w)/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/(?<!\w)(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)(?!\w)/ -/(?<!\w)(?:fx|fy|xf[xy]?|yfx?)(?!\w)/ -/(?<!\w)[A-Z_]\w*/ -/(?<!\w)[a-z]\w*(?:(?=\()|\/\d+)/ -/(?<!\w)\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|(?<!\w)(?:is|mod|not|xor)(?!\w)/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=]| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/(?<!\w)(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)(?!\w)(?!\s*=\s*\d)/ -/(?<!\w)(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)(?!\w)/ -/(?<!\w)MAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)|(?<!\w)\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/(?<!\w)(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/(?<!\w)(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script(?!\w).*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)(?!\w)(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)(?!\w).+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in(?!\w)/ -/^(?:if|unless|else|case|when|default|while)(?!\w)/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/(?<!\w)(?:each|in)(?!\w)/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ])))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ])))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/(?<!\w)(?:even|if|odd)(?!\w)/ -/(?<!\w)(?:true|false|null)(?!\w)/ -/(?<!\w)0x[\dA-Fa-f]+|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[Ee][-+]?\d+)?/ -/(?<!\w)[A-Z_]\w*(?!\w)/i -/[(),.:[\]{}]/ -/(?<!\w)!(?:IMPORTANT|OPTIONAL)(?!\w)/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?!\S)|@[-\w]+)/ -/(?<!\w)\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||(?<!\w)-(?!\w)|(?<!\w)(?:and|in|is(?: a| defined| not|nt)?|not|or)(?!\w)/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)(?!\w)/i -/(?<!\w)(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)(?!\w)/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|(?<!\w)(?:and|in|or)(?!\w)/ -/[(),.;[\]{}]|:+/ -/(?:(?<!\w)node\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+(?!\w)|(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/(?<!\w)(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)(?!\w)|(?<!\w)(?!\d)\w+(?=\()/ -/(?<!\w)(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)(?!\w)/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/(?<!\w)(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)(?!\w)/ -/(?<!\w)(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)(?!\w)/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|(?<!\w)_+(?!\w))+|(?<!\w)(?:and|div|mod|not|or)(?!\w)/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:(?<!\w)(?:INF|NAN)(?!\w)|(?<!\w)0X[\dA-F]+|(?:(?<!\w)(?:0B)?\d+(?:\.\d)?|(?<!\w)\.\d)\d*(?:E[-+]?\d+)?L?)/i -/(?<!\w)__[A-Z]+__(?!\w)/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/(?<!\w)(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)(?!\w)/i -/(?<!\w)\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)(?!\w)/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/(?<!\w)(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)(?!\w)/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/(?<!\w)(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)(?!\w)/ -/(?<!\w)(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)(?!\w)/ -/(?<!\w)(?:True|False|None)(?!\w)/ -/(?:(?<!\w)(?=\d)|(?<!\w)(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/(?<!\w)CLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/(?<!\w)(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+(?!\w)|(?<!\w)(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)(?!\w)/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|(?<!\w)each(?!\w)/ -/(?:(?<!\w)\.(?!\w)|(?<!\w)[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|(?<!\w)_(?!\w):?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/(?<!\w)(?:as|import|on)(?!\w)/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?!\w))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/(?<!\w)(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)(?!\w)/ -/\$?(?<!\w)(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+(?!\w)/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/(?<!\w)(?:TRUE|FALSE)(?!\w)/ -/\.\.(?:\.|\d+)/ -/(?<!\w)(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)(?!\w)/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/(?<!\w)(?:NaN|Inf)(?!\w)/ -/(?:(?<!\w)0x[\dA-Fa-f]+(?:\.\d*)?|(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()[\]])/ -/[([](?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()[\]])/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?![^\s()[\]])/ -/(?:^|[\s()[\]])#[ft](?![^\s()[\]])/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?![^\s()[\]])/ -/[([][^\s'()[\]]+(?![^\s()[\]])/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/(?<!\w)(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)(?!\w)/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|(?<!\w)(?:mod|land|lor|lxor|lsl|lsr|asr)(?!\w)/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/(?<!\w)[A-Z]\w*(?!\w)(?!\s*\.)/ -/(?<!\w)[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/(?<!\w)(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)(?!\w)/i -/(?:(?<!\w)0X[\dA-F]+(?!\w)|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/(?<!\w)[\dA-Z_]+(?!\w)/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/(?<!\w)[A-Z]\w*(?:\.\w+)*(?=(?:\?\s+|\*?\s+\*?)\w)/ -/\[[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?<!\w)(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?:(?<!\w)(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*(?!\w)/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/(?<!\w)(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)(?!\w)/ -/(?<!\w)(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)(?!\w)|\$/ -/(?<!\w)(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)(?!\w)/ -/(?<!\w)(?:[Tt]rue|[Ff]alse)(?!\w)/ -/(?:(?<!\w)(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at)(?!\w)/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?![^\s!"'),\-./:;?\\\]}])/ -/(?:(?<!\w)[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?![^\s!"'),\-./:;?\\\]}])/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|(?<!\w)(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)(?!\w)/ -/@|(?<!\w)System(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?!\w)/ -/(?<!\w)\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?(?<!\w)(?:\d+\.\d+|\d+)(?!\w)/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)(?!\w))/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/(?<!\w)[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/(?<!\w)[A-Z_][\dA-Z_]+(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?(?!\w)/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|(?<!\w)move\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/(?<!\w)fn\s+\w+/ -/(?<!\w)(?:enum|struct|union)\s+\w+/ -/(?<!\w)(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)(?!\w)/ -/(?<!\w)(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)(?!\w)/ -/\w+!/ -/(?:(?<!\w)[a-z][\d_a-z]*\s*::\s*)*(?<!\w)[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/(?<!\w)(?:crate|mod)\s+[a-z][\d_a-z]*/ -/(?<!\w)(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*(?!\w)(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/(?<!\w)(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)(?!\w)/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/(?<!\w)INPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+(?!\w)[^;]+/i -/%?\w+(?=\()/ -/(?<!\w)(?:FORMAT|PUT)(?!\w)=?[\w$'.]+/i -/(?<!\w)(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')[bx]/ -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))(?!\w)/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)(?!\w)/i -/(?<!\w)(?:EQ|NE|GT|LT|GE|LE|IN|NOT)(?!\w)/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+(?!\w)/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)(?!\w)/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)(?!\w)/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)(?!\w)/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|(?<!\w)(?:and|or|not)(?!\w)/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?![^:])/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/(?<!\w)(?:nil|true|false|self|super|new)(?!\w)/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/(?<!\w)\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/(?<!\w)(?:false|off|on|no|true|yes)(?!\w)/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/(?<!\w)is\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?(?!\w)/ -/(?<!\w)(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)(?!\w)/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/(?<!\w)(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)(?!\w)/ -/(?<!\w)(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)(?!\w)/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/(?<!\w)(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+(?!\w)/ -/(?<!\w)(?:FALSE|TRUE)(?!\w)/ -/^[\t ]*(?:[A-Z]\w*(?!\w)(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/(?<!\w)\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?(?!\w)|(?<!\w)0x[\dA-F]+(?!\w)/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|(?<!\w)(?:and|not|or)(?!\w)/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/(?<!\w)(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)(?!\w)/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?(?<!\w)\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:(?<!\w)a|@prefix|@base)(?!\w)|=/ -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/(?<!\w)(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)(?!\w)/i -/(?<!\w)(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)(?=\s*\()/i -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/(?<!\w)(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)(?!\w)/i -/\w+(?=\s*=(?!=))/ -/(?<!\w)(?:F|FALSE|T|TRUE)(?!\w)/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/(?<!\w)(?:AND|AS|BY|NOT|OR|XOR)(?!\w)/i -/(?<!\w)\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?(?!\w)/ -/(?<!\w)(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)(?!\w)/i -TooManyNodesError -/(?:\$|(?<!\w)0X)[\dA-F]+(?!\w)|(?:(?<!\w)\.\d+|(?<!\w)\d+(?:\.\d+)?)(?:E[-+]?\d+)?(?!\w)/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/(?<!\w)DIK(?:_[\dA-Z]+)+(?!\w)/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/(?<!\w)(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)(?!\w)/i -/#[A-Z]+(?!\w)/i -/(?<!\w)(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)(?!\w)/i -/(?<!\w)(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)(?!\w)/ -/(?<!\w)(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)(?!\w)/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/(?<!\w)(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)(?!\w)|(?<!\w)(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:(?<!\w)\d+\.?\d*|(?<!\w)\.\d+)(?:E[-+]?\d+)?/i -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|(?<!\w)(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)(?!\w)/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/(?<!\w)(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))(?!\w)/ -/(?<!\w)(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)(?!\w)/i -/(?<!\w)(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)(?!\w)/ -/@(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)(?!\w)/ -/(?<!\w)(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|(?<!\w)(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|(?<!\w)(?:eq|ne|in|ni)(?!\w)/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/(?<!\w)(?:elseif|else)(?!\w)/ -/^\s*(?:global|upvar|variable)(?!\w)/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)(?!\w)/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)(?!\w)/m -/#.*|\[%#[^]*?%\]/ -/(?<!\w)(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)(?!\w)/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|(?<!\w)(?:and|or|not)(?!\w)/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/(?<!\w)[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*(?!\w)/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/(?<!\w)0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)(?!\w)|[-+]?(?<!\w)\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?(?!\w)|[-+]?(?<!\w)(?:inf|nan)(?!\w)/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?(?!\w)/i -/(?<!\w)\d{2}:\d{2}:\d{2}(?:\.\d+)?(?!\w)/ -/(?<!\w)(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)(?!\w)/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|(?<!\w)(?:Cross|Dot|ClockwiseFrom)(?!\w)/ -/[(),.;[\]{}]/ -/(?<!\w)(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/(?<!\w)(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|(?<!\w)in(?!\w)/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|(?<!\w)(?:eq|g[et]|l[et]|n(?:e|ot))(?!\w)/ -/[^-\w][a-z][-\w]*(?=\()/ -/(?<!\w)\$\w+(?!\w)/ -/(?<!\w)\`\w+(?!\w)/ -/(?<!\w)(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)(?!\w)/ -/(?<!\w)(?:always_latch|always_comb|always_ff|always)(?!\w) ?@?/ -/(?<!\w)##?\d+|(?:(?<!\w)\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/(?<!\w)(?:USE|LIBRARY)(?!\w)/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)(?!\w)/i -/'[-01HLUWXZ]'|(?<!\w)(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|(?<!\w)(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)(?!\w)/i -/(?<!\w)[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/(?<!\w)(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)(?!\w)/ -/(?<!\w)(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?)(?!\w)/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|(?<!\w)is(?:not)?(?!\w)/ -/[(),:;[\]{}]/ -/(?:(?:(?<!\w)\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/(?<!\w)(?:TRUE|FALSE|NOTHING)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)(?!\w)/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM(?!\w))(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/(?<!\w)(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)(?!\w)/ -/[-+]?(?<!\w)(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/(?<!\w)(?:false|true|F|T)(?!\w)/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?(?<!\w)(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)(?!\w)|(?<!\w)inf(?!\w)|(?<!\w)nan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?!\w)/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/(?<!\w)(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)(?!\w)/ -/;;.*/ -/(?<!\w)(?:align|offset)=/ -/(?<!\w)(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))(?!\w)/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI(?!\w)[^]*?>[^]*?<\/NOWIKI|PRE(?!\w)[^]*?>[^]*?<\/PRE|SOURCE(?!\w)[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX](?!\w)|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)(?!\w)[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)(?!\w)/i -/<[=>]?|>=?|[-*+/=\\^]|(?<!\w)(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)(?!\w)/i -/[(),.:;]/ -/(?:'|\/\/|REM(?!\w)).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])(?<!\w)(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)(?!\w)(?![-:])/ -/(?:^|[^-:])(?<!\w)(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)(?!\w)(?![-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])(?<!\w)(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))(?!\w)(?![-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/(?<!\w)@(?!\d)\w+(?=\s*\()/ -/(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w)/ -/(?<!\w)(?!\d)\w+(?=\s*\()/ -/(?<!\w)(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/(?<!\w)(?:break|continue)\s*:\s*\w+(?!\w)|(?<!\w)(?!\d)\w+(?=\s*:\s*(?:\{|while(?!\w)))/ -/(?<!\w)(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/(?<!\w)(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)(?!\w)/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?!\w))*)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?(?<!\w)(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w)(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?!\w))*)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?(?<!\w)(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w)(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const(?!\w)|\s*volatile(?!\w)|\s*allowzero(?!\w))*)\s*)*(?:(?<!\w)promise(?!\w)|(?:(?<!\w)error\.)?(?<!\w)(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w)(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))*(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))(?!\d)\w+(?!\w))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/simplify.ts b/tests/transformers/__snapshots__/simplify.ts deleted file mode 100644 index 741f931f..00000000 --- a/tests/transformers/__snapshots__/simplify.ts +++ /dev/null @@ -1,5132 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> simplify >> /\b(?!\d)\b\w+\b\s*\(/ `] = lit` -/(?<!\w)[A-Z_]\w*\s*\(/i -`; - -module.exports[n`Transformers >> simplify >> /(?:^|@)\b\w+\b/ `] = lit` -/(?:^|@)\w+(?!\w)/ -`; - -module.exports[n`Transformers >> simplify >> /"""(?:(?!""").)*"""/s `] = lit` -/"""(?:"{0,2}[^"])*"""/ -`; - -module.exports[n`Transformers >> simplify >> /"""((?!""")(?:[^\\]|\\"))*"""/ `] = lit` -/"""(?:"{0,2}(?:[^"\\]|\\"))*"""/ -`; - -module.exports[n`Transformers >> simplify >> /<title>(?:(?!<\/title>).)*<\/title>/ `] = lit` -/<title>(?:[^\n\r<\u2028\u2029]|<+(?:[^\n\r/<\u2028\u2029]|\/(?!title>)))*<+\/title>/ -`; - -module.exports[n`Transformers >> simplify >> /^(?:(?:25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(?:\.(?!$)|$)){4}$/ `] = lit` -/^(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)){3}$/ -`; - -module.exports[n`Transformers >> simplify >> /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/ `] = lit` -Start: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/ -Pass 1 -Alt moveUpEmpty: /^(?:(?:25[0-5]|(?:(?:2[0-4]|1\d|[1-9])?)\d)\.?\b){4}$/ -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b){4}$/ -Con applyAssertions: /^(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b){2}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b$/ -Con removeUnnecessaryAssertions: /^(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b){2}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?<!\w)(?=\w)|(?<=\w))$/ -Con mergeWithQuantifier: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?\b){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?<!\w)(?=\w)|(?<=\w))$/ -Exp removeUnnecessaryAssertions: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?<!\w)|(?:[]))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?:[])|(?<=\w))$/ -Pass 2 -Alt inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?<!\w))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?:[])|(?<=\w))$/ -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?<!\w)){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?:[])|(?<=\w))$/ -Alt inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?<!\w)){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?:(?<=\w))$/ -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?<!\w)){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?<=\w)$/ -Pass 3 -Con applyAssertions: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.{1}(?<!\w)|(?<!\w))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.?(?<=\w)$/ -Con applyAssertions: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.{1}(?<!\w)|(?<!\w))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.{1}(?<=\w)|(?<=\w))$/ -Exp removeUnnecessaryAssertions: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.{1}|(?:[]))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:(?:[])|)$/ -Pass 4 -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.|(?:[]))){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:(?:[])|)$/ -Alt inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:\.)){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:(?:[])|)$/ -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:(?:[])|)$/ -Alt moveUpEmpty: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:(?:[])?)$/ -Con inline: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)(?:[])?$/ -Con removeDeadBranches: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)$/ -Pass 5 -Final: /^(?:(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)\.){3}(?:25[0-5]|(?:2[0-4]|1\d|[1-9])?\d)$/ -`; - -module.exports[n`Transformers >> simplify >> /\b(?:true|false)\b/ `] = lit` -Start: /\b(?:true|false)\b/ -Pass 1 -Alt factorOut: /\b(?:(?:tru|fals)e)\b/ -Con inline: /\b(?:tru|fals)e\b/ -Exp removeUnnecessaryAssertions: /(?:(?<!\w)|(?:[]))(?:tru|fals)e(?:(?:[])|(?!\w))/ -Pass 2 -Alt inline: /(?:(?<!\w))(?:tru|fals)e(?:(?:[])|(?!\w))/ -Alt inline: /(?:(?<!\w))(?:tru|fals)e(?:(?!\w))/ -Con inline: /(?<!\w)(?:tru|fals)e(?!\w)/ -Pass 3 -Final: /(?<!\w)(?:tru|fals)e(?!\w)/ -`; - -module.exports[n`Transformers >> simplify >> /\b[a-z_]\w*(?=\s*\()\b/i `] = lit` -Start: /\b[A-Z_]\w*(?=\s*\()\b/i -Pass 1 -Con applyAssertions: /(?:(?<!\w))[A-Z_]\w*(?=\s*\()\b/i -Con inline: /(?<!\w)[A-Z_]\w*(?=\s*\()\b/i -Exp removeUnnecessaryAssertions: /(?<!\w)[A-Z_]\w*(?=\s*\()(?:(?:[])|(?!\w))/i -Pass 2 -Alt inline: /(?<!\w)[A-Z_]\w*(?=\s*\()(?:(?!\w))/i -Con inline: /(?<!\w)[A-Z_]\w*(?=\s*\()(?!\w)/i -Exp removeUnnecessaryAssertions: /(?<!\w)[A-Z_]\w*(?=\s*\()/i -Pass 3 -Final: /(?<!\w)[A-Z_]\w*(?=\s*\()/i -`; - -module.exports[n`Transformers >> simplify >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:<+(?:[^!"'<\]]|!(?!--)|"[^"]*"|'[^']*'|<!--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>)|[^"'<\]]|"[^"]*"|'[^']*'|<!--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>)*<*\]\s*)?>/i -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/["']/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT(?!\w)/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/(?<!\w)URL\((?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/(?<!\w)selector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^<]|<+?(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^!<]|!(?!\[CDATA\[)))*?<*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/(?<!\w)(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)(?!\w)/ -/(?<!\w)(?:tru|fals)e(?!\w)/ -/\w+(?=\()/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)/i -/[<>]=?|[!=]=?=?|-{1,2}|\+{1,2}|&{1,2}|\|{1,2}|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/(?<!\w)(?:(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|CATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/(?<!\w)[A-Z](?:[A-Z_]|\dx?)*(?!\w)/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/(?<!\w)(?:(?:0(?:[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|[Bb](?:[01](?:_[01])?)+|[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)(?!\w)|(?:(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?)/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>{2,3}=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/(?<!\w)(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|(?<!\w)(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*+[^*/])*\*+\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*|\])\s*\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)(?!\w)/ -/(?:^|[^\w.]|\.\.\.\s*)(?:as|async(?=\s*(?:function(?!\w)|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|[gs]et(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^<]|<+?(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^!<]|!(?!\[CDATA\[)))*?<*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|[^\n\r\\\\\`])*\`|'(?:\\.|[^\n\r'\\])*'/ -/(?<!\w)\d+(?!\w)/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:[\s.]|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)(?!\w)/i -/\s(?:\*{1,2}|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&{1,2}(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])\d*(?:\*\d*|\d)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/[<>]/ -/(?<!\w)(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)(?!\w)/ -/\+\+|--|(?:[-%*+/^]|&{1,2}|\|{1,2}|<{1,2}|>{1,2}>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/(?<=\w)'\w+/ -/(?<!\w)(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/<[=>]?|>=?|=>?|:=|\/=?|\*{1,2}|[-&+]/ -/\.{1,2}|[(),:;]/ -/'.'/ -/(?<!\w)[A-Z]\w*(?!\w)/i -/(?<!\w)\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/(?<!\w)\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?(?!\w)/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/(?<!\w)(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)(?!\w)/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/(?:\/.*|\*[^]*?\*\/)/ -/\b(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)(?:F|UL{0,2}|L{1,2})?\b/i -/(?<!\w)(?:FALS|TRU)E(?!\w)/i -/(?<!\w)(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)(?!\w)/ -/(?<!\w)(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)(?!\w)/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|(?<!\w)(?:AND|DIV|MOD|NOT|OR|XOR)(?!\w)/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:(?<!\w)(?:EVENT|PROCEDURE|TRIGGER)\s|(?:^|[^.])\.)\s*[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)(?!\w)/i -/(?<!\w)(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)(?!\w)/i -/\/(?:\/.*|\*[^]*?(?:\*\/|$))/ -/(?<!\w)(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)(?!\w)/ -/(?<!\w)[A-Z][A-Z_]*(?!\w)/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*|(?<!\w))[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/(?<!\w)\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/(?<!\w)[a-z]\w*(?=\s*:)/ -/(?<!\w)[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_(?:LOGEMAIL|MUSTGIVEEMAIL|NOUSERID|VERIFYEMAIL))?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:(?:MAXSIZ|MAXTIM|MINTIM|READSIZ|READTIM)E)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURS|LIMI)T|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)(?!\w)/im -/<\/?(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)(?: +|(?!\w)).*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*(?:\.|(?<!\w))\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*(?!\w)/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E-?\d+)?\b/i -/(?<!\w)(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)(?!\w)/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*+[^)*])*\*+\)|[^(]|\(+?(?:\(\*(?:[^*]|\*+[^)*])*\*+\)|[^(*]))*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/(?<!\w)(?:(?:start|begin|end)s? with|does(?: no|n')t contain|contains?|is(?:(?:n'| no)t)?? (?:in|contained by)|(?:is(?:(?:n'| no)t)?? )?(?:greater|less) than(?: or equal)?(?: to)?|(?:does(?: no|n')t come|comes) (?:before|after)|is(?:(?:n'| no)t)?? equal(?: to)?|does(?: no|n')t equal|equals|equal to|isn't|is not|(?:a )?ref(?:(?: to)?|erence to)|and|or|div|mod|as|not)(?!\w)/ -/(?<!\w)(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)(?!\w)/ -/@{1,2}\w+/ -/[A-Z_]\w*(?=\s*\()/i -/(?:TRU|FALS)E/i -/(?<!\w)(?:\.\d+|(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:[A-Z_]\w*|"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4)(?=\s*:)/i -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4/ -/(?<!\w)(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)(?!\w)/i -/\.\./ -/(?<!\w)WITH\s+COUNT(?=\s+INTO(?!\w))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)(?!\w)/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)(?!\w)/ -/(?<!\w)OPTIONS(?=\s*\{)/i -/(?<!\w)(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)(?!\w)/ -/(?<!\w)(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)(?!\w)/ -/[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w)/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|(?<!\w)(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)(?!\w)/ -/(?<!\w)(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)(?!\w)/ -/(?<!\w)(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)(?!\w)/ -/(?<!\w)(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)(?!\w)/ -/\/(?:\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\*[^]*?(?:\*\/|$))/ -/^\s*#\s*[A-Z]+(?:\/+(?:[^\n\r*/\\]|\/\*(?:[^*]|\*+[^*/])*\*+\/|\\(?:\r\n|[^]))|[^\n\r/\\]|\/\*(?:[^*]|\*+[^*/])*\*+\/|\\(?:\r\n|[^]))*(?:\/+(?!\*))?/im -/(?<!\w)(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/(?<!\w)(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/(?<!\w)[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/(?<!\w)[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:(?<!\w)0(?:B['01]+|X(?:[\d'A-F]+\.?|\.[\d'A-F])[\d'A-F]*(?:P[-+]?[\d']+)?)|(?:(?:(?<!\w)\d|(?<=\w)')[\d']*\.?|(?<!\w)\.[\d'])[\d']*(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/(?<!\w)[A-Z_]\w*(?!\w)(?!\s*::)/i -/(?<!\w)(?:class|concept|enum|struct|typename)\s+(?!(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)(?!\w)/i -/(?<!\w)\d+(?:\.\d+)?(?!\w)/ -/[,{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^(?:.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|={1,5} +.+|\.(?:[^\s.].*|(?![\s.])))/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?:(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|[^[\\\]]|\\.)(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*)?\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/(?<!\w)[\da-z][-\da-z]*:{1,2}(?:\S+)??\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?<!\w)(?:\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:_(?:[^\s\\_]|\\.)(?: _|[^\n\r\\_]|\\.)*(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_|\`\`\S.*?(?:(?:\r?\n|\r).+?)*''|\`[^\s'\`](?:[^\s'\`]|\s+\S)*['\`]|#(?:[^\s#\\]|\\.)(?: #|[^\n\r#\\]|\\.)*(?:(?:\r?\n|\r)(?: #|[^\n\r#\\]|\\.)+)*#|'(?:[^\s'\\]|\\.)(?: '|[^\n\r'\\]|\\.)*(?:(?:\r?\n|\r)(?: '|[^\n\r'\\]|\\.)+)*'|\*(?:[^\s*\\]|\\.)(?: \*|[^\n\r*\\]|\\.)*(?:(?:\r?\n|\r)(?: \*|[^\n\r*\\]|\\.)+)*\*|\+(?:[^\s+\\]|\\.)(?: \+|[^\n\r+\\]|\\.)*(?:(?:\r?\n|\r)(?: \+|[^\n\r+\\]|\\.)+)*\+)(?!\w)|(?:\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[{2,3}.+?(?:(?:\r?\n|\r).+?)*\]{2,3}|<<.+?(?:(?:\r?\n|\r).+?)*>>|\({2,3}.+?(?:(?:\r?\n|\r).+?)*\){2,3}))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^:{1,2}/ -/^(?:\`{1,2}|\+{1,3}|#{1,2}|\$\$|[~^]|\({2,3})|(?:'{1,2}|\+{1,3}|#{1,2}|\$\$|[\`~^]|\){2,3})$/ -/(?:(?:\d+(?:\.\d+)?|\.\d+)[*+]|(?!\|))(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:[^$\\]|\\.)*\$|\`(?:[^\\\\\`]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/^(?:\[{2,3}.+?\]{2,3}|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[{2,3}|<<)|(?:\]{2,3}|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|:{1,2}/ -/^(?:'{1,2}|_{1,2})|(?:'{1,2}|_{1,2})$/ -/^\*{1,2}|\*{1,2}$/ -/^\{[-\d+,_a-z]+/ -/(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)/ -/(?<!\w)(?:0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\.\d+(?:_+\d+)*|\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?(?!\w)/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/(?<!\w)(?:namespace|using)\s+@?[A-Z_a-z]\w*(?:\s*\.\s*@?[A-Z_a-z]\w*)*(?=\s*[;{])/ -/(?<!\w)(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/(?<!\w)new\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/(?:@|(?<!\w))[A-Z_]\w*\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/(?<!\w)(?:(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?[A-Z_a-z]\w*)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:(?:assembly|event|field|method|module|param|property|return|type)\s*:\s*)?(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\))?(?:\s*,\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?[A-Z_]\w*(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?:\/[^\s/>]|[^\s%/>])[^\s/>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*)?(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*)?(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?[A-Z_]\w*(?!\w)/i -/,/ -/[,:]/ -/(?<!\w)using\s+static\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*(?=\s*=)/ -/(?<!\w)(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))/ -/(?<!\w)catch\s*\(\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*/ -/(?<!\w)where\s+@?[A-Z_a-z]\w*(?!\w)/ -/(?<!\w)(?:is(?:\s+not)?|as)\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*\s*(?:[),:;=\]{]|\s(?:i|whe)n(?!\w)))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)(?!\w)/ -/^(?:assembly|event|field|method|module|param|property|return|type)(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\)/ -/(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*)?(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*)?(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^\{(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\`(?:\\.|[^\n\r\\\\\`])*\`/ -/\.\w+(?= )/ -/(?<!\w)(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)(?!\w)/ -/#?\$[\dA-F]{2,4}(?!\w)/i -/#?%[01]+(?!\w)/ -/(?:#|(?<!\w))\d+(?!\w)/ -/(?<!\w)[AXY](?!\w)/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+(?=:(?:[^:]|$))/m -/%\w+%/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee]-?\d+)?)/ -/\?|\/{1,2}=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>{1,2}=?|[!.=~^]=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/(?<!\w)(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)(?!\w)/i -/(?<!\w)(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)(?!\w)/i -/(?<!\w)(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)(?!\w)/i -/(?<!\w)(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)(?!\w)/i -/#(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)(?!\w)/i -/(?<!\w)(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)(?!\w)/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/(?<!\w)\w+(?=\()/ -/[$@]\w+/ -/(?<!\w)(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/<[=>]?|[-&*+/=>]=?|[?^]|(?<!\w)(?:AND|OR|NOT)(?!\w)/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|[^\n\r"])*"|'(?:''|[^\n\r'])*'/ -/^\s*#\w+/m -/^\s*#c(?:omments-start|s)[^]*?[\n\r\u2028\u2029]\s*#c(?:omments-end|e)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\({1,2}|\){1,2}|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/(?<!\w)(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/(?:\$|(?<!\w))(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:[.:]|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:tru|fals)e(?![^\s&);|])/ -/(?<!\w)&\d(?!\w)/ -/\d?<>|>\||\+=|={1,2}|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?(?!\w)/ -/(?<!\w)function\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/(?<!\w)\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"|'\w+')\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/-{1,2}|-=|\+{1,2}|\+=|!=?|~|\*{1,2}|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|={1,2}|&{1,2}|&=|\^=?|\|{1,2}|\|=|\?|:/ -/\({1,2}|\){1,2}|,|;/ -/^(?:\$\(|\`)|[)\`]$/ -/:[-+=?]?|[!/]|#{1,2}|%{1,2}|\^{1,2}|,{1,2}/ -/^\d/ -/\$(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\(/ -/\{(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\([^]+\)\)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?<!\w)(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|(?<!\w)(?:AND|EQV|IMP|NOT|OR|XOR)(?!\w)/i -/[(),:;]/ -/(?:!.|REM[^\w\n\r\u2028\u2029]).*/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM(?:(?:[^\w\n\r&)^]|\^(?:\r\n|[^]))(?:[^\n\r&)^]|\^(?:\r\n|[^]))*|(?!\w))/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE(?!\w)/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+(?:(?!\w)(?:(?:"(?:["\\]"|[^"])*")?(?:[^\n\r"&)^]|\^(?:\r\n|[^])))+|(?!\w))(?:"(?:["\\]"|[^"])*"(?!"))?/m -/(?:^FOR|(?<!\w)(?:IN|DO))(?!\w)/i -/"(?:["\\]"|[^"])*"(?!")/ -/%{1,2}[\w:~]+%?|!\S+!/ -/(?:(?<!\w)|-)\d+(?!\w)/ -/['(),]/ -/(?:^IF|(?<!\w)(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST))(?!\w)/i -/\^|==|(?<!\w)(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?!\w)/i -/^ELSE(?!\w)/i -/^SET(?!\w)/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+(?!\w)/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z](?!\w)|--[-A-Z]*(?:-(?=\w)|[A-Z](?!\w))/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/(?:%\{[^]*?%|\{(?:\{[^}]*\}|[^{}])*)\}/ -/(?:^|[^\w@])(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/[[\]]/ -/(?:(?<!\w)REM|').*/i -/(?<!\w)(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)(?!\w)/i -/(?<!\w)[A-Z_]\w*(?=[\t ]*\()/i -/(?:(?<!\w)\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)(?:[!#%&]|(?!\w))/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/[(),.;[\]{}]/ -/(?<!\w)LINE_NUM(?!\w)/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:[A-Z_]\w*|"(?:[^\n\r"]|"")*")(?=[\t ]*:)/i -/"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)AS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/(?<!\w)[FT](?!\w)/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/(?<!\w)(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)(?!\w)/ -/-{1,2}|\+{1,2}|!=?=?|<=?|>=?|={1,2}=?|&&|\|{1,2}|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOB|LOC)AL \w+/i -/CONST \w+/i -/(?<!\w)(?:TODO|FIXME|XXX)(?!\w)/ -/^(?:function|hook|event)/ -/(?:glob|loc)al/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/(?<!\w)(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)(?!\w)/ -/(?<!\w)(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.(?:\d+|[Mm]1|s))?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|endf(?:ault|ilter|inally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.(?:\d+|s))?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?(?!\w)/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])[A-Z][-\w!*+?]*\b/i -/(?<!\w)(?:true|false|nil)(?!\w)/ -/(?<!\w)[\dA-F]+(?!\w)/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/(?<!\w)(?:CMAKE_\w+|\w+_(?:VERSION(?:_(?:MAJOR|MINOR|PATCH|TWEAK))?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERROR|WARNING)S|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)(?!\w)/ -/(?<!\w)(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)(?!\w)/ -/(?<!\w)(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()/ -/(?<!\w)(?:ON|OFF|TRUE|FALSE)(?!\w)/ -/(?<!\w)(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)(?!\w)/ -/(?<!\w)(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)(?!\w)/ -/(?<!\w)\d+(?:\.\d+)*(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/(?<!\w)\w+::\w+(?!\w)/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#[^\n\r{\u2028\u2029].*/ -/[A-Z_]\w*(?=\s*:(?!:))/i -/(?<!\w)(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)(?!\w)/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@[A-Z_]\w*/i -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/(?<!\w)(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)(?!\w)/ -/(?<!\w)(?:fals|tru)e(?!\w)/ -/(?<!\w)(?:0B[01][01_]*L?(?!\w)|0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:\d[\d_]*\.?|\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFLS]?)/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|(?<!\w)(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)(?:=|(?!\w))/ -/[rs]?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/(?<!\w)(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)(?!\w)/i -/'(?:self|none|strict-dynamic|(?:nonce|sha(?:256|384|512))-[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)(?!\w)/ -/(?<!\w)(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)(?!\w)/ -/(?<!\w)[A-Z]\w*(?:[!?]|(?!\w))/ -/(?<!\w)(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?(?!\w)/ -/(?<!\w)C(?:LASS\s+|ATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)def\s+[\w.]+/ -/@\[.+?\]/ -/(?<!\w)(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)(?!\w)/ -/^=begin(?:\s[^]*?)??[\n\r\u2028\u2029]=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)[gim]{0,3}/ -/(?:^|[^/])\/(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/(?<!\w)#(?:[\dA-F]{1,2}){3,4}(?!\w)/i -/(?<!\w)(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)(?!\w)/i -/(?<!\w)\d+(?:%|[a-z]+(?!\w))/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection|:[-\w]+)/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/[+>~]|\|\|/ -/[(),]/ -/(?<!\w)(?:RGB|HSL)(?:\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?|A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1))\s*\)(?!\w)/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/(?<!\w)(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)(?!\w)/i -/(?<!\w)\w+(?=\s*\()/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/(?<!\w)(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)(?!\w)/ -/:|<-{1,2}|-{1,2}>?|<>|=~?|[<>]=?|[%*+/|^]|\.{2,3}/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:(?:\w+|\`[^\n\r\\\\\`]*\`)\s*)?|\|\s*):\s*(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/(?<!\w)@\w*/ -/\$|(?<!\w)(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)(?!\w)/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.{2,3}|=[=>]?|!(?:i[ns](?!\w)|<>?=?|>=?|=)?|(?<!\w)i[ns](?!\w)|(?:<[<>]?|>{1,2}>?|\^\^|[%*/~^])=?/ -/(?<!\w)(?:(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))(?!\w)|ST(?:\([0-7]\)|(?!\w)))/ -/(?<!\w)0X\.?[\dA-F_]+(?:\.(?:[\dA-F_]+|(?!\.)))?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])\/(?:\+(?:\/\+(?:[^+]|\++[^+/])*\++\/|[^/]|\/+?(?:\/\+(?:[^+]|\++[^+/])*\++\/|[^+/]))*?\+\/|\/.*|\*[^]*?\*\/)/ -/(?<!\w)(?:[rx]"(?:\\[^]|[^"\\])*"[cdw]?|q"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|q"[A-Z_a-z]\w*[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??[]Unknown:\\1[]"|q".[^]*?[]Unknown:\\2[]")|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|[^"\\])*"|\`(?:\\[^]|[^\\\\\`])*\`)[cdw]?/ -/(?<!\w)q\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:(?<!\w)(?:0B\.?)?|\.)\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/(?<!\w)(?:is!|[ai]s(?!\w))|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/(?<!\w)(?:async|sync|yield)\*/ -/(?<!\w)(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)(?!\w)/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/(?<!\w)(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/(?<!\w)(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)(?!\w)/i -/(?<!\w)(?:\d+\.?\d*|\.\d+(?!\w))/ -/:=|[-*+/=^]|&{1,2}|\|\||<(?:=>?|<|>)?|>[=>]?|(?<!\w)(?:IN|NOT)(?!\w)/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?:\[[\w \xa0-\uffff]+\]|(?!'))|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/--.*|\{-(?:-+(?:[^-{}]|\{(?!-)|\{-(?:(?:-+(?:\{+|(?!\}))||\{+)[^-{])*-+\})|(?:\{+)??(?:[^-{]|\{-(?:(?:-+(?:\{+|(?!\}))||\{+)[^-{])*-+\}))*-+\}/ -/(?<!\w)(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)(?!\w)|\u2200/ -/(?<!\w)(?:Som|Non)e(?!\w)/ -/(?<!\w)(?:Fals|Tru)e(?!\w)/ -/(?:(?<!\w)NaN|(?:-|(?<!\w))Infinity|(?:[-+]|(?<!\w))(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?))(?!\w)/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/(?<!\w)[A-Z]\w*(?!\w)/ -/"(?:[^"\\]|\\.)*"|''(?:'[^']|[^']|'''|''\$\{)*''(?![$'])/ -/\`[^\`]*\`/ -/(?<!\w)https?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/(?<!\w)env:(?:[A-Z_a-z]\w*|"(?:[^"=\\]|\\.)*")/ -/(?<!\w)sha256:[\dA-Fa-f]{64}(?!\w)/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?:.+|(?=[^]))(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/(?<!\w)[A-Z_]\w+(?=\s*\()/i -/(?<!\w)(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)(?!\w)/ -/[-%*+/=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:[Tt]ru|[Ff]als|[Nn]on)e/ -/(?<!\w)\w+(?!\w)/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/\|\w+/ -/(?<!\w)is\s+(?:not\s+)?(?:[\dA-Z_a-mo-z]|n(?!ot(?!\w)))\w*/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?!\S)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?!\S)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?!\S)/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/(?<!\w)[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?!\w)/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/(?<!\w)(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)(?!\w)/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/(?<!\w)0[BCX][\dA-F](?:_*[\dA-F])*(?!\w)/i -/(?:(?<!\w)\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*(?!\w)|(?<!\w)\d(?:_*\d)*(?:\.|(?!\w))/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/(?<!\w)(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?(?!\w)/i -/(?<!\w)(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)(?!\w)/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:"{0,2}(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:'{0,2}(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/(?<!\w)in(?!\w)|&{1,2}|\|[>|]?|\\\\|::|\.{2,3}|\+{1,2}|-[->]?|<[-=>]|>=|!={1,2}|(?<!\w)!|=(?:={1,2}|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:"{0,2}(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:'{0,2}(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])(?:\\.|#\{[^}]+\}|[^\n\r#\\}]|#+(?:\\.|#\{[^}]+\}|[^\n\r#\\{}]))*#*\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/(?<!\w)(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)(?!\w)/ -/(?<!\w)(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/(?<!\w)(?:[A-Z]\w*\.)*[a-z]\w*(?!\w)/ -/(?<!\w)(?:[A-Z]\w*\.)*[A-Z]\w*(?!\w)/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/(?<!\w)(?:import|as|exposing)(?!\w)/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/(?<!\w)(?:0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\d+(?:\.(?!\w)|\.?\d*(?:E[-+]?\d+)?\b)|\.\d+(?:E[-+]?\d+)?(?!\w))/i -/(?<!\w)(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)(?!\w)/ -/[A-Z_]\w*(?=\s*[({])/i -/[(),;[\]{}]|\.+|:+/ -/"(?:[^\n\r"\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/{1,2}|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/(?<!\w)(?:fun|when|case|of|end|if|receive|after|try|catch)(?!\w)/ -/(?<!\w)[a-z][\w@]*(?=\()/ -/(?<!\w)[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+{1,2}|-{1,2}|[!*/=]|(?<!\w)(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)(?!\w)/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?<!\w)(?:\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/(?<!\w)N\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/(?<!\w)[A-Z]\w*(?=\()/i -/(?:\$|(?<!\w))(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)(?!\w)/i -/(?:(?<!\w)[A-Z]+|\$[A-Za-z]+\$?|(?<!\w)[A-Za-z]+\$)\d+(?!\w)/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/(?<!\w)(?:(?:let|return|use|yield)!?|abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)(?!\w)/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:(?:"""[^]*?""|@"(?:""|[^"])*|"(?:\\[^]|[^"\\])*)"|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))')B?/ -/(?:(?<!\w)(?:exception|inherit|interface|new|of|type)\s|\w\s*:|\s:\??>)\s*[\w.]*(?:\.(?=\w)|\w(?!\w))(?:\s*(?:->|\*)\s*[\w.]*(?:\w\s*(?:->|\*)\s*[\w.]*)*(?:\.(?=\w)|\w(?!\w)))?(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/(?<!\w)0x[\dA-Fa-f]+(?:un|lf|LF)?(?!\w)/ -/(?<!\w)0b[01]+(?:u?y)?(?!\w)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:[FM]|E[-+]?\d+)?\b/i -/(?<!\w)\d+(?:[ILlsy]|u[lsy]?|UL)?(?!\w)/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#(?:else|endif|if|light|line|nowarn)(?!\w)/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/[dimrs]*(?:[dimrs]-[dimrs]+)?(?!\S)/ -/(?:^|\s)[ft](?!\S)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?!\S)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?!\S)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?!\S)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?!\S)/ -/(?:^|\s)<(?!(?:=+|-+)>)\S+>(?!\S)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?!\S)/ -/(?:^|\s)(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s":>][^\s:>]*>|[^\s">][^\s>]*>[^\s>]+|\+[^\s+]+\+|[^\s"?][^\s?]*\?|\?[^\s?]+|[^\s">][^\s>]*>>|>>[^\s>]+|[^\s"<][^\s<]*<<|\([^\s()]+\)|[^\s!"][^\s!]*!|[^\s"*]\S*\*|[^\s".]\S*\.)(?!\S)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S|[^\s;])\S*(?!\S)/ -/\s(?:;|:>)(?!\S)/ -/(?:^|\s)[^\s"]\S*(?!\S)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)!(?: .*|$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?!\S)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?!\S)/ -/(?:^|\s)[-+]?\d+(?!\S)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?!\S)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?!\S)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?!\S)/ -/(?:^|\s)-\d+-\d+\/\d+(?!\S)/ -/(?:^|\s)[-+]?\d*(?:\.\d+|\d\.\d*|\d)(?:E[-+]?\d+)?(?!\S)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?!\S)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?!\S)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+\r?\n.*\r?\n\s*;(?!\S)/ -/(?:^|\s)HEREDOC:\s+\S+\r?\n.*\r?\n\s*\S+(?!\S)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?!\S)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?!\S)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?!\S)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?!\S)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|X{2,}|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/\r?\n\s*;(?!\S)/ -/(?<!\w)(?:allow|function|if|match|null|return|rules_version|service)(?!\w)/ -/&&|\|\||[!<=>]=?|[-%*+/=]|(?<!\w)i[ns](?!\w)/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/(?<!\w)allow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?!\w)|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/(?<!\w)(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)(?!\w)/ -/(?:^|[^\w$])(?:type|opaque|declare|Class)(?!\w)(?!\$)/ -/(?:^|[^\w$])\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)(?!\w)(?!\$)/ -/\.(?:TRU|FALS)E\.(?:_\w+)?/i -/(?<!\w)(?:\d+(?:\.\d*)?|\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r"\u2028\u2029])*["&]|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r'\u2028\u2029])*[&'])/ -/!.*/ -/(?<!\w)(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)(?!\w)/i -/(?<!\w)(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)(?!\w)/i -/(?<!\w)(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)(?!\w)/i -/(?<!\w)(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)(?!\w)/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|[^\n\r(\u2028\u2029])\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/(?<!\w)as(?!\w)/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|(?<!\w)(?:gt|gte|lt|lte)(?!\w)/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/(?<!\w)r(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/ -/"(?:[^"$\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:[^$'\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/(?<!\w)(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at|xor|not)(?!\w)/ -/(?<!\w)(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fp|microsecond)s|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick[12]_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cde|cdec|stdcal)l|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:sol|rig)id|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:De|A)sc|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)(?!\w)/ -/(?<!\w)(?:[xy]|[xy](?:previous|start)|[hv]speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_[xy]|angular_(?:velocity|damping)|position_[xy]previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:[hwxy]view|[hwxy]port|[hv](?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:[xy]|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)(?!\w)/ -/;.*|(?<!\w)\(.*?\)(?!\w)/ -/(?<!\w)[GM]\d+(?:\.\d+)?(?!\w)/ -/(?<!\w)[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/(?<!\w)(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)(?!\w)/ -/[A-Z_]\w*(?=[\t ]*\()/i -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:[^\n"\\]|\\[^])*"|'(?:[^\n'\\]|\\[^])*')(?!["'])|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:(?:class_name|class|extends)[\t ]|export\()|(?<!\w)as[\t ]|(?:(?<!\w)(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:|->)[\t ]*[A-Z_a-z]\w*/m -/(?<!\w)(?:0(?:b[01_]+|x[\dA-F_a-f]+)(?!\w)|(?:\d[\d_]*(?:\.[\d_]*)?|\.[\d_]+)(?:e[-+]?[\d_]+)?\b)/ -/(?<!\w)(?:INF|NAN|PI|TAU)(?!\w)/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:(?:\r?\n|\r)[\t ]*\|.+\|.*){2,}/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s-{1,2}\w+/ -/(?<!\w)(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)(?!\w)/ -/(?<!\w)(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)(?!\w)/ -/(?<!\w)(?:_|iota|nil|true|false)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:[&=]|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/(?<!\w)(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)(?!\w)/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`/ -/(?<!\w)-?\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/\$[A-Z_]\w*/i -/(?<!\w)(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)(?!\w)/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/(?<!\w)(?:[A-HJ-Z]|I(?!D(?!\w)))[\dA-Z_]*(?!\w)/ -/"(?:""(?:"{0,2}[^"])*""|(?:\\.|[^\n\r"\\])*)"(?=\s*[A-Z_])/i -/"(?:""(?:"{0,2}[^"])*""|(?:\\.|[^\n\r"\\])*)"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:(?<!\w)(?:enum|implements|interface|on|scalar|type|union)\s|&)\s*[A-Z_a-z]\w*/ -/(?:(?<!\w)fragment\s+[A-Z_a-z]|\.{3}\s*(?:[A-Z_a-np-z]|o(?!n(?!\w))))\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r])|_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?_)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]|_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?_))*(?:\n|\r\n?)?__(?!\w)|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r])|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*))*(?:\n|\r\n?)?\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r])|__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?__)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]|__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?__))*(?:\n|\r\n?)?_(?!\w)|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r])|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*\*)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*\*))*(?:\n|\r\n?)?\*)/ -/(?:^|[^\\])(?:\\{2})*~(?:~(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\~]))*?(?:\n|\r\n?)?~|(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\~]))*?(?:\n|\r\n?)?)~/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\\]]))*(?:\n|\r\n?)?\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\\]]))*(?:\n|\r\n?)?\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`(?:\`.+?\`|[^\n\r\`]+)\`/ -/^\`\`\`[^]*?[\n\r\u2028\u2029]\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:={2,}|-{2,})(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~{1,2}/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)?$/ -/\`\`\`/ -/(?:={2,}|-{2,})$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~{1,2}[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/(?<!\w)(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)(?!\w)/ -/(?<!\w)(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/(?<!\w)(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|={1,2}~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>{1,2}=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/+[^$/])*\/+\$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?:\\.|[^\n\r/\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*(?:!?=|[),]))/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@{1,2}[-\w]+/ -/[;{]\s*[#.][-A-Z_][-\w]*.*?(?=[(;])/i -/(?:^|[^\\])\/(?:\*[^]*?\*\/|\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?:[^\s();@{}]|(?=\S))(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:[\s}]|[^}]+[:{][^}]))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/(?<!\w)!(?:DEFAULT|OPTIONAL)(?!\w)/i -/(?<!\w)null(?!\w)/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?[A-Z][\dA-Z]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/(?<=\w)\[\d+\]/ -/(?<!\w)[\dA-Z]+\([^)]+\)/ -/(?<=\w)\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^_{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?)/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{{2,3}|\}{2,3}$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/(?<!\w)(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)(?!\w)/ -/(?<!\w)(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/(?<!\w)(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/(?<!\w)(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding(?!\w))?/m -/(?<!\w)(?:import|qualified|as|hiding)(?!\w)/ -/(?<!\w)(?:this|(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.))(?!\w)/ -/\.{3}|\+{1,2}|-[->]?|[!=]=?|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|\d+\.?\d*(?:E[-+]?\d+)?)/i -/[=[\]{}]/ -/<<-?\w+[^]*?[\n\r\u2028\u2029]\s*[]Unknown:\\1[]/ -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)(?!\w)/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\.[\w*]+/i -/(?<!\w)(?:(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/(?<!\w)(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)(?!\w)/ -/(?<!\w)(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)(?!\w)/ -/(?<!\w)(?:bool|double|dword|float|half|int|min1(?:0floa|2in|6(?:floa|in|uin))t|uint)(?:[1-4](?:x[1-4])?)?(?!\w)/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/)?\/\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)(?!\w)/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/(?:-|(?<!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/(?<!\w)(?:(?:includeSubDomains|preload|strict)[ ;]|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/(?<!\w)\d{7,}(?!\w)/ -/(?<!\w)\d{1,6}(?!\w)/ -/(?<!\w)(?:max-age=|includeSubDomains|preload)/ -/(?<!\w)\d{8,}(?!\w)/ -/(?<!\w)\d{1,7}(?!\w)/ -/(?:(?<!\w)'|REM)[^\n\r]*/i -/(?<!\w)(?:#[\dA-F]+|\`[01]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)/i -/(?<!\w)(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?!\w))/i -/(?<!\w)@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),:;[\]]/ -/(?:(?<!\w)\d+(?:R[\dA-Z]+|(?:\.\d+)?(?:E[-+]?\d+)?)|\.\d+)(?!\w)/i -/(?<!\w)(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)(?!\w)/ -/[A-Z_]\w*(?=\s*(?:[({]|!\s*\[))/i -/[-+]:(?!=)|(?:[%&/?@^]|\+{1,2}|-{1,2}|={1,2}=?|~={1,2}=?|\*{1,2}|\|{2,3}|<(?:->?|<?=?)|>{1,2}=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:[^\n\r"\\_]|\\.|_(?:\r\n|[^"]))*"|'(?:[^\n\r'\\_]|\\.|_(?:\r\n|[^']))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)(?!\w)/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*{1,2}|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME[^\w\n\r\u2028\u2029]|BOOK[^\w\n\r\u2028\u2029]|PART(?:[^\w\n\r \u2028\u2029]| (?!OF))|CHAPTER[^\w\n\r\u2028\u2029]|SECTION[^\w\n\r\u2028\u2029]|TABLE[^\w\n\r\u2028\u2029]).*/im -/(?:^|[^-\w])(?:\d+(?:\.\d+)?(?:\^\d+)?\w*|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: O(?:N|FF))?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:(?:EA|WE)ST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:(?:EA|WE)ST)?|THROUGH|UP|WEST|WITHIN)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)(?!\w)(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/^=/ -/(?<!\w)(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)(?!\w)/ -/(?<!\w)(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E-?\d+)?)/i -/[-!%&*+/=|^]=|>{1,2}=?|<{1,2}=?|:?:?=|\+{1,2}|-{1,2}|\*{1,2}|\/{1,2}|%|\|{1,2}|&{1,2}|(?<!\w)(?:return|and|or|not)(?!\w)|@{1,2}|\?{1,2}|\.\./ -/"""(?:"{0,2}(?:\\[^]|[^"\\]))*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/(?<!\w)NB\..*/ -/(?<!\w)(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)(?!\w)|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/(?<!\w)_?(?:\d(?:\d+|(?!:))(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\w)(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/\{(?:\.|:{1,2})?|p(?:\.{1,2}|:)|\]|[!=](?![.:])|[-#$%*+,<>|][.:]?|(?:\?|\^(?!:))\.?|(?:\[|;(?!\.)):?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w)/ -/(?<!\w)(?:0B[01][01_]*L?(?!\w)|0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:\d[\d_]*\.?|\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFL]?)/i -/"""[\t ]*[\n\r](?:"{0,2}(?:\\.|[^"\\]))*"""/ -/(?<!\w)(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/(?<!\w)[A-Z](?:\w*[a-z]\w*)?(?!\w)/ -/(?<!\w)[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>{2,3}=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]*(?:-(?=\w)|[A-Za-z](?!\w))/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/(?<!\w)[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/(?<!\w)(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|(?<!\w)(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]*\.?[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E\d+)?[DFL]?)/i -/(?<!\w)(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)(?!\w)/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+(?!\w)|(?=\{))/ -/(?<!\w)(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)(?!\w)/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[]|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[]);/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/(?<!\w)[A-Z_][\dA-Z_]*(?!\w)/ -/(?<!\w)NULL(?!\w)/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+(?: [a-z]+)+/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/(?<!\w)[a-z]+(?: [a-z]+)*(?!\w)/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?![^:])/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?![^:])/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/(?<!\w)(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)(?!\w)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/(?<!\w)(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)(?!\w)/ -/[;@|]/ -/(?:(?<!\w)(?:outputPort|inputPort|in|service|courier)(?!\w)|@)\s*\w+/ -/(?<!\w)Aggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/(?<!\w)Redirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/(?<!\w)with\s+\w+/ -/=>/ -/(?<!\w)with(?!\w)/ -/(?<!\w)\$\w+/ -/(?<!\w)(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)(?!\w)/ -/(?<!\w)(?:\d*\.)?\d+(?:E[-+]?\d+)?(?!\w)/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/(?<!\w)DEF\s+[A-Z_]\w+/i -/(?<!\w)[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|(?<!\w)(?:and|or|not)(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/(?<!\w)(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/(?<!\w)(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)(?!\w)/ -/(?<!\w)(?:class|extends|implements|instanceof|interface|new|type)\s+(?:[$A-Z_a-jl-z\xa0-\uffff]|k(?!eyof(?!\w)))[\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?!\S)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?!\S)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/(?<!\w)(?:document|location|navigator|performance|(?:local|session)Storage|window)(?!\w)/ -/(?<!\w)console(?=\s*\.)/ -/^[A-Z][^]*/ -/(?<!\w)(?:(?:(?:Ui|I)nt(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)(?!\w)/ -/(?<!\w)[A-Z]\w*Error(?!\w)/ -/(?<!\w)(?:as|default|export|from|import)(?!\w)/ -/(?<!\w)undefined(?!\w)/ -/(?<!\w)(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)(?!\w)/ -/@+\w+/ -/(?:[-+]|(?<!\w))(?:(?:NaN|Infinity|0x[\dA-Fa-f]+)(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+(?!\w))?)/ -/"(?:\\(?:\r\n?|\n|.)|[^\n\r"\\])*"|'(?:\\(?:\r\n?|\n|.)|[^\n\r'\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|[^\n\r"\\])*"|'(?:\\(?:\r\n?|\n|.)|[^\n\r'\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/(?<!\w)(?:at|new)(?!\w)/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:(?<!\w)at\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/(?::\d+){1,2}(?!\w)/ -/(?<!\w)(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?:(?<!\w)html|\.\s*(?:inn|out)erHTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)svg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)m(?:d|arkdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)g(?:ql|raphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)(?!\w)/ -/(?<!\w)(?:(?=\d)|(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>{1,2}=?)?|={1,2}=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/:{1,2}|[(),.;?[\]{}]/ -/(?<!\w)(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)(?!\w)|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])#(?:=(?:#+(?:[^#=]|#=(?:(?:=+||#+)[^#=])*=+#)|=+[^#=]|[^#=]|#=(?:(?:=+||#+)[^#=])*=+#)*=+#|.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/(?<!\w)C\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/(?<!\w)(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)(?!\w)/i -/(?<!\w)(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)(?!\w)/i -/(?<!\w)(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)(?!\w)/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)(?!\w)/i -/(?<!\w)(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)(?!\w)/i -/(?<!\w)(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)(?!\w)/ -/\+[+=]?|-[-=>]?|={1,2}=?|!(?:!|={1,2})?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||(?<!\w)(?:and|inv|or|shl|shr|ushr|xor)(?!\w)/ -/(?<!\w)@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^\w.])(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)(?!\w)/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?[A-Z_](?!\w*\()\w*)?/i -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:[^\n\r{\u2028\u2029].*|(?!\{)|\{[^]*?%\})/ -/[=|]|<<|>>/ -/(?<!\w)\d+(?:\/\d+)?(?!\w)/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()])/ -/\((?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()])/ -/(?:^|[\s()])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)i)?|i)|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|i))(?![^\s()])/ -/(?:^|[\s()])#[ft](?![^\s()])/ -/\((?:[-%*+/]|[<>]=?|=>?)(?![^\s()])/ -/\([^\s'()]+(?![^\s()])/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/(?<!\w)(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)(?!\w)/ -/(?<!\w)(?:0B[01]+(?!\w)|0X[\dA-F]*\.?[-\dA-FP]*(?:-(?=\w)|[\dA-FP](?!\w))|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?[DF]?)/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<{1,2}=?|>{1,2}>?=?|={1,2}|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?![^\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?def(?:un\*?|macro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)(?:\s+\S+)+/ -/&(?:optional|aux)(?:\s+\S+)+/ -/&key(?:\s+\S+)+(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/(?<!\w)\d(?:\d*~[\dA-Z]+|[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])"(?:""(?:"{0,2}(?:\\[^]|[^"\\]))*""|(?:\\[^]|[^"\\])*)"(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|[^-\w\n\r\u2028\u2029])(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)(?!\w)/m -/(?:^|[^-\w])(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:(?:n| no)t)?|not|of|or|til|to|typeof|with|xor)(?!-)(?!\w))/m -/(?:^|[^-\w])(?:false|no|off|on|true|yes)(?!-)(?!\w)/m -/(?:^&|[^&.]&|\.&(?!\.))(?:\d+|(?!&))/m -/\.(?:[=~]|\.{1,2})|\.(?:[&|^]|<<|>{2,3})\.|:(?:=|:=?)|&&|\|[>|]|<(?:<{1,2}<?|-{1,2}!?|~{1,2}!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+{1,2}|@{1,2}|%{1,2}|\*{1,2}|!(?:~?=|-{1,2}>|~{1,2}>)?|~(?:~?>|=)?|={1,2}|\^{1,2}|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'(?:''(?:'{0,2}(?:\\[^]|[^'\\]))*''|(?:\\[^]|[^'\\])*)'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|[^/[\\]|\/(?!\/))(?:\/?(?:\[[^\n\r\]]*\]|\\.|[^/[\\]))*\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*|\d+)/i -/(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*:/i -/(?<!\w)[_a-z][\d_a-z]*(?!\w)/ -/(?:(?:[-+]|(?<!\w))\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|(?<!\w)0x(?:[\dA-Fa-f]*|K[\dA-Fa-f]{19}|[LM][\dA-Fa-f]{31}|H[\dA-Fa-f]{3})[\dA-Fa-f])(?!\w)/ -/[!()*,.;<=>[\]{}]/ -/(?<!\w)(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)(?!\w)/ -/(?<!\w)-?(?:\d+\.?|\.\d)\d*/ -/\.{3}|\u2026|,|!/ -/(?<!\w)OBTW\s+[^]*?\s+TLDR(?!\w)/ -/(?<!\w)BTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?![^\s,])/ -/(?:^|\s)IM (?:IN|OUTTA) YR [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?![^\s,])/ -/(?:^|\s)(?:WIN|FAIL)(?![^\s,])/ -/(?:^|\s)IT(?![^\s,])/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?![^\s,])/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?![^\s,])/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/(?:-include|(?<!\w)(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath))(?!\w)/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?<!\w)(?:(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?[ij]?|[ij](?!\w))/ -/(?<!\w)(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)(?!\w)/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&{1,2}|\|{1,2}/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/(?<!\w)'(?:''|[^\n\r'])*'/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|\d+\.?\d*|\.\d+)/ -/(?<!\w)(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)(?!\w)/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/(?:@proof|(?<!\w)(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|if{1,2}|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt))(?!\w)/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/(?<!\w)(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)(?!\w)/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|(?<!\w)(?:MOD|SHL|SHR)(?!\w))=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?<!\w)(?:-\.?|\.)?\d+(?:\.(?:\d+|(?!\.)))?|\$[\dA-F]+)/i -/^#REM\s*(?:\s[^]*?)??[\n\r\u2028\u2029]#END/im -/'.+/ -/(?<!\w)(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)(?!\w)/ -/@{1,2}\w*/ -/(?<!\w)(?:(?:\.\d+|\d+\.\d+|\d+(?=[Ee]))(?:[Ee][-+]?\d+)?|(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?)(?!\w)/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|(?<!\w)(?:(?:and|or)(?:=|(?!\w))|not(?!\w))/ -/[(),.[\\\]{}]/ -/(?<!\w)[A-Z_]\w*(?=:)|:[A-Z_]\w*/i -/(?<!\w)(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)(?!\w)/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/(?<!\w)(?:clas|extend)s[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/(?<!\w)(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/(?<!\w)(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)(?!\w)/i -/(?<!\w)(?:\d*\.\d+E[-+]?\d+(?!\w)|\d+\.?\d*|\.\d+(?!\w))/i -/[-%*+/=]|!=|={1,2}|\|\||<[=>]?|>=?|(?<!\w)(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)(?!\w)/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/(?<!\w)(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)(?!\w)/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+[^\s{}][^\n\r{}]*/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\W[^]*(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/(?<!\w)(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)(?!\w)/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d{1,2}-\d{1,2}(?:(?:[Tt]| +)\d{1,2}:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d{1,2}(?::?\d\d)?)?)?(?![^\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*(?::(?:$|[\s),\]}])|=))/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?|\.?\d)\d*(?:[Ee][-+]?\d+)?)(?![^\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?::+[^\s(),:=\]}]+|[^\s(),:=\]}]+|[\t ]+[^\s#(),:=\]}])*(?::+(?=[^\s),\]}]))?/ -/\$[A-Z_]+/i -/(?<!\w)(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)(?!\w)/i -/(?:^|[^"\\{])#.*/ -/(?<!\w)(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/(?<!\w)(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)(?!\w)/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*)?"(?:""[^]*?"""(?!")|(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|[^\n\r([{\u2028\u2029]|[([{](?!\.))(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:(?:\.+)??(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.+(?![)\]}]))?|(?<!\w)(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)(?!\w))/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/(?<!\w)(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)(?!\w)/ -/(?<!\w)(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:ur|Tarbal)l|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf|foldl')(?!\w)/ -/[!<=>]=?|\+{1,2}|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:'[^']|[^']|''(?:['\\]|\$\{))*''/ -/(?<!\w)[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/][\w#%&+\-.:=?~]*\/(?:[\w#%&+\-.:=?~][\w#%&+\-./:=?~]*|(?!\/))/ -/(?:^[^\\]??|[^\n\r'\u2028\u2029][^\\]|'[^'\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/(?<!\w)(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_ATTRIBUTE_(?:ARCHIVE|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)(?!\w)/ -/\$(?:\{[\w\-.:^]+\}|\([\w\-.:^]+\))/ -/\$\w+/ -/-{1,2}|\+{1,2}|<=?|>=?|={1,2}=?|&{1,2}|\|{1,2}|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImag|Siz)e|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Prin|sButtonTex)t|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:[GS]etText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Se|Tex)t|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)(?!\w)/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)(?!\w)/im -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:(?<!\w)(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)|@(?:interface|end|implementation|protocol|class|public|protected|private|property|try|catch|finally|throw|synthesize|dynamic|selector))(?!\w)/ -/-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/(?<!\w)(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/(?<!\w)(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)(?!\w)/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|(?<!\w)(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)(?!\w)/ -/[(),.:;[\]{|}]|(?<!\w)_(?!\w)/ -/(?<!\w)#\w+/ -/(?<!\w)~\w+/ -/(?<!\w)'\w+/ -/\`\w+/ -/(?<!\w)[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r'\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r\\\\\`])\`/i -/(?<!\w)(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:[2348]|16)?|if|image(?:1d_(?:(?:array|buffer)_)?|2d_(?:array_(?:(?:depth|msaa_depth|msaa)_)?|depth_|msaa_depth_|msaa_)?|3d_)t|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)(?!\w)/ -/(?<!\w)(?:0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FHLU]*/i -/(?<!\w)cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:[2348]|16)?|command_(?:queue(?:_(?:info|properties))?|type)|context(?:_(?:info|properties))?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_(?:work_group_)?info)?|map_flags|mem(?:_(?:flags|info|object_type))?|platform_i(?:d|nfo)|profiling_info|program(?:_(?:build_)?info)?)(?!\w)/ -/(?<!\w)CL_(?:TRU|FALS)E(?!\w)/ -/(?<!\w)CL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_(?:RECT|TO_IMAGE))?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP_(?:BUFFER|IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZ|CACHE_SIZ|CACHE_TYP|SIZ)|VARIABLE_PREFERRED_TOTAL_SIZ)E|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENT|QUEUE)S|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_(?:ACCELERATOR|ALL|CPU|CUSTOM|DEFAULT|GPU))?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_(?:COMPILED_OBJECT|EXECUTABLE|LIBRARY|NONE))?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_5[56]5|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)(?!\w)/ -/(?<!\w)cl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barri|Mark)er(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:Arg||SubGroup|WorkGroup)Info|MemObjectInfo|PipeInfo|PlatformI(?:Ds|nfo)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|Re(?:lease|tain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)(?!\w)/ -/(?<!\w)(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOC|GLOB)AL_MEM_FENCE|NORMALIZED_COORDS_(?:FALS|TRU)E)|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_5[56]5))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|M(?:IN|AX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_M(?:AX|IN)|U(?:CHAR|SHRT|INT|LONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_)?2)(?:_[FH])?|NAN)(?!\w)/ -/(?<!\w)(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)(?!\w)/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|(?<!\w)(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)(?!\w)/ -/(?<!\w)(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/(?<!\w)[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|:{1,2})|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!{1,2}|[-#*+,/@|~^]|(?<!\w)(?:andthen|div|mod|orelse)(?!\w)/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/(?<!\w)[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*(?!\w)/ -/\/\*[^]*?\*\/|\\\\.*/ -/(?<!\w)(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)(?!\w)/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:(?<!\w)\d(?: *\d)*(?: *\.(?! *\.)(?: *\d)*)?|\.(?: *\d)+)(?: *E *[-+]?(?: *\d)+)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE))(?!\w)/ -/(?:^|[^\w^])\$(?:\w+|(?=[.{]))(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/(?:^|[^\w^])[@^]\w+(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/(?<!\w)(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|{1,2}|=)?|&{1,2}|\|{1,2}|==|<[<=]?|>[=>]?|-[df]?|(?<!\w)(?:def|eq|ge|gt|in|is|le|lt|ne)(?!\w)/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:[^"^]|\^[^])*"|'(?:[^'^]|\^[^])*')/ -/^@[GS]ET_/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)(?:(?:'(?:''|[^\n\r'])*')?#[$%&]?[\dA-F]+)*(?:'(?:''|[^\n\r'])*'(?!'))?|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^\w&])(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^\w&])(?:DISPOSE|EXIT|FALSE|NEW|TRUE)(?!\w)/i -/(?:^|[^\w&])(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)(?!\w)/i -/(?:^|[^\w&])(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)(?!\w)/i -/(?:^|[^\w&])(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)(?!\w)/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|(?<!\w)(?:and|mod|or)(?!\w)/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`|\^[A-Z]/i -/(?:^|[^\w&])(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^\w&])(?:TRU|FALS)E(?!\w)/i -/(?:^|[^\w&])(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)(?!\w)/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/(?<!\w)TYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?!\w))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|(?<!\w)REM[^;]*;|<\*(?:\*+(?:[^*<>]|<(?!\*)|<\*(?:[^*]|\*+[^*>])*\*+>)|(?:<+)??(?:[^*<]|<\*(?:[^*]|\*+[^*>])*\*+>))*\*+>|\/\+[^]*?\+\// -/(?<!\w)(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)(?!\w)/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/(?<!\w)(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?!\w)/ -/-[ABCMORSTWXb-gklopr-uwxz](?!\w)|\+[+=]?|-[-=>]?|\*{1,2}=?|\/{1,2}=?|=[=>~]?|~[=~]?|\|{1,2}=?|&{1,2}=?|<(?:=>?|<=?)?|>{1,2}=?|![=~]?|[%^]=?|\.(?:=|\.{1,2})?|[?\\]|(?<!\w)(?:x(?:=|(?!\w))|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)(?!\w))/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?[$A-Z_][\w$]*)+(?:::)*/i -/[$%&*@]\d+/ -/[$@][^\0-\x200-9A-Za-z\x7f-\uffff]|%[\x21-\x2f:;<>?@[\\\]\^_\`{|}~]/ -/<(?:[^\s<=]\S*)?>|(?<!\w)_(?!\w)/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/(?<!\w)q[qwx]?\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/(?<!\w)q[qwx]?\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)/ -/(?<!\w)q[qwx]?\s*\((?:[^()\\]|\\[^])*\)/ -/(?<!\w)q[qwx]?\s*\{(?:[^\\{}]|\\[^])*\}/ -/(?<!\w)q[qwx]?\s*\[(?:[^[\\\]]|\\[^])*\]/ -/(?<!\w)q[qwx]?\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:[^"\\]|\\[^])*"|\`(?:[^\\\\\`]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/(?<!\w)(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s+(?:0(?:[^0\\]|\\[^])*0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z(?:[^\\z]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-\w])(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?!\w)))/ -/sub/ -/@(?:global|param|property(?:-(?:read|write))?|var)\s+(?:(?:[A-Za-z]\w*)?(?:[[\\\]|](?:[A-Za-z]\w*)?)*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])\s+)?\$\w+/ -/@(?:global|package|param|property(?:-(?:read|write))?|return|subpackage|throws|var)\s+(?:[A-Za-z]\w*)?(?:[[\\\]|](?:[A-Za-z]\w*)?)*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])/ -/(?<!\w)(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)(?!\w)/ -/[()[\\\]|]/ -/\$this(?!\w)/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)(?!\w)/ -/(?:(?<!\w)\w|(?<=\w)\\)[\w\\]*::/ -/static|self|parent/ -/::|\\/ -/(?<!\w)(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/(?<!\w)(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_(?:DATE|TIME|TIMESTAMP|USER))?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OF{1,2}|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+(?!\w)|\d+\.?\d*|\.\d+(?!\w))/i -/[-%*+/=~^]|&{1,2}|\|{1,2}|!=?|<(?:=>?|<|>)?|>[=>]?|(?<!\w)(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)(?!\w)/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*')/ -/(?<!\w)(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:AN|VAR)Y|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)(?!\w)/i -/:=/ -/@(?:"(?:\\[^]|[^"\\])+"|'(?:\\[^]|[^'\\])+'|\`(?:\\[^]|[^\\\\\`])+\`)/ -/(?:(?<!\w)(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time))(?!\w)/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.{2,3}/ -/[(),;[\]{}]/ -/(?:^|[^\\])\/(?:\*[^]*?\*\/|\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)Day\.(?:Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day(?!\w)/ -/(?<!\w)TraceLevel\.(?:Critical|Error|Information|Verbose|Warning)(?!\w)/ -/(?<!\w)Occurrence\.(?:First|Last|All)(?!\w)/ -/(?<!\w)Order\.(?:A|De)scending(?!\w)/ -/(?<!\w)RoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)(?!\w)/ -/(?<!\w)MissingField\.(?:Error|Ignore|UseNull)(?!\w)/ -/(?<!\w)QuoteStyle\.(?:Csv|None)(?!\w)/ -/(?<!\w)JoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)(?!\w)/ -/(?<!\w)GroupKind\.(?:Glob|Loc)al(?!\w)/ -/(?<!\w)ExtraValues\.(?:List|Ignore|Error)(?!\w)/ -/(?<!\w)JoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)(?!\w)/ -/(?<!\w)JoinSide\.(?:Lef|Righ)t(?!\w)/ -/(?<!\w)Precision\.D(?:ouble|ecimal)(?!\w)/ -/(?<!\w)RelativePosition\.From(?:End|Start)(?!\w)/ -/(?<!\w)TextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)(?!\w)/ -/(?<!\w)(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type(?!\w)/ -/(?:^|[^\w#.])[.A-Z_][\w.]*(?=\s*\()/i -/(?<!\w)(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)(?!\w)/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?:[-+]|(?<!\w))(?:\d+\.)?|[-+]\.|(?:^|[^\w.])\.)\d+(?:E[-+]?\d+)?)(?!\w)/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRU|FALS)E(?!\w)/i -/\$\w+(?!\w)/ -/(?<!\w)(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)(?!\w)/i -/[(),.;[\]{|}]/ -/(?<!\w)(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+(?!\w)/i -/(?<!\w)(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)(?!\w)/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)(?!\w)|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|[^\n\r$)]|\$+(?:\$\([^\n\r()]*\)|[^\n\r$()]))*\$*\)/ -/(?<!\w)(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)(?!\w)/ -/(?<!\w)(?:[A-WYZ][\dA-Z_]|X(?:[\dA-LN-Z_]|M(?!L(?!\w))))[\dA-Z_]*(?!\w)/ -/<[<=]?|>[=>]?|&{1,2}|\|{1,2}|[%?]|[-!*+/=]=?/ -/(?<!\w)(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)(?!\w)/ -/(?<!\w)(?:fx|fy|xf[xy]?|yfx?)(?!\w)/ -/(?<!\w)[A-Z_]\w*/ -/(?<!\w)[a-z]\w*(?:(?=\()|\/\d+)/ -/(?<!\w)\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|(?<!\w)(?:is|mod|not|xor)(?!\w)/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:''|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?= *[:=]| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/(?<!\w)(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)(?!\w)(?!\s*=\s*\d)/ -/(?<!\w)(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)(?!\w)/ -/(?<!\w)MAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?<!\w)\.?[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/(?<!\w)(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/(?<!\w)r(?:pc\s+\w+|eturns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script(?:[^\w\n\r\u2028\u2029].*)?\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)(?: .+|(?!\w))/m -/^[\t ]*(?:block|extends|include|append|prepend)[^\w\n\r\u2028\u2029].*/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in(?!\w)/ -/^(?:if|unless|else|case|when|default|while)(?!\w)/ -/^mixin/ -/\w+(?=\s*(?:\(|$))/ -/[(),.]/ -/(?<!\w)(?:each|in)(?!\w)/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*(?:!?=|[),]))/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ])))/m -/^[\t ]*(?:[^\s():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*(?:(?:\r?\n|\r)[]Unknown:\\1[](?:[^\s():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ])))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{(?:\{[^]*?\}|%[^]*?%)\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/(?<!\w)(?:even|if|odd)(?!\w)/ -/(?<!\w)(?:true|false|null)(?!\w)/ -/(?<!\w)(?:0x[\dA-Fa-f]+|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?)/ -/(?<!\w)[A-Z_]\w*(?!\w)/i -/[(),.:[\]{}]/ -/(?<!\w)!(?:IMPORTANT|OPTIONAL)(?!\w)/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^\{(?:\{-?|%-?\s*\w+)/ -/-?[%}]\}$/ -/[<=>]=?|!=|\*{1,2}|\/{1,2}|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?!\S)|@[-\w]+)/ -/(?<!\w)\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||(?<!\w)(?:-|and|in|is(?: a| defined| not|nt)?|not|or)(?!\w)/ -/^\{[%{]-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)(?!\w)/i -/(?<!\w)(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)(?!\w)/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|(?<!\w)(?:and|in|or)(?!\w)/ -/[(),.;[\]{}]|:+/ -/(?:(?<!\w)node\s|[(,=[{~]|[+=]>|^)\s*\/(?:[^/\\]|\\[^])+\/[imx]*(?!\w)/ -/"(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^"\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^'\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/(?<!\w)(?:(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)(?!\w)|[A-Z_a-z]\w*(?=\())/ -/(?<!\w)(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)(?!\w)/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.[A-Z_]\w*/i -/(?:\S.*)?\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?:::\w|\w(?!\w*\())\w*(?:::\w+)*/ -/^\$/ -/(?<!\w)(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)(?!\w)/ -/(?<!\w)(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float_(?:matrix|pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)(?!\w)/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|(?<!\w)_+(?!\w))(?:(?:(?<!\w)_+)?(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]_*)*[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])?(?:(?<!\w)_+(?!\w))?|(?<!\w)(?:and|div|mod|not|or)(?!\w)/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.|(?<!\w))(?:(?:INF|NAN)(?!\w)|0X[\dA-F]+|(?:(?:0B)?\d+(?:\.\d)?|\.\d)\d*(?:E[-+]?\d+)?L?)/i -/(?<!\w)__[A-Z]+__(?!\w)/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/(?<!\w)(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)(?!\w)/i -/(?<!\w)\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)(?!\w)/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/^\s*!.*/m -/(?<!\w)(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)(?!\w)/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/(?<!\w)(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)(?!\w)/ -/(?<!\w)(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)(?!\w)/ -/(?<!\w)(?:Tru|Fals|Non)e(?!\w)/ -/(?<!\w)(?:(?=\d)|(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?|\.\d)\d*(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/(?<!\w)CLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{[^{}](?:[^{}]|\{[^{}](?:[^{}]|\{[^{}]+\})*\})*\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/(?<!\w)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|(?:[2-9]|[01](?!:))\d*\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/(?:\\\w+|(?<!\w)(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank))(?!\w)/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|(?<!\w)each(?!\w)/ -/(?:(?<!\w)(?:\.(?!\w)|[01]:)|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]|(?<!\w)_(?!\w)):?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/(?<!\w)(?:as|import|on)(?!\w)/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*[A-Z_a-z]\w*(?=[\t ]*(?:\{|[\t ]on(?!\w)))/m -/:[\t ]*(?:[^\s"'()/;[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])(?:[^\n\r"'()/;[\\\]{}\u2028\u2029]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*/m -/(?:^|[;{])[\t ]*[A-Z_]\w*(?:\.\w+)*(?=[\t ]*:)/im -/(?:^|[;{])[\t ]*property[\t ]+[A-Z_a-z]\w*(?:\.\w+)*[\t ]+[A-Z_a-z]\w*(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/(?<!\w)(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)(?!\w)/ -/(?:\$|(?<!\w))[A-Z_]\w*(?=\()/i -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$[A-Z_]\w*(?!\w)/i -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:={1,2}|~)?|>{1,2}=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/(?<!\w)(?:TRU|FALS)E(?!\w)/ -/\.\.(?:\.|\d+)/ -/(?<!\w)(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)(?!\w)/ -/->?>?|<(?:=|<?-)?|[!=>]=?|:{1,2}|&{1,2}|\|{1,2}|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/%[^\s%]*%/ -/(?<!\w)(?:NaN|Inf)(?!\w)/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?:\.\d*)?|\d+\.?\d*|\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()[\]])/ -/[([](?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()[\]])/ -/(?:^|[\s()[\]])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)i)?|i)|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|i))(?![^\s()[\]])/ -/(?:^|[\s()[\]])#[ft](?![^\s()[\]])/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?![^\s()[\]])/ -/[([][^\s'()[\]]+(?![^\s()[\]])/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'>{][^\s"'>]*)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/(?<!\w)(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)(?!\w)/ -/\.{3}|:[:=]|\|>|->|=(?:={1,2}|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|(?<!\w)(?:mod|land|lor|lxor|lsl|lsr|asr)(?!\w)/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/(?<!\w)[A-Z]\w*(?!\w)(?!\s*\.)/ -/(?<!\w)[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?:[4-9]|[123](?![0-7]{2}))/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\(?:[DSW]|P\{[^{}]+\})/i -/['<][^'<>]+(?=['>]$)/ -/(?<!\w)(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?{1,2}|\.\.\./ -/(?<!\w)[\dA-Z_]+(?!\w)/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/(?<!\w)[A-Z]\w*(?:\.\w+)*(?=(?:\?\s+|\*?\s+\*?)\w)/ -/\[[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?<!\w)(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?:(?<!\w)(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*(?!\w)/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/(?<!\w)(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)(?!\w)/ -/(?<!\w)(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)(?!\w)|\$/ -/(?<!\w)(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)(?!\w)/ -/(?<!\w)(?:[Tt]ru|[Ff]als)e(?!\w)/ -/(?<!\w)(?:(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?|\.\d)\d*(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at)(?!\w)/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!{4,}|"{4,}|#{4,}|\\\${4,}|%{4,}|&{4,}|'{4,}|\({4,}|\){4,}|\*{4,}|\+{4,}|,{4,}|-{4,}|\.{4,}|\/{4,}|:{4,}|;{4,}|<{4,}|={4,}|>{4,}|\?{4,}|@{4,}|\[{4,}|\\{4,}|\]{4,}|\^{4,}|_{4,}|\`{4,}|\{{4,}|\|{4,}|\}{4,}|~{4,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:-{2,3}|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?:\S.*?)??\S\*\*|\*(?:\S.*?)??\S\*|\`\`(?:\S.*?)??\S\`\`|\`(?:\S.*?)??\S\`|\|(?:\S.*?)??\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?![^\s!"'),\-./:;?\\\]}])/ -/(?:(?<!\w)[\dA-Z]+(?:[+.:_][\dA-Z]+)*_{1,2}|\`[^\`]+\`_{1,2}|_\`[^\`]+\`)(?![^\s!"'),\-./:;?\\\]}])/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|[^\s|](?:[^|]*[^\s|])?\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!+|"+|#+|\$+|%+|&+|'+|\(+|\)+|\*+|\++|,+|-+|\.+|\/+|:+|;+|<+|=+|>+|\?+|@+|\[+|\\+|\]+|\^+|_+|\`+|\{+|\|+|\}+|~+)/m -/\*{1,2}|\`{1,2}|\|/ -/^\[|\]_$/ -/^_?\`|(?:\`|\`?_{1,2})$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|(?<!\w)(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)(?!\w)/ -/@|(?<!\w)System(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?!\w)/ -/(?<!\w)\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\`(?:[^\s\w"#'(),./:;<>[\\\]\`{}](?=\w)|\w(?!\w))/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:[-+]|(?<!\w))\d+(?:\.\d+)?(?!\w)/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)(?!\w))/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r] ?(?:[^\s#.]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?[^\s#](?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/\[Documentation\](?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r](?: {2}|\t)[\t ]*(?:[^\s#.[]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/^[$%&@]\{|\}$/ -/(?<!\w)[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/(?<!\w)[A-Z_][\dA-Z_]+(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?(?!\w)/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<{1,2}=?|>{1,2}=?|[?@]/ -/b?(?:"(?:\\[^]|[^"\\])*"|r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[])/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]|(?<!\w)move)\s*\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/(?<!\w)fn\s+\w+/ -/(?<!\w)(?:enum|struct|union)\s+\w+/ -/(?<!\w)(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)(?!\w)/ -/(?<!\w)(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)(?!\w)/ -/\w+!/ -/(?<!\w)(?:[a-z][\d_a-z]*\s*::\s*)*[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:\/+(?:[^*/]|\/\*(?:\/+(?:[^*/]|\/\*(?:(?:\*+||\/+)[^*/])*\*+\/)|\*+[^*/]|[^*/]|\/\*(?:(?:\*+||\/+)[^*/])*\*+\/)*\*+\/)|\*+[^*/]|[^*/]|\/\*(?:\/+(?:[^*/]|\/\*(?:(?:\*+||\/+)[^*/])*\*+\/)|\*+[^*/]|[^*/]|\/\*(?:(?:\*+||\/+)[^*/])*\*+\/)*\*+\/)*\*+\/)*\*\// -/(?<!\w)(?:crate|mod)\s+[a-z][\d_a-z]*/ -/(?<!\w)(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*|(?!\w))/ -/(?<!\w)\d(?:[\dA-F]*X|\d*(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/\*{1,2}|\|{1,2}|!{1,2}|\xa6{1,2}|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINE|CARD)S;[^]*?[\n\r\u2028\u2029]\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?:[^\s"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:(?:"(?:""|[^"])*")?(?:[^"';]|'(?:''|[^'])*'(?:[^"';]|"(?:""|[^"])*"(?!"))))*(?:"(?:""|[^"])*")?(?:'(?:''|[^'])*')?;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)(?!\w)/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/(?<!\w)INPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+[^\w;][^;]*/i -/%?\w+(?=\()/ -/(?<!\w)(?:FORMA|PU)T(?:=[\w$'.]|[$'.])[\w$'.]*/i -/(?<!\w)(?:FORMA|PU)T\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')[bx]/ -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))(?!\w)/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)(?!\w)/i -/(?<!\w)(?:EQ|NE|GT|LT|GE|LE|IN|NOT)(?!\w)/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+(?!\w)/i -/(?:^|;)\s*\*[^;]*;/m -/^(?:FORMA|PU)T(?==)/i -/^(?:FORMA|PU)T/i -/^(?:(?:DATA)?LINE|CARD)S/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])(?:(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"';])|[^"';]))*(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*")?;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)(?!\w)/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)(?!\w)/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])(?:(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"'])|[^"']))*?(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*")?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)(?!\w)/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:|:[^\s:]+).*/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|(?<!\w)(?:and|or|not)(?!\w)/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*'|<<-?\s*\w+[\t ]*(?:[\n\r\u2028\u2029][^]*?)??[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"|'\w+')[\t ]*(?:[\n\r\u2028\u2029][^]*?)??[\n\r][]Unknown:\\4[])+/ -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?![^:])/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:tru|fals)e(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.[-A-Z_][-\w]*/i -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#(?:[\dA-Z]+|-|!{1,2}|%{1,2}|&{1,2}|\*{1,2}|\+{1,2}|\/{1,2}|<{1,2}|={1,2}|>{1,2}|\?{1,2}|@{1,2}|\\{1,2}|\|{1,2}|~{1,2}|(?=\())/i -/(?<!\w)(?:nil|true|false|self|super|new)(?!\w)/ -/[<=]=?|:=|~[=~]|\/{1,2}|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/(?<!\w)\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/(?<!\w)(?:false|off|on|no|true|yes)(?!\w)/ -/^\{|\}$/ -/\$[A-Z_]\w*/i -/#[A-Z_]\w*#/i -/^\/?[A-Z_]\w*/i -/[A-Z_]\w*(?=\()/i -/\w+\s*=\s*(?:[A-Z_]\w*)?/i -/[(),.:[\]\`]|->/ -/[-%*+/]|={1,2}=?|[!<>]=?|&&|\|{1,2}/ -/(?<!\w)is\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?(?!\w)/ -/(?<!\w)(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)(?!\w)/ -/(?:\.|->)[A-Z_]\w*/i -/\[[A-Z_]\w*(?=\])/i -/\|\s*@?[A-Z_]\w*/i -/=\s*[A-Z_]\w*/i -/(?<!\w)(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)(?!\w)/ -/(?<!\w)(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)(?!\w)/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/(?<!\w)(?:contract|enum|interface|library|new|struct|using)\s+[$A-Z_a-z][\w$]*/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+(?!\w)/ -/(?<!\w)(?:FALS|TRU)E(?!\w)/ -/^[\t ]*(?:[A-Z]\w*(?!\w)(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/(?<!\w)(?:\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|0x[\dA-F]+)(?!\w)/ -/\?:?|<=?|>=?|={1,2}|!=|[-%*+/]|(?<!\w)(?:and|not|or)(?!\w)/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/(?<!\w)(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)(?!\w)/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/(?:[-+]|(?<!\w))\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:"{0,2}(?:[^"\\]|\\.))*"""|'''(?:'{0,2}(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u|U[\dA-Fa-f]{4})[\dA-Fa-f]{4})*>/ -/(?:[A-Z_\xb5\xc0-\ufffd][\w\-.\xb5\xb7\xc0-\ufffd]*)?:(?:(?:[\w:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)*)?/i -/(?:(?<!\w)a|@prefix|@base)(?!\w)|=/ -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/(?<!\w)(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)(?!\w)/i -/(?<!\w)(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)(?=\s*\()/i -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/(?<!\w)(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)(?!\w)/i -/\w+(?=\s*=(?!=))/ -/(?<!\w)(?:F|FALSE|T|TRUE)(?!\w)/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/(?<!\w)(?:AND|AS|BY|NOT|OR|XOR)(?!\w)/i -/(?<!\w)\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?(?!\w)/ -/(?<!\w)(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)(?!\w)/i -TooManyNodesError -/(?:(?:\$|(?<!\w)0X)[\dA-F]+|(?<!\w)(?:\.\d+|\d+(?:\.\d+)?)(?:E[-+]?\d+)?)(?!\w)/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/(?<!\w)DIK(?:_[\dA-Z]+)+(?!\w)/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/(?<!\w)(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)(?!\w)/i -/#[A-Z]+(?!\w)/i -/(?<!\w)(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)(?!\w)/i -/(?<!\w)(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)(?!\w)/ -/(?<!\w)(?:AT|BOOL|BYTE|[DL]?WORD|U?[DLS]?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)(?!\w)/ -/%(?:[IMQ][BDLWX]|[IQ])[\d.]*/ -/(?<!\w)(?:(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)(?!\w)|(?:[DT]|DT|TOD)#[\d:DHMS_]*)|\b[A-Z]*#[\d,._]*|(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/ -/S?R?:?=>?|&{1,2}|\*{1,2}|<=?|>=?|[-+/:^]|(?<!\w)(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)(?!\w)/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/(?<!\w)(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN|FILE|FUNCTION|LINE)__)(?!\w)/ -/(?<!\w)(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)(?!\w)/i -/(?<!\w)(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)(?!\w)/ -/@(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)(?!\w)/ -/(?<!\w)(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:Fir|La)st|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:Mutable)?Pointers?|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r'\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+)/ -/^["'=]|["']$/ -/(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR|#(?:CONST|ELSE|ELSEIF|END|IF))(?:\$|(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?\d(?:\d{3}-\d{1,2}-\d{1,2}(?:[Tt]|[\t ]+)\d{1,2}:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d{1,2}(?::\d{2})?)?|\d{3}-\d{2}-\d{2}|\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRU|FALS)E(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?|\.?\d)\d*(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*{1,2}|==|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[-%+/?~^]|(?<!\w)(?:eq|ne|in|ni)(?!\w)/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/(?<!\w)else(?:if)?(?!\w)/ -/^\s*(?:global|upvar|variable)(?!\w)/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)(?!\w)/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)(?!\w)/m -/#.*|\[%#[^]*?%\]/ -/(?<!\w)(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)(?!\w)/ -/=[=>]?|!=?|<=?|>=?|&&|\|{1,2}|(?<!\w)(?:and|or|not)(?!\w)/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^[%[]%-?|-?%\]$/ -/(?<!\w)[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*(?!\w)/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/(?:(?<!\w)0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)|(?:[-+]|(?<!\w))\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?|(?:[-+]|(?<!\w))(?:inf|nan))(?!\w)/ -/[,.=[\]{}]/ -/^\s*(?:\[\s*){1,2}(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^|[,{])\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?(?!\w)/i -/(?<!\w)\d{2}:\d{2}:\d{2}(?:\.\d+)?(?!\w)/ -/(?<!\w)(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)(?!\w)/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&{1,2}|\|{1,2}|\^{1,2}|[%:?]|(?<!\w)(?:Cross|Dot|ClockwiseFrom)(?!\w)/ -/[(),.;[\]{}]/ -/(?<!\w)(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/(?<!\w)(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|(?<!\w)in(?!\w)/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|(?<!\w)(?:eq|g[et]|l[et]|n(?:e|ot))(?!\w)/ -/[^-\w][a-z][-\w]*(?=\()/ -/(?<!\w)\$\w+(?!\w)/ -/(?<!\w)\`\w+(?!\w)/ -/(?<!\w)(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)(?!\w)/ -/(?<!\w)always(?:_(?:latch|comb|ff))?(?: |(?!\w))@?/ -/(?<!\w)#{1,2}\d+|(?:(?<!\w)\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/(?<!\w)(?:USE|LIBRARY)(?!\w)/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)(?!\w)/i -/'[-01HLUWXZ]'|(?<!\w)\d(?:\d*#[\d.A-F_]+#|[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|(?<!\w)(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)(?!\w)/i -/(?:(?<!\w)[BOX]"[\dA-F_]+|"[-01HLUWXZ]+)"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/(?<!\w)(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)(?!\w)/ -/(?<!\w)(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?)(?!\w)/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|(?<!\w)is(?:not)?(?!\w)/ -/[(),:;[\]{}]/ -/(?:(?:(?<!\w)\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/(?<!\w)(?:TRUE|FALSE|NOTHING)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:(?:TYP|XMLNAMESPAC)E)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:(?:INHERIT|OVERRID)ABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)(?!\w)/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM(?!\w))(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\d+(?:(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M|(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M)?))?|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M|(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M)?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/(?<!\w)(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)(?!\w)/ -/(?:[-+]|(?<!\w))(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/(?<!\w)(?:false|true|F|T)(?!\w)/ -/<%|%>|[()[\]{}]/ -/==|&{1,2}|\|{1,2}|\*{1,2}|>{2,3}|<<|==|[!<>~]=?|[-%/^]|\+!?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:'+(?:[^'>\\]|\\.)|[^'\\]|\\.)*'+>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/(?:(?:[-+]|(?<!\w))(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)|(?<!\w)(?:inf|nan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?))(?!\w)/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/(?<!\w)(?:anyfunc|block|br(?:_(?:if|table))?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:glob|loc)al|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:glob|loc)al|start|table|tee_local|then|type|unreachable)(?!\w)/ -/;;.*/ -/(?<!\w)(?:align|offset)=/ -/(?<!\w)(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))(?!\w)/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI(?:\W[^]*?)??>[^]*?<\/NOWIKI|PRE(?:\W[^]*?)??>[^]*?<\/PRE|SOURCE(?:\W[^]*?)??>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/''(?:'''.+?'''|''.+?''|'.+?'|.+?)''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX](?!\w)|(?:RFC|PMID) +\d+/i -/\[(?:\[.+?\]|.+?)\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^'{2,}|'{2,}$/ -/<(?:(?:NOWIKI|PRE|SOURCE)(?:\W[^]*?)??|\/(?:NOWIKI|PRE|SOURCE))>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w(?:\w*:\{|(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?)/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)(?!\w)/i -/<[=>]?|>=?|[-*+/=\\^]|(?<!\w)(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)(?!\w)/i -/[(),.:;]/ -/(?:'.|\/\/.|REM[^\w\n\r\u2028\u2029]).*/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|[^"])*"|'(?:''|[^'])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-\w:])(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)(?!\w)(?![-:])/ -/(?:^|[^-\w:])(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greate|lea)st|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)(?!\w)(?![-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-\w:])(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))(?!\w)(?![-:])/ -/[*+=?@|]|\.{1,2}|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}/ -/\/(?:\*[^]*?\*\/|\/.*)/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/(?<!\w)@[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/(?<!\w)(?:(?:break|continue)\s*:\s*\w+(?!\w)|[A-Z_a-z]\w*(?=\s*:\s*(?:\{|while(?!\w))))/ -/(?<!\w)[A-Z_a-z]\w*(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/(?<!\w)(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:floa|in)t|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)(?!\w)/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?:!|(?!\s))\s*(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)(?:\s+|(?<!\w)))?(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?:!|(?!\s))\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?:!|(?!\s))\s*(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)(?:\s+|(?<!\w)))?(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; - -module.exports[n`Transformers >> simplify >> Prism regex snapshot ignoring order and ambiguity `] = lit` -/<!--[^]*-->/ -/<\?[^]+\?>/ -/<!\[CDATA\[[^]*\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:<+(?:[^!"'<\]]|!(?!--)|"[^"]*"|'[^']*'|<!--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>)|[^"'<\]]|"[^"]*"|'[^']*'|<!--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>)*<*\]\s*)?>/i -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/["']/ -/^=/ -/\/\*[^]*\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT(?!\w)/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*(?:;|(?=\s*\{))/ -/(?<!\w)URL\((?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|(?:[^\n\r"'()\\]|\\[^])+)?\)/i -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/(?<!\w)selector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')$/ -/<STYLE[^]*>(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^<]|<+(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^!<]|!(?!\[CDATA\[)))*<*(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/(?<!\w)(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)(?!\w)/ -/(?<!\w)(?:tru|fals)e(?!\w)/ -/\w+(?=\()/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)/i -/[<>]=?|[!=]={0,2}|-{1,2}|\+{1,2}|&{1,2}|\|{1,2}|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/(?<!\w)(?:(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|CATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/(?<!\w)[A-Z](?:[A-Z_]|\dx?)*(?!\w)/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/(?<!\w)(?:(?:0(?:[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|[Bb](?:[01](?:_[01])?)+|[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)(?!\w)|(?:(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?)/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>{2,3}=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/(?<!\w)(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|(?<!\w)(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*+[^*/])*\*+\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*|\])\s*\(\s*(?:[^\s()]|\([^()]*\))(?:[^()]|\([^()]*\))*(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)(?!\w)/ -/(?:^|[^\w.]|\.\.\.\s*)(?:as|async(?=\s*(?:function(?!\w)|[\w$(\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|[gs]et(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*>(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^<]|<+(?:<!\[CDATA\[(?:(?:\](?:\]+(?!>))?)?[^\]])*\]{2,}>|[^!<]|!(?!\[CDATA\[)))*<*(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|[^\n\r\\\\\`])*\`|'(?:\\.|[^\n\r'\\])*'/ -/(?<!\w)\d+(?!\w)/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:[\s.]|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|[CEIMOXZ])(?!\w)/i -/\s(?:\*{1,2}|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&{1,2}(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])\d*(?:\*\d*|\d)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/[<>]/ -/(?<!\w)(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)(?!\w)/ -/\+\+|--|(?:[-%*+/^]|&{1,2}|\|{1,2}|<{1,2}|>{1,3}|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/(?<=\w)'\w+/ -/(?<!\w)(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/<[=>]?|>=?|=>?|:=|\/=?|\*{1,2}|[-&+]/ -/\.{1,2}|[(),:;]/ -/'.'/ -/(?<!\w)[A-Z]\w*(?!\w)/i -/(?<!\w)\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/(?<!\w)\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?(?!\w)/i -/\{-[^]*(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/(?<!\w)(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)(?!\w)/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/(?:\/.*|\*[^]*\*\/)/ -/\b(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)(?:F|UL{0,2}|L{1,2})?\b/i -/(?<!\w)(?:FALS|TRU)E(?!\w)/i -/(?<!\w)(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)(?!\w)/ -/(?<!\w)(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)(?!\w)/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|(?<!\w)(?:AND|DIV|MOD|NOT|OR|XOR)(?!\w)/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:(?<!\w)(?:EVENT|PROCEDURE|TRIGGER)\s|(?:^|[^.])\.)\s*[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)(?!\w)/i -/(?<!\w)(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)(?!\w)/i -/\/(?:\/.*|\*[^]*(?:\*\/|$))/ -/(?<!\w)(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)(?!\w)/ -/(?<!\w)[A-Z][A-Z_]*(?!\w)/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*|(?<!\w))[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/(?<!\w)\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/(?<!\w)[a-z]\w*(?=\s*:)/ -/(?<!\w)[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_(?:LOGEMAIL|MUSTGIVEEMAIL|NOUSERID|VERIFYEMAIL))?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:(?:MAXSIZ|MAXTIM|MINTIM|READSIZ|READTIM)E)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURS|LIMI)T|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)(?!\w)/im -/<\/?(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)(?: +|(?!\w)).*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*(?:\.|(?<!\w))\d+(?:E[+\xaf]?\d+)?|[\xaf\u221e])(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|[\xaf\u221e]))?/i -/:[A-Z][a-z][A-Za-z]*(?!\w)/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E-?\d+)?\b/i -/(?<!\w)(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)(?!\w)/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*+[^)*])*\*+\)|[^(]|\(+(?:\(\*(?:[^*]|\*+[^)*])*\*+\)|[^(*]))*\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/(?<!\w)(?:(?:start|begin|end)s? with|does(?: no|n')t contain|contains?|is(?:(?:n'| no)t)? (?:in|contained by)|(?:is(?:(?:n'| no)t)? )?(?:greater|less) than(?: or equal)?(?: to)?|(?:does(?: no|n')t come|comes) (?:before|after)|is(?:(?:n'| no)t)? equal(?: to)?|does(?: no|n')t equal|equals|equal to|isn't|is not|(?:a )?ref(?:(?:erence)? to)?|and|or|div|mod|as|not)(?!\w)/ -/(?<!\w)(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)(?!\w)/ -/@{1,2}\w+/ -/[A-Z_]\w*(?=\s*\()/i -/(?:TRU|FALS)E/i -/(?<!\w)(?:\.\d+|(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:[A-Z_]\w*|"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4)(?=\s*:)/i -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|\`(?:[^\n\r\\\\\`]|\\.)*\`|\xb4(?:[^\n\r\\\xb4]|\\.)*\xb4/ -/(?<!\w)(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)(?!\w)/i -/\.\./ -/(?<!\w)WITH\s+COUNT(?=\s+INTO(?!\w))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)(?!\w)/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)(?!\w)/ -/(?<!\w)OPTIONS(?=\s*\{)/i -/(?<!\w)(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)(?!\w)/ -/(?<!\w)(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)(?!\w)/ -/[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w)/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|(?<!\w)(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)(?!\w)/ -/(?<!\w)(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)(?!\w)/ -/(?<!\w)(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)(?!\w)/ -/(?<!\w)(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)(?!\w)/ -/\/(?:\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\*[^]*(?:\*\/|$))/ -/^\s*#\s*[A-Z]+(?:\/+(?:[^\n\r*/\\]|\/\*(?:[^*]|\*+[^*/])*\*+\/|\\(?:\r\n|[^]))|[^\n\r/\\]|\/\*(?:[^*]|\*+[^*/])*\*+\/|\\(?:\r\n|[^]))*(?:\/+(?!\*))?/im -/(?<!\w)(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*\)[]Unknown:\\1[]"/ -/(?<!\w)(?:class|struct)\s+\w+\s*:\s*[^"';{}]+(?=\s*[;{])/ -/(?<!\w)[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/(?<!\w)[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:(?<!\w)0(?:B['01]+|X(?:[\d'A-F]+\.?|\.[\d'A-F])[\d'A-F]*(?:P[-+]?[\d']+)?)|(?:(?:(?<!\w)\d|(?<=\w)')[\d']*\.?|(?<!\w)\.[\d'])[\d']*(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/(?<!\w)[A-Z_]\w*(?!\w)(?!\s*::)/i -/(?<!\w)(?:class|concept|enum|struct|typename)\s+(?!(?<!\w)(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?!\w))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)(?!\w)/i -/(?<!\w)\d+(?:\.\d+)?(?!\w)/ -/[,{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))?[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))?[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))?[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))?[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^(?:.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|={1,5} +.+|\.(?:[^\s.].*|(?![\s.])))/m -/^:[^\n\r:]+:(?: .*(?: \+(?:\r?\n|\r).*)*)?$/m -/^[\t ]*\[(?:(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|[^[\\\]]|\\.)(?:"(?:[^"\\]|\\.)*"|\$(?:[^$\\]|\\.)*\$|'(?:[^'\\]|\\.)*'|\`(?:[^\\\\\`]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*)?\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/(?<!\w)[\da-z][-\da-z]*:{1,2}\S*\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?<!\w)(?:\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:_(?:[^\s\\_]|\\.)(?: _|[^\n\r\\_]|\\.)*(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_|\`\`\S.*(?:(?:\r?\n|\r).+)*''|\`[^\s'\`](?:[^\s'\`]|\s+\S)*['\`]|#(?:[^\s#\\]|\\.)(?: #|[^\n\r#\\]|\\.)*(?:(?:\r?\n|\r)(?: #|[^\n\r#\\]|\\.)+)*#|'(?:[^\s'\\]|\\.)(?: '|[^\n\r'\\]|\\.)*(?:(?:\r?\n|\r)(?: '|[^\n\r'\\]|\\.)+)*'|\*(?:[^\s*\\]|\\.)(?: \*|[^\n\r*\\]|\\.)*(?:(?:\r?\n|\r)(?: \*|[^\n\r*\\]|\\.)+)*\*|\+(?:[^\s+\\]|\\.)(?: \+|[^\n\r+\\]|\\.)*(?:(?:\r?\n|\r)(?: \+|[^\n\r+\\]|\\.)+)*\+)(?!\w)|(?:\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\])?(?:__.+(?:(?:\r?\n|\r).+)*__|\*\*.+(?:(?:\r?\n|\r).+)*\*\*|\+\+\+.+(?:(?:\r?\n|\r).+)*\+\+\+|\+\+.+(?:(?:\r?\n|\r).+)*\+\+|##.+(?:(?:\r?\n|\r).+)*##|\$\$.+(?:(?:\r?\n|\r).+)*\$\$|\^.+(?:(?:\r?\n|\r).+)*\^|~.+(?:(?:\r?\n|\r).+)*~|\{[^\n\r}]+\}|\[{2,3}.+(?:(?:\r?\n|\r).+)*\]{2,3}|<<.+(?:(?:\r?\n|\r).+)*>>|\({2,3}.+(?:(?:\r?\n|\r).+)*\){2,3}))/m -/\((?:[CR]|TM)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^:{1,2}/ -/^(?:\`{1,2}|\+{1,3}|#{1,2}|\$\$|[~^]|\({2,3})|(?:'{1,2}|\+{1,3}|#{1,2}|\$\$|[\`~^]|\){2,3})$/ -/(?:(?:\d+(?:\.\d+)?|\.\d+)[*+]|(?!\|))(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:[^$\\]|\\.)*\$|\`(?:[^\\\\\`]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\\.)*\]/ -/^(?:\[{2,3}.+\]{2,3}|<<.+>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[{2,3}|<<)|(?:\]{2,3}|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|:{1,2}/ -/^(?:'{1,2}|_{1,2})|(?:'{1,2}|_{1,2})$/ -/^\*{1,2}|\*{1,2}$/ -/^\{[-\d+,_a-z]+/ -/(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)/ -/(?<!\w)(?:0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\.\d+(?:_+\d+)*|\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?(?!\w)/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/(?<!\w)(?:namespace|using)\s+@?[A-Z_a-z]\w*(?:\s*\.\s*@?[A-Z_a-z]\w*)*(?=\s*[;{])/ -/(?<!\w)(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/(?<!\w)new\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/(?:@|(?<!\w))[A-Z_]\w*\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/(?<!\w)(?:(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?[A-Z_a-z]\w*)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:(?:assembly|event|field|method|module|param|property|return|type)\s*:\s*)?(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\))?(?:\s*,\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?[A-Z_]\w*(?=\s*:)/i -/<%--[^]*--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER)[^]*>[^]*(?=<\/SCRIPT>)/i -/<(?:\/[^\s/>]|[^\s%/>])[^\s/>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*)?(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*)?(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?[A-Z_]\w*(?!\w)/i -/,/ -/[,:]/ -/(?<!\w)using\s+static\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/(?<!\w)using\s+@?[A-Z_a-z]\w*(?=\s*=)/ -/(?<!\w)(?:class|enum|interface|struct)\s+@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))/ -/(?<!\w)catch\s*\(\s*(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*/ -/(?<!\w)where\s+@?[A-Z_a-z]\w*(?!\w)/ -/(?<!\w)(?:is(?:\s+not)?|as)\s+(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!(?<!\w)(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w))@?[A-Z_a-z]\w*\s*(?:[),:;=\]{]|\s(?:i|whe)n(?!\w)))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)(?!\w)/ -/^(?:assembly|event|field|method|module|param|property|return|type)(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*\)/ -/(?:@|(?<!\w)(?!(?<!\w)(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?!\w)))[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w))(?:\s*\.\s*@?[A-Z_a-z]\w*(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|(?!\w)))*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*)?(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?:(?:[^"'()/:{}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*)?(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:[^"'()/:}]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/(?:[^"'()*/]|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/?\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^\{(?:[^"'()/:}]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:\/+(?:[^"'()*/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))|[^"'()/]|\/\*(?:[^*]|\*+[^*/])*\*+\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\/*\))*\))*\))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\`(?:\\.|[^\n\r\\\\\`])*\`/ -/\.\w+(?= )/ -/(?<!\w)(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)(?!\w)/ -/#?\$[\dA-F]{2,4}(?!\w)/i -/#?%[01]+(?!\w)/ -/(?:#|(?<!\w))\d+(?!\w)/ -/(?<!\w)[AXY](?!\w)/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+(?=:(?:[^:]|$))/m -/%\w+%/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee]-?\d+)?)/ -/\?|\/{1,2}=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|[=>])?|>{1,2}=?|[!.=~^]=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/(?<!\w)(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)(?!\w)/i -/(?<!\w)(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)(?!\w)/i -/(?<!\w)(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)(?!\w)/i -/(?<!\w)(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)(?!\w)/i -/#(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)(?!\w)/i -/(?<!\w)(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)(?!\w)/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/(?<!\w)\w+(?=\()/ -/[$@]\w+/ -/(?<!\w)(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|(?:END)?(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|GLOBAL|IN|LOCAL|NEXT|NULL|REDIM|STATIC|STEP|THEN|TO|UNTIL|VOLATILE|WEND|WHILE)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/<[=>]?|[-&*+/=>]=?|[?^]|(?<!\w)(?:AND|OR|NOT)(?!\w)/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|[^\n\r"])*"|'(?:''|[^\n\r'])*'/ -/^\s*#\w+/m -/^\s*#c(?:omments-start|s)[^]*[\n\r\u2028\u2029]\s*#c(?:omments-end|e)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\({1,2}|\){1,2}|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/(?<!\w)(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/(?:\$|(?<!\w))(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:[.:]|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?![^\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:tru|fals)e(?![^\s&);|])/ -/(?<!\w)&\d(?!\w)/ -/\d?<>|>\||\+=|={1,2}|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?(?!\w)/ -/(?<!\w)function\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/(?<!\w)\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+\s*(?:\r?\n|\r)[^]*(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"|'\w+')\s*(?:\r?\n|\r)[^]*(?:\r?\n|\r)[]Unknown:\\3[]/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*')/ -/\$?\(\([^]+\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/-{1,2}|-=|\+{1,2}|\+=|!=?|[:?~]|\*{1,2}|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|={1,2}|&{1,2}|&=|\^=?|\|{1,2}|\|=/ -/\({1,2}|\){1,2}|[,;]/ -/^(?:\$\(|\`)|[)\`]$/ -/:[-+=?]?|[!/]|#{1,2}|%{1,2}|\^{1,2}|,{1,2}/ -/^\d/ -/\$(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\(/ -/\{(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)(?!\w)/ -/^\$\(\([^]+\)\)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?<!\w)(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|(?<!\w)(?:AND|EQV|IMP|NOT|OR|XOR)(?!\w)/i -/[(),:;]/ -/(?:!.|REM[^\w\n\r\u2028\u2029]).*/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM(?:(?:[^\w\n\r&)^]|\^(?:\r\n|[^]))(?:[^\n\r&)^]|\^(?:\r\n|[^]))*|(?!\w))/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE(?!\w)/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+(?:(?!\w)(?:(?:"(?:["\\]"|[^"])*")?(?:[^\n\r"&)^]|\^(?:\r\n|[^])))+|(?!\w))(?:"(?:["\\]"|[^"])*"(?!"))?/m -/(?:^FOR|(?<!\w)(?:IN|DO))(?!\w)/i -/"(?:["\\]"|[^"])*"(?!")/ -/%{1,2}[\w:~]+%?|!\S+!/ -/(?:(?<!\w)|-)\d+(?!\w)/ -/['(),]/ -/(?:^IF|(?<!\w)(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST))(?!\w)/i -/\^|==|(?<!\w)(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?!\w)/i -/^ELSE(?!\w)/i -/^SET(?!\w)/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+(?!\w)/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z](?!\w)|--[-A-Z]*(?:-(?=\w)|[A-Z](?!\w))/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*%%[^]*%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/(?:%\{[^]*%|\{(?:\{[^}]*\}|[^{}])*)\}/ -/(?:^|[^\w@])(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/[[\]]/ -/(?:(?<!\w)REM|').*/i -/(?<!\w)(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)(?!\w)/i -/(?<!\w)[A-Z_]\w*(?=[\t ]*\()/i -/(?:(?<!\w)\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)(?:[!#%&]|(?!\w))/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/[(),.;[\]{}]/ -/(?<!\w)LINE_NUM(?!\w)/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:[A-Z_]\w*|"(?:[^\n\r"]|"")*")(?=[\t ]*:)/i -/"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)AS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/(?<!\w)[FT](?!\w)/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/(?<!\w)(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)(?!\w)/ -/-{1,2}|\+{1,2}|!={0,2}|<=?|>=?|={1,3}|&&|\|{1,2}|[%*/?~^]/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOB|LOC)AL \w+/i -/CONST \w+/i -/(?<!\w)(?:TODO|FIXME|XXX)(?!\w)/ -/^(?:function|hook|event)/ -/(?:glob|loc)al/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/(?<!\w)(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)(?!\w)/ -/(?<!\w)(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.(?:\d+|[Mm]1|s))?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|endf(?:ault|ilter|inally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.(?:\d+|s))?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?(?!\w)/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])[A-Z][-\w!*+?]*\b/i -/(?<!\w)(?:true|false|nil)(?!\w)/ -/(?<!\w)[\dA-F]+(?!\w)/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|[*+\-./<=>]|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/(?<!\w)(?:CMAKE_\w+|\w+_(?:VERSION(?:_(?:MAJOR|MINOR|PATCH|TWEAK))?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERROR|WARNING)S|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)(?!\w)/ -/(?<!\w)(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)(?!\w)/ -/(?<!\w)(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()/ -/(?<!\w)(?:ON|OFF|TRUE|FALSE)(?!\w)/ -/(?<!\w)(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)(?!\w)/ -/(?<!\w)(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)(?!\w)/ -/(?<!\w)\d+(?:\.\d+)*(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/(?<!\w)\w+::\w+(?!\w)/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#[^\n\r{\u2028\u2029].*/ -/[A-Z_]\w*(?=\s*:(?!:))/i -/(?<!\w)(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)(?!\w)/ -/###[^]+###/ -/\/{3}[^]*\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@[A-Z_]\w*/i -/'''[^]*'''/ -/"""[^]*"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/(?<!\w)(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)(?!\w)/ -/(?<!\w)(?:fals|tru)e(?!\w)/ -/(?<!\w)(?:0B[01][01_]*L?(?!\w)|0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:\d[\d_]*\.?|\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFLS]?)/i -/<==|>==|=>|->|<-|<>|[!?^]|&==|&<>|\?:|\.\?|\+\+|--|[-*+/<=>]=?|(?<!\w)(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)(?:=|(?!\w))/ -/[rs]?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/\w+\s*\|\|[^]+\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/(?<!\w)(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)(?!\w)/i -/'(?:self|none|strict-dynamic|(?:nonce|sha(?:256|384|512))-[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)(?!\w)/ -/(?<!\w)(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)(?!\w)/ -/(?<!\w)[A-Z]\w*(?:[!?]|(?!\w))/ -/(?<!\w)(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?(?!\w)/ -/(?<!\w)C(?:LASS\s+|ATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?!\w))/i -/(?<!\w)def\s+[\w.]+/ -/@\[.+\]/ -/(?<!\w)(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)(?!\w)/ -/^=begin(?:\s[^]*)?[\n\r\u2028\u2029]=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)[gim]{0,3}/ -/(?:^|[^/])\/(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+\}\}/ -/\{%.+%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/(?<!\w)#[\dA-F]{3,8}(?!\w)/i -/(?<!\w)(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)(?!\w)/i -/(?<!\w)\d+(?:%|[a-z]+(?!\w))/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection|:[-\w]+)/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/[+>~]|\|\|/ -/[(),]/ -/(?<!\w)(?:RGB|HSL)(?:\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?|A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:[01]|0?\.\d+))\s*\)(?!\w)/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/(?<!\w)(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)(?!\w)/i -/(?<!\w)\w+(?=\s*\()/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/(?<!\w)(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)(?!\w)/ -/[%*+/:|^]|<-{1,2}|-{1,2}>?|<>|=~?|[<>]=?|\.{2,3}/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:(?:\w+|\`[^\n\r\\\\\`]*\`)\s*)?|\|\s*):\s*(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/(?<!\w)@\w*/ -/\$|(?<!\w)(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)(?!\w)/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.{2,3}|=[=>]?|!(?:i[ns](?!\w)|<>?=?|>=?|=)?|(?<!\w)i[ns](?!\w)|(?:<[<>]?|>{1,3}|\^\^|[%*/~^])=?/ -/(?<!\w)(?:(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))(?!\w)|ST(?:\([0-7]\)|(?!\w)))/ -/(?<!\w)0X\.?[\dA-F_]+(?:\.(?:[\dA-F_]+|(?!\.)))?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])\/(?:\+(?:\/\+(?:[^+]|\++[^+/])*\++\/|[^/]|\/+(?:\/\+(?:[^+]|\++[^+/])*\++\/|[^+/]))*\+\/|\/.*|\*[^]*\*\/)/ -/(?<!\w)(?:[rx]"(?:\\[^]|[^"\\])*"[cdw]?|q"(?:\[[^]*\]|\([^]*\)|<[^]*>|\{[^]*\})"|q"[A-Z_a-z]\w*[\n\r\u2028\u2029](?:[^]*[\n\r\u2028\u2029])?[]Unknown:\\1[]"|q".[^]*[]Unknown:\\2[]")|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|[^"\\])*"|\`(?:\\[^]|[^\\\\\`])*\`)[cdw]?/ -/(?<!\w)q\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:(?<!\w)(?:0B\.?)?|\.)\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/(?<!\w)(?:is!|[ai]s(?!\w))|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/(?<!\w)(?:async|sync|yield)\*/ -/(?<!\w)(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)(?!\w)/ -/@\w+/ -/r?(?:"""[^]*"""|'''[^]*''')/ -/r?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/ -/(?<!\w)(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/(?<!\w)(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)(?!\w)/i -/(?<!\w)(?:\d+\.?\d*|\.\d+(?!\w))/ -/:=|[-*+/=^]|&{1,2}|\|\||<(?:=>?|[<>])?|>[=>]?|(?<!\w)(?:IN|NOT)(?!\w)/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?:\[[\w \xa0-\uffff]+\]|(?!'))|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/i -/--.*|\{-(?:-+(?:[^-{}]|\{(?!-)|\{-(?:(?:-+(?:\{+|(?!\}))|\{+)?[^-{])*-+\})|\{*(?:[^-{]|\{-(?:(?:-+(?:\{+|(?!\}))|\{+)?[^-{])*-+\}))*-+\}/ -/(?<!\w)(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)(?!\w)|\u2200/ -/(?<!\w)(?:Som|Non)e(?!\w)/ -/(?<!\w)(?:Fals|Tru)e(?!\w)/ -/(?:(?<!\w)NaN|(?:-|(?<!\w))Infinity|(?:[-+]|(?<!\w))(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?))(?!\w)/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/(?<!\w)[A-Z]\w*(?!\w)/ -/"(?:[^"\\]|\\.)*"|''(?:'[^']|[^']|'''|''\$\{)*''(?![$'])/ -/\`[^\`]*\`/ -/(?<!\w)https?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/(?<!\w)env:(?:[A-Z_a-z]\w*|"(?:[^"=\\]|\\.)*")/ -/(?<!\w)sha256:[\dA-Fa-f]{64}(?!\w)/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?:.+|(?=[^]))(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*#\}$/ -/(?<!\w)[A-Z_]\w+(?=\s*\()/i -/(?<!\w)(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)(?!\w)/ -/[-%*+/=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:[Tt]ru|[Ff]als|[Nn]on)e/ -/(?<!\w)\w+(?!\w)/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/\|\w+/ -/(?<!\w)is\s+(?:not\s+)?(?:[\dA-Z_a-mo-z]|n(?!ot(?!\w)))\w*/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?!\S)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?!\S)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?!\S)/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*\*\)/ -/(?<!\w)[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?!\w)/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/(?<!\w)(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)(?!\w)/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/(?<!\w)0[BCX][\dA-F](?:_*[\dA-F])*(?!\w)/i -/(?:(?<!\w)\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*(?!\w)|(?<!\w)\d(?:_*\d)*(?:\.|(?!\w))/i -/"[^[]*\[[^]*\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/(?<!\w)(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?(?!\w)/i -/(?<!\w)(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)(?!\w)/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:"{0,2}(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:'{0,2}(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/(?<!\w)in(?!\w)|&{1,2}|\|[>|]?|\\\\|::|\.{2,3}|\+{1,2}|-[->]?|<[-=>]|>=|!={1,2}|(?<!\w)!|=(?:={1,2}|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|[^"\\]|"(?!""))(?:"{0,2}(?:\\[^]|[^"\\]))*"""|'''(?:\\[^]|[^'\\]|'(?!''))(?:'{0,2}(?:\\[^]|[^'\\]))*'''|"(?:\\.|[^\n\r"\\])+"|'(?:\\.|[^\n\r'\\])+'|\/(?:\\.|[^\n\r/\\])+\/|\|(?:\\.|[^\n\r\\|])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])(?:\\.|#\{[^}]+\}|[^\n\r#\\}]|#+(?:\\.|#\{[^}]+\}|[^\n\r#\\{}]))*#*\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*"""|'''[^]*'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*-\}/ -/(?<!\w)(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)(?!\w)/ -/(?<!\w)(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/(?<!\w)(?:[A-Z]\w*\.)*[a-z]\w*(?!\w)/ -/(?<!\w)(?:[A-Z]\w*\.)*[A-Z]\w*(?!\w)/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/(?<!\w)(?:import|as|exposing)(?!\w)/ -/^#!.+|--(?:\[=*\[[^]*\][]Unknown:\\1[]\]|.+)?/m -/(?<!\w)(?:0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\d+(?:\.(?!\w)|\.?\d*(?:E[-+]?\d+)?\b)|\.\d+(?:E[-+]?\d+)?(?!\w))/i -/(?<!\w)(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)(?!\w)/ -/[A-Z_]\w*(?=\s*[({])/i -/[(),;[\]{}]|\.+|:+/ -/"(?:[^\n\r"\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:[^\n\r'\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/{1,2}|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/(?<!\w)(?:fun|when|case|of|end|if|receive|after|try|catch)(?!\w)/ -/(?<!\w)[a-z][\w@]*(?=\()/ -/(?<!\w)[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+{1,2}|-{1,2}|[!*/=]|(?<!\w)(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)(?!\w)/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?<!\w)(?:\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?(?!\w)/i -/(?<!\w)(?:TRU|FALS)E(?!\w)/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/(?<!\w)N\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/(?<!\w)[A-Z]\w*(?=\()/i -/(?:\$|(?<!\w))(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)(?!\w)/i -/(?:(?<!\w)[A-Z]+|\$[A-Za-z]+\$?|(?<!\w)[A-Za-z]+\$)\d+(?!\w)/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/(?<!\w)(?:(?:let|return|use|yield)!?|abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)(?!\w)/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+>\]/ -/(?:(?:"""[^]*""|@"(?:""|[^"])*|"(?:\\[^]|[^"\\])*)"|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))')B?/ -/(?:(?<!\w)(?:exception|inherit|interface|new|of|type)\s|\w\s*:|\s:\??>)\s*[\w.]*(?:\.(?=\w)|\w(?!\w))(?:\s*(?:->|\*)\s*[\w.]*(?:\w\s*(?:->|\*)\s*[\w.]*)*(?:\.(?=\w)|\w(?!\w)))?(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/(?<!\w)0x[\dA-Fa-f]+(?:un|lf|LF)?(?!\w)/ -/(?<!\w)0b[01]+(?:u?y)?(?!\w)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:[FM]|E[-+]?\d+)?\b/i -/(?<!\w)\d+(?:[ILlsy]|u[lsy]?|UL)?(?!\w)/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#(?:else|endif|if|light|line|nowarn)(?!\w)/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/[dimrs]*(?:[dimrs]-[dimrs]+)?(?!\S)/ -/(?:^|\s)[ft](?!\S)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?!\S)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|[=?]|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?!\S)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?!\S)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|[-*+/<>]|fp-bitwise=|u>=|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|log2|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?!\S)/ -/(?:^|\s)<(?!(?:=+|-+)>)\S+>(?!\S)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|[$B\\]|PRIVATE>|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$\[|\$\{)(?!\S)/ -/(?:^|\s)(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s":>][^\s:>]*>|[^\s">][^\s>]*>[^\s>]+|\+[^\s+]+\+|[^\s"?][^\s?]*\?|\?[^\s?]+|[^\s">][^\s>]*>>|>>[^\s>]+|[^\s"<][^\s<]*<<|\([^\s()]+\)|[^\s!"][^\s!]*!|[^\s"*]\S*\*|[^\s".]\S*\.)(?!\S)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S|[^\s;])\S*(?!\S)/ -/\s(?:;|:>)(?!\S)/ -/(?:^|\s)[^\s"]\S*(?!\S)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)!(?: .*|$)/ -/(?:^|\s)\/\*\s[^]*\*\/(?!\S)/ -/(?:^|\s)!\[(?:======\[\s[^]*\]======|=====\[\s[^]*\]=====|====\[\s[^]*\]====|===\[\s[^]*\]===|==\[\s[^]*\]==|=\[\s[^]*\]=|\[\s[^]*\])\](?!\S)/ -/(?:^|\s)[-+]?\d+(?!\S)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?!\S)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?!\S)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?!\S)/ -/(?:^|\s)-\d+-\d+\/\d+(?!\S)/ -/(?:^|\s)[-+]?\d*(?:\.\d+|\d\.\d*|\d)(?:E[-+]?\d+)?(?!\S)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?!\S)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?!\S)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+\r?\n.*\r?\n\s*;(?!\S)/ -/(?:^|\s)HEREDOC:\s+\S+\r?\n.*\r?\n\s*\S+(?!\S)/ -/(?:^|\s)\[(?:======\[\s[^]*\]======|=====\[\s[^]*\]=====|====\[\s[^]*\]====|===\[\s[^]*\]===|==\[\s[^]*\]==|=\[\s[^]*\]=|\[\s[^]*\])\](?!\S)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?!\S)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?!\S)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?!\S)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|X{2,}|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/\r?\n\s*;(?!\S)/ -/(?<!\w)(?:allow|function|if|match|null|return|rules_version|service)(?!\w)/ -/&&|\|\||[!<=>]=?|[-%*+/=]|(?<!\w)i[ns](?!\w)/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/(?<!\w)allow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?!\w)|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/(?<!\w)(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)(?!\w)/ -/(?:^|[^\w$])(?:type|opaque|declare|Class)(?!\w)(?!\$)/ -/(?:^|[^\w$])\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)(?!\w)(?!\$)/ -/\.(?:TRU|FALS)E\.(?:_\w+)?/i -/(?<!\w)(?:\d+(?:\.\d*)?|\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r"\u2028\u2029])*["&]|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|[^\n\r'\u2028\u2029])*[&'])/ -/!.*/ -/(?<!\w)(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)(?!\w)/i -/(?<!\w)(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)(?!\w)/i -/(?<!\w)(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)(?!\w)/i -/(?<!\w)(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)(?!\w)/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|[^\n\r(\u2028\u2029])\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*-->/ -/(?<!\w)as(?!\w)/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|(?<!\w)(?:gt|gte|lt|lte)(?!\w)/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/(?<!\w)r(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/ -/"(?:[^"$\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\})*"|'(?:[^$'\\]|\$(?!\{)|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:<+(?:[^"#'()<]|#(?!--)|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')|[^"'()<]|\(\)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*<*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:(?:-(?:-+(?!>))?)?[^-])*-{2,}>|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\}/ -/(?<!\w)(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at|xor|not)(?!\w)/ -/(?<!\w)(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fp|microsecond)s|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick[12]_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cde|cdec|stdcal)l|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:sol|rig)id|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:De|A)sc|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)(?!\w)/ -/(?<!\w)(?:[xy]|[xy](?:previous|start)|[hv]speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_[xy]|angular_(?:velocity|damping)|position_[xy]previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:[hwxy]view|[hwxy]port|[hv](?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|(?:show_)?(?:score|lives|health)|secure_mode|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:[xy]|lastbutton|button)|keyboard_(?:string|lastkey|lastchar|key)|iap_data|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|[xy]|xscale|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)(?!\w)/ -/;.*|(?<!\w)\(.*\)(?!\w)/ -/(?<!\w)[GM]\d+(?:\.\d+)?(?!\w)/ -/(?<!\w)[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/(?<!\w)(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)(?!\w)/ -/[A-Z_]\w*(?=[\t ]*\()/i -/(?<!\w)[A-Z][\dA-Z_]*(?!\w)/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:[^\n"\\]|\\[^])*"|'(?:[^\n'\\]|\\[^])*')(?!["'])|"""(?:[^\\]|\\[^])*""")/ -/(?:^(?:(?:class_name|class|extends)[\t ]|export\()|(?<!\w)as[\t ]|(?:(?<!\w)(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:|->)[\t ]*[A-Z_a-z]\w*/m -/(?<!\w)(?:0(?:b[01_]+|x[\dA-F_a-f]+)(?!\w)|(?:\d[\d_]*(?:\.[\d_]*)?|\.[\d_]+)(?:e[-+]?[\d_]+)?\b)/ -/(?<!\w)(?:INF|NAN|PI|TAU)(?!\w)/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+"""|'''[^]+'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|[\u4f8b\uc608]|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:(?:\r?\n|\r)[\t ]*\|.+\|.*){2,}/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|[7AEIYa\u0406\u0410\u0418\u0648]|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s-{1,2}\w+/ -/(?<!\w)(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)(?!\w)/ -/(?<!\w)(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)(?!\w)/ -/(?<!\w)(?:_|iota|nil|true|false)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:[&=]|\^=?)?|>(?:>=?|=)?|<(?:<=?|[-=])?|:=|\.\.\./ -/(?<!\w)(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)(?!\w)/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`/ -/(?<!\w)-?\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/\$[A-Z_]\w*/i -/(?<!\w)(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)(?!\w)/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/(?<!\w)(?:[A-HJ-Z]|I(?!D(?!\w)))[\dA-Z_]*(?!\w)/ -/"(?:""(?:"{0,2}[^"])*""|(?:\\.|[^\n\r"\\])+)?"(?=\s*[A-Z_])/i -/"(?:""(?:"{0,2}[^"])*""|(?:\\.|[^\n\r"\\])+)?"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:(?<!\w)(?:enum|implements|interface|on|scalar|type|union)\s|&)\s*[A-Z_a-z]\w*/ -/(?:(?<!\w)fragment\s+[A-Z_a-z]|\.{3}\s*(?:[A-Z_a-np-z]|o(?!n(?!\w))))\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r])|_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?_)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]|_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?_))*(?:\n|\r\n?)?__(?!\w)|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r])|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*))*(?:\n|\r\n?)?\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:(?<!\w)_(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r])|__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?__)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]|__(?:\\.|[^\n\r\\_]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\_]))*(?:\n|\r\n?)?__))*(?:\n|\r\n?)?_(?!\w)|\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r])|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*\*)(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]|\*\*(?:\\.|[^\n\r*\\]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r*\\]))*(?:\n|\r\n?)?\*\*))*(?:\n|\r\n?)?\*)/ -/(?:^|[^\\])(?:\\{2})*~(?:~(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\~]))*(?:\n|\r\n?)?~|(?:\\.|[^\n\r\\~]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\~]))*(?:\n|\r\n?)?)~/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\\]]))*(?:\n|\r\n?)?\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:\\.|[^\n\r\\\]]|(?:\n|\r\n?)(?![\n\r]))(?:(?:\n|\r\n?)?(?:\\.|[^\n\r\\\]]))*(?:\n|\r\n?)?\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`(?:\`.+\`|[^\n\r\`]+)\`/ -/^\`\`\`[^]*[\n\r\u2028\u2029]\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:={2,}|-{2,})(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~{1,2}/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?)?$/ -/\`\`\`/ -/(?:={2,}|-{2,})$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~{1,2}[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+(?=(?:\n|\r\n?)\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))(?:\`?[^\n\r\`])*\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/(?<!\w)(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)(?!\w)/ -/(?<!\w)(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/(?<!\w)(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|={1,2}~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>{1,2}=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*"""|'''(?:[^\\]|\\[^])*'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/+[^$/])*\/+\$/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?:\\.|[^\n\r/\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*(?:!?=|[),]))/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*(?=\s*\{)/ -/@{1,2}[-\w]+/ -/[;{]\s*[#.][-A-Z_][-\w]*.*(?=[(;])/i -/(?:^|[^\\])\/(?:\*[^]*\*\/|\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*(?=\s+[;{])/ -/(?:[^\s();@{}]|(?=\S))(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:[\s}]|[^}]+[:{][^}]))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/(?<!\w)!(?:DEFAULT|OPTIONAL)(?!\w)/i -/(?<!\w)null(?!\w)/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?[A-Z][\dA-Z]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|[\n\r])\S[^]*(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>]|\((?![^\n()|]+\)))*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>~^]|\((?![^\n()|]+\)))+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>_~^]|\((?![^\n()|]+\))|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>]|\((?![^\n()|]+\)))*[^\s!()]+(?:\([^)]+\))?!(?::.+(?=[^\w/]?(?:\s|$)))?/ -/(?<=\w)\[\d+\]/ -/(?<!\w)[\dA-Z]+\([^)]+\)/ -/(?<=\w)\((?:TM|[CR])\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>]|\((?![^\n()|]+\)))+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>_~^]|\((?![^\n()|]+\))|[/\\]\d+)+(?=\.)/ -/^\*{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=[]Unknown:\\2[])/ -/^_{1,2}(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>]|\((?![^\n()|]+\)))*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|[)<=>]|\((?![^\n()|]+\)))+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*\}\}/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?)/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{{2,3}|\}{2,3}$/ -/^\s*~?\s*[#/]\S+(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/(?<!\w)(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)(?!\w)/ -/(?<!\w)(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)(?!\w)/ -/(?<!\w)(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)(?!\w)/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/(?<!\w)(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/(?<!\w)(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding(?!\w))?/m -/(?<!\w)(?:import|qualified|as|hiding)(?!\w)/ -/(?<!\w)(?:this|(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.))(?!\w)/ -/\.{3}|\+{1,2}|-[->]?|[!=]=?|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*(?:\*\/|$)/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|\d+\.?\d*(?:E[-+]?\d+)?)/i -/[=[\]{}]/ -/<<-?\w+[^]*[\n\r\u2028\u2029]\s*[]Unknown:\\1[]/ -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)(?!\w)/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/(?<!\w)(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\.[\w*]+/i -/(?<!\w)(?:(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/(?<!\w)(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)(?!\w)/ -/(?<!\w)(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)(?!\w)/ -/(?<!\w)(?:bool|double|dword|float|half|int|min1(?:0floa|2in|6(?:floa|in|uin))t|uint)(?:[1-4](?:x[1-4])?)?(?!\w)/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/)?\/\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)(?!\w)/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/(?:-|(?<!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?(?!\w)/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*(?:\r?\n|\r){2}[^]*/i -/(?<!\w)(?:(?:includeSubDomains|preload|strict)[ ;]|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/(?<!\w)\d{7,}(?!\w)/ -/(?<!\w)\d{1,6}(?!\w)/ -/(?<!\w)(?:max-age=|includeSubDomains|preload)/ -/(?<!\w)\d{8,}(?!\w)/ -/(?<!\w)\d{1,7}(?!\w)/ -/(?:(?<!\w)'|REM)[^\n\r]*/i -/(?<!\w)(?:#[\dA-F]+|\`[01]+|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)/i -/(?<!\w)(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?!\w))/i -/(?<!\w)(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?!\w))/i -/(?<!\w)@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),:;[\]]/ -/(?:(?<!\w)\d+(?:R[\dA-Z]+|(?:\.\d+)?(?:E[-+]?\d+)?)|\.\d+)(?!\w)/i -/(?<!\w)(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)(?!\w)/ -/[A-Z_]\w*(?=\s*(?:[({]|!\s*\[))/i -/[-+]:(?!=)|(?:[%&/?@^]|\+{1,2}|-{1,2}|={1,3}|~={1,3}|\*{1,2}|\|{2,3}|<(?:->?|<?=?)|>{1,2}=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:[^\n\r"\\_]|\\.|_(?:\r\n|[^"]))*"|'(?:[^\n\r'\\_]|\\.|_(?:\r\n|[^']))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)(?!\w)/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*{1,2}|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME[^\w\n\r\u2028\u2029]|BOOK[^\w\n\r\u2028\u2029]|PART(?:[^\w\n\r \u2028\u2029]| (?!OF))|CHAPTER[^\w\n\r\u2028\u2029]|SECTION[^\w\n\r\u2028\u2029]|TABLE[^\w\n\r\u2028\u2029]).*/im -/(?:^|[^-\w])(?:\d+(?:\.\d+)?(?:\^\d+)?\w*|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|(?:NON-)?(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: O(?:N|FF))?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:(?:EA|WE)ST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:(?:EA|WE)ST)?|THROUGH|UP|WEST|WITHIN)(?!\w)(?!-)/i -/(?:^|[^-\w])(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)(?!\w)(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/^=/ -/(?<!\w)(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)(?!\w)/ -/(?<!\w)(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E-?\d+)?)/i -/[-!%&*+/=|^]=|>{1,2}=?|<{1,2}=?|:{0,2}=|\+{1,2}|-{1,2}|\*{1,2}|\/{1,2}|%|\|{1,2}|&{1,2}|(?<!\w)(?:return|and|or|not)(?!\w)|@{1,2}|\?{1,2}|\.\./ -/"""(?:"{0,2}(?:\\[^]|[^"\\]))*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/(?<!\w)NB\..*/ -/(?<!\w)(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)(?!\w)|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/(?<!\w)_?(?:\d(?:\d+|(?!:))(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_(?!\w)(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/\{(?:\.|:{1,2})?|p(?:\.{1,2}|:)|\]|[!=](?![.:])|[-#$%*+,<>|][.:]?|(?:\?|\^(?!:))\.?|(?:\[|;(?!\.)):?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w)/ -/(?<!\w)(?:0B[01][01_]*L?(?!\w)|0X[\dA-F_]*\.?[-\d+A-FP_]*(?:[-+](?=\w)|[\dA-FP_](?!\w))|(?:\d[\d_]*\.?|\.\d)[\d_]*(?:E[-+]?\d[\d_]*)?[DFL]?)/i -/"""[\t ]*[\n\r](?:"{0,2}(?:\\.|[^"\\]))*"""/ -/(?<!\w)(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!(?<!\w)(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?!\w))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/(?<!\w)[A-Z](?:\w*[a-z]\w*)?(?!\w)/ -/(?<!\w)[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>{2,3}=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]*(?:-(?=\w)|[A-Za-z](?!\w))/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/(?<!\w)[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/(?<!\w)(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|(?<!\w)(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]*\.?[\dA-F]+|(?:\d+\.?|\.\d)\d*(?:E\d+)?[DFL]?)/i -/(?<!\w)(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)(?!\w)/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+(?!\w)|(?=\{))/ -/(?<!\w)(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)(?!\w)/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*[]Unknown:\\1[]|[A-Z_]\w*[\n\r](?:.*[\n\r])*[]Unknown:\\2[]);/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/(?<!\w)[A-Z_][\dA-Z_]*(?!\w)/ -/(?<!\w)NULL(?!\w)/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+(?: [a-z]+)+/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/(?<!\w)[a-z]+(?: [a-z]+)*(?!\w)/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?![^:])/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?![^:])/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/(?<!\w)(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)(?!\w)/ -/(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/(?<!\w)(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)(?!\w)/ -/[;@|]/ -/(?:(?<!\w)(?:outputPort|inputPort|in|service|courier)(?!\w)|@)\s*\w+/ -/(?<!\w)Aggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/(?<!\w)Redirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/(?<!\w)with\s+\w+/ -/=>/ -/(?<!\w)with(?!\w)/ -/(?<!\w)\$\w+/ -/(?<!\w)(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)(?!\w)/ -/(?<!\w)(?:\d*\.)?\d+(?:E[-+]?\d+)?(?!\w)/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/(?<!\w)DEF\s+[A-Z_]\w+/i -/(?<!\w)[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|(?<!\w)(?:and|or|not)(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/(?<!\w)(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)(?!\w)/ -/(?<!\w)(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)(?!\w)/ -/(?<!\w)(?:class|extends|implements|instanceof|interface|new|type)\s+(?:[$A-Z_a-jl-z\xa0-\uffff]|k(?!eyof(?!\w)))[\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?!\S)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?!\S)/ -/@example\s+[^@]+(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:(?<!\w)function(?!\w)|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/(?<!\w)(?:document|location|navigator|performance|(?:local|session)Storage|window)(?!\w)/ -/(?<!\w)console(?=\s*\.)/ -/^[A-Z][^]*/ -/(?<!\w)(?:(?:(?:Ui|I)nt(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)(?!\w)/ -/(?<!\w)[A-Z]\w*Error(?!\w)/ -/(?<!\w)(?:as|default|export|from|import)(?!\w)/ -/(?<!\w)undefined(?!\w)/ -/(?<!\w)(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)(?!\w)/ -/@+\w+/ -/(?:[-+]|(?<!\w))(?:(?:NaN|Infinity|0x[\dA-Fa-f]+)(?!\w)|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+(?!\w))?)/ -/"(?:\\(?:\r\n?|[^\r\u2028\u2029])|[^\n\r"\\])*"|'(?:\\(?:\r\n?|[^\r\u2028\u2029])|[^\n\r'\\])*'/ -/(?:"(?:\\(?:\r\n?|[^\r\u2028\u2029])|[^\n\r"\\])*"|'(?:\\(?:\r\n?|[^\r\u2028\u2029])|[^\n\r'\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/(?<!\w)(?:at|new)(?!\w)/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:(?<!\w)at\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/(?::\d+){1,2}(?!\w)/ -/(?<!\w)(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?:(?<!\w)html|\.\s*(?:inn|out)erHTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)svg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)m(?:d|arkdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)g(?:ql|raphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`]|\$+(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|[^$\\\\\`{]))*\$*\`/ -/(?<!\w)(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)(?!\w)/ -/(?<!\w)(?:(?=\d)|(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!={0,2}|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>{1,2}=?)?|={1,3}|['~\u221a\u221b\u2260\u2264\u2265]/ -/:{1,2}|[(),.;?[\]{}]/ -/(?<!\w)(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)(?!\w)|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])#(?:=(?:#*(?:[^#=]|#=(?:(?:=+|#+)?[^#=])*=+#)|=+[^#=])*=+#|.+)?/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/(?<!\w)C\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+"|'.+')\s*\]/i -/".*"|'.*'/ -/(?<!\w)(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)(?!\w)/i -/(?<!\w)(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)(?!\w)/i -/(?<!\w)(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)(?!\w)/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)(?!\w)/i -/(?<!\w)(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)(?!\w)/i -/(?<!\w)(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)(?!\w)/ -/\+[+=]?|-[-=>]?|={1,3}|!(?:!|={1,2})?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||(?<!\w)(?:and|inv|or|shl|shr|ushr|xor)(?!\w)/ -/(?<!\w)@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^\w.])(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)(?!\w)/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*\\\)|\\\[[^]*\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?[A-Z_](?!\w*\()\w*)?/i -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:[^\n\r{\u2028\u2029].*|(?!\{)|\{[^]*%\})/ -/[=|]|<<|>>/ -/(?<!\w)\d+(?:\/\d+)?(?!\w)/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()])/ -/\((?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()])/ -/(?:^|[\s()])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+))?i)?|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?)?i)?)(?![^\s()])/ -/(?:^|[\s()])#[ft](?![^\s()])/ -/\((?:[-%*+/]|[<>]=?|=>?)(?![^\s()])/ -/\([^\s'()]+(?![^\s()])/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:[^#]|#+[^#}])*#+\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*#\}/ -/^#\{|#\}$/ -/(?<!\w)(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)(?!\w)/ -/(?<!\w)(?:0B[01]+(?!\w)|0X[\dA-F]*\.?[-\dA-FP]*(?:-(?=\w)|[\dA-FP](?!\w))|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?[DF]?)/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<{1,2}=?|>{1,3}=?|={1,2}|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?![^\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?def(?:un\*?|macro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)(?:\s+\S+)+/ -/&(?:optional|aux)(?:\s+\S+)+/ -/&key(?:\s+\S+)+(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/(?<!\w)\d(?:\d*~[\dA-Z]+|[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])"(?:""(?:"{0,2}(?:\\[^]|[^"\\]))*""|(?:\\[^]|[^"\\])+)?"(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|[^-\w\n\r\u2028\u2029])(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)(?!\w)/m -/(?:^|[^-\w])(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:(?:n| no)t)?|not|of|or|til|to|typeof|with|xor)(?!-)(?!\w))/m -/(?:^|[^-\w])(?:false|no|off|on|true|yes)(?!-)(?!\w)/m -/(?:^&|[^&.]&|\.&(?!\.))(?:\d+|(?!&))/m -/\.(?:[=~]|\.{1,2})|\.(?:[&|^]|<<|>{2,3})\.|:(?:=|:=?)|&&|\|[>|]|<(?:<{1,3}|-{1,2}!?|~{1,2}!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+{1,2}|@{1,2}|%{1,2}|\*{1,2}|!(?:~?=|-{1,2}>|~{1,2}>)?|~(?:~?>|=)?|={1,2}|\^{1,2}|[/?]/ -/(?:^|[^\\])\/\*[^]*\*\// -/'(?:''(?:'{0,2}(?:\\[^]|[^'\\]))*''|(?:\\[^]|[^'\\])+)?'/ -/<\[[^]*\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|[^/[\\]|\/(?!\/))(?:\/?(?:\[[^\n\r\]]*\]|\\.|[^/[\\]))*\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*|\d+)/i -/(?:[$\-.A-Z_]|\\[\dA-F]{2})(?:[\w$\-.]|\\[\dA-F]{2})*:/i -/(?<!\w)[_a-z][\d_a-z]*(?!\w)/ -/(?:(?:[-+]|(?<!\w))\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|(?<!\w)0x(?:(?:(?:(?:[\dA-Fa-f]+|K[\dA-Fa-f]{16}|[LM][\dA-Fa-f]{28}|H)?[\dA-Fa-f])?[\dA-Fa-f])?[\dA-Fa-f])?[\dA-Fa-f])(?!\w)/ -/[!()*,.;<=>[\]{}]/ -/(?<!\w)(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)(?!\w)/ -/(?<!\w)-?(?:\d+\.?|\.\d)\d*/ -/\.{3}|[!,\u2026]/ -/(?<!\w)OBTW\s+[^]*\s+TLDR(?!\w)/ -/(?<!\w)BTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?![^\s,])/ -/(?:^|\s)IM (?:IN|OUTTA) YR [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?![^\s,])/ -/(?:^|\s)(?:WIN|FAIL)(?![^\s,])/ -/(?:^|\s)IT(?![^\s,])/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?![^\s,])/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?![^\s,])/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/(?:-include|(?<!\w)(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath))(?!\w)/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?<!\w)(?:(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?[ij]?|[ij](?!\w))/ -/(?<!\w)(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)(?!\w)/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&{1,2}|\|{1,2}/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*\}%/ -/(?<!\w)'(?:''|[^\n\r'])*'/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?!\w)|\d+\.?\d*|\.\d+)/ -/(?<!\w)(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)(?!\w)/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/(?:@proof|(?<!\w)(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|if{1,2}|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt))(?!\w)/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/(?<!\w)(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)(?!\w)/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|(?<!\w)(?:MOD|SHL|SHR)(?!\w))=?|(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?<!\w)(?:-\.?|\.)?\d+(?:\.(?:\d+|(?!\.)))?|\$[\dA-F]+)/i -/^#REM\s*(?:\s[^]*)?[\n\r\u2028\u2029]#END/im -/'.+/ -/(?<!\w)(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)(?!\w)/ -/@{1,2}\w*/ -/(?<!\w)(?:(?:\.\d+|\d+\.\d+|\d+(?=[Ee]))(?:[Ee][-+]?\d+)?|(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?)(?!\w)/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|(?<!\w)(?:(?:and|or)(?:=|(?!\w))|not(?!\w))/ -/[(),.[\\\]{}]/ -/(?<!\w)[A-Z_]\w*(?=:)|:[A-Z_]\w*/i -/(?<!\w)(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)(?!\w)/ -/'[^']*'|\[=*\[[^]*\][]Unknown:\\1[]\]/ -/(?<!\w)(?:clas|extend)s[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*(?:$|\*\/)/ -/\$[\w.]+/ -/(?<!\w)(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/(?<!\w)(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)(?!\w)/i -/(?<!\w)(?:\d*\.\d+E[-+]?\d+(?!\w)|\d+\.?\d*|\.\d+(?!\w))/i -/[-%*+/=]|!=|={1,2}|\|\||<[=>]?|>=?|(?<!\w)(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)(?!\w)/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/(?<!\w)(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)(?!\w)/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+[^\s{}][^\n\r{}]*/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\W[^]*(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/(?<!\w)(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)(?!\w)/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d{1,2}-\d{1,2}(?:(?:[Tt]| +)\d{1,2}:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d{1,2}(?::?\d\d)?)?)?(?![^\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*(?::(?:$|[\s),\]}])|=))/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?|\.?\d)\d*(?:[Ee][-+]?\d+)?)(?![^\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?![^\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?::+[^\s(),:=\]}]|[^\s(),:=\]}]|[\t ]+[^\s#(),:=\]}])*(?::+(?=[^\s),\]}]))?/ -/\$[A-Z_]+/i -/(?<!\w)(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)(?!\w)/i -/(?:^|[^"\\{])#.*/ -/(?<!\w)(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:\.(?:[\d_]+|(?!\.)))?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/(?<!\w)(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)(?!\w)/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*)?"(?:""[^]*"""(?!")|(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?:[A-Z_a-z]|\\x[89A-Fa-f][\dA-Fa-f])(?:\w|\\x[89A-Fa-f][\dA-Fa-f])*|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|[^\n\r([{\u2028\u2029]|[([{](?!\.))(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))(?:\.*(?:[-!$%&*+/:<=>?@\\|~^]|\.\.))*(?:\.+(?![)\]}]))?|(?<!\w)(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)(?!\w))/m -/\*$/ -/\`/ -/\/\*[^]*\*\/|#.*/ -/(?<!\w)(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)(?!\w)/ -/(?<!\w)(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:ur|Tarbal)l|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf|foldl')(?!\w)/ -/[!<=>]=?|\+{1,2}|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:'[^']|[^']|''(?:['\\]|\$\{))*''/ -/(?<!\w)[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/][\w#%&+\-.:=?~]*\/(?:[\w#%&+\-.:=?~][\w#%&+\-./:=?~]*|(?!\/))/ -/(?:^[^\\]?|[^\n\r'\u2028\u2029][^\\]|'[^'\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/(?<!\w)(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|SHCTX|SHELL_CONTEXT)(?!\w)/ -/\$(?:\{[\w\-.:^]+\}|\([\w\-.:^]+\))/ -/\$\w+/ -/-{1,2}|\+{1,2}|<=?|>=?|={1,3}|&{1,2}|\|{1,2}|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImag|Siz)e|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Prin|sButtonTex)t|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:[GS]etText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Se|Tex)t|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)(?!\w)/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)(?!\w)/im -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\r\n|[^])|[^\n\r'\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:(?<!\w)(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)|@(?:interface|end|implementation|protocol|class|public|protected|private|property|try|catch|finally|throw|synthesize|dynamic|selector))(?!\w)/ -/-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/(?<!\w)(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/(?<!\w)(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)(?!\w)/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|(?<!\w)(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)(?!\w)/ -/[(),.:;[\]{|}]|(?<!\w)_(?!\w)/ -/(?<!\w)#\w+/ -/(?<!\w)~\w+/ -/(?<!\w)'\w+/ -/\`\w+/ -/(?<!\w)[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r'\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|[^\n\r\\\\\`])\`/i -/(?<!\w)(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:[1248]|16))?|1x(?:[1248]|16)|2(?:x(?:[1248]|16))?|3|4(?:x(?:[1248]|16))?|8(?:x(?:[1248]|16))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:[2348]|16)?|if|image(?:1d_(?:(?:array|buffer)_)?|2d_(?:array_(?:(?:depth|msaa_depth|msaa)_)?|depth_|msaa_depth_|msaa_)?|3d_)t|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)(?!\w)/ -/(?<!\w)(?:0X(?:[\dA-F]+\.?|\.[\dA-F])[\dA-F]*(?:P[-+]?\d+)?|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)[FHLU]*/i -/(?<!\w)cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:[2348]|16)?|command_(?:queue(?:_(?:info|properties))?|type)|context(?:_(?:info|properties))?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_(?:work_group_)?info)?|map_flags|mem(?:_(?:flags|info|object_type))?|platform_i(?:d|nfo)|profiling_info|program(?:_(?:build_)?info)?)(?!\w)/ -/(?<!\w)CL_(?:TRU|FALS)E(?!\w)/ -/(?<!\w)CL_(?:[AR]|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_(?:RECT|TO_IMAGE))?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP_(?:BUFFER|IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZ|CACHE_SIZ|CACHE_TYP|SIZ)|VARIABLE_PREFERRED_TOTAL_SIZ)E|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENT|QUEUE)S|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_(?:ACCELERATOR|ALL|CPU|CUSTOM|DEFAULT|GPU))?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_(?:COMPILED_OBJECT|EXECUTABLE|LIBRARY|NONE))?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_5[56]5|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)(?!\w)/ -/(?<!\w)cl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barri|Mark)er(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:Arg|SubGroup|WorkGroup)?Info|MemObjectInfo|PipeInfo|PlatformI(?:Ds|nfo)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|Re(?:lease|tain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)(?!\w)/ -/(?<!\w)(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOC|GLOB)AL_MEM_FENCE|NORMALIZED_COORDS_(?:FALS|TRU)E)|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_5[56]5))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|M(?:IN|AX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_M(?:AX|IN)|U(?:CHAR|SHRT|INT|LONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_)?2)(?:_[FH])?|NAN)(?!\w)/ -/(?<!\w)(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)(?!\w)/ -/\/\*[^]*\*\/|%.*/ -/\$|\[\]|(?<!\w)(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)(?!\w)/ -/(?<!\w)(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/(?<!\w)[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|:{1,2})|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!{1,2}|[-#*+,/@|~^]|(?<!\w)(?:andthen|div|mod|orelse)(?!\w)/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/(?<!\w)[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*(?!\w)/ -/\/\*[^]*\*\/|\\\\.*/ -/(?<!\w)(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)(?!\w)/ -/\w[\w ]*(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:(?<!\w)\d(?: *\d)*(?: *\.(?! *\.)(?: *\d)*)?|\.(?: *\d)+)(?: *E *[-+]?(?: *\d)+)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE))(?!\w)/ -/(?:^|[^\w^])\$(?:\w+|(?=[.{]))(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/(?:^|[^\w^])[@^]\w+(?:(?:\.|:{1,2})\w+)*(?:\.|:{1,2})?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/(?<!\w)(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|{1,2}|=)?|&{1,2}|\|{1,2}|==|<[<=]?|>[=>]?|-[df]?|(?<!\w)(?:def|eq|ge|gt|in|is|le|lt|ne)(?!\w)/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:[^"^]|\^[^])*"|'(?:[^'^]|\^[^])*')/ -/^@[GS]ET_/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+\*\)/ -/\{[^]+\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)(?:(?:'(?:''|[^\n\r'])*')?#[$%&]?[\dA-F]+)*(?:'(?:''|[^\n\r'])*'(?!'))?|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^\w&])(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^\w&])(?:DISPOSE|EXIT|FALSE|NEW|TRUE)(?!\w)/i -/(?:^|[^\w&])(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)(?!\w)/i -/(?:^|[^\w&])(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)(?!\w)/i -/(?:^|[^\w&])(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)(?!\w)/ -/\(\*[^]+\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|(?<!\w)(?:and|mod|or)(?!\w)/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|\`(?:\\[^]|[^\\\\\`])*\`|\^[A-Z]/i -/(?:^|[^\w&])(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)(?!\w)/i -/(?:^|[^\w&])(?:TRU|FALS)E(?!\w)/i -/(?:^|[^\w&])(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)(?!\w)/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/(?<!\w)TYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?!\w))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*\*\/|(?<!\w)REM[^;]*;|<\*(?:\*+(?:[^*<>]|<(?!\*)|<\*(?:[^*]|\*+[^*>])*\*+>)|<*(?:[^*<]|<\*(?:[^*]|\*+[^*>])*\*+>))*\*+>|\/\+[^]*\+\// -/(?<!\w)(?:ABSTRACT|ALIAS|AS|CATCH|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|(?:END-)?(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EXTENDS|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|LIBRARY|LOCAL|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|STEP|THEN|THROW|TO|UNTIL|VALUE|WHEN(?:-OTHER)?)(?!\w)/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/(?<!\w)(?:AND|NOT|OR)(?!\w)/i -/(?<!\w)(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?!\w)/ -/-[ABCMORSTWXb-gklopr-uwxz](?!\w)|\+[+=]?|-[-=>]?|\*{1,2}=?|\/{1,2}=?|=[=>~]?|~[=~]?|\|{1,2}=?|&{1,2}=?|<(?:=>?|<=?)?|>{1,2}=?|![=~]?|[%^]=?|\.(?:=|\.{1,2})?|[?\\]|(?<!\w)(?:x(?:=|(?!\w))|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)(?!\w))/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?[$A-Z_][\w$]*)+(?:::)*/i -/[$%&*@]\d+/ -/[$@][^\0-\x200-9A-Za-z\x7f-\uffff]|%[\x21-\x2f:;<>?@[\\\]\^_\`{|}~]/ -/<(?:[^\s<=]\S*)?>|(?<!\w)_(?!\w)/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*=cut.*/m -/(?<!\w)q[qwx]?\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/(?<!\w)q[qwx]?\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)/ -/(?<!\w)q[qwx]?\s*\((?:[^()\\]|\\[^])*\)/ -/(?<!\w)q[qwx]?\s*\{(?:[^\\{}]|\\[^])*\}/ -/(?<!\w)q[qwx]?\s*\[(?:[^[\\\]]|\\[^])*\]/ -/(?<!\w)q[qwx]?\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:[^"\\]|\\[^])*"|\`(?:[^\\\\\`]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/(?<!\w)(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s+(?:0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/(?<!\w)(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s+(?:0(?:[^0\\]|\\[^])*0(?:[^0\\]|\\[^])*0|1(?:[^1\\]|\\[^])*1(?:[^1\\]|\\[^])*1|2(?:[^2\\]|\\[^])*2(?:[^2\\]|\\[^])*2|3(?:[^3\\]|\\[^])*3(?:[^3\\]|\\[^])*3|4(?:[^4\\]|\\[^])*4(?:[^4\\]|\\[^])*4|5(?:[^5\\]|\\[^])*5(?:[^5\\]|\\[^])*5|6(?:[^6\\]|\\[^])*6(?:[^6\\]|\\[^])*6|7(?:[^7\\]|\\[^])*7(?:[^7\\]|\\[^])*7|8(?:[^8\\]|\\[^])*8(?:[^8\\]|\\[^])*8|9(?:[^9\\]|\\[^])*9(?:[^9\\]|\\[^])*9|A(?:[^A\\]|\\[^])*A(?:[^A\\]|\\[^])*A|B(?:[^B\\]|\\[^])*B(?:[^B\\]|\\[^])*B|C(?:[^C\\]|\\[^])*C(?:[^C\\]|\\[^])*C|D(?:[^D\\]|\\[^])*D(?:[^D\\]|\\[^])*D|E(?:[^E\\]|\\[^])*E(?:[^E\\]|\\[^])*E|F(?:[^F\\]|\\[^])*F(?:[^F\\]|\\[^])*F|G(?:[^G\\]|\\[^])*G(?:[^G\\]|\\[^])*G|H(?:[^H\\]|\\[^])*H(?:[^H\\]|\\[^])*H|I(?:[^I\\]|\\[^])*I(?:[^I\\]|\\[^])*I|J(?:[^J\\]|\\[^])*J(?:[^J\\]|\\[^])*J|K(?:[^K\\]|\\[^])*K(?:[^K\\]|\\[^])*K|L(?:[^L\\]|\\[^])*L(?:[^L\\]|\\[^])*L|M(?:[^M\\]|\\[^])*M(?:[^M\\]|\\[^])*M|N(?:[^N\\]|\\[^])*N(?:[^N\\]|\\[^])*N|O(?:[^O\\]|\\[^])*O(?:[^O\\]|\\[^])*O|P(?:[^P\\]|\\[^])*P(?:[^P\\]|\\[^])*P|Q(?:[^Q\\]|\\[^])*Q(?:[^Q\\]|\\[^])*Q|R(?:[^R\\]|\\[^])*R(?:[^R\\]|\\[^])*R|S(?:[^S\\]|\\[^])*S(?:[^S\\]|\\[^])*S|T(?:[^T\\]|\\[^])*T(?:[^T\\]|\\[^])*T|U(?:[^U\\]|\\[^])*U(?:[^U\\]|\\[^])*U|V(?:[^V\\]|\\[^])*V(?:[^V\\]|\\[^])*V|W(?:[^W\\]|\\[^])*W(?:[^W\\]|\\[^])*W|X(?:[^X\\]|\\[^])*X(?:[^X\\]|\\[^])*X|Y(?:[^Y\\]|\\[^])*Y(?:[^Y\\]|\\[^])*Y|Z(?:[^Z\\]|\\[^])*Z(?:[^Z\\]|\\[^])*Z|a(?:[^\\a]|\\[^])*a(?:[^\\a]|\\[^])*a|b(?:[^\\b]|\\[^])*b(?:[^\\b]|\\[^])*b|c(?:[^\\c]|\\[^])*c(?:[^\\c]|\\[^])*c|d(?:[^\\d]|\\[^])*d(?:[^\\d]|\\[^])*d|e(?:[^\\e]|\\[^])*e(?:[^\\e]|\\[^])*e|f(?:[^\\f]|\\[^])*f(?:[^\\f]|\\[^])*f|g(?:[^\\g]|\\[^])*g(?:[^\\g]|\\[^])*g|h(?:[^\\h]|\\[^])*h(?:[^\\h]|\\[^])*h|i(?:[^\\i]|\\[^])*i(?:[^\\i]|\\[^])*i|j(?:[^\\j]|\\[^])*j(?:[^\\j]|\\[^])*j|k(?:[^\\k]|\\[^])*k(?:[^\\k]|\\[^])*k|l(?:[^\\l]|\\[^])*l(?:[^\\l]|\\[^])*l|m(?:[^\\m]|\\[^])*m(?:[^\\m]|\\[^])*m|n(?:[^\\n]|\\[^])*n(?:[^\\n]|\\[^])*n|o(?:[^\\o]|\\[^])*o(?:[^\\o]|\\[^])*o|p(?:[^\\p]|\\[^])*p(?:[^\\p]|\\[^])*p|q(?:[^\\q]|\\[^])*q(?:[^\\q]|\\[^])*q|r(?:[^\\r]|\\[^])*r(?:[^\\r]|\\[^])*r|s(?:[^\\s]|\\[^])*s(?:[^\\s]|\\[^])*s|t(?:[^\\t]|\\[^])*t(?:[^\\t]|\\[^])*t|u(?:[^\\\\u]|\\[^])*u(?:[^\\\\u]|\\[^])*u|v(?:[^\\v]|\\[^])*v(?:[^\\v]|\\[^])*v|w(?:[^\\w]|\\[^])*w(?:[^\\w]|\\[^])*w|x(?:[^\\x]|\\[^])*x(?:[^\\x]|\\[^])*x|y(?:[^\\y]|\\[^])*y(?:[^\\y]|\\[^])*y|z(?:[^\\z]|\\[^])*z(?:[^\\z]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-\w])(?:[sy]|tr)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?!\w)))/ -/sub/ -/@(?:global|param|property(?:-(?:read|write))?|var)\s+(?:(?:[A-Za-z]\w*)?(?:[[\\\]|](?:[A-Za-z]\w*)?)*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])\s+)?\$\w+/ -/@(?:global|package|param|property(?:-(?:read|write))?|return|subpackage|throws|var)\s+(?:[A-Za-z]\w*)?(?:[[\\\]|](?:[A-Za-z]\w*)?)*(?:(?<!\w)[A-Za-z]\w*|[[\\\]|])/ -/(?<!\w)(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)(?!\w)/ -/[()[\\\]|]/ -/\$this(?!\w)/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)(?!\w)/ -/(?:(?<!\w)\w|(?<=\w)\\)[\w\\]*::/ -/static|self|parent/ -/::|\\/ -/(?<!\w)(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/(?<!\w)(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_(?:DATE|TIME|TIMESTAMP|USER))?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|(?:MULTI)?(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OF{1,2}|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+(?!\w)|\d+\.?\d*|\.\d+(?!\w))/i -/[-%*+/=~^]|&{1,2}|\|{1,2}|!=?|<(?:=>?|[<>])?|>[=>]?|(?<!\w)(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)(?!\w)/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|[^"\\]|"")*"|'(?:\\[^]|[^'\\]|'')*')/ -/(?<!\w)(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:AN|VAR)Y|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)(?!\w)/i -/:=/ -/@(?:"(?:\\[^]|[^"\\])+"|'(?:\\[^]|[^'\\])+'|\`(?:\\[^]|[^\\\\\`])+\`)/ -/(?:(?<!\w)(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time))(?!\w)/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.{2,3}/ -/[(),;[\]{}]/ -/(?:^|[^\\])\/(?:\*[^]*\*\/|\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/(?<!\w)Day\.(?:Sun|Mon|Tues|Wednes|Thurs|Fri|Satur)day(?!\w)/ -/(?<!\w)TraceLevel\.(?:Critical|Error|Information|Verbose|Warning)(?!\w)/ -/(?<!\w)Occurrence\.(?:First|Last|All)(?!\w)/ -/(?<!\w)Order\.(?:A|De)scending(?!\w)/ -/(?<!\w)RoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)(?!\w)/ -/(?<!\w)MissingField\.(?:Error|Ignore|UseNull)(?!\w)/ -/(?<!\w)QuoteStyle\.(?:Csv|None)(?!\w)/ -/(?<!\w)JoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)(?!\w)/ -/(?<!\w)GroupKind\.(?:Glob|Loc)al(?!\w)/ -/(?<!\w)ExtraValues\.(?:List|Ignore|Error)(?!\w)/ -/(?<!\w)JoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)(?!\w)/ -/(?<!\w)JoinSide\.(?:Lef|Righ)t(?!\w)/ -/(?<!\w)Precision\.D(?:ouble|ecimal)(?!\w)/ -/(?<!\w)RelativePosition\.From(?:End|Start)(?!\w)/ -/(?<!\w)TextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)(?!\w)/ -/(?<!\w)(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type(?!\w)/ -/(?:^|[^\w#.])[.A-Z_][\w.]*(?=\s*\()/i -/(?<!\w)(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)(?!\w)/ -/(?:(?<!\w)0X[\dA-F]+|(?:(?:[-+]|(?<!\w))(?:\d+\.)?|[-+]\.|(?:^|[^\w.])\.)\d+(?:E[-+]?\d+)?)(?!\w)/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRU|FALS)E(?!\w)/i -/\$\w+(?!\w)/ -/(?<!\w)(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)(?!\w)/i -/[(),.;[\]{|}]/ -/(?<!\w)(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+(?!\w)/i -/(?<!\w)(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)(?!\w)/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)(?!\w)|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|[^\n\r$)]|\$+(?:\$\([^\n\r()]*\)|[^\n\r$()]))*\$*\)/ -/(?<!\w)(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)(?!\w)/ -/(?<!\w)(?:[A-WYZ][\dA-Z_]|X(?:[\dA-LN-Z_]|M(?!L(?!\w))))[\dA-Z_]*(?!\w)/ -/<[<=]?|>[=>]?|&{1,2}|\|{1,2}|[%?]|[-!*+/=]=?/ -/(?<!\w)(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)(?!\w)/ -/(?<!\w)(?:fx|fy|xf[xy]?|yfx?)(?!\w)/ -/(?<!\w)[A-Z_]\w*/ -/(?<!\w)[a-z]\w*(?:(?=\()|\/\d+)/ -/(?<!\w)\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|(?<!\w)(?:is|mod|not|xor)(?!\w)/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|[^\n\r"\\])*"|'(?:''|\\(?:\r\n|[^])|[^\n\r'\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?= *[:=]| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/(?<!\w)(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)(?!\w)(?!\s*=\s*\d)/ -/(?<!\w)(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)(?!\w)/ -/(?<!\w)MAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?<!\w)\.?[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/(?<!\w)(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/(?<!\w)r(?:pc\s+\w+|eturns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script(?:[^\w\n\r\u2028\u2029].*)?\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)(?: .+|(?!\w))/m -/^[\t ]*(?:block|extends|include|append|prepend)[^\w\n\r\u2028\u2029].*/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?:[\w#.][\w#\-.]*[-\w]|\w)(?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+ in(?!\w)/ -/^(?:if|unless|else|case|when|default|while)(?!\w)/ -/^mixin/ -/\w+(?=\s*(?:\(|$))/ -/[(),.]/ -/(?<!\w)(?:each|in)(?!\w)/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*(?:!?=|[),]))/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ])))/m -/^[\t ]*(?:[^\s():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*(?:(?:\r?\n|\r)[]Unknown:\\1[](?:[^\s():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})(?:[^\n\r():{}]|:{1,2}[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})*)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ])))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{(?:\{[^]*\}|%[^]*%)\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/(?<!\w)(?:even|if|odd)(?!\w)/ -/(?<!\w)(?:true|false|null)(?!\w)/ -/(?<!\w)(?:0x[\dA-Fa-f]+|(?:\d+\.?|\.\d)\d*(?:[Ee][-+]?\d+)?)/ -/(?<!\w)[A-Z_]\w*(?!\w)/i -/[(),.:[\]{}]/ -/(?<!\w)!(?:IMPORTANT|OPTIONAL)(?!\w)/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^\{(?:\{-?|%-?\s*\w+)/ -/-?[%}]\}$/ -/[<=>]=?|!=|\*{1,2}|\/{1,2}|\?:?|[-%+|~]/ -/URL\((?:".*"|'.*'|.+)?\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?!\S)|@[-\w]+)/ -/(?<!\w)\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||(?<!\w)(?:-|and|in|is(?: a| defined| not|nt)?|not|or)(?!\w)/ -/^\{[%{]-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)(?!\w)/i -/(?<!\w)(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)(?!\w)/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>{0,2}|[%*+/?]|(?<!\w)(?:and|in|or)(?!\w)/ -/[(),.;[\]{}]|:+/ -/(?:(?<!\w)node\s|[(,=[{~]|[+=]>|^)\s*\/(?:[^/\\]|\\[^])+\/[imx]*(?!\w)/ -/"(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^"\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}|[^'\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/(?<!\w)(?:(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)(?!\w)|[A-Z_a-z]\w*(?=\())/ -/(?<!\w)(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)(?!\w)/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\)(?:.*(?:\r?\n|\r))+[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.[A-Z_]\w*/i -/(?:\S.*)?\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?:::\w|\w(?!\w*\())\w*(?:::\w+)*/ -/^\$/ -/(?<!\w)(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)(?!\w)/ -/(?<!\w)(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float_(?:matrix|pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)(?!\w)/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|(?<!\w)_+(?!\w))(?:(?:(?<!\w)_+)?(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]_*)*[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^])?(?:(?<!\w)_+(?!\w))?|(?<!\w)(?:and|div|mod|not|or)(?!\w)/ -/[(),;[\]{|}]/ -/%<[^]+%>/ -/(?:\.\.|(?<!\w))(?:(?:INF|NAN)(?!\w)|0X[\dA-F]+|(?:(?:0B)?\d+(?:\.\d)?|\.\d)\d*(?:E[-+]?\d+)?L?)/i -/(?<!\w)__[A-Z]+__(?!\w)/i -/^%< *-\*-.+-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+%>/i -/(?<!\w)(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)(?!\w)/i -/(?<!\w)\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)(?!\w)/i -/(?:@\*?|[*?])\w+|-[->]?|\+{1,2}|!=?|<{1,2}=?|>{1,2}=?|={1,2}|&{1,2}|\|{1,2}|[%*/?@~^]/ -/^\s*!.*/m -/(?<!\w)(?:ST\d|[XYZ]MM\d{1,2}|[CDT]R\d|R\d{1,2}[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)(?!\w)/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)(?!\w)/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/(?<!\w)(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)(?!\w)/ -/(?<!\w)(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)(?!\w)/ -/(?<!\w)(?:Tru|Fals|Non)e(?!\w)/ -/(?<!\w)(?:(?=\d)|(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?|\.\d)\d*(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*"""|'''[^]*'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*"""|'''[^]*''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/(?<!\w)CLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{[^{}](?:[^{}]|\{[^{}](?:[^{}]|\{[^{}]+\})*\})*\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]+)?/ -/(?<!\w)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|(?:[2-9]|[01](?!:))\d*\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/(?:\\\w+|(?<!\w)(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank))(?!\w)/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|(?<!\w)each(?!\w)/ -/(?:(?<!\w)(?:\.(?!\w)|[01]:)|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]|(?<!\w)_(?!\w)):?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/(?<!\w)(?:as|import|on)(?!\w)/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*[A-Z_a-z]\w*(?=[\t ]*(?:\{|[\t ]on(?!\w)))/m -/:[\t ]*(?:[^\s"'()/;[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])(?:[^\n\r"'()/;[\\\]{}\u2028\u2029]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\((?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\)|\[(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\]|\{(?:\/(?:[^"'()*/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\(\)|\[\]|\{\}|\\[^])|[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/\/.*$|\/\*(?:[^*]|\*+[^*/])*\*+\/|\(\)|\[\]|\{\}|\\[^])*\/?\}|\\[^])*\}|\\[^])*\}|\\[^])*/m -/(?:^|[;{])[\t ]*[A-Z_]\w*(?:\.\w+)*(?=[\t ]*:)/im -/(?:^|[;{])[\t ]*property[\t ]+[A-Z_a-z]\w*(?:\.\w+)*[\t ]+[A-Z_a-z]\w*(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/(?<!\w)(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)(?!\w)/ -/(?:\$|(?<!\w))[A-Z_]\w*(?=\()/i -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$[A-Z_]\w*(?!\w)/i -/(?:^|[^\\])(?:\/\*[^]*\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:={1,2}|~)?|>{1,2}=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/(?<!\w)(?:TRU|FALS)E(?!\w)/ -/\.\.(?:\.|\d+)/ -/(?<!\w)(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)(?!\w)/ -/->{0,2}|<(?:=|<?-)?|[!=>]=?|:{1,2}|&{1,2}|\|{1,2}|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/%[^\s%]*%/ -/(?<!\w)(?:NaN|Inf)(?!\w)/ -/(?<!\w)(?:0x[\dA-Fa-f]+(?:\.\d*)?|\d+\.?\d*|\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-(?:library|macro|syntax|values))?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?![^\s()[\]])/ -/[([](?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?![^\s()[\]])/ -/(?:^|[\s()[\]])(?:(?:#(?:d(?:#[ei])?|[ei](?:#d)?))?[-+]?\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+)(?:(?:[-+]\d*(?:\.?\d+(?:[Ee][-+]?\d+)?|\d\/\d+))?i)?|#(?:[box](?:#[ei])?|[ei](?:#[box])?)[-+]?[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?)?i)?)(?![^\s()[\]])/ -/(?:^|[\s()[\]])#[ft](?![^\s()[\]])/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?![^\s()[\]])/ -/[([][^\s'()[\]]+(?![^\s()[\]])/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'>{][^\s"'>]*)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/(?<!\w)(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)(?!\w)/ -/\.{3}|:[:=]|\|>|->|=(?:={1,2}|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|(?<!\w)(?:mod|land|lor|lxor|lsl|lsr|asr)(?!\w)/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/(?<!\w)[A-Z]\w*(?!\w)(?!\s*\.)/ -/(?<!\w)[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?:[4-9]|[123](?![0-7]{2}))/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\(?:[DSW]|P\{[^{}]+\})/i -/['<][^'<>]+(?=['>]$)/ -/(?<!\w)(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)(?!\w)/i -/(?<!\w)(?:0X[\dA-F]+(?!\w)|(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?{1,2}|\.\.\./ -/(?<!\w)[\dA-Z_]+(?!\w)/ -/@"[^]*"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/(?<!\w)[A-Z]\w*(?:\.\w+)*(?=(?:\?\s+|\*?\s+\*?)\w)/ -/\[[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?<!\w)(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*(?!\w)/ -/(?:(?<!\w)(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*(?!\w)/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/(?<!\w)(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)(?!\w)/ -/(?<!\w)(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)(?!\w)|\$/ -/(?<!\w)(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)(?!\w)/ -/(?<!\w)(?:[Tt]ru|[Ff]als)e(?!\w)/ -/(?<!\w)(?:(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?|\.\d)\d*(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*{1,2}=?|\/{1,2}=?|<[<=>]?|>[=>]?|[&|~^]|(?<!\w)(?:or|and|not|with|at)(?!\w)/ -/(?:^|[^\\])#.+/ -/"""[^]+"""|'''[^]+'''|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|^#?(?:[\dA-F]{3}){1,2}$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!{4,}|"{4,}|#{4,}|\\\${4,}|%{4,}|&{4,}|'{4,}|\({4,}|\){4,}|\*{4,}|\+{4,}|,{4,}|-{4,}|\.{4,}|\/{4,}|:{4,}|;{4,}|<{4,}|={4,}|>{4,}|\?{4,}|@{4,}|\[{4,}|\\{4,}|\]{4,}|\^{4,}|_{4,}|\`{4,}|\{{4,}|\|{4,}|\}{4,}|~{4,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:-{2,3}|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!{2,}|"{2,}|#{2,}|\\\${2,}|%{2,}|&{2,}|'{2,}|\({2,}|\){2,}|\*{2,}|\+{2,}|,{2,}|-{2,}|\.{2,}|\/{2,}|:{2,}|;{2,}|<{2,}|={2,}|>{2,}|\?{2,}|@{2,}|\[{2,}|\\{2,}|\]{2,}|\^{2,}|_{2,}|\`{2,}|\{{2,}|\|{2,}|\}{2,}|~{2,})(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*\`|\`.*\`:[^:]+:|(?:\*\*(?:\S.*)?\S\*\*|\*(?:\S.*)?\S\*|\`\`(?:\S.*)?\S\`\`|\`(?:\S.*)?\S\`|\|(?:\S.*)?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?![^\s!"'),\-./:;?\\\]}])/ -/(?:(?<!\w)[\dA-Z]+(?:[+.:_][\dA-Z]+)*_{1,2}|\`[^\`]+\`_{1,2}|_\`[^\`]+\`)(?![^\s!"'),\-./:;?\\\]}])/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|[^\s|](?:[^|]*[^\s|])?\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!+|"+|#+|\$+|%+|&+|'+|\(+|\)+|\*+|\++|,+|-+|\.+|\/+|:+|;+|<+|=+|>+|\?+|@+|\[+|\\+|\]+|\^+|_+|\`+|\{+|\|+|\}+|~+)/m -/\*{1,2}|\`{1,2}|\|/ -/^\[|\]_$/ -/^_?\`|(?:\`|\`?_{1,2})$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|(?<!\w)(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)(?!\w)/ -/@|(?<!\w)System(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?!\w)/ -/(?<!\w)\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?!\w)/ -/(?<!\w)\`(?:[^\s\w"#'(),./:;<>[\\\]\`{}](?=\w)|\w(?!\w))/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:[-+]|(?<!\w))\d+(?:\.\d+)?(?!\w)/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)(?!\w))/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r] ?(?:[^\s#.]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?[^\s#](?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/\[Documentation\](?: {2}|\t)[\t ]*(?:[^\t\n\r #\u2028\u2029]|(?:\r\n?|\n)[\t ]*\.{3})(?:.|(?:\r\n?|\n)[\t ]*\.{3})*/ -/[\n\r](?: {2}|\t)[\t ]*(?:[^\s#.[]|\.(?!\.{2}))(?:[\t ]\S)*(?:\S(?:[\t ]\S)*)*/ -/^[$%&@]\{|\}$/ -/(?<!\w)[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/(?<!\w)[A-Z_][\dA-Z_]+(?!\w)/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?(?!\w)/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<{1,2}=?|>{1,2}=?|[?@]/ -/b?(?:"(?:\\[^]|[^"\\])*"|r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[])/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]|(?<!\w)move)\s*\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/(?<!\w)fn\s+\w+/ -/(?<!\w)(?:enum|struct|union)\s+\w+/ -/(?<!\w)(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)(?!\w)/ -/(?<!\w)(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)(?!\w)/ -/\w+!/ -/(?<!\w)(?:[a-z][\d_a-z]*\s*::\s*)*[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:\/*(?:[^*/]|\/\*(?:\/*(?:[^*/]|\/\*(?:\/*(?:[^*/]|\/\*(?:(?:\*+|\/+)?[^*/])*\*+\/)|\*+[^*/])*\*+\/)|\*+[^*/])*\*+\/)|\*+[^*/])*\*+\// -/(?<!\w)(?:crate|mod)\s+[a-z][\d_a-z]*/ -/(?<!\w)(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*|(?!\w))/ -/(?<!\w)\d(?:[\dA-F]*X|\d*(?:\.\d+)?(?:E[-+]?\d+)?)(?!\w)/i -/\*{1,2}|\|{1,2}|!{1,2}|\xa6{1,2}|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINE|CARD)S;[^]*[\n\r\u2028\u2029]\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?:[^\s"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:(?:"(?:""|[^"])*")?(?:[^"';]|'(?:''|[^'])*'(?:[^"';]|"(?:""|[^"])*"(?!"))))*(?:"(?:""|[^"])*")?(?:'(?:''|[^'])*')?;/im -/(?:^|[\s(=])%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)(?!\w)/i -/&[A-Z_]\w*/i -/(?:^|[\s=])%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/(?<!\w)INPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+[^\w;][^;]*/i -/%?\w+(?=\()/ -/(?<!\w)(?:FORMA|PU)T(?:=[\w$'.]|[$'.])[\w$'.]*/i -/(?<!\w)(?:FORMA|PU)T\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')[bx]/ -/(?:"(?:""|[^"])*"|'(?:''|[^'])*')(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))(?!\w)/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)(?!\w)/i -/(?<!\w)(?:EQ|NE|GT|LT|GE|LE|IN|NOT)(?!\w)/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+(?!\w)/i -/(?:^|;)\s*\*[^;]*;/m -/^(?:FORMA|PU)T(?==)/i -/^(?:FORMA|PU)T/i -/^(?:(?:DATA)?LINE|CARD)S/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])(?:(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"';])|[^"';]))*(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*")?;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)(?!\w)/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)(?!\w)/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])(?:(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*"(?:'(?:''|[^'])*'(?!')|[^"'])|[^"']))*(?:'(?:''|[^'])*')?(?:"(?:""|[^"])*")?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)(?!\w)/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:|:[^\s:]+).*/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|(?<!\w)(?:and|or|not)(?!\w)/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^"\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|[^'\\])*'|<<-?\s*\w+[\t ]*(?:[\n\r\u2028\u2029][^]*)?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"|'\w+')[\t ]*(?:[\n\r\u2028\u2029][^]*)?[\n\r][]Unknown:\\4[])+/ -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?![^:])/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:tru|fals)e(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.[-A-Z_][-\w]*/i -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#(?:[\dA-Z]+|-|!{1,2}|%{1,2}|&{1,2}|\*{1,2}|\+{1,2}|\/{1,2}|<{1,2}|={1,2}|>{1,2}|\?{1,2}|@{1,2}|\\{1,2}|\|{1,2}|~{1,2}|(?=\())/i -/(?<!\w)(?:nil|true|false|self|super|new)(?!\w)/ -/[<=]=?|:=|~[=~]|\/{1,2}|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/(?<!\w)\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*\*\}/ -/(?<!\w)(?:false|off|on|no|true|yes)(?!\w)/ -/^\{|\}$/ -/\$[A-Z_]\w*/i -/#[A-Z_]\w*#/i -/^\/?[A-Z_]\w*/i -/[A-Z_]\w*(?=\()/i -/\w+\s*=\s*(?:[A-Z_]\w*)?/i -/[(),.:[\]\`]|->/ -/[-%*+/]|={1,3}|[!<>]=?|&&|\|{1,2}/ -/(?<!\w)is\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?(?!\w)/ -/(?<!\w)(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)(?!\w)/ -/(?:\.|->)[A-Z_]\w*/i -/\[[A-Z_]\w*(?=\])/i -/\|\s*@?[A-Z_]\w*/i -/=\s*[A-Z_]\w*/i -/(?<!\w)(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)(?!\w)/ -/(?<!\w)(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)(?!\w)/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/(?<!\w)(?:contract|enum|interface|library|new|struct|using)\s+[$A-Z_a-z][\w$]*/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+(?!\w)/ -/(?<!\w)(?:FALS|TRU)E(?!\w)/ -/^[\t ]*(?:[A-Z]\w*(?!\w)(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/(?<!\w)(?:\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?|0x[\dA-F]+)(?!\w)/ -/\?:?|<=?|>=?|={1,2}|!=|[-%*+/]|(?<!\w)(?:and|not|or)(?!\w)/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/(?<!\w)(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)(?!\w)/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/(?:[-+]|(?<!\w))\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:"{0,2}(?:[^"\\]|\\.))*"""|'''(?:'{0,2}(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u|U[\dA-Fa-f]{4})[\dA-Fa-f]{4})*>/ -/(?:[A-Z_\xb5\xc0-\ufffd][\w\-.\xb5\xb7\xc0-\ufffd]*)?:(?:(?:[\w:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)*)?/i -/(?:(?<!\w)a|@prefix|@base)(?!\w)|=/ -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/(?<!\w)(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)(?!\w)/i -/(?<!\w)(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)(?=\s*\()/i -/(?<!\w)(?:GRAPH|BASE|PREFIX)(?!\w)/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/(?<!\w)(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)(?!\w)/i -/\w+(?=\s*=(?!=))/ -/(?<!\w)(?:[FT]|FALSE|TRUE)(?!\w)/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/(?<!\w)(?:AND|AS|BY|NOT|OR|XOR)(?!\w)/i -/(?<!\w)\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?(?!\w)/ -/(?<!\w)(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)(?!\w)/i -TooManyNodesError -/(?:(?:\$|(?<!\w)0X)[\dA-F]+|(?<!\w)(?:\.\d+|\d+(?:\.\d+)?)(?:E[-+]?\d+)?)(?!\w)/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|(?<!\w)(?:AND|MOD|NOT|OR)(?!\w)/i -/(?<!\w)DIK(?:_[\dA-Z]+)+(?!\w)/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/(?<!\w)(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)(?!\w)/i -/#[A-Z]+(?!\w)/i -/(?<!\w)(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)(?!\w)/i -/(?<!\w)(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)(?!\w)/ -/(?<!\w)(?:AT|BOOL|BYTE|[DL]?WORD|U?[DLS]?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)(?!\w)/ -/%(?:[IMQ][BDLWX]|[IQ])[\d.]*/ -/(?<!\w)(?:(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)(?!\w)|(?:[DT]|DT|TOD)#[\d:DHMS_]*)|\b[A-Z]*#[\d,._]*|(?<!\w)(?:\d+\.?|\.\d)\d*(?:E[-+]?\d+)?/i -/(?<!\w)(?:TRUE|FALSE|NULL)(?!\w)/ -/S?R?:?=>?|&{1,2}|\*{1,2}|<=?|>=?|[-+/:^]|(?<!\w)(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)(?!\w)/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*(?:\*\/|$)|\(\*[^]*(?:\*\)|$)|\{[^]*(?:\}|$))/ -/(?<!\w)(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN|FILE|FUNCTION|LINE)__)(?!\w)/ -/(?<!\w)(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)(?!\w)/i -/(?<!\w)(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)(?!\w)/ -/@(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)(?!\w)/ -/(?<!\w)(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:Fir|La)st|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:Mutable)?Pointers?|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r"\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|[^\n\r'\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+#>/ -/<#@[^]*#>/ -/<#=[^]*#>/ -/<#\+[^]*#>/ -/<#[^]*#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|[^"\\])*"|'(?:\\[^]|[^'\\])*'|[^\s"'=>]+)/ -/^["'=]|["']$/ -/(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: (?:COM|ERROR|KEY|TIMER))?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR|#?(?:CONST|ELSE|ELSEIF|END|IF))(?:\$|(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?\d(?:\d{3}-\d{1,2}-\d{1,2}(?:[Tt]|[\t ]+)\d{1,2}:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d{1,2}(?::\d{2})?)?|\d{3}-\d{2}-\d{2}|\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|[,\]}]|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRU|FALS)E(?=[\t ]*(?:$|[,\]}]|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|[,\]}]|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*')(?=[\t ]*(?:$|[,\]}]|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?|\.?\d)\d*(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|[,\]}]|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*{1,2}|==|&{1,2}|\|{1,2}|<[<=]?|>[=>]?|[-%+/?~^]|(?<!\w)(?:eq|ne|in|ni)(?!\w)/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/(?<!\w)else(?:if)?(?!\w)/ -/^\s*(?:global|upvar|variable)(?!\w)/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)(?!\w)/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)(?!\w)/m -/#.*|\[%#[^]*%\]/ -/(?<!\w)(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)(?!\w)/ -/=[=>]?|!=?|<=?|>=?|&&|\|{1,2}|(?<!\w)(?:and|or|not)(?!\w)/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^[%[]%-?|-?%\]$/ -/(?<!\w)[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*(?!\w)/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/(?:(?<!\w)0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)|(?:[-+]|(?<!\w))\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?|(?:[-+]|(?<!\w))(?:inf|nan))(?!\w)/ -/[,.=[\]{}]/ -/^\s*(?:\[\s*){1,2}(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^|[,{])\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*"""|'''[^]*'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/(?<!\w)\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?(?!\w)/i -/(?<!\w)\d{2}:\d{2}:\d{2}(?:\.\d+)?(?!\w)/ -/(?<!\w)(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)(?!\w)/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&{1,2}|\|{1,2}|\^{1,2}|[%:?]|(?<!\w)(?:Cross|Dot|ClockwiseFrom)(?!\w)/ -/[(),.;[\]{}]/ -/(?<!\w)(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/(?<!\w)(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|(?<!\w)in(?!\w)/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|(?<!\w)(?:eq|g[et]|l[et]|n(?:e|ot))(?!\w)/ -/[^-\w][a-z][-\w]*(?=\()/ -/(?<!\w)\$\w+(?!\w)/ -/(?<!\w)\`\w+(?!\w)/ -/(?<!\w)(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)(?!\w)/ -/(?<!\w)always(?:_(?:latch|comb|ff))?(?: |(?!\w))@?/ -/(?<!\w)#{1,2}\d+|(?:(?<!\w)\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/(?<!\w)(?:USE|LIBRARY)(?!\w)/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)(?!\w)/i -/'[-01HLUWXZ]'|(?<!\w)\d(?:\d*#[\d.A-F_]+#|[\d._]+)?(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|(?<!\w)(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)(?!\w)/i -/(?:(?<!\w)[BOX]"[\dA-F_]+|"[-01HLUWXZ]+)"/i -/"\S+"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/(?<!\w)(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|[NPXb-fhj-rtuwxy]|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|join|ju|jumps|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|move|mzf|mzfile|mz|mzscheme|nbkey|new|next|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|quit|quita|quitall|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|yank)(?!\w)/ -/(?<!\w)(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)(?!\w)/ -/(?<!\w)(?:0X[\dA-F]+|\d+(?:\.\d+)?)(?!\w)/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|(?<!\w)is(?:not)?(?!\w)/ -/[(),:;[\]{}]/ -/(?:(?:(?<!\w)\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/(?<!\w)(?:TRUE|FALSE|NOTHING)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:(?:TYP|XMLNAMESPAC)E)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:(?:INHERIT|OVERRID)ABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U?(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)(?!\w)/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM(?!\w))(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\d+(?:(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M|(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M)?))?|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M|(?::\d+){1,2}(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[AP]M)?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*\*\// -/\$\S+/ -/(?<!\w)(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)(?!\w)/ -/(?:[-+]|(?<!\w))(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/(?<!\w)(?:false|true|[FT])(?!\w)/ -/<%|%>|[()[\]{}]/ -/==|&{1,2}|\|{1,2}|\*{1,2}|>{2,3}|<<|==|[!<>~]=?|[-%/^]|\+!?|(?<!\w)(?:AND|NOT|OR)(?!\w)/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:'+(?:[^'>\\]|\\.)|[^'\\]|\\.)*'+>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/(?:(?:[-+]|(?<!\w))(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)|(?<!\w)(?:inf|nan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?))(?!\w)/ -/\(;[^]*;\)/ -/"(?:\\[^]|[^"\\])*"/ -/(?<!\w)(?:anyfunc|block|br(?:_(?:if|table))?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:glob|loc)al|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:glob|loc)al|start|table|tee_local|then|type|unreachable)(?!\w)/ -/;;.*/ -/(?<!\w)(?:align|offset)=/ -/(?<!\w)(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))(?!\w)/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI(?:\W[^]*)?>[^]*<\/NOWIKI|PRE(?:\W[^]*)?>[^]*<\/PRE|SOURCE(?:\W[^]*)?>[^]*<\/SOURCE)>/i -/^=+.+[]Unknown:\\1[]/m -/''(?:'''.+'''|''.+''|'.+'|.+)''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX](?!\w)|(?:RFC|PMID) +\d+/i -/\[(?:\[.+\]|.+)\]/ -/__[A-Z]+__/ -/\{{3}.+\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^'{2,}|'{2,}$/ -/<(?:(?:NOWIKI|PRE|SOURCE)(?:\W[^]*)?|\/(?:NOWIKI|PRE|SOURCE))>/i -/'''''.+(?=''''')/ -/'''[^'](?:.*[^'])?(?=''')/ -/''[^'](?:.*[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w(?:\w*:\{|(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?)/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)(?!\w)/i -/(?<!\w)(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)(?!\w)/i -/<[=>]?|>=?|[-*+/=\\^]|(?<!\w)(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)(?!\w)/i -/[(),.:;]/ -/(?:'.|\/\/.|REM[^\w\n\r\u2028\u2029]).*/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?[^\s\d$%/<=>][^\s$%/<=>]*(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*:\)/ -/"(?:""|[^"])*"|'(?:''|[^'])*'/ -/\(#.+#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-\w:])(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)(?!\w)(?![-:])/ -/(?:^|[^-\w:])(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greate|lea)st|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)(?!\w)(?![-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-\w:])(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))(?!\w)(?![-:])/ -/[*+=?@|]|\.{1,2}|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^"\\])*"|'(?:\\[^]|\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}|[^'\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{[^{}](?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\}/ -/\/(?:\*[^]*\*\/|\/.*)/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/(?<!\w)@[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w)/ -/(?<!\w)[A-Z_]\w*(?=\s*\()/i -/(?<!\w)(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/(?<!\w)(?:(?:break|continue)\s*:\s*\w+(?!\w)|[A-Z_a-z]\w*(?=\s*:\s*(?:\{|while(?!\w))))/ -/(?<!\w)[A-Z_a-z]\w*(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/(?<!\w)(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:floa|in)t|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)(?!\w)/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?:!|(?!\s))\s*(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)(?:\s+|(?<!\w)))?(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?:!|(?!\s))\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?:!|(?!\s))\s*(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)(?:\s+|(?<!\w)))?(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w)))(?:!?\s*(?:(?:(?:(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*)*(?:\?|(?<!\w)promise->|(?:\[[^[\]]*\]|\*|\*\*)(?:\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)|(?:const|volatile|allowzero)(?!\w)))*)\s*){1}(?<!\w)|(?<!\w))(?:promise(?!\w)|(?:error\.)?(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?:\.(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*)*(?!\w)(?!\s+(?!(?<!\w)(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?!\w))[A-Z_a-z]\w*(?!\w))))*(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/sort-assertions.ts b/tests/transformers/__snapshots__/sort-assertions.ts deleted file mode 100644 index 7141d3cd..00000000 --- a/tests/transformers/__snapshots__/sort-assertions.ts +++ /dev/null @@ -1,2532 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> sort-assertions >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/"|'/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/<|>/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/\[|\]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/>|\+|~|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*(?:"|&)|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*(?:'|&))/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!"|')|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=\s|,|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=\s|,|$)/ -/(?:^|\s)IT(?=\s|,|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:'|\\|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?:(?<!\w)\w|(?<=\w)(?!\w)))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/(?:<|')[^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t ]|#)(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:T|D|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/__snapshots__/union-characters.ts b/tests/transformers/__snapshots__/union-characters.ts deleted file mode 100644 index b566a9d7..00000000 --- a/tests/transformers/__snapshots__/union-characters.ts +++ /dev/null @@ -1,2532 +0,0 @@ -/* eslint-disable */ - -var unescapeBackslashes = (str: string): string => { - return str.replace(/(\\*)(`|\$\{|\\u(?![a-fA-F0-9]{4}))/g, (m, backslashes: string, c: string) => { - return "\\".repeat(Math.floor(backslashes.length / 2)) + c; - }); -}; -var lit = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(1, -1)); -}; -var n = (array: TemplateStringsArray): string => { - return unescapeBackslashes(array.raw[0].slice(0, -1)); -}; - -module.exports[n`Transformers >> union-characters >> Prism regex snapshot `] = lit` -/<!--[^]*?-->/ -/<\?[^]+?\?>/ -/<!\[CDATA\[[^]*?\]\]>/i -/<!DOCTYPE(?:[^"'>[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^"'<\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i -/<\/?(?!\d)[^\s$%/<=>]+(?:\s(?:\s*[^\s/=>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/ -/&#X?[\dA-F]{1,8};/i -/^<!|>$|[[\]]/ -/^DOCTYPE/ -/[^\s"'<>]+/ -/\/?>/ -/&[\dA-Z]{1,8};/i -/\[[^]+(?=\]>$)/ -/"[^"]*"|'[^']*'/ -/^<\/?[^\s/>]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=>]+)/ -/[^\s/>]+/ -/^<\/?/ -/^[^\s/:>]+:/ -/["']/ -/^=/ -/\/\*[^]*?\*\// -/[^\s{}](?:[^"';{}]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*?(?=\s*\{)/ -/[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*(?=\s*:)/ -/!IMPORTANT\b/i -/[-\dA-Z]+(?=\()/i -/[(),:;{}]/ -/@[-\w]+[^]*?(?:;|(?=\s*\{))/ -/\bURL\((?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|(?:[^\n\r"'()\\]|\\[^])*)\)/i -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^@[-\w]+/ -/^URL/i -/^\(|\)$/ -/\bselector\s*\((?!\s*\))\s*(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/ -/(?:^|[^-\w])(?:and|not|only|or)(?![-\w])/ -/^(?:"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')$/ -/<STYLE[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/STYLE>)/i -/<!\[CDATA\[[^]*?\]\]>/i -/[^]+/ -/\s*STYLE=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*')/i -/^<!\[CDATA\[|\]\]>$/i -/^\s*=\s*["']|["']\s*$/ -/^<!\[CDATA\[[^]+?(?=\]\]>$)/i -/^\s*STYLE/i -/.+/ -/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/ -/\b(?:true|false)\b/ -/\w+(?=\()/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[%*/?~^]/ -/[(),.:;[\]{}]/ -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/(?:\b(?:CLASS|INTERFACE|EXTENDS|IMPLEMENTS|TRAIT|INSTANCEOF|NEW)\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^\\])\/\*[^]*?(?:\*\/|$)/ -/(?:^|[^:\\])\/\/.*/ -/[.\\]/ -/\b[A-Z](?:[A-Z_]|\dx?)*\b/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\b(?:(?:0[Xx](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[Bb](?:[01](?:_[01])?)+|0[Oo](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][-+]?(?:\d(?:_\d)?)+)?/ -/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-!%&*+/<=>|^]=?|\.{3}|\?\?=?|\?\.?|[:~]/ -/\b(?:class|interface|extends|implements|instanceof|new)\s+[\w.\\]+/ -/\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:^|[^\x09-\x0d "$').0-9A-Z\]_a-z\xa0-\uffff]|\b(?:return|yield))\s*\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[gimsuy]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\n\r),.:;\]}]|\/\/))/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/(?:^|[^\w$\xa0-\uffff])[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\.(?:prototype|constructor))/ -/function(?:\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)?\s*\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=>)/ -/\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/ -/(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![\w$\xa0-\uffff]))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/ -/(?:^|\})\s*(?:catch|finally)\b/ -/(?:^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function(?:(?<!\w)\w|(?<=\w)(?!\w))|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/ -/^\`|\`$/ -/(?:^|[^\\])(?:\\{2})*\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/^\$\{|\}$/ -/<SCRIPT[^]*?>(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[^])*?(?=<\/SCRIPT>)/i -/^\*.*/m -/\`(?:\\.|(?!\`)[^\n\r\\])*\`|'(?:\\.|(?!')[^\n\r\\])*'/ -/\b\d+\b/ -/[(),.:]/ -/[|}](?:\\.|[^\n\r\\{|])*(?=[{|])/ -/(?:^|\s)".*/m -/(?:[\s.]|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i -/\s(?:\*\*?|<[=>]?|>=?|\?=|[-+/=])(?=\s)/ -/\s&&?(?=\s)/ -/\w(?:->?|=>|[{|}~])(?=\w)/ -/[{|}]/ -/;.*/ -/=\/?|\// -/[()[\]]/ -/(?:%[is])?"[^\n\r"]*"/ -/%(?:B[01]+-[01]+|D\d+-\d+|X[\dA-F]+-[\dA-F]+)/i -/%(?:B[01]+(?:\.[01]+)*|D\d+(?:\.\d+)*|X[\dA-F]+(?:\.[\dA-F]+)*)/i -/(?:^|[^-\w])(?:\d*\*\d*|\d+)/ -/^[\t ]*(?:[a-z][-\w]*|<[^\n\r>]*>)(?=\s*=)/m -/(?:(?:^|[^-\w<])(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)|<(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)>)(?![-\w])/i -/(?:^|[^-\w<])[A-Z][-\w]*|<[^\n\r>]*>/i -/^%[is]/ -/[<>]/ -/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/ -/\+\+|--|(?:[-%*+/^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[?@~]/ -/(?:^|[^.])<\/?\w+(?:\s+[^\s/=>]+=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'))*\s*\/?>/ -/--.*/ -/"(?:""|[^\n\f\r"])*"/ -/\b'\w+/ -/\b(?:ABORT|ABS|ABSTRACT|ACCEPT|ACCESS|ALIASED|ALL|AND|ARRAY|AT|BEGIN|BODY|CASE|CONSTANT|DECLARE|DELAY|DELTA|DIGITS|DO|ELSE|NEW|RETURN|ELSIF|END|ENTRY|EXCEPTION|EXIT|FOR|FUNCTION|GENERIC|GOTO|IF|IN|INTERFACE|IS|LIMITED|LOOP|MOD|NOT|NULL|OF|OTHERS|OUT|OVERRIDING|PACKAGE|PRAGMA|PRIVATE|PROCEDURE|PROTECTED|RAISE|RANGE|RECORD|REM|RENAMES|REQUEUE|REVERSE|SELECT|SEPARATE|SOME|SUBTYPE|SYNCHRONIZED|TAGGED|TASK|TERMINATE|THEN|TYPE|UNTIL|USE|WHEN|WHILE|WITH|XOR)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[-&+]/ -/\.\.?|[(),:;]/ -/'.'/ -/\b[A-Z]\w*\b/i -/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[-+]?\d(?:_?\d)*)?/i -/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[-+]?\d(?:_?\d)*)?\b/i -/\{-[^]*?(?:-\}|$)|--.*/ -/[().;@{}\u2983\u2984]/ -/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/(?:data|record) +\S+/ -/^[\t ]*[^\n\r:]+?(?=:)/m -/(?:^\s*|\s)(?:[:=?\\_|\u03bb\u2192\u2200]|->)(?=\s)/ -/\/\/.*|\/\*[^]*?\*\// -/\b(?:0X[\dA-F]+|(?:\d+\.?\d*|\.\d+)(?:E[-+]?\d+)?)(?:F|U(?:LL?)?|LL?)?\b/i -/\b(?:FALSE|TRUE)\b/i -/\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\b/ -/\b(?:AUTOMATION|BIGINTEGER|BIGTEXT|BLOB|BOOLEAN|BYTE|CHAR|CLIENTTYPE|CODE|COMPLETIONTRIGGERERRORLEVEL|CONNECTIONTYPE|DATABASE|DATACLASSIFICATION|DATASCOPE|DATE|DATEFORMULA|DATETIME|DECIMAL|DEFAULTLAYOUT|DIALOG|DICTIONARY|DOTNETASSEMBLY|DOTNETTYPEDECLARATION|DURATION|ERRORINFO|ERRORTYPE|EXECUTIONCONTEXT|EXECUTIONMODE|FIELDCLASS|FIELDREF|FIELDTYPE|FILE|FILTERPAGEBUILDER|GUID|HTTPCLIENT|HTTPCONTENT|HTTPHEADERS|HTTPREQUESTMESSAGE|HTTPRESPONSEMESSAGE|INSTREAM|INTEGER|JOKER|JSONARRAY|JSONOBJECT|JSONTOKEN|JSONVALUE|KEYREF|LIST|MODULEDEPENDENCYINFO|MODULEINFO|NONE|NOTIFICATION|NOTIFICATIONSCOPE|OBJECTTYPE|OPTION|OUTSTREAM|PAGERESULT|RECORD|RECORDID|RECORDREF|REPORTFORMAT|SECURITYFILTER|SESSIONSETTINGS|TABLECONNECTIONTYPE|TABLEFILTER|TESTACTION|TESTFIELD|TESTFILTERFIELD|TESTPAGE|TESTPERMISSIONS|TESTREQUESTPAGE|TEXT|TEXTBUILDER|TEXTCONST|TEXTENCODING|TIME|TRANSACTIONMODEL|TRANSACTIONTYPE|VARIANT|VERBOSITY|VERSION|VIEW|VIEWS|WEBSERVICEACTIONCONTEXT|WEBSERVICEACTIONRESULTCODE|XMLATTRIBUTE|XMLATTRIBUTECOLLECTION|XMLCDATA|XMLCOMMENT|XMLDECLARATION|XMLDOCUMENT|XMLDOCUMENTTYPE|XMLELEMENT|XMLNAMESPACEMANAGER|XMLNAMETABLE|XMLNODE|XMLNODELIST|XMLPROCESSINGINSTRUCTION|XMLREADOPTIONS|XMLTEXT|XMLWRITEOPTIONS)\b/i -/\.\.|:[:=]|[-*+/]=?|<>|[<>]=?|=|\b(?:AND|DIV|MOD|NOT|OR|XOR)\b/i -/[(),.:;[\]{}]/ -/'(?:''|[^\n\r'])*'(?!')|"(?:""|[^\n\r"])*"(?!")/ -/(?:\b(?:EVENT|PROCEDURE|TRIGGER)\s+|(?:^|[^.])\.\s*)[A-Z_]\w*(?=\s*\()/i -/\b(?:ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS)\b/i -/\b(?:ACTION|ACTIONS|ADDAFTER|ADDBEFORE|ADDFIRST|ADDLAST|AREA|ASSEMBLY|CHARTPART|CODEUNIT|COLUMN|CONTROLADDIN|CUEGROUP|CUSTOMIZES|DATAITEM|DATASET|DOTNET|ELEMENTS|ENUM|ENUMEXTENSION|EXTENDS|FIELD|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUP|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEAFTER|MOVEBEFORE|MOVEFIRST|MOVELAST|PAGE|PAGECUSTOMIZATION|PAGEEXTENSION|PART|PROFILE|QUERY|REPEATER|REPORT|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLE|TABLEELEMENT|TABLEEXTENSION|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USERCONTROL|VALUE|XMLPORT)\b/i -/\/\/.*|\/\*[^]*?(?:\*\/|$)/ -/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/ -/\b[A-Z][A-Z_]*\b/ -/\.\.|->|[|~]|[*+?]\??/ -/[():;=]/ -/'(?:\\.|[^\n\r'\\])*'/ -/\[(?:\\.|[^\n\r\\\]])*\]/ -/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/ -/->\s*(?:\s*(?:,\s*)?\b[A-Z]\w*(?:\s*\([^\n\r()]*\))?)+(?=\s*;)/i -/@\w+(?:::\w+)*/ -/#[\t ]*\w+/ -/\\(?:u(?:[\dA-Fa-f]{4}|\{[\dA-Fa-f]+\})|[Pp]\{[-\w=]+\}|[^\n\rPpu])/ -/[[\]]/ -/[{}]/ -/\b\w+(?=\s*(?:[(,]|$))/ -/[(),]/ -/\b[a-z]\w*(?=\s*:)/ -/\b[A-Z]\w*(?=\s*:)/ -/(?:[^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/ -/\{[^]+(?=\})/ -/#.*/ -/[$%]\{?(?:\w\.?[-+:]?)+\}?/ -/\^?.*\$|\^.*\$?/ -/^\s*\b(?:ACCEPTFILTER|ACCEPTPATHINFO|ACCESSFILENAME|ACTION|ADD(?:ALT|ALTBYENCODING|ALTBYTYPE|CHARSET|DEFAULTCHARSET|DESCRIPTION|ENCODING|HANDLER|ICON|ICONBYENCODING|ICONBYTYPE|INPUTFILTER|LANGUAGE|MODULEINFO|OUTPUTFILTER|OUTPUTFILTERBYTYPE|TYPE)|ALIAS|ALIASMATCH|ALLOW(?:CONNECT|ENCODEDSLASHES|METHODS|OVERRIDE|OVERRIDELIST)?|ANONYMOUS(?:_LOGEMAIL|_MUSTGIVEEMAIL|_NOUSERID|_VERIFYEMAIL)?|ASYNCREQUESTWORKERFACTOR|AUTH(?:BASICAUTHORITATIVE|BASICFAKE|BASICPROVIDER|BASICUSEDIGESTALGORITHM|DBDUSERPWQUERY|DBDUSERREALMQUERY|DBMGROUPFILE|DBMTYPE|DBMUSERFILE|DIGEST(?:ALGORITHM|DOMAIN|NONCELIFETIME|PROVIDER|QOP|SHMEMSIZE)|FORM(?:AUTHORITATIVE|BODY|DISABLENOSTORE|FAKEBASICAUTH|LOCATION|LOGINREQUIREDLOCATION|LOGINSUCCESSLOCATION|LOGOUTLOCATION|METHOD|MIMETYPE|PASSWORD|PROVIDER|SITEPASSPHRASE|SIZE|USERNAME)|GROUPFILE|LDAP(?:AUTHORIZEPREFIX|BINDAUTHORITATIVE|BINDDN|BINDPASSWORD|CHARSETCONFIG|COMPAREASUSER|COMPAREDNONSERVER|DEREFERENCEALIASES|GROUPATTRIBUTE|GROUPATTRIBUTEISDN|INITIALBINDASUSER|INITIALBINDPATTERN|MAXSUBGROUPDEPTH|REMOTEUSERATTRIBUTE|REMOTEUSERISDN|SEARCHASUSER|SUBGROUPATTRIBUTE|SUBGROUPCLASS|URL)|MERGING|NAME|TYPE|USERFILE|NCACHE(?:CONTEXT|ENABLE|PROVIDEFOR|SOCACHE|TIMEOUT)|NZFCGICHECKAUTHNPROVIDER|NZFCGIDEFINEPROVIDER|ZDBDLOGINTOREFERER|ZDBDQUERY|ZDBDREDIRECTQUERY|ZDBMTYPE|ZSENDFORBIDDENONFAILURE)|BALANCERGROWTH|BALANCERINHERIT|BALANCERMEMBER|BALANCERPERSIST|BROWSERMATCH|BROWSERMATCHNOCASE|BUFFERSIZE|BUFFEREDLOGS|CGIDSCRIPTTIMEOUT|CGIMAPEXTENSION|CACHE(?:DEFAULTEXPIRE|DETAILHEADER|DIRLENGTH|DIRLEVELS|DISABLE|ENABLE|FILE|HEADER|IGNORECACHECONTROL|IGNOREHEADERS|IGNORENOLASTMOD|IGNOREQUERYSTRING|IGNOREURLSESSIONIDENTIFIERS|KEYBASEURL|LASTMODIFIEDFACTOR|LOCK|LOCKMAXAGE|LOCKPATH|MAXEXPIRE|MAXFILESIZE|MINEXPIRE|MINFILESIZE|NEGOTIATEDDOCS|QUICKHANDLER|READSIZE|READTIME|ROOT|SOCACHE(?:MAXSIZE|MAXTIME|MINTIME|READSIZE|READTIME)?|STALEONERROR|STOREEXPIRED|STORENOSTORE|STOREPRIVATE)|CHARSETDEFAULT|CHARSETOPTIONS|CHARSETSOURCEENC|CHECKCASEONLY|CHECKSPELLING|CHROOTDIR|CONTENTDIGEST|COOKIEDOMAIN|COOKIEEXPIRES|COOKIENAME|COOKIESTYLE|COOKIETRACKING|COREDUMPDIRECTORY|CUSTOMLOG|DBDEXPTIME|DBDINITSQL|DBDKEEP|DBDMAX|DBDMIN|DBDPARAMS|DBDPERSIST|DBDPREPARESQL|DBDRIVER|DTRACEPRIVILEGES|DAV|DAVDEPTHINFINITY|DAVGENERICLOCKDB|DAVLOCKDB|DAVMINTIMEOUT|DEFAULTICON|DEFAULTLANGUAGE|DEFAULTRUNTIMEDIR|DEFAULTTYPE|DEFINE|DEFLATE(?:BUFFERSIZE|COMPRESSIONLEVEL|FILTERNOTE|INFLATELIMITREQUESTBODY|INFLATERATIO(?:BURST|LIMIT)|MEMLEVEL|WINDOWSIZE)|DENY|DIRECTORYCHECKHANDLER|DIRECTORYINDEX|DIRECTORYINDEXREDIRECT|DIRECTORYSLASH|DOCUMENTROOT|DUMPIOINPUT|DUMPIOOUTPUT|ENABLEEXCEPTIONHOOK|ENABLEMMAP|ENABLESENDFILE|ERROR|ERRORDOCUMENT|ERRORLOG|ERRORLOGFORMAT|EXAMPLE|EXPIRESACTIVE|EXPIRESBYTYPE|EXPIRESDEFAULT|EXTFILTERDEFINE|EXTFILTEROPTIONS|EXTENDEDSTATUS|FALLBACKRESOURCE|FILEETAG|FILTERCHAIN|FILTERDECLARE|FILTERPROTOCOL|FILTERPROVIDER|FILTERTRACE|FORCELANGUAGEPRIORITY|FORCETYPE|FORENSICLOG|GPROFDIR|GRACEFULSHUTDOWNTIMEOUT|GROUP|HEADER|HEADERNAME|HEARTBEAT(?:ADDRESS|LISTEN|MAXSERVERS|STORAGE)|HOSTNAMELOOKUPS|ISAPI(?:APPENDLOGTOERRORS|APPENDLOGTOQUERY|CACHEFILE|FAKEASYNC|LOGNOTSUPPORTED|READAHEADBUFFER)|IDENTITYCHECK|IDENTITYCHECKTIMEOUT|IMAPBASE|IMAPDEFAULT|IMAPMENU|INCLUDE|INCLUDEOPTIONAL|INDEX(?:HEADINSERT|IGNORE|IGNORERESET|OPTIONS|ORDERDEFAULT|STYLESHEET)|INPUTSED|KEEPALIVE|KEEPALIVETIMEOUT|KEPTBODYSIZE|LDAP(?:CACHEENTRIES|CACHETTL|CONNECTIONPOOLTTL|CONNECTIONTIMEOUT|LIBRARYDEBUG|OPCACHEENTRIES|OPCACHETTL|REFERRALHOPLIMIT|REFERRALS|RETRIES|RETRYDELAY|SHAREDCACHEFILE|SHAREDCACHESIZE|TIMEOUT|TRUSTEDCLIENTCERT|TRUSTEDGLOBALCERT|TRUSTEDMODE|VERIFYSERVERCERT)|LANGUAGEPRIORITY|LIMIT(?:INTERNALRECURSION|REQUEST(?:BODY|FIELDSIZE|FIELDS|LINE)|XMLREQUESTBODY)|LISTEN|LISTENBACKLOG|LOADFILE|LOADMODULE|LOGFORMAT|LOGLEVEL|LOGMESSAGE|LUAAUTHZPROVIDER|LUACODECACHE|LUA(?:HOOK(?:ACCESSCHECKER|AUTHCHECKER|CHECKUSERID|FIXUPS|INSERTFILTER|LOG|MAPTOSTORAGE|TRANSLATENAME|TYPECHECKER)|INHERIT|INPUTFILTER|MAPHANDLER|OUTPUTFILTER|PACKAGECPATH|PACKAGEPATH|QUICKHANDLER|ROOT|SCOPE)|MMAPFILE|MAX(?:CONNECTIONSPERCHILD|KEEPALIVEREQUESTS|MEMFREE|RANGEOVERLAPS|RANGEREVERSALS|RANGES|REQUESTWORKERS|SPARESERVERS|SPARETHREADS|THREADS)|MERGETRAILERS|METADIR|METAFILES|METASUFFIX|MIMEMAGICFILE|MINSPARESERVERS|MINSPARETHREADS|MODMIMEUSEPATHINFO|MODEMSTANDARD|MULTIVIEWSMATCH|MUTEX|NWSSLTRUSTEDCERTS|NWSSLUPGRADEABLE|NAMEVIRTUALHOST|NOPROXY|OPTIONS|ORDER|OUTPUTSED|PASSENV|PIDFILE|PRIVILEGESMODE|PROTOCOL|PROTOCOLECHO|PROXY(?:ADDHEADERS|BADHEADER|BLOCK|DOMAIN|ERROROVERRIDE|EXPRESSDBMFILE|EXPRESSDBMTYPE|EXPRESSENABLE|FTPDIRCHARSET|FTPESCAPEWILDCARDS|FTPLISTONWILDCARD|HTML(?:BUFSIZE|CHARSETOUT|DOCTYPE|ENABLE|EVENTS|EXTENDED|FIXUPS|INTERP|LINKS|META|STRIPCOMMENTS|URLMAP)|IOBUFFERSIZE|MAXFORWARDS|PASS(?:INHERIT|INTERPOLATEENV|MATCH|REVERSE|REVERSECOOKIEDOMAIN|REVERSECOOKIEPATH)?|PRESERVEHOST|RECEIVEBUFFERSIZE|REMOTE|REMOTEMATCH|REQUESTS|SCGIINTERNALREDIRECT|SCGISENDFILE|SET|SOURCEADDRESS|STATUS|TIMEOUT|VIA)|RLIMITCPU|RLIMITMEM|RLIMITNPROC|READMENAME|RECEIVEBUFFERSIZE|REDIRECT|REDIRECTMATCH|REDIRECTPERMANENT|REDIRECTTEMP|REFLECTORHEADER|REMOTEIP(?:HEADER|INTERNALPROXY|INTERNALPROXYLIST|PROXIESHEADER|TRUSTEDPROXY|TRUSTEDPROXYLIST)|REMOVECHARSET|REMOVEENCODING|REMOVEHANDLER|REMOVEINPUTFILTER|REMOVELANGUAGE|REMOVEOUTPUTFILTER|REMOVETYPE|REQUESTHEADER|REQUESTREADTIMEOUT|REQUIRE|REWRITE(?:BASE|COND|ENGINE|MAP|OPTIONS|RULE)|SSIETAG|SSIENDTAG|SSIERRORMSG|SSILASTMODIFIED|SSILEGACYEXPRPARSER|SSISTARTTAG|SSITIMEFORMAT|SSIUNDEFINEDECHO|SSL(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CADNREQUESTFILE|CADNREQUESTPATH|CAREVOCATIONCHECK|CAREVOCATIONFILE|CAREVOCATIONPATH|CERTIFICATECHAINFILE|CERTIFICATEFILE|CERTIFICATEKEYFILE|CIPHERSUITE|COMPRESSION|CRYPTODEVICE|ENGINE|FIPS|HONORCIPHERORDER|INSECURERENEGOTIATION|OCSP(?:DEFAULTRESPONDER|ENABLE|OVERRIDERESPONDER|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|USEREQUESTNONCE)|OPENSSLCONFCMD|OPTIONS|PASSPHRASEDIALOG|PROTOCOL|PROXY(?:CACERTIFICATEFILE|CACERTIFICATEPATH|CAREVOCATION(?:CHECK|FILE|PATH)|CHECKPEER(?:CN|EXPIRE|NAME)|CIPHERSUITE|ENGINE|MACHINECERTIFICATE(?:CHAINFILE|FILE|PATH)|PROTOCOL|VERIFY|VERIFYDEPTH)|RANDOMSEED|RENEGBUFFERSIZE|REQUIRE|REQUIRESSL|SRPUNKNOWNUSERSEED|SRPVERIFIERFILE|SESSION(?:CACHE|CACHETIMEOUT|TICKETKEYFILE|TICKETS)|STAPLING(?:CACHE|ERRORCACHETIMEOUT|FAKETRYLATER|FORCEURL|RESPONDERTIMEOUT|RESPONSEMAXAGE|RESPONSETIMESKEW|RETURNRESPONDERERRORS|STANDARDCACHETIMEOUT)|STRICTSNIVHOSTCHECK|USESTAPLING|USERNAME|VERIFYCLIENT|VERIFYDEPTH)|SATISFY|SCOREBOARDFILE|SCRIPT(?:ALIAS|ALIASMATCH|INTERPRETERSOURCE|LOG|LOGBUFFER|LOGLENGTH|SOCK)?|SECURELISTEN|SEEREQUESTTAIL|SENDBUFFERSIZE|SERVER(?:ADMIN|ALIAS|LIMIT|NAME|PATH|ROOT|SIGNATURE|TOKENS)|SESSION(?:COOKIE(?:NAME|NAME2|REMOVE)|CRYPTO(?:CIPHER|DRIVER|PASSPHRASE|PASSPHRASEFILE)|DBD(?:COOKIENAME|COOKIENAME2|COOKIEREMOVE|DELETELABEL|INSERTLABEL|PERUSER|SELECTLABEL|UPDATELABEL)|ENV|EXCLUDE|HEADER|INCLUDE|MAXAGE)?|SETENV|SETENVIF|SETENVIFEXPR|SETENVIFNOCASE|SETHANDLER|SETINPUTFILTER|SETOUTPUTFILTER|STARTSERVERS|STARTTHREADS|SUBSTITUTE|SUEXEC|SUEXECUSERGROUP|THREADLIMIT|THREADSTACKSIZE|THREADSPERCHILD|TIMEOUT|TRACEENABLE|TRANSFERLOG|TYPESCONFIG|UNDEFINE|UNDEFMACRO|UNSETENV|USE|USECANONICALNAME|USECANONICALPHYSICALPORT|USER|USERDIR|VHOSTCGIMODE|VHOSTCGIPRIVS|VHOSTGROUP|VHOSTPRIVS|VHOSTSECURE|VHOSTUSER|VIRTUAL(?:DOCUMENTROOT|SCRIPTALIAS)(?:IP)?|WATCHDOGINTERVAL|XBITHACK|XML2ENCALIAS|XML2ENCDEFAULT|XML2STARTPARSE)\b/im -/<\/?\b(?:AUTH[NZ]PROVIDERALIAS|DIRECTORY|DIRECTORYMATCH|ELSE|ELSEIF|FILES|FILESMATCH|IF|IFDEFINE|IFMODULE|IFVERSION|LIMIT|LIMITEXCEPT|LOCATION|LOCATIONMATCH|MACRO|PROXY|REQUIRE(?:ALL|ANY|NONE)|VIRTUALHOST)\b *.*>/i -/\[(?:\w,?)+\]/ -/".*"|'.*'/ -/>/ -/^<\/?\w+/ -/.*[^>]/ -/:/ -/(?:\u235d|#[ !]).*$/m -/\xaf?(?:\d*\.?\b\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e)(?:J\xaf?(?:\d*\.?\d+(?:E[+\xaf]?\d+)?|\xaf|\u221e))?/i -/:[A-Z][a-z][A-Za-z]*\b/ -/[#\u233e\u235e\u236c\u2395]/ -/[-!*+,<=>?|~\xa4\xd7\xf7\u2191-\u2193\u2197\u220a\u2223\u2227-\u222a\u2248\u2260-\u2262\u2264\u2265\u2282\u2283\u2286\u2287\u2296\u22a2-\u22a5\u2308\u230a\u2337\u2339\u233d\u2341\u2342\u2349\u234b\u234e\u2352\u2355\u235f\u236a\u236f\u2371-\u2374\u2377\u2378\u25cb]/ -/[();[\]\u22c4\u25c7]/ -/'(?:[^\n\r']|'')*'/ -/\u2395[A-Z]+/i -/[&/\\\xa8\u2225\u2336\u233f\u2340\u2368]/ -/[.@\u2218\u2338\u233a\u2360\u2363-\u2365]/ -/\u2190/ -/[:{}\u2207\u236b\u2375\u2376\u2379\u237a]/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?\b/i -/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/ -/[(),:{}\xab\xac\xbb\u300a\u300b]/ -/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[^])*?\*\)/ -/--.+/ -/#.+/ -/[-&*+/=\xf7\u2260\u2264\u2265^]|[<>]=?/ -/\b(?:(?:start|begin|end)s? with|(?:does not|doesn't) contain|contains?|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:does not|doesn't) equal|equals|equal to|isn't|is not|(?:a )?(?:ref(?: to)?|reference to)|and|or|div|mod|as|not)\b/ -/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/ -/@@?\w+/ -/(?!\d)\w+(?=\s*\()/ -/TRUE|FALSE/i -/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:E[-+]?\d+)?/i -/\*{2,}|[!=]~|[!<=>]=?|&&|\|\||[-%*+/]/ -/::|[(),.:;?[\]{}]/ -/[,{]\s*(?:(?!\d)\w+|"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4)(?=\s*:)/ -/"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*'|\`(?:(?!\`)[^\n\r\\]|\\.)*\`|\xb4(?:(?!\xb4)[^\n\r\\]|\\.)*\xb4/ -/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\b/i -/\.\./ -/\bWITH\s+COUNT(?=\s+INTO(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/(?:^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i -/(?:^|[^\w.[])(?:CURRENT|NEW|OLD)\b/ -/\bOPTIONS(?=\s*\{)/i -/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ -/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/ -/[A-Z_]\w*(?=\s*\()/i -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|[-!%&*+/<=>|^]=?/ -/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/ -/>>=?|<<=?|->|&&|\+\+|--|::|\|\||[:?~]|<=>|[-!%&*+/<=>|^]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -/\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\b/ -/\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\b/ -/\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|IPAddress|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\b/ -/\/\/(?:[^\n\r\\]|\\(?:\r\n?|\n|(?![\n\r])))*|\/\*[^]*?(?:\*\/|$)/ -/^\s*#\s*[A-Z]+(?:[^\n\r/\\]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[^]))*/im -/\b(?:enum|struct)\s+(?:__attribute__\s*\(\([^]*?\)\)\s*)?\w+/ -/R"[^ ()\\]{0,16}\([^]*?\)[]Unknown:\\1[]"/ -/\b(?:class|struct)\s+\w+\s*:\s*[^"';{}]+?(?=\s*[;{])/ -/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/ -/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i -/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/ -/(?:\b0B['01]+|\b0X(?:[\d'A-F]+\.?[\d'A-F]*|\.[\d'A-F]+)(?:P[-+]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:E[-+]?[\d']+)?)[FLU]*/i -/^#/ -/##|\\(?=[\n\r])/ -/\b[A-Z_]\w*\b(?!\s*::)/i -/\b(?:class|concept|enum|struct|typename)\s+(?!\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^#\s*[a-z]+/ -/\S[^]*/ -/^#\s*include\s*<[^>]+>/ -/%.*/ -/@(?:ATTRIBUTE|DATA|END|RELATION)\b/i -/\b\d+(?:\.\d+)?\b/ -/[,{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^\/\/.*/m -/&#?[\dA-Z]{1,8};/i -/^\/{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]/m -/^\|={3,}(?:(?:\r?\n|\r).*)*?(?:\r?\n|\r)\|={3,}$/m -/^\+{4,}(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:-{4,}|\.{4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^(?:--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[^]*(?:\r?\n|\r))??[]Unknown:\\1[]$/m -/^[\t ]*(?:-|\*{1,5}|\.{1,5}|(?:[A-Z]|\d+)\.|[IVX]+\))(?= )/im -/^[\t ]*[\dA-Z].+(?::{2,4}|;;)(?=\s)/im -/(?:\r\n\r\n|\n\n|\r\r)[\t ]+\S.*(?:(?:\r?\n|\r)[]Unknown:\\3[].+)*(?=(?:[]Unknown:\\2[]){2}|$)/ -/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} +.+|^\.(?![\s.]).*/m -/^:[^\n\r:]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m -/^[\t ]*\[(?!\[)(?:"(?:(?!")[^\\]|\\.)*"|\$(?:(?!\$)[^\\]|\\.)*\$|'(?:(?!')[^\\]|\\.)*'|\`(?:(?!\`)[^\\]|\\.)*\`|\[(?:[^\\\]]|\\.)*\]|[^\\\]]|\\.)*\]/m -/^'{3,}$/m -/^<{3,}$/m -/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m -/\b[\da-z][-\da-z]*::?(?:\S+)??\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/(?:^|[^\\])(?:(?:\B\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:\b_(?!\s)(?: _|[^\n\r\\_]|\\.)+(?:(?:\r?\n|\r)(?: _|[^\n\r\\_]|\\.)+)*_\b|\B\`\`(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B\`(?!\s)(?:[^\s'\`]|\s+\S)+['\`]\B|\B(?:#(?!\s)(?: #|(?!#)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: #|(?!#)[^\n\r\\]|\\.)+)*#|'(?!\s)(?: '|(?!')[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: '|(?!')[^\n\r\\]|\\.)+)*'|\*(?!\s)(?: \*|(?!\*)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \*|(?!\*)[^\n\r\\]|\\.)+)*\*|\+(?!\s)(?: \+|(?!\+)[^\n\r\\]|\\.)+(?:(?:\r?\n|\r)(?: \+|(?!\+)[^\n\r\\]|\\.)+)*\+)\B)|(?:\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\])?(?:__.+?(?:(?:\r?\n|\r).+?)*__|\*\*.+?(?:(?:\r?\n|\r).+?)*\*\*|\+\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+\+|\+\+.+?(?:(?:\r?\n|\r).+?)*\+\+|##.+?(?:(?:\r?\n|\r).+?)*##|\$\$.+?(?:(?:\r?\n|\r).+?)*\$\$|\^.+?(?:(?:\r?\n|\r).+?)*\^|~.+?(?:(?:\r?\n|\r).+?)*~|\{[^\n\r}]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m -/\((?:C|TM|R)\)/ -/(?:^| )\+$/m -/^\++|\++$/ -/^(?:-+|\.+)|(?:-+|\.+)$/ -/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/ -/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/ -/"(?:[^"\\]|\\.)*"/ -/\w+(?==)/ -/^\[|\]$|,/ -/=/ -/(?!^\s+$).+/ -/^[\t ]*<?\d*>/m -/<\d+>/ -/^[-\da-z]+(?=:)/ -/^::?/ -/^(?:\`\`?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[\`~^]|\)?\)\))$/ -/(?!\|)(?:(?:\d+(?:\.\d+)?|\.\d+)[*+])?(?:[<>^](?:\.[<>^])?|\.[<>^])?[a-z]*(?=\|)/ -/(?:^|[^\\])[!|]=*/ -/\$(?:(?!\$)[^\\]|\\.)*\$|\`(?:(?!\`)[^\\]|\\.)*\`/ -/'(?:[^'\\]|\\.)*'/ -/\[(?:[^"\\\]]|"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*'|\\.)*\]/ -/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/ -/^\{.+\}$/ -/^(?:'[^]+'|_[^]+_)$/ -/^\*[^]+\*$/ -/^[$\`]|[$\`]$/ -/^'|'$/ -/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/ -/^[!#$%=?@]|!(?=[:}])/ -/^\{|\}$|::?/ -/^(?:''?|__?)|(?:''?|__?)$/ -/^\*\*?|\*\*?$/ -/^\{[-\d+,_a-z]+/ -/\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b/ -/(?:\b0(?:X[\dA-F_]*[\dA-F]|B[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:E[-+]?\d+(?:_+\d+)*)?)(?:UL|LU|[DFLMU])?\b/i -/>>=?|<<=?|[-=]>|&&|\+\+|--|\|\||~|\?\?=?|[-!%&*+/<=>|^]=?/ -/\?\.?|::|[(),.:;[\]{}]/ -/\b(?:namespace|using)\s+@?\b[A-Z_a-z]\w*\b(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b)*(?=\s*[;{])/ -/\b(?:default|typeof|sizeof)\s*\(\s*(?:[^\s()]|\s(?!\s*\))|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*(?=\s*\))/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?:(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/ -/\bnew\s+(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*[([{])/ -/@?\b[A-Z_]\w*\b\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>(?=\s*\()/i -/\b(?:\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?|where\s+@?\b[A-Z_a-z]\w*\b)\s*:\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b)(?:\s*,\s*(?:(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?|\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)\b))*(?=\s*(?:where|[;{]|=>|$))/ -/^\s*#.*/m -/(?:^|[^\s\w)>?])\s*\[\s*(?:\b(?:assembly|event|field|method|module|param|property|return|type)\b\s*:\s*)?(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?(?:\s*,\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\))?)*(?=\s*\])/ -/[(,]\s*@?\b[A-Z_]\w*\b(?=\s*:)/i -/<%--[^]*?--%>/ -/<SCRIPT(?=.*RUNAT=["']?SERVER["']?)[^]*?>[^]*?(?=<\/SCRIPT>)/i -/<(?!%)\/?[^\s/>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/<%\s*@.*%>/ -/<%.*%>/ -/(?:^|[^\\])(?:\$@|@\$)"(?:""|\\[^]|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^@\\])\$"(?:\\.|\{\{|\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}|[^"\\{])*"/ -/(?:^|[^$\\])@"(?:""|\\[^]|[^"\\])*"(?!")/ -/(?:^|[^$@\\])"(?:\\.|[^\n\r"\\])*"/ -/'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'/ -/\./ -/[(),.:<>?[\]]/ -/^@?\b[A-Z_]\w*\b/i -/,/ -/[,:]/ -/\busing\s+static\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b\s*=\s*(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s*;)/ -/\busing\s+@?\b[A-Z_a-z]\w*\b(?=\s*=)/ -/\b\b(?:class|enum|interface|struct)\b\s+@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?/ -/\bcatch\s*\(\s*(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/\bwhere\s+@?\b[A-Z_a-z]\w*\b/ -/\b(?:is(?:\s+not)?|as)\s+(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\b(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?(?=\s+(?!\b(?:bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var|void|class|enum|interface|struct|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*[),:;=\]{]|\s+(?:in|when)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>/ -/(?:\((?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+(?:,(?:[^-%&()*+,/;<=>[\]\^|]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\)|\[\s*(?:,\s*)*\])+)+\)|(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*)(?:\s*(?:\?\s*)?\[\s*(?:,\s*)*\])*(?:\s*\?)?/ -/\s*#\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/ -/^\b(?:assembly|event|field|method|module|param|property|return|type)\b(?=\s*:)/ -/\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\))*\)/ -/(?!\b(?:class|enum|interface|struct|add|alias|and|ascending|async|await|by|descending|from|get|global|group|into|join|let|nameof|not|notnull|on|or|orderby|partial|remove|select|set|unmanaged|value|when|where|where|abstract|as|base|break|case|catch|checked|const|continue|default|delegate|do|else|event|explicit|extern|finally|fixed|for|foreach|goto|if|implicit|in|internal|is|lock|namespace|new|null|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|try|typeof|unchecked|unsafe|using|virtual|volatile|while|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?(?:\s*\.\s*@?\b[A-Z_a-z]\w*\b(?:\s*<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<(?:[^-%&*+/;<=>|^]|<[^-%&*+/;<=>|^]*>)*>)*>)*>)?)*/ -/<%\s*@\s*(?:ASSEMBLY|CONTROL|IMPLEMENTS|IMPORT|MASTER(?:TYPE)?|OUTPUTCACHE|PAGE|PREVIOUSPAGETYPE|REFERENCE|REGISTER)?|%>/i -/<%\s*?[#$%:=]{0,2}|%>/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*(?::[^\n\r}]+)?\}/ -/^\{|\}$/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?![*/])|\/\/[^\n\r]*[\n\r]|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^\{(?:(?![:}])(?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\((?:[^"'()/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\.|[^\n\r"\\])*"|'(?:[^\n\r'\\]|\\.|\\[Uux][\dA-Fa-f]{1,8})'|\(\))*\))*\))*\)))*:[^\n\r}]+(?=\}$)/ -/^:/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\`(?:\\.|(?!\`)[^\n\r\\])*\`/ -/\.\w+(?= )/ -/\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\b/ -/#?\$[\dA-F]{2,4}\b/i -/#?%[01]+\b/ -/#?\b\d+\b/ -/\b[AXY]\b/i -/"(?:[^\n\r"]|"")*"/ -/^[\t ]*[^\s:]+?(?=:(?:[^:]|$))/m -/%\w+%/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/ -/\?|\/\/?=?|:=|\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\*[*=]?|<(?:<=?|>|=)?|>>?=?|[!.=~^]=?|\b(?:AND|NOT|OR)\b/ -/\b(?:AUTOTRIM|BLOCKINPUT|BREAK|CLICK|CLIPWAIT|CONTINUE|CONTROL|CONTROLCLICK|CONTROLFOCUS|CONTROLGET|CONTROLGETFOCUS|CONTROLGETPOS|CONTROLGETTEXT|CONTROLMOVE|CONTROLSEND|CONTROLSENDRAW|CONTROLSETTEXT|COORDMODE|CRITICAL|DETECTHIDDENTEXT|DETECTHIDDENWINDOWS|DRIVE|DRIVEGET|DRIVESPACEFREE|ENVADD|ENVDIV|ENVGET|ENVMULT|ENVSET|ENVSUB|ENVUPDATE|EXIT|EXITAPP|FILEAPPEND|FILECOPY|FILECOPYDIR|FILECREATEDIR|FILECREATESHORTCUT|FILEDELETE|FILEENCODING|FILEGETATTRIB|FILEGETSHORTCUT|FILEGETSIZE|FILEGETTIME|FILEGETVERSION|FILEINSTALL|FILEMOVE|FILEMOVEDIR|FILEREAD|FILEREADLINE|FILERECYCLE|FILERECYCLEEMPTY|FILEREMOVEDIR|FILESELECTFILE|FILESELECTFOLDER|FILESETATTRIB|FILESETTIME|FORMATTIME|GETKEYSTATE|GOSUB|GOTO|GROUPACTIVATE|GROUPADD|GROUPCLOSE|GROUPDEACTIVATE|GUI|GUICONTROL|GUICONTROLGET|HOTKEY|IMAGESEARCH|INIDELETE|INIREAD|INIWRITE|INPUT|INPUTBOX|KEYWAIT|LISTHOTKEYS|LISTLINES|LISTVARS|LOOP|MENU|MOUSECLICK|MOUSECLICKDRAG|MOUSEGETPOS|MOUSEMOVE|MSGBOX|ONEXIT|OUTPUTDEBUG|PAUSE|PIXELGETCOLOR|PIXELSEARCH|POSTMESSAGE|PROCESS|PROGRESS|RANDOM|REGDELETE|REGREAD|REGWRITE|RELOAD|REPEAT|RETURN|RUN|RUNAS|RUNWAIT|SEND|SENDEVENT|SENDINPUT|SENDMESSAGE|SENDMODE|SENDPLAY|SENDRAW|SETBATCHLINES|SETCAPSLOCKSTATE|SETCONTROLDELAY|SETDEFAULTMOUSESPEED|SETENV|SETFORMAT|SETKEYDELAY|SETMOUSEDELAY|SETNUMLOCKSTATE|SETREGVIEW|SETSCROLLLOCKSTATE|SETSTORECAPSLOCKMODE|SETTIMER|SETTITLEMATCHMODE|SETWINDELAY|SETWORKINGDIR|SHUTDOWN|SLEEP|SORT|SOUNDBEEP|SOUNDGET|SOUNDGETWAVEVOLUME|SOUNDPLAY|SOUNDSET|SOUNDSETWAVEVOLUME|SPLASHIMAGE|SPLASHTEXTOFF|SPLASHTEXTON|SPLITPATH|STATUSBARGETTEXT|STATUSBARWAIT|STRINGCASESENSE|STRINGGETPOS|STRINGLEFT|STRINGLEN|STRINGLOWER|STRINGMID|STRINGREPLACE|STRINGRIGHT|STRINGSPLIT|STRINGTRIMLEFT|STRINGTRIMRIGHT|STRINGUPPER|SUSPEND|SYSGET|THREAD|TOOLTIP|TRANSFORM|TRAYTIP|URLDOWNLOADTOFILE|WINACTIVATE|WINACTIVATEBOTTOM|WINCLOSE|WINGET|WINGETACTIVESTATS|WINGETACTIVETITLE|WINGETCLASS|WINGETPOS|WINGETTEXT|WINGETTITLE|WINHIDE|WINKILL|WINMAXIMIZE|WINMENUSELECTITEM|WINMINIMIZE|WINMINIMIZEALL|WINMINIMIZEALLUNDO|WINMOVE|WINRESTORE|WINSET|WINSETTITLE|WINSHOW|WINWAIT|WINWAITACTIVE|WINWAITCLOSE|WINWAITNOTACTIVE)\b/i -/\b(?:A_AHKPATH|A_AHKVERSION|A_APPDATA|A_APPDATACOMMON|A_AUTOTRIM|A_BATCHLINES|A_CARETX|A_CARETY|A_COMPUTERNAME|A_CONTROLDELAY|A_CURSOR|A_DD|A_DDD|A_DDDD|A_DEFAULTMOUSESPEED|A_DESKTOP|A_DESKTOPCOMMON|A_DETECTHIDDENTEXT|A_DETECTHIDDENWINDOWS|A_ENDCHAR|A_EVENTINFO|A_EXITREASON|A_FILEENCODING|A_FORMATFLOAT|A_FORMATINTEGER|A_GUI|A_GUIEVENT|A_GUICONTROL|A_GUICONTROLEVENT|A_GUIHEIGHT|A_GUIWIDTH|A_GUIX|A_GUIY|A_HOUR|A_ICONFILE|A_ICONHIDDEN|A_ICONNUMBER|A_ICONTIP|A_INDEX|A_IPADDRESS1|A_IPADDRESS2|A_IPADDRESS3|A_IPADDRESS4|A_IS64BITOS|A_ISADMIN|A_ISCOMPILED|A_ISCRITICAL|A_ISPAUSED|A_ISSUSPENDED|A_ISUNICODE|A_KEYDELAY|A_LANGUAGE|A_LASTERROR|A_LINEFILE|A_LINENUMBER|A_LOOPFIELD|A_LOOPFILEATTRIB|A_LOOPFILEDIR|A_LOOPFILEEXT|A_LOOPFILEFULLPATH|A_LOOPFILELONGPATH|A_LOOPFILENAME|A_LOOPFILESHORTNAME|A_LOOPFILESHORTPATH|A_LOOPFILESIZE|A_LOOPFILESIZEKB|A_LOOPFILESIZEMB|A_LOOPFILETIMEACCESSED|A_LOOPFILETIMECREATED|A_LOOPFILETIMEMODIFIED|A_LOOPREADLINE|A_LOOPREGKEY|A_LOOPREGNAME|A_LOOPREGSUBKEY|A_LOOPREGTIMEMODIFIED|A_LOOPREGTYPE|A_MDAY|A_MIN|A_MM|A_MMM|A_MMMM|A_MON|A_MOUSEDELAY|A_MSEC|A_MYDOCUMENTS|A_NOW|A_NOWUTC|A_NUMBATCHLINES|A_OSTYPE|A_OSVERSION|A_PRIORHOTKEY|A_PRIORKEY|PROGRAMFILES|A_PROGRAMFILES|A_PROGRAMS|A_PROGRAMSCOMMON|A_PTRSIZE|A_REGVIEW|A_SCREENDPI|A_SCREENHEIGHT|A_SCREENWIDTH|A_SCRIPTDIR|A_SCRIPTFULLPATH|A_SCRIPTHWND|A_SCRIPTNAME|A_SEC|A_SPACE|A_STARTMENU|A_STARTMENUCOMMON|A_STARTUP|A_STARTUPCOMMON|A_STRINGCASESENSE|A_TAB|A_TEMP|A_THISFUNC|A_THISHOTKEY|A_THISLABEL|A_THISMENU|A_THISMENUITEM|A_THISMENUITEMPOS|A_TICKCOUNT|A_TIMEIDLE|A_TIMEIDLEPHYSICAL|A_TIMESINCEPRIORHOTKEY|A_TIMESINCETHISHOTKEY|A_TITLEMATCHMODE|A_TITLEMATCHMODESPEED|A_USERNAME|A_WDAY|A_WINDELAY|A_WINDIR|A_WORKINGDIR|A_YDAY|A_YEAR|A_YWEEK|A_YYYY|CLIPBOARD|CLIPBOARDALL|COMSPEC|ERRORLEVEL)\b/i -/\b(?:ABS|ACOS|ASC|ASIN|ATAN|CEIL|CHR|CLASS|COMOBJACTIVE|COMOBJARRAY|COMOBJCONNECT|COMOBJCREATE|COMOBJERROR|COMOBJFLAGS|COMOBJGET|COMOBJQUERY|COMOBJTYPE|COMOBJVALUE|COS|DLLCALL|EXP|FILEEXIST|FILEOPEN|FLOOR|FORMAT|IL_ADD|IL_CREATE|IL_DESTROY|INSTR|SUBSTR|ISFUNC|ISLABEL|ISOBJECT|LN|LOG|LV_ADD|LV_DELETE|LV_DELETECOL|LV_GETCOUNT|LV_GETNEXT|LV_GETTEXT|LV_INSERT|LV_INSERTCOL|LV_MODIFY|LV_MODIFYCOL|LV_SETIMAGELIST|LTRIM|RTRIM|MOD|ONMESSAGE|NUMGET|NUMPUT|REGISTERCALLBACK|REGEXMATCH|REGEXREPLACE|ROUND|SIN|TAN|SQRT|STRLEN|STRREPLACE|SB_SETICON|SB_SETPARTS|SB_SETTEXT|STRSPLIT|TV_ADD|TV_DELETE|TV_GETCHILD|TV_GETCOUNT|TV_GETNEXT|TV_GET|TV_GETPARENT|TV_GETPREV|TV_GETSELECTION|TV_GETTEXT|TV_MODIFY|VARSETCAPACITY|WINACTIVE|WINEXIST|__NEW|__CALL|__GET|__SET)\b/i -/\b(?:ALT|ALTDOWN|ALTUP|APPSKEY|BACKSPACE|BROWSER_BACK|BROWSER_FAVORITES|BROWSER_FORWARD|BROWSER_HOME|BROWSER_REFRESH|BROWSER_SEARCH|BROWSER_STOP|BS|CAPSLOCK|CTRL|CTRLBREAK|CTRLDOWN|CTRLUP|DEL|DELETE|DOWN|END|ENTER|ESC|ESCAPE|F1|F10|F11|F12|F13|F14|F15|F16|F17|F18|F19|F2|F20|F21|F22|F23|F24|F3|F4|F5|F6|F7|F8|F9|HOME|INS|INSERT|JOY1|JOY10|JOY11|JOY12|JOY13|JOY14|JOY15|JOY16|JOY17|JOY18|JOY19|JOY2|JOY20|JOY21|JOY22|JOY23|JOY24|JOY25|JOY26|JOY27|JOY28|JOY29|JOY3|JOY30|JOY31|JOY32|JOY4|JOY5|JOY6|JOY7|JOY8|JOY9|JOYAXES|JOYBUTTONS|JOYINFO|JOYNAME|JOYPOV|JOYR|JOYU|JOYV|JOYX|JOYY|JOYZ|LALT|LAUNCH_APP1|LAUNCH_APP2|LAUNCH_MAIL|LAUNCH_MEDIA|LBUTTON|LCONTROL|LCTRL|LEFT|LSHIFT|LWIN|LWINDOWN|LWINUP|MBUTTON|MEDIA_NEXT|MEDIA_PLAY_PAUSE|MEDIA_PREV|MEDIA_STOP|NUMLOCK|NUMPAD0|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPADADD|NUMPADCLEAR|NUMPADDEL|NUMPADDIV|NUMPADDOT|NUMPADDOWN|NUMPADEND|NUMPADENTER|NUMPADHOME|NUMPADINS|NUMPADLEFT|NUMPADMULT|NUMPADPGDN|NUMPADPGUP|NUMPADRIGHT|NUMPADSUB|NUMPADUP|PGDN|PGUP|PRINTSCREEN|RALT|RBUTTON|RCONTROL|RCTRL|RIGHT|RSHIFT|RWIN|RWINDOWN|RWINUP|SCROLLLOCK|SHIFT|SHIFTDOWN|SHIFTUP|SPACE|TAB|UP|VOLUME_DOWN|VOLUME_MUTE|VOLUME_UP|WHEELDOWN|WHEELLEFT|WHEELRIGHT|WHEELUP|XBUTTON1|XBUTTON2)\b/i -/#\b(?:ALLOWSAMELINECOMMENTS|CLIPBOARDTIMEOUT|COMMENTFLAG|DEREFCHAR|ERRORSTDOUT|ESCAPECHAR|HOTKEYINTERVAL|HOTKEYMODIFIERTIMEOUT|HOTSTRING|IF|IFTIMEOUT|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|INCLUDE|INCLUDEAGAIN|INPUTLEVEL|INSTALLKEYBDHOOK|INSTALLMOUSEHOOK|KEYHISTORY|MAXHOTKEYSPERINTERVAL|MAXMEM|MAXTHREADS|MAXTHREADSBUFFER|MAXTHREADSPERHOTKEY|MENUMASKKEY|NOENV|NOTRAYICON|PERSISTENT|SINGLEINSTANCE|USEHOOK|WARN|WINACTIVATEFORCE)\b/i -/\b(?:ABORT|ABOVENORMAL|ADD|AHK_CLASS|AHK_EXE|AHK_GROUP|AHK_ID|AHK_PID|ALL|ALNUM|ALPHA|ALTSUBMIT|ALTTAB|ALTTABANDMENU|ALTTABMENU|ALTTABMENUDISMISS|ALWAYSONTOP|AUTOSIZE|BACKGROUND|BACKGROUNDTRANS|BELOWNORMAL|BETWEEN|BITAND|BITNOT|BITOR|BITSHIFTLEFT|BITSHIFTRIGHT|BITXOR|BOLD|BORDER|BUTTON|BYREF|CHECKBOX|CHECKED|CHECKEDGRAY|CHOOSE|CHOOSESTRING|CLOSE|COLOR|COMBOBOX|CONTAINS|CONTROLLIST|COUNT|DATE|DATETIME|DAYS|DDL|DEFAULT|DELETEALL|DELIMITER|DEREF|DESTROY|DIGIT|DISABLE|DISABLED|DROPDOWNLIST|EDIT|EJECT|ELSE|ENABLE|ENABLED|ERROR|EXIST|EXPAND|EXSTYLE|FILESYSTEM|FIRST|FLASH|FLOAT|FLOATFAST|FOCUS|FONT|FOR|GLOBAL|GRID|GROUP|GROUPBOX|GUICLOSE|GUICONTEXTMENU|GUIDROPFILES|GUIESCAPE|GUISIZE|HDR|HIDDEN|HIDE|HIGH|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|HOURS|HSCROLL|ICON|ICONSMALL|ID|IDLAST|IF|IFEQUAL|IFEXIST|IFGREATER|IFGREATEROREQUAL|IFINSTRING|IFLESS|IFLESSOREQUAL|IFMSGBOX|IFNOTEQUAL|IFNOTEXIST|IFNOTINSTRING|IFWINACTIVE|IFWINEXIST|IFWINNOTACTIVE|IFWINNOTEXIST|IGNORE|IMAGELIST|IN|INTEGER|INTEGERFAST|INTERRUPT|IS|ITALIC|JOIN|LABEL|LASTFOUND|LASTFOUNDEXIST|LIMIT|LINES|LIST|LISTBOX|LISTVIEW|LOCAL|LOCK|LOGOFF|LOW|LOWER|LOWERCASE|MAINWINDOW|MARGIN|MAXIMIZE|MAXIMIZEBOX|MAXSIZE|MINIMIZE|MINIMIZEBOX|MINMAX|MINSIZE|MINUTES|MONTHCAL|MOUSE|MOVE|MULTI|NA|NO|NOACTIVATE|NODEFAULT|NOHIDE|NOICON|NOMAINWINDOW|NORM|NORMAL|NOSORT|NOSORTHDR|NOSTANDARD|NOT|NOTAB|NOTIMERS|NUMBER|OFF|OK|ON|OWNDIALOGS|OWNER|PARSE|PASSWORD|PICTURE|PIXEL|POS|POW|PRIORITY|PROCESSNAME|RADIO|RANGE|READ|READONLY|REALTIME|REDRAW|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|REGION|RELATIVE|RENAME|REPORT|RESIZE|RESTORE|RETRY|RGB|SCREEN|SECONDS|SECTION|SERIAL|SETLABEL|SHIFTALTTAB|SHOW|SINGLE|SLIDER|SORTDESC|STANDARD|STATIC|STATUS|STATUSBAR|STATUSCD|STRIKE|STYLE|SUBMIT|SYSMENU|TAB2|TABSTOP|TEXT|THEME|TILE|TOGGLECHECK|TOGGLEENABLE|TOOLWINDOW|TOP|TOPMOST|TRANSCOLOR|TRANSPARENT|TRAY|TREEVIEW|TRYAGAIN|THROW|TRY|CATCH|FINALLY|TYPE|UNCHECK|UNDERLINE|UNICODE|UNLOCK|UNTIL|UPDOWN|UPPER|UPPERCASE|USEERRORLEVEL|VIS|VISFIRST|VISIBLE|VSCROLL|WAIT|WAITCLOSE|WANTCTRLA|WANTF2|WANTRETURN|WHILE|WRAP|XDIGIT|XM|XP|XS|YES|YM|YP|YS)\b/i -/[^-\t\n %&()*+,/:;<=>?[\\\]]+?(?=\()/ -/[(),:[\]{}]/ -/(?:^|\s);.*/ -/^\s*\/\*[^\n\r]*(?:[\n\r](?![\t ]*\*\/)|[^\n\r])*(?:[\n\r][\t ]*\*\/)?/m -/\b\w+(?=\()/ -/[$@]\w+/ -/\b(?:CASE|CONST|CONTINUE(?:CASE|LOOP)|DEFAULT|DIM|DO|ELSE(?:IF)?|END(?:FUNC|IF|SELECT|SWITCH|WITH)|ENUM|EXIT(?:LOOP)?|FOR|FUNC|GLOBAL|IF|IN|LOCAL|NEXT|NULL|REDIM|SELECT|STATIC|STEP|SWITCH|THEN|TO|UNTIL|VOLATILE|WEND|WHILE|WITH)\b/i -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\b(?:TRUE|FALSE)\b/i -/<[=>]?|[-&*+/=>]=?|[?^]|\b(?:AND|OR|NOT)\b/i -/[(),.:[\]]/ -/^\s*#include\s+(?:<[^\n\r>]+>|"[^\n\r"]+")/m -/"(?:""|(?!")[^\n\r])*"|'(?:''|(?!')[^\n\r])*'/ -/^\s*#\w+/m -/^\s*#(?:comments-start|cs)[^]*?^\s*#(?:comments-end|ce)/m -/\$\w+\$|%\w+%|@\w+@/ -/\$?\(\(?|\)\)?|\.\.|[;[\\\]{}]/ -/^#!\s*\/.*/ -/(?:^|[^"$\\{])#.*/ -/\b(?:for|select)\s+\w+(?=\s+in\s)/ -/(?:^|[\s&;|]|[<>]\()\w+(?=\+?=)/ -/\$?\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\$(?:\w+|[!#$*?@])/ -/(?:^|[\s&;|]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:[.:]|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[\s&);|])/ -/(?:^|[\s&;|]|[<>]\()(?:true|false)(?=$|[\s&);|])/ -/\B&\d\b/ -/\d?<>|>\||\+=|==?|!=?|=~|<<[-<]?|[\d&]?>>|\d?[<>]&?|&[&>]?|\|[&|]?|<=?|>=?/ -/(?:^|\s)(?:[1-9]\d*|0)(?:[,.]\d+)?\b/ -/\bfunction\s+\w+(?=(?:\s*\(?:\s*\))?\s*\{)/ -/\b\w+(?=\s*\(\s*\)\s*\{)/ -/(?:^|[^<])<<-?\s*\w+?\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\2[]/ -/(?:^|[^<])<<-?\s*(?:"\w+"\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[]|'\w+'\s*(?:\r?\n|\r)[^]*?(?:\r?\n|\r)[]Unknown:\\3[])/ -/(?:^|[^\\](?:\\\\)*)(?:"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*')/ -/\$?\(\([^]+?\)\)/ -/\$\((?:\([^)]+\)|[^()])+\)|\`[^\`]+\`/ -/\$\{[^}]+\}/ -/(?:^|[\s&;|]|[<>]\()\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/\\(?:["E\\abcefnrtv]|O?[0-7]{1,3}|x[\dA-Fa-f]{1,2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/ -/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/ -/\(\(?|\)\)?|,|;/ -/^\$\(|^\`|\)$|\`$/ -/:[-+=?]?|[!/]|##?|%%?|\^\^?|,,?/ -/^\d/ -/\$\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\(/ -/\{\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\b/ -/^\$\(\([^]+\)\)/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/<[=>]?|>=?|[-&*+/=^]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i -/[(),:;]/ -/(?:!|REM\b).+/i -/"(?:""|[ !\x23-\x3fA-Z_a-z^])*"/ -/^REM/i -/[&@]/ -/['()]/ -/^::.*/m -/^:.*/m -/(?:^|[&(])[\t ]*REM\b(?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*FOR(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* \S+ IN \([^)]+\) DO/im -/(?:^|[&(])[\t ]*IF(?: ?\/[?A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:NOT )?(?:CMDEXTVERSION \d+|DEFINED \w+|ERRORLEVEL \d+|EXIST \S+|(?:"[^"]*"|\S+)?(?:==| (?:EQU|NEQ|LSS|LEQ|GTR|GEQ) )(?:"[^"]*"|\S+))/im -/(?:^|[&()])[\t ]*ELSE\b/im -/(?:^|[&(])[\t ]*SET(?: ?\/[A-Z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^\n\r&)^]|\^(?:\r\n|[^]))*/im -/(?:^|[&(])[\t ]*@?\w+\b(?:"(?:["\\]"|[^"])*"(?!")|[^\n\r"&)^]|\^(?:\r\n|[^]))*/m -/^FOR\b|\b(?:IN|DO)\b/i -/"(?:["\\]"|[^"])*"(?!")/ -/%%?[\w:~]+%?|!\S+!/ -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-)\d+\b/ -/['(),]/ -/^IF\b|\b(?:NOT|CMDEXTVERSION|DEFINED|ERRORLEVEL|EXIST)\b/i -/\^|==|\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\b/i -/^ELSE\b/i -/^SET\b/i -/[-%&*+/|^]=?|<<=?|>>=?|[!=_~]/ -/^\w+\b/ -/\^/ -/\/[?A-Z]+(?=[ :]|$):?|-[A-Z]\b|--[-A-Z]+\b/im -/\w+(?=(?:[-%&*+/|^]|<<|>>)?=)/ -/^\s*:\S+/m -/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+))*\s*\]/ -/\]/ -/[^\s=\]]+/ -/^\[\/?[^\s=\]]+/ -/=\s*(?:"[^"]*"|'[^']*'|[^\s"'=\]]+)/ -/^\[\/?/ -/^\s*["']|["']$/ -/^[^]*?%%[^]*?%%/ -/\S+(?=:)/ -/%\w+/ -/%[%?]|[:;<>[\]|]/ -/%\{[^]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/ -/(?:^|[^@])\b(?:0X[\dA-F]+|\d+)/i -/^%?\{|%?\}$/ -/[$@](?:<[^\s>]+>)?[\w$]+/ -/::=|[()*+?[\]{|}]|\.{3}/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/<[^\t\n\r<>]+>(?=\s*::=)/ -/<[^\t\n\r<>]+>/ -/^<|>$/ -/[,.]/ -/\S+/ -/\+/ -/-/ -/[[\]]/ -/(?:\bREM|').*/i -/\b(?:AS|DIM|EACH|ELSE|ELSEIF|END|EXIT|FOR|FUNCTION|GOTO|IF|IN|PRINT|RETURN|STEP|STOP|SUB|THEN|TO|WHILE)\b/i -/\b(?!\d)\w+(?=[\t ]*\()/ -/(?:\b\d+(?:\.\d+)?(?:[DE][-+]\d+)?|&H[\dA-F]+)\b[!#%&]?/i -/--|\+\+|>>=?|<<=?|<>|[-*+/<>\\]=?|[:=?^]|\b(?:AND|MOD|NOT|OR)\b/i -/[(),.;[\]{}]/ -/\bLINE_NUM\b/i -/^[\t ]*#(?:CONST|ELSE(?:[\t ]+IF)?|END[\t ]+IF|ERROR|IF).*/im -/[\n\r,{][\t ]*(?:(?!\d)\w+|"(?:[^\n\r"]|"")*"(?!"))(?=[\t ]*:)/ -/"(?:[^\n\r"]|"")*"(?!")/ -/\bAS[\t ]+\w+/i -/^#error.+/ -/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/ -/\b[FT]\b/ -/@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME)|&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column)/ -/\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/ -/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/ -/(?:^|[^$\\])#.*/ -/(?:function|hook|event) \w+(?:::\w+)?/ -/(?:GLOBAL|LOCAL) \w+/i -/CONST \w+/i -/\b(?:TODO|FIXME|XXX)\b/ -/^(?:function|hook|event)/ -/global|local/ -/const/ -/\/\/.*/ -/\[[\w.]+\]/ -/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/ -/\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[Mm]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|ldvirtftn|castclass|beq(?:\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stloc|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|clt|cgt|ceq|box|and|or|br)\b/ -/\b-?(?:0X[\dA-F]+|\d+)(?:\.[\dA-F]+)?\b/i -/[(),:;=[\]{}]|IL_[\dA-Za-z]+/ -/(?:^|\W)\.[a-z]+(?=\s)/ -/(?:::|[':|])\b[A-Z][-\w!*+?]*\b/i -/\b(?:true|false|nil)\b/ -/\b[\dA-F]+\b/i -/[(),[\]{}]/ -/[^-\w'*+?](?:def|if|do|let|\.\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\.|new|set!|def-|defn|defn-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\*|\+|-|\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\*|list|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\?|union|up|update-proxy|val|vals|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[^-\w'*+?])/ -/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION)\b/ -/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/ -/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/ -/\b(?:ON|OFF|TRUE|FALSE)\b/ -/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/ -/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/ -/\b\d+(?:\.\d+)*\b/ -/\b[A-Z_]\w*(?=\s*\()\b/i -/[()>}]|\$[<{]/ -/"(?:[^"\\]|\\.)*"/ -/\b\w+::\w+\b/ -/\$\{(?:[^\${}]|\$\{[^\${}]*\})*\}/ -/\$\{|\}/ -/\w+/ -/#(?!\{).+/ -/(?!\d)\w+(?=\s*:(?!:))/ -/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/ -/###[^]+?###/ -/\/{3}[^]*?\/{3}/ -/\`(?:\\[^]|[^\\\\\`])*\`/ -/@(?!\d)\w+/ -/'''[^]*?'''/ -/"""[^]*?"""/ -/'(?:\\[^]|[^'\\])*'/ -/"(?:\\[^]|[^"\\])*"/ -/#\{[^}]+\}/ -/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/ -/\b(?:false|true)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFLS]?/i -/<==|>==|=>|->|<-|<>|\^|&==|&<>|!|\?|\?:|\.\?|\+\+|--|[-*+/<=>]=?|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/ -/[rs]?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\w+\s*\|\|[^]+?\|\|/ -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/@(?:\w+:)?(?:\w*|\[[^\]]+\])/ -/(?:^|[^\\])(?:\\{2})*\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/ -/\b(?:BASE-URI|BLOCK-ALL-MIXED-CONTENT|(?:CHILD|CONNECT|DEFAULT|FONT|FRAME|IMG|MANIFEST|MEDIA|OBJECT|SCRIPT|STYLE|WORKER)-SRC|DISOWN-OPENER|FORM-ACTION|FRAME-ANCESTORS|PLUGIN-TYPES|REFERRER|REFLECTED-XSS|REPORT-TO|REPORT-URI|REQUIRE-SRI-FOR|SANDBOX|UPGRADE-INSECURE-REQUESTS)\b/i -/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[\d+/=A-Za-z]+)'/ -/'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*/ -/[$@]+[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/ -/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/ -/\b[A-Z]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\dA-F_a-f]*[\dA-Fa-f]|\d(?:[\d_]*\d)?(?:\.[\d_]*\d)?(?:[Ee][-+]?[\d_]*\d)?)(?:_(?:[fiu](?:8|16|32|64))?)?\b/ -/(?:\bCLASS\s+|\bCATCH\s+\()[\w.\\]+/i -/(?:^|[^:]):[A-Z_]\w*(?:[!?]|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\bdef\s+[\w.]+/ -/@\[.+?\]/ -/\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\b/ -/^=begin\s[^]*?^=end/m -/%[IQWiqswx]?(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]|\((?:[^()\\]|\\[^])*\)|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}|\[(?:[^[\\\]]|\\[^])*\]|<(?:[^<>\\]|\\[^])*>)/ -/"(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:#\{[^}]+\}|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/%r(?:[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][gim]{0,3}|\((?:[^()\\]|\\[^])*\)[gim]{0,3}|\{(?:[^#\\{}]|#(?:\{[^}]+\})?|\\[^])*\}[gim]{0,3}|\[(?:[^[\\\]]|\\[^])*\][gim]{0,3}|<(?:[^<>\\]|\\[^])*>[gim]{0,3})/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]+\]|\\.|[^\n\r/[\\])+\/[gim]{0,3}(?=\s*(?:$|[\n\r),.;}]))/ -/\w+$/ -/\{\{.+?\}\}/ -/\{%.+?%\}/ -/\.\s*(?:is_a|responds_to)\?/ -/^@\[|\]$/ -/^\{\{|\}\}$/ -/^\{%|%\}$/ -/^#\{|\}$/ -/\\[\dA-F]{1,8}/i -/(?:^|[^-\w\xa0-\uffff])--[-A-Z_a-z\xa0-\uffff][-\w\xa0-\uffff]*/ -/\s[-*+/](?=\s)/ -/\B#(?:[\dA-F]{1,2}){3,4}\b/i -/\b(?:ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGR[AE]Y|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGR[AE]Y|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGR[AE]Y|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GR[AE]Y|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGR[AE]Y|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGR[AE]Y|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGR[AE]Y|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TRANSPARENT|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN)\b/i -/\b\d+(?:%|[a-z]+\b)/ -/(?:^|[^\w\-.])-?\d*\.?\d+/ -/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/ -/:[-\w]+/ -/\.[-\w]+/ -/#[-\w]+/ -/[+>~]|\|\|/ -/[(),]/ -/\b(?:RGB|HSL)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:RGB|HSL)A\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i -/\[(?:[^"'[\]]|"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*')*\]/ -/[-\w]+(?=\()/ -/^\[|\]$/ -/[$*|~^]?=/ -/\(\s*[-+]?\d*[\dn](?:\s*[-+]\s*\d+)?(?=\s*\))/ -/\(\s*(?:EVEN|ODD)(?=\s*\))/i -/\s[IS]$/i -/^\s*[-\w*\xa0-\uffff]*\|(?!=)/ -/^\s*[-\w\xa0-\uffff]+/ -/[\dn]+/ -/[-+]/ -/\|$/ -/=\s*[-\w\xa0-\uffff]+(?=\s*$)/ -/\$\w+/ -/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i -/\b\w+\b(?=\s*\()/ -/\b(?:TRUE|FALSE|NULL)\b/i -/\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?)\b/ -/:|<--?|--?>?|<>|=~?|[<>]=?|[%*+/|^]|\.\.\.?/ -/[(),.;[\]{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/:\s*(?:\w+|\`[^\n\r\\\\\`]*\`)(?=\s*[):{])/ -/(?:-\[\s*(?:\w+\s*|\`[^\n\r\\\\\`]*\`\s*)?:\s*|\|\s*:\s*)(?:\w+|\`[^\n\r\\\\\`]*\`)/ -/\`[^\n\r\\\\\`]*\`/ -/\B@\w*/ -/\$|\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\b/ -/\|[=|]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[=>]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[%*/~^])=?/ -/\b(?:[A-D][HLX]|E[A-D]X|E?(?:BP|SP|DI|SI)|[C-GS]S|CR[0234]|DR[0-367]|TR[3-7]|X?MM[0-7]|R[A-D]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BDW]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|(?<!\w)(?=\w)|(?<=\w)(?!\w))/ -/\b0X\.?[\dA-F_]+(?:(?!\.\.)\.[\dA-F_]*)?(?:P[-+]?[\dA-F_]+)?[FILU]*/i -/^\s*#!.+/ -/(?:^|[^\\])(?:\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[^])*?\+\/|\/\/.*|\/\*[^]*?\*\/)/ -/\b[rx]"(?:\\[^]|[^"\\])*"[cdw]?|\bq"(?:\[[^]*?\]|\([^]*?\)|<[^]*?>|\{[^]*?\})"|\bq"(?!\d)\w+$[^]*?^[]Unknown:\\1[]"|\bq".[^]*?[]Unknown:\\2[]"|'(?:\\(?:\W|\w+)|[^\\])'|(?:"(?:\\[^]|(?!")[^\\])*"|\`(?:\\[^]|(?!\`)[^\\])*\`)[cdw]?/m -/\bq\{(?:\{[^{}]*\}|[^{}])*\}/ -/(?:\.\.)?(?:\b0B\.?|(?<!\w)(?=\w)|(?<=\w)(?!\w)|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:E[-+]?\d[\d_]*)?[FILU]*/i -/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[-!%&*+/<=>|^]=?|\?/ -/\b(?:async|sync|yield)\*/ -/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ -/@\w+/ -/r?(?:"""[^]*?"""|'''[^]*?''')/ -/r?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/ -/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i -/\b(?:DEFINE|MEASURE|EVALUATE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i -/\b\d+\.?\d*|\B\.\d+\b/ -/:=|[-*+/=^]|&&?|\|\||<(?:=>?|<|>)?|>[=>]?|\b(?:IN|NOT)\b/i -/[(),.;[\]\`{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/).*)/ -/'(?:[^']|'')*'(?!')(?:\[[\w \xa0-\uffff]+\])?|\w+\[[\w \xa0-\uffff]+\]/ -/\[[\w \xa0-\uffff]+\]/ -/"(?:[^"]|"")*"(?!")/ -/\b(?:TRUE|FALSE|NULL)\b/i -/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/ -/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/ -/\b(?:Some|None)\b/ -/\b(?:False|True)\b/ -/\bNaN\b|-?\bInfinity\b|[-+]?\b(?:0x[\dA-Fa-f]+|\d+(?:\.\d+)?(?:e[-+]?\d+)?)\b/ -/\/\\|\/\/\\\\|&&|\|\||[!=]=|===|\/\/|->|\+\+|::|[#*+:<=>?@\\|\u03bb\u2192\u2227\u2261\u2a53\u2afd]/ -/\.\.|[(),./[\]{}]/ -/\b[A-Z]\w*\b/ -/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?![$'])/ -/\`[^\`]*\`/ -/\bhttps?:\/\/[\w!$%&'*+\-.:;=@~]+(?:\/[\w!$%&'*+\-.:;=@~]*)*(?:\?[\w!$%&'*+\-./:;=?@~]*)?/ -/\benv:(?:(?!\d)\w+|"(?:[^"=\\]|\\.)*")/ -/\bsha256:[\dA-Fa-f]{64}\b/ -/^env/ -/sha256/ -/[\dA-F]{64}/i -/\$\{[^{}]*\}/ -/\$\{|\}/ -/^\$\{[^]+(?=\}$)/ -/^(?:\*{3}|-{3}|\+{3}).*$/m -/^@@.*@@$/m -/^\d+.*$/m -/^(?:-.*(?:\r\n?|\n|(?![^])))+/m -/^(?:<.*(?:\r\n?|\n|(?![^])))+/m -/^(?:\+.*(?:\r\n?|\n|(?![^])))+/m -/^(?:>.*(?:\r\n?|\n|(?![^])))+/m -/^(?: .*(?:\r\n?|\n|(?![^])))+/m -/^(?:!.*(?:\r\n?|\n|(?![^])))+/m -/.(?=[^]).*(?:\r\n?|\n)?/ -/[^]/ -/^\{#[^]*?#\}$/ -/\b[A-Z_]\w+(?=\s*\()/i -/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/ -/[-%*+/=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/[Tt]rue|[Ff]alse|[Nn]one/ -/\b\w+?\b/ -/[(),.:;[\]{}]/ -/^\{%[-+]?\s*\w+/ -/^\{[%{][-+]?|[-+]?[%}]\}$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/\|\w+/ -/\bis\s+(?:not\s+)?(?!not(?:(?<!\w)\w|(?<=\w)(?!\w)))\w+/ -/^\$(?:ORIGIN|INCLUDE|TTL)(?=\s|$)/m -/[()]/ -/(?:^|\s)(?:IN|CH|CS|HS)(?=\s|$)/ -/(?:^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/ -/^\$ORIGIN[\t ]+\S+/m -/(?:^|\s)@(?=\s|$)/ -/"(?:(?!")[^\n\r\\]|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\(?:\r\n|[^]))*'/ -/---|\.\.\.|[-,:>?[\]{|}]/ -/^\s*(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im -/\(\*[^]*?\*\)/ -/\b[A-Z]\w*(?:[\t ]+[A-Z]\w*)*\b/i -/\([/:]|[/:]\)|[(),.;[\]{}]/ -/[-!*/=|]/ -/"[^\n\r"]*"|'[^\n\r']*'/ -/\?[^\n\r?]*\?/ -/^\s*[A-Z]\w*(?:[\t ]+[A-Z]\w*)*(?=\s*=)/im -/[#;].*/ -/^[\t ]*\[.+\]/m -/^[\t ]*[^\s=]+(?=[\t ]*=)/m -/=.*/ -/\\\\[!*,.?[\]{}]/ -/[!?]|\.\.|\*{1,2}/ -/[,[\]{}]/ -/'(?:%.|[^\n\r%'])+'/ -/\b(?:ACROSS|AGENT|ALIAS|ALL|AND|ATTACHED|AS|ASSIGN|ATTRIBUTE|CHECK|CLASS|CONVERT|CREATE|CURRENT|DEBUG|DEFERRED|DETACHABLE|DO|ELSE|ELSEIF|END|ENSURE|EXPANDED|EXPORT|EXTERNAL|FEATURE|FROM|FROZEN|IF|IMPLIES|INHERIT|INSPECT|INVARIANT|LIKE|LOCAL|LOOP|NOT|NOTE|OBSOLETE|OLD|ONCE|OR|PRECURSOR|REDEFINE|RENAME|REQUIRE|RESCUE|RESULT|RETRY|SELECT|SEPARATE|SOME|THEN|UNDEFINE|UNTIL|VARIANT|VOID|WHEN|XOR)\b/i -/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[(),:;?[\]{}]/ -/\\\\|\|\.\.\||\.\.|\/[/=~]?|[<>]=?|[-*+=~^]/ -/\b[A-Z][\dA-Z_]*\b/ -/\b0[BCX][\dA-F](?:_*[\dA-F])*\b/i -/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?E[-+]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i -/"[^[]*\[[^]*?\][]Unknown:\\1[]"/ -/"[^{]*\{[^]*?\}[]Unknown:\\1[]"/ -/"(?:%\s*\n\s*%|%.|[^\n\r"%])*"/ -/^#[^]*/ -/^<%[-=_]?|[-_]?%>$/ -/#.*/ -/\w+\??:(?!:)/ -/\b(?:0[BOX][\dA-F_]+|\d[\d_]*)(?:\.[\d_]+)?(?:E[-+]?[\d_]+)?\b/i -/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/ -/<<|>>|[%(),.[\]{}]/ -/~[Rr](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|[^\n\r\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[fimrsux]*/ -/(?:^|[^:]):\w+/ -/(?:^|[^&])&(?:[^\s\d&()][^\s()]*|(?=\())/ -/(?:^|[^&])&\d+/ -/\bin\b|&&?|\|[>|]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*/^]/ -/~[CSWcsw](?:"""(?:\\[^]|(?!""")[^\\])+"""|'''(?:\\[^]|(?!''')[^\\])+'''|"(?:\\.|(?!")[^\n\r\\])+"|'(?:\\.|(?!')[^\n\r\\])+'|\/(?:\\.|(?!\/)[^\n\r\\])+\/|\|(?:\\.|(?!\|)[^\n\r\\])+\||\((?:\\.|[^\n\r)\\])+\)|\[(?:\\.|[^\n\r\\\]])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^\n\r#\\}])+\}|<(?:\\.|[^\n\r>\\])+>)[acs]?/ -/"""[^]*?"""|'''[^]*?'''/ -/[^<]<(?!<)/ -/[^>]>(?!>)/ -/--.*|\{-[^]*?-\}/ -/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/ -/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@|~^]{2,}|[-!#$%&*+/:<=>?@|~^]/ -/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/ -/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/ -/[(),.:[\]{|}]/ -/'(?:[^\n\r'\\]|\\(?:['\\abfnrtv]|\d+|x[\dA-Fa-f]+))'/ -/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+[A-Z]\w*(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m -/"(?:[^\n\r"\\]|\\(?:["\\abfnrtv]|\d+|x[\dA-Fa-f]+))*"/ -/\b(?:import|as|exposing)\b/ -/^#!.+|--(?:\[=*\[[^]*?\][]Unknown:\\1[]\]|.*)/m -/\b0X[\dA-F]+\.?[\dA-F]*(?:P[-+]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:E[-+]?\d+)?\b)|\B\.\d+(?:E[-+]?\d+)?\b/i -/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/ -/(?!\d)\w+(?=\s*[({])/ -/[(),;[\]{}]|\.+|:+/ -/"(?:(?!")[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\]|\\z(?:\r\n|\s)|\\(?:\r\n|[^]))*'|\[=*\[[^]*?\][]Unknown:\\2[]\]/ -/[-#%&*+|^]|\/\/?|<[<=]?|>[=>]?|[=~]=?/ -/^<%[-=]?|-?%>$/ -/(?:^|[^.])\.\.(?!\.)/ -/^<%=?|%>$/ -/%.+/ -/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/ -/\b[a-z][\w@]*(?=\()/ -/\b[a-z][\w@]*/ -/[#(),.:;[\]{|}]|<<|>>/ -/"(?:\\.|[^\n\r"\\])*"/ -/'(?:\\.|[^\n\r'\\])+'(?=\()/ -/'(?:\\.|[^\n\r'\\])+'/ -/\$\\?./ -/\d+#[\dA-Z]+/i -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/(?:^|[^@])(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\?)[A-Z_][\w@]*/ -/[/:<=>]=|=[/:]=|\+\+?|--?|[!*/=]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/ -/(?:^|[^<])<(?!<)/ -/(?:^|[^>])>(?!>)/ -/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:E[-+]?\d+)?\b/i -/\b(?:TRUE|FALSE)\b/i -/[-%&*+,/=^]|<[=>]?|>=?/ -/[();[\]{|}]/ -/\bN\(\s*"(?:[^"]|"")*"(?=\s*\))/i -/(?:'[^']*'|(?:[^\s"$&'()*,;<>?[\]{}]*\[[^\s"'()*<>?[\]\^{}]+\])?\w+)!/ -/\b[A-Z]\w*(?=\()/i -/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i -/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/ -/!$/ -/'/ -/\$?[A-Z]+\$?\d+/i -/\$?[A-Z]+/i -/\$?\d+/ -/[^[\]]+$/ -/\[[^[\]]+\]$/ -/[[\]]/ -/\b(?:let|return|use|yield)(?:!\B|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/ -/&&&|<<<|>>>|\^\^\^|~~~|&&|\*\*|\.\.|::|<<|>>|<-|->|[!:=]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-%*+/<=>])\??|[!&?^]|~[-+~]|:>|:\?>?/ -/\[<.+?>\]/ -/(?:"""[^]*?"""|@"(?:""|[^"])*"|"(?:\\[^]|[^"\\])*")B?|'(?:[^'\\]|\\(?:.|\d{3}|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))'B?/ -/(?:\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[\w.]+\b(?:\s*(?:->|\*)\s*[\w.]+\b)*(?!\s*[.:])/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#.*/m -/\b0x[\dA-Fa-f]+(?:un|lf|LF)?\b/ -/\b0b[01]+(?:y|uy)?\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[FM]|E[-+]?\d+)?\b/i -/\b\d+(?:[ILlsy]|u[lsy]?|UL)?\b/ -/[A-Z_]\w*(?=\s*\{)/i -/(?:^|[^\\])\(\*[^]*?\*\)/ -/^\[<|>\]$/ -/->|\*/ -/^\w+$|(?:^|;\s*)[A-Z]\w*(?=\()/ -/\s*#\b(?:else|endif|if|light|line|nowarn)\b/ -/(?:^|\s)R\/\s+(?:\\\S|[^/\\])*\/(?:[dimrs]*|[dimrs]+-[dimrs]+)(?=\s|$)/ -/(?:^|\s)[ft](?=\s|$)/ -/(?:^|\s)[-\dA-Z]+"\s(?:\\\S|[^"\\])*"/ -/(?:^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/ -/(?:^|\s)(?:2bi|while|2tri|bi\*|4dip|both\?|same\?|tri@|curry|prepose|3bi|\?if|tri\*|2keep|3keep|curried|2keepd|when|2bi\*|2tri\*|4keep|bi@|keepdd|do|unless\*|tri-curry|if\*|loop|bi-curry\*|when\*|2bi@|2tri@|with|2with|either\?|bi|until|3dip|3curry|tri-curry\*|tri-curry@|bi-curry|keepd|compose|2dip|if|3tri|unless|tuple|keep|2curry|tri|most|while\*|dip|composed|bi-curry@|find-last-from|trim-head-slice|map-as|each-from|none\?|trim-tail|partition|if-empty|accumulate\*|reject!|find-from|accumulate-as|collector-for-as|reject|map|map-sum|accumulate!|2each-from|follow|supremum-by|map!|unless-empty|collector|padding|reduce-index|replicate-as|infimum-by|trim-tail-slice|count|find-index|filter|accumulate\*!|reject-as|map-integers|map-find|reduce|selector|interleave|2map|filter-as|binary-reduce|map-index-as|find|produce|filter!|replicate|cartesian-map|cartesian-each|find-index-from|map-find-last|3map-as|3map|find-last|selector-as|2map-as|2map-reduce|accumulate|each|each-index|accumulate\*-as|when-empty|all\?|collector-as|push-either|new-like|collector-for|2selector|push-if|2all\?|map-reduce|3each|any\?|trim-slice|2reduce|change-nth|produce-as|2each|trim|trim-head|cartesian-find|map-index|if-zero|each-integer|unless-zero|\(find-integer\)|when-zero|find-last-integer|\(all-integers\?\)|times|\(each-integer\)|find-integer|all-integers\?|unless-negative|if-positive|when-positive|when-negative|unless-positive|if-negative|case|2cleave|cond>quot|case>quot|3cleave|wrong-values|to-fixed-point|alist>quot|cond|cleave|call-effect|recursive-hashcode|spread|deep-spread>quot|2\|\||0\|\||n\|\||0&&|2&&|3\|\||1\|\||1&&|n&&|3&&|smart-unless\*|keep-inputs|reduce-outputs|smart-when\*|cleave>array|smart-with|smart-apply|smart-if|inputs\/outputs|output>sequence-n|map-outputs|map-reduce-outputs|dropping|output>array|smart-map-reduce|smart-2map-reduce|output>array-n|nullary|input<sequence|append-outputs|drop-inputs|inputs|smart-2reduce|drop-outputs|smart-reduce|preserving|smart-when|outputs|append-outputs-as|smart-unless|smart-if\*|sum-outputs|input<sequence-unsafe|output>sequence)(?=\s|$)/ -/(?:^|\s)(?:or|2nipd|4drop|tuck|wrapper|nip|wrapper\?|callstack>array|die|dupd|callstack|callstack\?|3dup|hashcode|pick|4nip|build|>boolean|nipd|clone|5nip|eq\?|\?|=|swapd|2over|clear|2dup|get-retainstack|not|tuple\?|dup|3nipd|call|-rotd|object|drop|assert=|assert\?|-rot|execute|boa|get-callstack|curried\?|3drop|pickd|overd|over|roll|3nip|swap|and|2nip|rotd|throw|\(clone\)|hashcode\*|spin|reach|4dup|equal\?|get-datastack|assert|2drop|<wrapper>|boolean\?|identity-hashcode|identity-tuple\?|null|composed\?|new|5drop|rot|-roll|xor|identity-tuple|boolean)(?=\s|$)/ -/(?:^|\s)(?:member-eq\?|mismatch|append|assert-sequence=|longer|repetition|clone-like|3sequence|assert-sequence\?|last-index-from|reversed|index-from|cut\*|pad-tail|join-as|remove-eq!|concat-as|but-last|snip|nths|nth|sequence|longest|slice\?|<slice>|remove-nth|tail-slice|empty\?|tail\*|member\?|virtual-sequence\?|set-length|drop-prefix|iota|unclip|bounds-error\?|unclip-last-slice|non-negative-integer-expected|non-negative-integer-expected\?|midpoint@|longer\?|\?set-nth|\?first|rest-slice|prepend-as|prepend|fourth|sift|subseq-start|new-sequence|\?last|like|first4|1sequence|reverse|slice|virtual@|repetition\?|set-last|index|4sequence|max-length|set-second|immutable-sequence|first2|first3|supremum|unclip-slice|suffix!|insert-nth|tail|3append|short|suffix|concat|flip|immutable\?|reverse!|2sequence|sum|delete-all|indices|snip-slice|<iota>|check-slice|sequence\?|head|append-as|halves|sequence=|collapse-slice|\?second|slice-error\?|product|bounds-check\?|bounds-check|immutable|virtual-exemplar|harvest|remove|pad-head|last|set-fourth|cartesian-product|remove-eq|shorten|shorter|reversed\?|shorter\?|shortest|head-slice|pop\*|tail-slice\*|but-last-slice|iota\?|append!|cut-slice|new-resizable|head-slice\*|sequence-hashcode|pop|set-nth|\?nth|second|join|immutable-sequence\?|<reversed>|3append-as|virtual-sequence|subseq\?|remove-nth!|length|last-index|lengthen|assert-sequence|copy|move|third|first|tail\?|set-first|prefix|bounds-error|<repetition>|exchange|surround|cut|min-length|set-third|push-all|head\?|subseq-start-from|delete-slice|rest|sum-lengths|head\*|infimum|remove!|glue|slice-error|subseq|push|replace-slice|subseq-as|unclip-last)(?=\s|$)/ -/(?:^|\s)(?:number=|next-power-of-2|\?1\+|fp-special\?|imaginary-part|float>bits|number\?|fp-infinity\?|bignum\?|fp-snan\?|denominator|gcd|\*|\+|fp-bitwise=|-|u>=|\/|>=|bitand|power-of-2\?|log2-expects-positive|neg\?|<|log2|>|integer\?|number|bits>double|2\/|zero\?|bits>float|float\?|shift|ratio\?|rect>|even\?|ratio|fp-sign|bitnot|>fixnum|complex\?|\/i|integer>fixnum|\/f|sgn|>bignum|next-float|u<|u>|mod|recip|rational|>float|2\^|integer|fixnum\?|neg|fixnum|sq|bignum|>rect|bit\?|fp-qnan\?|simple-gcd|complex|<fp-nan>|real|>fraction|double>bits|bitor|rem|fp-nan-payload|real-part|log2-expects-positive\?|prev-float|align|unordered\?|float|fp-nan\?|abs|bitxor|integer>fixnum-strict|u<=|odd\?|<=|\/mod|>integer|real\?|rational\?|numerator)(?=\s|$)/ -/(?:^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/ -/(?:^|\s)(?:=======|recursive|flushable|>>|<<<<<<|M\\|B|PRIVATE>|\\|======|final|inline|delimiter|deprecated|<PRIVATE|>>>>>>|<<<<<<<|parse-complex|malformed-complex|read-only|>>>>>>>|call-next-method|<<|foldable|\$|\$\[|\$\{)(?=\s|$)/ -/(?:^|\s)(?!")(?:(?:set|change|with|new)-\S+|\$\S+|>[^\s>]+|[^\s:>]+>|[^\s>]+>[^\s>]+|\+[^\s+]+\+|[^\s?]+\?|\?[^\s?]+|[^\s>]+>>|>>[^\s>]+|[^\s<]+<<|\([^\s()]+\)|[^\s!]+!|[^\s*]\S*\*|[^\s.]\S*\.)(?=\s|$)/ -/(?:^|\s)(?:[-\dA-Z]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/ -/\s(?:;|:>)(?=\s|$)/ -/(?:^|\s)[^\s"]\S*(?=\s|$)/ -/"(?:\\\S|[^"\\])*"/ -/(?:^|\s)(?:! .*|!$)/ -/(?:^|\s)\/\*\s[^]*?\*\/(?=\s|$)/ -/(?:^|\s)!\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)[-+]?\d+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B[01]+|O[0-7]+|D\d+|X[\dA-F]+)(?=\s|$)/i -/(?:^|\s)[-+]?\d+\/\d+\.?(?=\s|$)/ -/(?:^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/ -/(?:^|\s)-\d+-\d+\/\d+(?=\s|$)/ -/(?:^|\s)[-+]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:E[-+]?\d+)?(?=\s|$)/i -/(?:^|\s)NAN:\s+[\dA-Fa-f]+(?=\s|$)/ -/(?:^|\s)[-+]?0(?:B1\.[01]*|O1\.[0-7]*|D1\.\d*|X1\.[\dA-F]*)P\d+(?=\s|$)/i -/\\\S/ -/[$()*+.?[\]\^{|}]/ -/\\\S|%\w|\// -/(?:^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/ -/(?:^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/ -/(?:^|\s)\[(?:======\[\s[^]*?\]======|=====\[\s[^]*?\]=====|====\[\s[^]*?\]====|===\[\s[^]*?\]===|==\[\s[^]*?\]==|=\[\s[^]*?\]=|\[\s[^]*?\])\](?=\s|$)/ -/(?:^|\s)(?:call|execute|eval)?\((?=\s)/ -/\s--(?=\s)/ -/\s\)(?=\s|$)/ -/(?:^|\s)[A-Z]*\{(?=\s)/i -/\s\}(?=\s|$)/ -/(?:^|\s)\[(?=\s)/ -/\s\](?=\s|$)/ -/\\[^\s']|%\w/ -/\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/ -/\/[dimrs]+(?:-[dimrs]+)?/ -/\s[^\s:]+/ -/(?:\n|\r\n)\s*;(?=\s|$)/ -/\b(?:allow|function|if|match|null|return|rules_version|service)\b/ -/&&|\|\||[!<=>]=?|[-%*+/=]|\b(?:in|is)\b/ -/(?:^|[\s(),])(?:\/(?:[\w\xa0-\uffff]+|\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)))+/ -/\ballow\s+[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/ -/\// -/\{[\w\xa0-\uffff]+(?:=\*\*)?\}|\$\([\w.\xa0-\uffff]+\)/ -/\*\*/ -/[$().{}]/ -/[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*=\s*(?:FUNCTION(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\([^()]*\)(?:\s*:\s*\w+)?|[$A-Z_\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/i -/\{\||\|\}/ -/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/ -/(?:^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/ -/(?:^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/ -/\.(?:TRUE|FALSE)\.(?:_\w+)?/i -/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[DE][-+]?\d+)?(?:_\w+)?/i -/\(\/|\/\)|[&(),:;]/ -/[BOZ](?:"[\dA-F]+"|'[\dA-F]+')/i -/(?:\w+_)?(?:"(?:""|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!").)*["&]|'(?:''|&(?:\r\n?|\n)(?:\s*!.+(?:\r\n?|\n))?|(?!').)*[&'])/ -/!.*/ -/\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\b/i -/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i -/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i -/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i -/\*\*|\/\/|=>|[/=]=|[<>]=?|::|[-%*+=]|\.(?:EQ|NE|LT|LE|GT|GE|NOT|AND|OR|EQV|NEQV)\.|\.[A-Z]+\./i -/(?:^|(?!\().)\/(?!\))/ -/&(?:\r\n?|\n)\s*!.*/ -/^<#--[^]*/ -/^<[^]+>$/ -/^\$\{[^]*\}$/ -/^<\/?|\/?>$/ -/^\$\{|\}$/ -/^<\/?[#@][A-Z]\w*/i -/[^]*\S[^]*/ -/<#--[^]*?-->/ -/\bas\b/ -/\w+(?=\s*\()/ -/\d+(?:\.\d+)?/ -/\.\.[!*<]?|->|--|\+\+|&&|\|\||\?{1,2}|[-!%*+/<=>]=?|\b(?:gt|gte|lt|lte)\b/ -/[(),.:;[\]{}]/ -/(?:^|[^?])\?\s*\w+/ -/\br(?:"(?:(?!")[^\\]|\\.)*"|'(?:(?!')[^\\]|\\.)*')/ -/"(?:(?!"|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*"|'(?:(?!'|\$\{)[^\\]|\\.|\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\})*'/ -/(?:^|[^\\])(?:\\\\)*\$\{(?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\((?:[^"'()<]|\(\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')*?\}/ -/\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FLU]*/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at|xor|not)\b/ -/\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick[12]_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\d|numpad\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\w+)\b/ -/\b(?:[xy]|[xy](?:previous|start)|[hv]speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_[xy]|angular_(?:velocity|damping)|position_[xy]previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:[hwxy]view|[hwxy]port|[hv](?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:[xy]|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\d)|argument|global|local|self|other)\b/ -/;.*|\B\(.*?\)\B/ -/\b[GM]\d+(?:\.\d+)?\b/ -/\b[A-Z]/ -/"(?:""|[^"])*"/ -/\*\d+/ -/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/ -/[A-Z_]\w*(?=[\t ]*\()/i -/\b[A-Z][\dA-Z_]*\b/ -/->|:=|&&|\|\||<<|>>|[-!%&*+/<=>|]=?|[~^]/ -/[(),.:;[\]{}]/ -/@?(?:(?:"(?:(?!")[^\n\\]|\\[^])*"|'(?:(?!')[^\n\\]|\\[^])*')(?!["'])|"""(?:[^\\]|\\[^])*?""")/ -/(?:^(?:class_name|class|extends)[\t ]+|^export\([\t ]*|\bas[\t ]+|(?:\b(?:const|var)[\t ]|[(,])[\t ]*\w+[\t ]*:[\t ]*|->[\t ]*)[A-Z_a-z]\w*/m -/\b0b[01_]+\b|\b0x[\dA-F_a-f]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[-+]?[\d_]+)?\b/ -/\b(?:INF|NAN|PI|TAU)\b/ -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+ +.+/m -/^\s*\d+ +(?:@\w[^\0-\x1f@\x7f\xff-\uffff]*@ +)?\w+/m -/^\s*\d+/m -/@\w[^\0-\x1f@\x7f\xff-\uffff]*@/ -/^@\w[^\0-\x1f@\x7f\xff-\uffff]*@$/ -/"""[^]+?"""|'''[^]+?'''/ -/^[\t ]*#.*/m -/^[\t ]*@\S*/m -/(?:^|\r?\n|\r)[\t ]*(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:]+(?:\r?\n|\r|$))*/ -/^[\t ]*(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|ghantoH|Grundlage|Hannergrond|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^\n\r:]*/m -/(?:\r?\n|\r)[\t ]*\|.+\|.*(?:(?:\r?\n|\r)[\t ]*\|.+\|.*)+/ -/(?:\r?\n|\r)[\t ]*\|.+\|.*/ -/^[\t ]+(?:'ach|'a|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cando|Cand|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|Entonces|En|Epi|E|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kadar|Kada|Kad|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|ugeholl|Und|Un|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[\t ])/m -/"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'/ -/<[^>]+?>/ -/[^\n\r:]+:/ -/\|/ -/:[^\n\r]+/ -/:[^\n\r]*/ -/\s*[^\s|][^|]*/ -/^#.*/m -/^[-\u2013].*/m -/^\+.*/m -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/^commit \w{40}$/m -/^.*\$ git .*$/m -/\s--?\w+/ -/\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[bdiu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\b/ -/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/ -/\b(?:_|iota|nil|true|false)\b/ -/(?:\b0X[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)I?/i -/[!%*/=^]=?|\+[+=]?|-[-=]?|\|[=|]?|&(?:[&=]|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./ -/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`/ -/(?:\B-|(?<!\w)(?=\w)|(?<=\w)(?!\w))\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/\$[A-Z_]\w*/i -/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/ -/[!&=|]|\.{3}/ -/[!(),:=[\]{}]/ -/\b(?!ID(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]*\b/ -/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*")(?=\s*[A-Z_])/i -/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\n\r"\\])*"/ -/@[A-Z_]\w*/i -/[A-Z_]\w*(?=\s*(?:\((?:[^"()]|"(?:\\.|[^\n\r"\\])*")*\))?:)/i -/(?:\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[A-Z_a-z]\w*/ -/(?:\bfragment\s+|\.{3}\s*(?!on(?:(?<!\w)\w|(?<=\w)(?!\w))))[A-Z_a-z]\w*/ -/^"(?:"")?(?![]Unknown:\\1[])[^]+(?=[]Unknown:\\1[]$)/ -/^>(?:[\t ]*>)*/m -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*/m -/^\s*(?:\*(?:[\t ]*\*){2,}|-(?:[\t ]*-){2,})(?=\s*$)/m -/^\s*(?:[-*+]|\d+\.)(?=[\t ].)/m -/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/ -/(?:^|[^\\])(?:\\{2})*(?:\b__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+_)+__\b|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*)+\*\*)/ -/(?:^|[^\\])(?:\\{2})*(?:\b_(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|__(?:(?!_)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+__)+_\b|\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?))|\*\*(?:(?!\*)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\*\*)+\*)/ -/(?:^|[^\\])(?:\\{2})*(?:~~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~~|~(?:(?!~)(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+?~)/ -/(?:^|[^\\])(?:\\{2})*!?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[(?:(?!\])(?:\\.|[^\n\r\\]|(?:\n|\r\n?)(?!\n|\r\n?)))+\])/ -/(?:(?:^|\n)[\t ]*\n|(?:^|\r\n?)[\t ]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/ -/\`\`.+?\`\`|\`[^\n\r\`]+\`/ -/^\`\`\`[^]*?^\`\`\`$/m -/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[\t ]*$)/m -/^\s*#+.+/m -/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/ -/^[!:[\]]|[<>]/ -/\*\*|__/ -/[*_]/ -/~~?/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)(?:\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$))*$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)\|?[\t ]*:?-{3,}:?[\t ]*(?:\|[\t ]*:?-{3,}:?[\t ]*)+\|?(?:\n|\r\n?)$/ -/^\|?(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+(?:\|(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+)+\|?(?:\n|\r\n?|$)$/ -/\`\`\`/ -/==+$|--+$/ -/^#+|#+$/ -/^!?\[[^\]]+/ -/^..[^]+(?=..$)/ -/^.[^]+(?=.$)/ -/^~~?[^]+(?=[]Unknown:\\1[]$)/ -/\[[^\]]+(?=\]$)/ -/^!?\[[^\]]+(?=\])/ -/"(?:\\.|[^"\\])*"(?=\)$)/ -/\||:?-{3,}:?/ -/^\`\`\`.*(?:\n|\r\n?)[^]+?(?=(?:\n|\r\n?)^\`\`\`$)/m -/^\`\`\`.+/ -/(?:\\.|\`\`(?:[^\n\r\`]|\`(?!\`))+\`\`|\`[^\n\r\`]+\`|[^\n\r\\\\\`|])+/ -/\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/ -/\b(?:0B[01_]+|0X[\dA-F_]+(?:\.[-\dA-FP_]+)?|[\d_]+(?:\.[\d_]+)?(?:E[-+]?\d+)?)[DFGIL]?\b/i -/\b(?:setup|given|when|then|and|cleanup|expect|where):/ -/\.+|[$(),.:;[\]{}]/ -/#!.+/ -/(?:^|[^.])@\w+/ -/(?:^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[&@]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[=|]?|\/=?|\^=?|%=?)/ -/"""(?:[^\\]|\\[^])*?"""|'''(?:[^\\]|\\[^])*?'''|\$\/(?:[^$/]|\$(?:[$/]|(?![$/]))|\/(?!\$))*\/\$/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|\/(?:\\.|(?!\/)[^\n\r\\])*\// -/(?:^|\r?\n|\r)[\t ]*(?:\/|-#).*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/ -/(?:^|\r?\n|\r)[\t ]*:ruby(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:[-\w]+(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*<.+/ -/(?:^|\r?\n|\r)[\t ]*!!!(?: .+)?/ -/(?:^|\r?\n|\r)[\t ]*[#%.][\w#\-.]*[-\w](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[/<>]*/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).+/ -/(?:^|\r?\n|\r)[\t ]*[-!&=~]+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*,[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*,[\t ]*)*(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+/ -/(?:^|\r?\n|\r)[\t ]*(?:[-~]|[!&]?=).*\|[\t ]*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.*\|[\t ]*)*/ -/[<>]/ -/^:[-\w]+/ -/(?:^|[^#])\{(?:\{[^}]+\}|[^}])+\}/ -/\([^)]+\)/ -/\[[^\]]+\]/ -/[-\w:]+(?=\s*!?=|\s*[),])/ -/[(),=]/ -/=\s*(?:"(?:\\.|[^\n\r"\\])*"|[^\s)]+)/ -/(?:@\{[-\w]+\}|[-\w])+(?:\+_?)?(?=\s*:)/ -/[-*+/]/ -/(?:[-A-Z]+-)?URL(?=\()/i -/\$[-\w]+|#\{\$[-\w]+\}/ -/@[-\w]+?(?:\((?:[^(){}]|\([^(){}]*\))*\)|[^();{}])*?(?=\s*\{)/ -/(?:@\{[-\w]+\}|[^\s;@{}])(?:@\{[-\w]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^();@{}])*?(?=\s*\{)/ -/@@?[-\w]+/ -/[;{]\s*[#.](?!\d)[-\w]+.*?(?=[(;])/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/@(?:IF|ELSE(?: IF)?|FOR|EACH|WHILE|IMPORT|EXTEND|DEBUG|WARN|MIXIN|INCLUDE|FUNCTION|RETURN|CONTENT)/i -/@[-\w]+(?:\([^()]+\)|[^(])*?(?=\s+[;{])/ -/(?=\S)[^();@{}]?(?:[^();@{}]|#\{\$[-\w]+\})+(?=\s*\{(?:[\s}]|[^}]+[:{][^}]+))/ -/(?:[-\w]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/ -/%[-\w]+/ -/\B!(?:DEFAULT|OPTIONAL)\b/i -/\bnull\b/ -/\s(?:[-%*+/]|[!=]=|<=?|>=?|and|or|not)(?=\s)/ -/<\/?(?!\d)[\dA-Z]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/i -/(?:^|\r|\n)\S[^]*?(?=$|\r?\n\r?\n|\r\r)/ -/(?:^|\r?\n|\r)[\t ]*:css(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:coffee(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:erb(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:javascript(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:less(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:markdown(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:scss(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|\r?\n|\r)[\t ]*:textile(?:(?:\r?\n|\r)(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/ -/(?:^|[^\\])\/\/.*/ -/[():]/ -/@+[-\w]+/ -/@[-\w]+\s*:/ -/ +(?:from|through)(?= )/ -/@[-\w]+/ -/&/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*\./ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*\s+.+/m -/^(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>~^])+\.\s*)?(?:\|(?:(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+\.)?[^|]*)+\|/m -/(?:^|[^\dA-Z])(?:\*\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*\*|__(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?__|\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\?\?|%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?%|\*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\*|\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\+|-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?-|@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?@|\^(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?\^|_(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?_|~(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?~)(?![\dA-Z])/i -/^\[[^\]]+\]\S+$/m -/"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+":.+?(?=[^\w/]?(?:\s|$))/ -/!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/ -/\b\[\d+\]/ -/\b[\dA-Z]+\([^)]+\)/ -/\b\((?:TM|R|C)\)/ -/^[a-z]\w*/ -/\.$/ -/^[#*]+/ -/\||^\./ -/[-%*+?@_~^]+/ -/[":]/ -/[!:]/ -/^[a-z]\w*(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+(?=\.)/ -/^[#*]+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/(?:^|\|(?:\r?\n|\r)?)(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>_~^]|[/\\]\d+)+(?=\.)/ -/^\*\*?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^__?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=[]Unknown:\\2[])/ -/^\?\?(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\?\?)/ -/^@(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=@)/ -/^\+(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=\+)/ -/^-(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=-)/ -/^%(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*.+?(?=%)/ -/(?:^\*\*|__|\?\?|[-%*+@_~^])(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/\[[^\]]+(?=\])/ -/\]\S+$/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})*[^"]+(?=")/ -/^"(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\})+/ -/:.+/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])*[^\s!()]+(?:\([^)]+\))?(?=!)/ -/^!(?:\([^\n()|]+\)|\[[^\n\]]+\]|\{[^\n}]+\}|\)|\((?![^\n()|]+\))|[<=>])+/ -/\([^)]+(?=\))/ -/[/\\]\d+|\S/ -/\{[^}]+\}/ -/\{\{![^]*?\}\}/ -/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/[^-\0-\x20$0-9?A-Z_a-z\x7f-\uffff]/ -/[^\s!"#\x25-\x2c/;<=>@[\\\]\^\`{|}~]+/ -/^\{\{\{?|\}\}\}?$/ -/^\s*~?\s*[#/]\S+?(?=\s*~?\s*$|\s)/ -/'(?:[^'\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+))'/ -/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/ -/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/ -/\b(?:\d+(?:\.\d+)?(?:E[-+]?\d+)?|0O[0-7]+|0X[\dA-F]+)\b/i -/\s\.\s|[!#$%&*+\-./:<=>?@\\|~^]*\.[!#$%&*+\-./:<=>?@\\|~^]+|[!#$%&*+\-./:<=>?@\\|~^]+\.[!#$%&*+\-./:<=>?@\\|~^]*|[-!#$%&*+/:<=>?@\\|~^]+|\`(?:[A-Z][\w']*\.)*[_a-z][\w']*\`/ -/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*\b/ -/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*\b/ -/(?:^|[^!#$%&*+\-./:<=>?@\\|~^])(?:--[^!#$%&*+\-./:<=>?@\\|~^].*|\{-[^]*?-\})/m -/"(?:[^"\\]|\\(?:["&'\\abfnrtv]|\^[\x40-\x5b\]\^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\d+|o[0-7]+|x[\dA-Fa-f]+)|\\\s+\\)*"/ -/(?:\r?\n|\r|^)\s*import\s+(?:qualified\s+)?[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m -/\b(?:import|qualified|as|hiding)\b/ -/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\.)\b/ -/\.{3}|\+\+?|-[->]?|[!=]=?|&&?|\|\|?|<[<=]?|>[=>]?|[%*/~^]/ -/"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*'/ -/~\/(?:[^\n\r/\\]|\\.)+\/[gimsu]*/ -/#\w+/ -/@:?\w+/ -/\$(?:\w+|(?=\{))/ -/(?:^|[^\\])\$(?:\w+|\{[^}]+\})/ -/^\$\w*/ -/(?:\/\/|#).*|\/\*[^]*?(?:\*\/|$)/ -/\b0X[\dA-F]+\b|\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[=[\]{}]/ -/<<-?\w+[^]*?^\s*[]Unknown:\\1[]/m -/[-\w]+(?=\s+\{)/ -/[\w\-.]+(?=\s*=(?!=))/ -/"(?:\\[^]|[^"\\])+"(?=\s*[:=])/ -/"(?:[^"$\\]|\\[^]|\$(?:(?=")|\$+|[^"\${])|\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\})*"/ -/(?:RESOURCE|DATA)\s+"(?:\\[^]|[^"\\])*"(?=\s+"[-\w]+"\s+\{)/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+(?=\{)/i -/(?:^|[^$])\$\{(?:[^"{}]|"(?:[^"\\]|\\[^])*")*\}/ -/(?:RESOURCE|DATA|\s+)"(?:\\[^]|[^"\\])*"/i -/(?:PROVIDER|PROVISIONER|VARIABLE|OUTPUT|MODULE|BACKEND)\s+(?:[-\w]+|"(?:\\[^]|[^"\\])*")\s+/i -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b/i -/[^-\0-\x20"0-9A-Z_a-z\x7f-\uffff]/ -/\b(?:TERRAFORM|VAR|SELF|COUNT|MODULE|PATH|DATA|LOCAL)\b\.[\w*]+/i -/(?:(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?|\b0x[\dA-Fa-f]+)[FHLUfhlu]?\b/ -/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/ -/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/ -/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/ -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[\d.]+/m -/^HTTP\/1.[01] \d+.*/m -/^[-\w]+:(?=.)/m -/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/ -/:\w+/ -/^HTTP\/1.[01] \d+.*/i -/-?\b\d+(?:\.\d+)?(?:E[-+]?\d+)?\b/i -/[,[\]{}]/ -/"(?:\\.|[^\n\r"\\])*"(?=\s*:)/ -/"(?:\\.|[^\n\r"\\])*"(?!\s*:)/ -/CONTENT-TYPE:\s*APPLICATION\/JAVASCRIPT[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/JSON|\w+\/(?:[\w\-.]+\+)+JSON(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*(?:APPLICATION\/XML|\w+\/(?:[\w\-.]+\+)+XML(?![\w+\-.]))[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/XML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/HTML[^]*?(?:\r?\n|\r){2}[^]*/i -/CONTENT-TYPE:\s*TEXT\/CSS[^]*?(?:\r?\n|\r){2}[^]*/i -/\b(?:(?:includeSubDomains|preload|strict)[ ;]|pin-sha256="[\d+/=A-Za-z]+"|(?:max-age|report-uri)=|report-to )/ -/\b\d{7,}\b/ -/\b\d{1,6}\b/ -/\b(?:max-age=|includeSubDomains|preload)/ -/\b\d{8,}\b/ -/\b\d{1,7}\b/ -/(?:\B'|REM)[^\n\r]*/i -/\B#[\dA-F]+|\B\`[01]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/\B@\S+/ -/<[=>]?|>=?|\|\||&&|[-!&*+/=|~^]|\b(?:AND|NOT|OR)\b/i -/[(),:;[\]]/ -/\b(?:\d+R[\dA-Z]+|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b|\.\d+\b/i -/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/ -/(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/ -/[-+]:(?!=)|(?:[%&/?@^]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/ -/[(),;[\]{}]/ -/"(?:(?!")[^\n\r\\_]|\\.|_(?!")(?:\r\n|[^]))*"|'(?:(?!')[^\n\r\\_]|\\.|_(?!')(?:\r\n|[^]))*'/ -/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/ -/\S(?:.*(?:\\ |\S))?/ -/^!|\*\*?|\?/ -/\// -/(?:^|[^\\])\[[^[\]]*\]/ -/[(),.:;{}]/ -/"[^"]*"/ -/^[\t ]*(?:VOLUME|BOOK|PART(?! OF)|CHAPTER|SECTION|TABLE)\b.+/im -/(?:^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?\w*|\b(?:ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN|ELEVEN|TWELVE))\b(?!-)/i -/(?:^|[^-])\b(?:APPLYING TO|ARE|ATTACKING|ANSWERING|ASKING|BE(?:ING)?|BURNING|BUYING|CALLED|CARRIES|CARRY(?! OUT)|CARRYING|CLIMBING|CLOSING|CONCEAL(?:S|ING)?|CONSULTING|CONTAIN(?:S|ING)?|CUTTING|DRINKING|DROPPING|EATING|ENCLOS(?:ES?|ING)|ENTERING|EXAMINING|EXITING|GETTING|GIVING|GOING|HA(?:VE|S|VING)|HOLD(?:S|ING)?|IMPL(?:Y|IES)|INCORPORAT(?:ES?|ING)|INSERTING|IS|JUMPING|KISSING|LISTENING|LOCKING|LOOKING|MEAN(?:S|ING)?|OPENING|PROVID(?:ES?|ING)|PULLING|PUSHING|PUTTING|RELAT(?:ES?|ING)|REMOVING|SEARCHING|SEE(?:S|ING)?|SETTING|SHOWING|SINGING|SLEEPING|SMELLING|SQUEEZING|SWITCHING|SUPPORT(?:S|ING)?|SWEARING|TAKING|TASTING|TELLING|THINKING|THROWING|TOUCHING|TURNING|TYING|UNLOCK(?:S|ING)?|VAR(?:Y|IES|YING)|WAITING|WAKING|WAVING|WEAR(?:S|ING)?)\b(?!-)/i -/(?:^|[^-])\b(?:AFTER|BEFORE|CARRY OUT|CHECK|CONTINUE THE ACTION|DEFINITION(?= *:)|DO NOTHING|ELSE|END (?:IF|UNLESS|THE STORY)|EVERY TURN|IF|INCLUDE|INSTEAD(?: OF)?|LET|MOVE|NO|NOW|OTHERWISE|REPEAT|REPORT|RESUME THE STORY|RULE FOR|RUNNING THROUGH|SAY(?:ING)?|STOP THE ACTION|TEST|TRY(?:ING)?|UNDERSTAND|UNLESS|USE|WHEN|WHILE|YES)\b(?!-)/i -/(?:^|[^-])\b(?:ADJACENT(?! TO)|CARRIED|CLOSED|CONCEALED|CONTAINED|DARK|DESCRIBED|EDIBLE|EMPTY|ENCLOSED|ENTERABLE|EVEN|FEMALE|FIXED IN PLACE|FULL|HANDLED|HELD|IMPROPER-NAMED|INCORPORATED|INEDIBLE|INVISIBLE|LIGHTED|LIT|LOCK(?:ABLE|ED)|MALE|MARKED FOR LISTING|MENTIONED|NEGATIVE|NEUTER|NON-(?:EMPTY|FULL|RECURRING)|ODD|OPAQUE|OPEN(?:ABLE)?|PLURAL-NAMED|PORTABLE|POSITIVE|PRIVATELY-NAMED|PROPER-NAMED|PROVIDED|PUBLICALLY-NAMED|PUSHABLE BETWEEN ROOMS|RECURRING|RELATED|RUBBING|SCENERY|SEEN|SINGULAR-NAMED|SUPPORTED|SWINGING|SWITCH(?:ABLE|ED(?: ON| OFF)?)|TOUCH(?:ABLE|ED)|TRANSPARENT|UNCONCEALED|UNDESCRIBED|UNLIT|UNLOCKED|UNMARKED FOR LISTING|UNMENTIONED|UNOPENABLE|UNTOUCHABLE|UNVISITED|VARIABLE|VISIBLE|VISITED|WEARABLE|WORN)\b(?!-)/i -/(?:^|[^-])\b(?:ABOVE|ADJACENT TO|BACK SIDE OF|BELOW|BETWEEN|DOWN|EAST|EVERYWHERE|FRONT SIDE|HERE|IN|INSIDE(?: FROM)?|NORTH(?:EAST|WEST)?|NOWHERE|ON(?: TOP OF)?|OTHER SIDE|OUTSIDE(?: FROM)?|PARTS? OF|REGIONALLY IN|SOUTH(?:EAST|WEST)?|THROUGH|UP|WEST|WITHIN)\b(?!-)/i -/(?:^|[^-])\b(?:ACTIONS?|ACTIVIT(?:Y|IES)|ACTORS?|ANIMALS?|BACKDROPS?|CONTAINERS?|DEVICES?|DIRECTIONS?|DOORS?|HOLDERS?|KINDS?|LISTS?|M[AE]N|NOBODY|NOTHING|NOUNS?|NUMBERS?|OBJECTS?|PEOPLE|PERSONS?|PLAYER(?:'S HOLDALL)?|REGIONS?|RELATIONS?|ROOMS?|RULE(?:BOOK)?S?|SCENES?|SOMEONE|SOMETHING|SUPPORTERS?|TABLES?|TEXTS?|THINGS?|TIME|VEHICLES?|WOM[AE]N)\b(?!-)/i -/\S(?:\s*\S)*/ -/^[\t ]*[#;].*$/m -/^[\t ]*\[.*?\]/m -/^[\t ]*[^\s=]+?(?=[\t ]*=)/m -/^=/ -/\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/ -/\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum|Sequence)\b/ -/\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E-?\d+)?/i -/[-!%&*+/=|^]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:return|and|or|not)\b|@@?|\?\??|\.\./ -/"""(?:\\[^]|(?!""")[^\\])*"""/ -/"(?:\\.|[^\n\r"\\])*"/ -/(?:^|[^\\])#.*/ -/\bNB\..*/ -/\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/ -/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:[ejpx]|ad|ar)_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/ -/[=a][.:]|_\./ -/'(?:''|[^\n\r'])*'/ -/(?!\^:|;\.|[!=][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[!=\]]|[-#$%*+,<>|][.:]?|[?^]\.?|[;[]:?|["i}~][.:]|[ACEILejor]\.|(?:[/\\_qsux]|_?\d):)/ -/[}~]|[/\\]\.?|[Mbf]\.|t[.:]/ -/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;HTd]\.|\`:?|[LS^]:|"/ -/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/ -/\b0B[01][01_]*L?\b|\b0X[\dA-F_]*\.?[-\d+A-FP_]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:E[-+]?\d[\d_]*)?[DFL]?/i -/"""[\t ]*[\n\r](?:(?:"|"")?(?:\\.|[^"\\]))*"""/ -/\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+(?!\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|null|open|opens|package|private|protected|provides|public|record|requires|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)(?:(?<!\w)\w|(?<=\w)(?!\w)))[a-z]\w*(?:\.[a-z]\w*)*\.?/ -/<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<(?:[\s\w&,.?]|<[\s\w&,.?]*>)*>)*>)*>/ -/\b[A-Z](?:\w*[a-z]\w*)?\b/ -/\b[A-Z]\w*(?=\s+\w+\s*[(),;=])/ -/(?:^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[:?~]|[-!%&*+/<=>|^]=?)/m -/[(),.:<>]/ -/[&?|]/ -/::[_a-z]\w*/ -/(?:^|[^\\])\/\*\*[^/][^]*?(?:\*\/|$)/ -/^\s*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+\w+/m -/(?:^\s*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][-A-Za-z]+\b/m -/@(?:exception|throws|see|link|linkplain|value)\s+(?:\*\s*)?(?:(?:[A-Za-z]\w+\s*\.\s*)*[A-Z]\w*(?:\s*#\s*\w+(?:\s*\([^()]*\))?)?|#\s*\w+(?:\s*\([^()]*\))?)/ -/@param\s+<[A-Z]\w*>/ -/\b[A-Z]\w*/ -/[#(),.[\]]/ -/[.<>]/ -/\{@code\s+(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+?(?=\s*\})/ -/<(?:code|pre|tt)>(?!<code>)\s*[^]+?(?=\s*<\/[]Unknown:\\2[]>)/ -/#\s*\w+(?=\s*\()/ -/#\s*\w+/ -/\b(?:[a-z]\w*\s*\.\s*)+/ -/^\s*(?:\*\s*)*.*[^\s*].*$/m -/.+/ -/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/ -/\b0X[\dA-F]*\.?[\dA-F]+|(?:\b\d+\.?\d*|\B\.\d+)(?:E\d+)?[DFL]?/i -/\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\b/ -/'[^\s\d\\]\w*/ -/\$+(?:\w+\b|(?=\{))/ -/\b(?:__HALT_COMPILER|ABSTRACT|AND|ARRAY|AS|BREAK|CALLABLE|CASE|CATCH|CLASS|CLONE|CONST|CONTINUE|DECLARE|DEFAULT|DIE|DO|ECHO|ELSE|ELSEIF|EMPTY|ENDDECLARE|ENDFOR|ENDFOREACH|ENDIF|ENDSWITCH|ENDWHILE|EVAL|EXIT|EXTENDS|FINAL|FINALLY|FOR|FOREACH|FUNCTION|GLOBAL|GOTO|IF|IMPLEMENTS|INCLUDE|INCLUDE_ONCE|INSTANCEOF|INSTEADOF|INTERFACE|ISSET|LIST|NAMESPACE|NEW|OR|PARENT|PRINT|PRIVATE|PROTECTED|PUBLIC|REQUIRE|REQUIRE_ONCE|RETURN|STATIC|SWITCH|THROW|TRAIT|TRY|UNSET|USE|VAR|WHILE|XOR|YIELD)\b/i -/\?>$|^<\?(?:PHP(?=\s)|=)?/i -/<<<'[^']+'[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];/ -/<<<(?:"[^"]+"[\n\r](?:.*[\n\r])*?[]Unknown:\\1[];|[A-Z_]\w*[\n\r](?:.*[\n\r])*?[]Unknown:\\2[];)/i -/(?:\\|namespace\s+|use\s+)[\w\\]+/ -/->\w+/ -/\b[A-Z_][\dA-Z_]*\b/ -/\bNULL\b/i -/\\/ -/^<<<'[^']+'|[A-Z_]\w*;$/i -/^<<<(?:"[^"]+"|[A-Z_]\w*)|[A-Z_]\w*;$/i -/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(?:^|[^\\{])\$+\w+(?:\[[^\n\r[\]]+\]|->\w+)*/ -/^<<<'?|[';]$/ -/^<<<"?|[";]$/ -/^[\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m -/^[\t ]*at [\w$.]+(?:<init>)?\([^()]*\)/m -/^[\t ]*\.{3} \d+ [a-z]+(?: [a-z]+)*/m -/:/ -/[\w$]+(?=\.(?:<init>|[\w$]+)\()/ -/(?:<init>|[\w$]+)(?=\()/ -/[a-z]\w*/ -/[().]/ -/\.{3}/ -/\d+/ -/\b[a-z]+(?: [a-z]+)*\b/ -/^\s*(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m -/^\s*"[^"]*"/ -/^:?\s*[\w$.]+(?=:|$)/ -/:\s*\S.*/ -/^\s*at/ -/[\w$]+(?=$|:)/ -/[.:]/ -/\(\w+.\w+:\d+(?=\))/ -/\([^()]*(?=\))/ -/^\w+\.\w+/ -/^(?:Unknown Source|Native Method)$/ -/\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\b/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?L?/i -/-[-=>]?|\+[+=]?|<[<=]?|[!*=>]=?|&&|\|\||[%/:?^]/ -/[,.]/ -/\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\b/ -/[;@|]/ -/(?:\b(?:outputPort|inputPort|in|service|courier)\b|@)\s*\w+/ -/\bAggregates\s*:\s*(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/ -/\bRedirects\s*:\s*(?:\w+\s*=>\s*\w+\s*,\s*)*\w+\s*=>\s*\w+/ -/\bwith\s+\w+/ -/=>/ -/\bwith\b/ -/\B\$\w+/ -/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/ -/(?:\b\d+\.|\B\.)?\b\d+(?:E[-+]?\d+)?\b/i -/::|[(),:;[\]{}]|\.(?=\s*[\w$[])/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"(?=\s*:(?!:))/ -/"(?:[^\n\r"\\]|\\[^\n\r(]|\\\((?:[^()]|\([^()]*\))*\))*"/ -/\bDEF\s+[A-Z_]\w+/i -/\b[A-Z_]\w*(?=\s*:(?!:))/i -/\.\.|[!<=>]?=|\?\/\/|\/\/=?|[-%*+/]=?|[<>?]|\b(?:and|or|not)\b/ -/\b[A-Z_]\w*(?=\s*\()/i -/\|=?/ -/(?:^|[^\\])(?:\\{2})*\\\((?:[^()]|\([^()]*\))*\)/ -/^\\\(|\)$/ -/^\\\([^]+(?=\)$)/ -/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/ -/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ -/\b(?:class|extends|implements|instanceof|interface|new|type)\s+(?!keyof(?:(?<!\w)\w|(?<=\w)(?!\w)))[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/ -/#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[\w$.\xa0-\uffff]+(?=\s|$)/ -/@(?:param|arg|argument|property)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?\[[\w$.\xa0-\uffff]+(?:=[^[\]]+)?\](?=\s|$)/ -/@example\s+[^@]+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/ -/^#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/[=[\]]/ -/@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\s+(?:\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}\s+)?[A-Z]\w*(?:\.[A-Z]\w*)*/ -/@[a-z]+\s+\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/ -/<[^]+/ -/^\[[\w$.\xa0-\uffff]+/ -/=[^]*(?=\]$)/ -/=>|\.\.\.|[&*:?|]/ -/[(),.;<=>[\]{}]/ -/^\s*(?:\*\s*)?.+$/m -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*[:=]\s*(?:async\s*)?(?:\bfunction(?:(?<!\w)\w|(?<=\w)(?!\w))|(?:\((?:[^()]|\([^()]*\))*\)|[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*)\s*=>))/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/ -/\.\s*#?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*/ -/(?:^|[^\w$\xa0-\uffff])[A-Z][\w$\xa0-\uffff]+/ -/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/ -/\bconsole(?=\s*\.)/ -/^[A-Z][^]*/ -/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/ -/\b[A-Z]\w*Error\b/ -/\b(?:as|default|export|from|import)\b/ -/\bundefined\b/ -/\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ -/@+\w+/ -/[-+]?\b(?:NaN|Infinity|0x[\dA-Fa-f]+)\b|[-+]?(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+\b)?/ -/"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*'/ -/(?:"(?:\\(?:\r\n?|\n|.)|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n?|\n|.)|(?!')[^\n\r\\])*')(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*:)/ -/[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*(?=\s*\()/ -/[(),.;[\]{}]/ -/^\S.*/m -/^[\t ]+at[\t ]+.*/m -/\b(?:at|new)\b/ -/[\t ]+at[\t ]+(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m -/(?:\bat\s+|\()(?:[A-Za-z]:)?[^():]+(?=:)/ -/at\s+(?:new\s+)?[$<A-Z_a-z\xa0-\uffff][\w$.<>\xa0-\uffff]*/ -/\[(?:as\s+)?[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\]/ -/:\d+(?::\d+)?\b/ -/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/(?:\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\bsvg\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:md|markdown)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:gql|graphql(?:\s*\.\s*experimental)?)\s*\`(?:\\[^]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\\\\`])*\`/ -/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BOX])?(?:[\dA-F]+(?:_[\dA-F]+)*\.?(?:\d+(?:_\d+)*)?|\.\d+(?:_\d+)*)(?:[EFP][-+]?\d+(?:_\d+)*)?J?/i -/&&|\|\||[-$%&*+\\\xf7\u22bb^]=?|\/[/=]?|!=?=?|\|[=>]?|<(?:<=?|[:=|])?|>(?:=|>>?=?)?|==?=?|['~\u221a\u221b\u2260\u2264\u2265]/ -/::?|[(),.;?[\]{}]/ -/\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi|e|catalan|eulergamma|golden)\b|[\u03b3\u03c0\u03c6\u212f]/ -/(?:^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/ -/r"(?:\\.|[^\n\r"\\])*"[imsx]{0,4}/ -/"""[^]+?"""|\w*"(?:\\.|[^\n\r"\\])*"|(?:^|[^\w'])'(?:\\[^\n\r][^\n\r']*|[^\n\r\\])'|\`(?:[^\n\r\\\\\`]|\\.)*\`/ -/\bC\s.*/i -/\[\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*(?:[KTU]_[\w?]+|".+?"|'.+?')\s*\]/i -/".*?"|'.*?'/ -/\b(?:ANY|BASELAYOUT|BEEP|CALL|CONTEXT|DEADKEY|DK|IF|INDEX|LAYER|NOTANY|NUL|OUTS|PLATFORM|RETURN|RESET|SAVE|SET|STORE|USE)\b/i -/\b(?:ANSI|BEGIN|UNICODE|GROUP|USING KEYS|MATCH|NOMATCH)\b/i -/\b(?:U\+[\dA-F]+|D\d+|X[\dA-F]+|\d+)\b/i -/[()+,>\\]/ -/\$(?:KEYMAN|KMFL|WEAVER|KEYMANWEB|KEYMANONLY):/i -/&(?:BASELAYOUT|BITMAP|CAPSONONLY|CAPSALWAYSOFF|SHIFTFREESCAPS|COPYRIGHT|ETHNOLOGUECODE|HOTKEY|INCLUDECODES|KEYBOARDVERSION|KMW_EMBEDCSS|KMW_EMBEDJS|KMW_HELPFILE|KMW_HELPTEXT|KMW_RTL|LANGUAGE|LAYER|LAYOUTFILE|MESSAGE|MNEMONICLAYOUT|NAME|OLDCHARPOSMATCHING|PLATFORM|TARGETS|VERSION|VISUALKEYBOARD|WINDOWSLANGUAGES)\b/i -/\b(?:BITMAP|BITMAPS|CAPS ON ONLY|CAPS ALWAYS OFF|SHIFT FREES CAPS|COPYRIGHT|HOTKEY|LANGUAGE|LAYOUT|MESSAGE|NAME|VERSION)\b/i -/\b(?:0[Xx][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*|0[Bb][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?[FLf]?)\b/ -/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[%*/<>]=?|[:?]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ -/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/ -/(?:^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/ -/\w+@|@\w+/ -/\.\w+(?=\s*\{)/ -/%.*/ -/[&[\]{}]/ -/\\begin\{(?:verbatim|lstlisting)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{[^}]+(?=\})/ -/\\\\url\{[^}]+(?=\})/ -/\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{[^}]+(?=\}(?:\[[^\]]+\])?)/ -/\\(?:[^()\x41-\x5b\]]|[*A-Z]+)/i -/\$\$(?:\\[^]|[^$\\])+\$\$|\$(?:\\[^]|[^$\\])+\$|\\\([^]*?\\\)|\\\[[^]*?\\\]/ -/\\begin\{(?:equation|math|eqnarray|align|multline|gather)\*?\}[^]*?(?=\\end\{[]Unknown:\\2[]\})/ -/^\{\*[^]*/ -/^\{(?:[=_]|\/?(?!\d|\w+\()\w+|)/ -/\}$/ -/\S(?:[^]*\S)?/ -/^\{\/?/ -/%(?:(?!\{).*|\{[^]*?%\})/ -/[=|]|<<|>>/ -/\b\d+(?:\/\d+)?\b/ -/'[^\s#'()]+/ -/#\\(?:[ux][\dA-Fa-f]+|[-A-Za-z]+|\S)/ -/\((?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()]|$)/ -/\((?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()]|$)/ -/(?:^|[\s()])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()]|$)/ -/(?:^|[\s()])#[ft](?=[\s()]|$)/ -/\((?:[-%*+/]|[<>]=?|=>?)(?=[\s()]|$)/ -/\([^\s'()]+(?=[\s()]|$)/ -/(?:^|[\s=])#(?:"(?:[^"\\]|\\.)*"|[^\s"()]*(?:[^\s()]|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{])|\((?:[^"#();\\]|\\[^]|;.*$|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[^])*#\}|[^{]))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\))*\)))/m -/\\new\s+[-\w]+/ -/\\[A-Z][-\w]*/i -/(?:^|[\da-z])(?:'+|,+|[\^_]?-[\^_]?(?:[!+\-.>_^]|(?=\d))|[\^_]\.?|[!.])|[()<>[\]\^{}~]|\\[!()<>[\\\]]|--|__/ -/\(lambda\s+[^\s'()]+/ -/\(lambda\s+\([^'()]+/ -/#/ -/^\\/ -/^#[^]+$/ -/#\{[^]*?#\}/ -/^#\{|#\}$/ -/\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\b/ -/\b0B[01]+\b|\b0X[\dA-F]*\.?[-\dA-FP]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?[DF]?/i -/(?:^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[=|]?|\*=?|\/=?|%=?|\^=?|[:?~])/m -/(?:^|[\s&;|])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\s&;|])/ -/;;;.*/ -/#?'[-\w!$%*+/<=>@{}~^]+/ -/:[-\w!$%*+/<=>@{}~^]+/ -/,@?[-\w!$%*+/<=>@{}~^]+/ -/\(declare(?=[\s)])/ -/\(interactive(?=[\s)])/ -/[\s([](?:t|nil)(?=[\s)])/ -/[\s([][-+]?\d+(?:\.\d*)?(?=[\s)])/ -/\(def(?:var|const|custom|group)\s+[-\w!$%*+/<=>@{}~^]+/ -/\((?:cl-)?(?:defun\*?|defmacro)\s+[-\w!$%*+/<=>@{}~^]+\s+\([^]*?\)/ -/\(lambda\s+\((?:&?[-\w!$%*+/<=>@{}~^]+\s*)*\)/ -/\([-\w!$%*+/<=>@{}~^]+/ -/[',\`]?\(|[)[\]]/ -/[-A-Z]+(?=[\s,.])/ -/\`[-\w!$%*+/<=>@{}~^]+'/ -/\((?:(?:lexical-)?let\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)(?=\s)/ -/\((?:for|do|collect|return|finally|append|concat|in|by)(?=\s)/ -/^def[a-z]+/ -/[-\w!$%*+/<=>@{}~^]+/ -/^(?:cl-)?def\S+/ -/^lambda/ -/\s\.(?=\s)/ -/\([^]*(?=\))/ -/^\s[-\w!$%*+/<=>@{}~^]+/ -/&(?:rest|body)\s+\S+(?:\s+\S+)*/ -/&(?:optional|aux)\s+\S+(?:\s+\S+)*/ -/&key\s+\S+(?:\s+\S+)*(?:\s+&allow-other-keys)?/ -/&[-\w!$%*+/<=>@{}~^]+/ -/\([-\w!$%*+/<=>@{}~^]+\s+\S[^]*(?=\))/ -/\b(?:\d+~[\dA-Z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[A-Z]\w*)?)/i -/[A-Z_](?:-?[A-Z]|[\d_])*/i -/[(),.:;[\]\`{|}]/ -/(?:^|[^"])(?:"""(?:\\[^]|(?!""")[^\\])*"""|"(?:\\[^]|(?!")[^\\])*")(?!")/ -/\\[^\s),;\]}]+/ -/(?:^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m -/(?:^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m -/(?:^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m -/(?:^|(?!\.&\.)[^&])&(?!&)\d*/m -/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[>|]|<(?:<<?<?|--?!?|~~?!?|[=?|])?|>[=>?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[/?]/ -/(?:^|[^\\])\/\*[^]*?\*\// -/'''(?:\\[^]|(?!''')[^\\])*'''|'(?:\\[^]|(?!')[^\\])*'/ -/<\[[^]*?\]>/ -/\/\/(?:\[[^\n\r\]]*\]|\\.|(?!\/\/)[^[\\])+\/\/[gimuy]{0,5}/ -/\/(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/[gimuy]{0,5}/ -/ \.(?= )/ -/(?:^|[^\\])#[_a-z](?:-?[a-z]|[\d_])*/m -/(?:^|[^\\])#\{[^}]+\}/m -/[!#%@](?:(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+|\d+)/i -/(?!\d)(?:[\w$\-.]|\\[\dA-F]{2})+:/i -/\b[_a-z][\d_a-z]*\b/ -/[-+]?\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[LM][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/ -/[!()*,.;<=>[\]{}]/ -/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/ -/(?:\B-)?(?:\b\d+\.?\d*|\B\.\d+)/ -/\.{3}|\u2026|,|!/ -/\bOBTW\s+[^]*?\s+TLDR\b/ -/\bBTW.+/ -/"(?::.|[^":])*"/ -/(?:^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=[\s,]|$)/ -/(?:^|\s)(?:IM IN YR|IM OUTTA YR) [A-Za-z]\w*/ -/(?:^|\s)(?:I IZ|HOW IZ I|IZ) [A-Za-z]\w*/ -/'Z(?=[\s,]|$)/ -/(?:^|\s)(?:WIN|FAIL)(?=[\s,]|$)/ -/(?:^|\s)IT(?=[\s,]|$)/ -/(?:^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=[\s,]|$)/ -/:\{[^}]+\}/ -/A(?=\s)/ -/(?:^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=[\s,]|$)/ -/:\([\dA-F]+\)/i -/:\[[^\]]+\]/ -/:["):>o]/ -/\.[A-Z][^\s#:=]+(?=\s*:(?!=))/ -/\$+(?:[^\s#():={}]+|\([%*+<?@^][DF]\)|(?=[({]))/ -/(?:::|[!+:?])?=|[@|]/ -/[():;{}]/ -/(?:^|[^\\])#(?:\\(?:\r\n|[^])|[^\n\r\\])*/ -/^[^\n\r:=]+(?=\s*:(?!=))/m -/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/ -/\$+(?:[^\s#():={}]+|(?=[({]))/ -/\((?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[\t ])/ -/(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?[ij]?|\b[ij]\b/ -/\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\b/ -/\.?['*/\\^]|[-+:@]|[<=>~]=?|&&?|\|\|?/ -/\.{3}|[!(),.;[\]{}]/ -/%\{[^]*?\}%/ -/\B'(?:''|[^\n\r'])*'/ -/\b0x[\dA-Fa-f]+\b|\b\d+\.?\d*|\B\.\d+/ -/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/ -TooManyNodesError -/<<|>>|[(),.:;?[\]{}]/ -/\`(?:\\.|[^\n\r\\\\\`])*\`/ -/-[A-Z_]\w*/i -/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[!*/=]=?|[%^]/ -/::.+/ -/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\b/ -/\w+(?=:)/ -/\.\.\.|->|&|\.?=/ -/\(#|#\)|[(),:;[\]{}]/ -/\$(?:10|\d)/ -/"[^\n\r"]*"/ -/\b(?:VOID|STRICT|PUBLIC|PRIVATE|PROPERTY|BOOL|INT|FLOAT|STRING|ARRAY|OBJECT|CONTINUE|EXIT|IMPORT|EXTERN|NEW|SELF|SUPER|TRY|CATCH|EACHIN|TRUE|FALSE|EXTENDS|ABSTRACT|FINAL|SELECT|CASE|DEFAULT|CONST|LOCAL|GLOBAL|FIELD|METHOD|FUNCTION|CLASS|END|IF|THEN|ELSE|ELSEIF|ENDIF|WHILE|WEND|REPEAT|UNTIL|FOREVER|FOR|TO|STEP|NEXT|RETURN|MODULE|INTERFACE|IMPLEMENTS|INLINE|THROW|NULL)\b/i -/\.\.|<[=>]?|>=?|:?=|(?:[-&*+/|~]|\b(?:MOD|SHL|SHR)\b)=?|\b(?:AND|NOT|OR)\b/i -/[(),.:;[\]]/ -/^[\t ]*#.+/m -/\w[#$%?]/ -/(?:\.\.)?(?:(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\dA-F]+)/i -/^#REM\s+[^]*?^#END/im -/'.+/ -/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/ -/@@?\w*/ -/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[Ee]))(?:[Ee][-+]?\d+)?\b|\b(?:0x[\dA-Fa-f]+|\d+)(?:U?LL)?\b/ -/\.{3}|[-=]>|~=|(?:[-!%*+/<=>]|\.\.)=?|[#:^]|\b(?:and|or)\b=?|\bnot\b/ -/[(),.[\\\]{}]/ -/\b(?!\d)\w+(?=:)|:(?!\d)\w+/ -/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:running|create|resume|status|wrap|yield)|debug\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\b/ -/'[^']*'|\[=*\[[^]*?\][]Unknown:\\1[]\]/ -/\b(?:class|extends)[\t ]+\w+/ -/#\{[^{}]*\}/ -/^#\{[^]+(?=\})/ -/#\{|\}/ -/\/\*[^]*?(?:$|\*\/)/ -/\$[\w.]+/ -/\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|ISBITSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\s*\()/i -/\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\b/i -/(?:\b\d+\.|\B\.)\d+E[-+]?\d+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=]|!=|==?|\|\||<[=>]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i -/[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*'/ -/\`(?:\\[^]|[^\\\\\`]|\`\`)*\`/ -/\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\b/ -/[A-Z][\dA-Z]*(?=\()/i -/=|\.\./ -/[(),:;[\]{}]/ -/^[\t ]*;.*/m -/^>.+/m -/^[\t ]*#[\t ]*\w+[\t ]*$/m -/^[\t ]*@\w+(?=[\t ]|$).*/m -/^[\t ]*[^\s#;>@].*/m -/^@\w+/ -/\\["[\]{}]/ -/^>\w+[\t ]+(?!\s)[^\n\r{}]+/ -/^>\w+/ -/\{[^\n\r[\]{}]*\}/ -/\[[\t ]*\w+[^\n\r[\]]*\]/ -/\s\w+:/ -/^\[[\t ]*\w+\b[^]+(?=\]$)/ -/^\[[\t ]*\w+/ -/[\t ]\S+/ -/\S(?:.*\S)?/ -/;.*$/m -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[-!$%&*+/<=>[\]|]/ -/^\s*[$.?A-Z_][\w#$.?@~]*:/im -/\[?BITS (?:16|32|64)\]?/ -/(?:EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*$/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S)\b/i -/^\s*SECTION\s*[.A-Z]+:?/im -/[-(),:=[\]{}]/ -/(?:^|[\s(,:=[{])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\s),\]}])/ -/(?:^|[\s(,[{])[^\s"'(),:=[\]{}]+(?=\s*:(?:$|[\s),\]}])|\s*=)/ -/(?:^|[\s(,:=[{])[-+]?(?:0x[\dA-Fa-f]+|0o[0-7]+|0b[01]+|(?:\d+\.?\d*|\.?\d+)(?:[Ee][-+]?\d+)?)(?=$|[\s),:=\]}])/ -/(?:^|[\s(,:=[{])(?:TRUE|FALSE|YES|NO)(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])NULL(?=$|[\s),:=\]}])/i -/(?:^|[\s(,:=[{])(?:'''\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*'''))*\r?\n)?[\t ]*'''|"""\r?\n(?:(?:[^\n\r]|\r?\n(?![\t ]*"""))*\r?\n)?[\t ]*"""|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")/ -/(?:^|[\s(,:=[{])(?:[^-\s"#'(),:=[\]\`{}]|[-:][^\s"'(),=[\]{}])(?:[^\s(),:=\]}]+|:(?![\s),\]}]|$)|[\t ]+[^\s#(),:=\]}])*/ -/\$[A-Z_]+/i -/\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|IF_NOT_EMPTY|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|HTTP|EVENTS|ACCEPT_MUTEX|ACCEPT_MUTEX_DELAY|ACCESS_LOG|ADD_AFTER_BODY|ADD_BEFORE_BODY|ADD_HEADER|ADDITION_TYPES|AIO|ALIAS|ALLOW|ANCIENT_BROWSER|ANCIENT_BROWSER_VALUE|AUTH|AUTH_BASIC|AUTH_BASIC_USER_FILE|AUTH_HTTP|AUTH_HTTP_HEADER|AUTH_HTTP_TIMEOUT|AUTOINDEX|AUTOINDEX_EXACT_SIZE|AUTOINDEX_LOCALTIME|BREAK|CHARSET|CHARSET_MAP|CHARSET_TYPES|CHUNKED_TRANSFER_ENCODING|CLIENT_BODY_BUFFER_SIZE|CLIENT_BODY_IN_FILE_ONLY|CLIENT_BODY_IN_SINGLE_BUFFER|CLIENT_BODY_TEMP_PATH|CLIENT_BODY_TIMEOUT|CLIENT_HEADER_BUFFER_SIZE|CLIENT_HEADER_TIMEOUT|CLIENT_MAX_BODY_SIZE|CONNECTION_POOL_SIZE|CREATE_FULL_PUT_PATH|DAEMON|DAV_ACCESS|DAV_METHODS|DEBUG_CONNECTION|DEBUG_POINTS|DEFAULT_TYPE|DENY|DEVPOLL_CHANGES|DEVPOLL_EVENTS|DIRECTIO|DIRECTIO_ALIGNMENT|DISABLE_SYMLINKS|EMPTY_GIF|ENV|EPOLL_EVENTS|ERROR_LOG|ERROR_PAGE|EXPIRES|FASTCGI_BUFFER_SIZE|FASTCGI_BUFFERS|FASTCGI_BUSY_BUFFERS_SIZE|FASTCGI_CACHE|FASTCGI_CACHE_BYPASS|FASTCGI_CACHE_KEY|FASTCGI_CACHE_LOCK|FASTCGI_CACHE_LOCK_TIMEOUT|FASTCGI_CACHE_METHODS|FASTCGI_CACHE_MIN_USES|FASTCGI_CACHE_PATH|FASTCGI_CACHE_PURGE|FASTCGI_CACHE_USE_STALE|FASTCGI_CACHE_VALID|FASTCGI_CONNECT_TIMEOUT|FASTCGI_HIDE_HEADER|FASTCGI_IGNORE_CLIENT_ABORT|FASTCGI_IGNORE_HEADERS|FASTCGI_INDEX|FASTCGI_INTERCEPT_ERRORS|FASTCGI_KEEP_CONN|FASTCGI_MAX_TEMP_FILE_SIZE|FASTCGI_NEXT_UPSTREAM|FASTCGI_NO_CACHE|FASTCGI_PARAM|FASTCGI_PASS|FASTCGI_PASS_HEADER|FASTCGI_READ_TIMEOUT|FASTCGI_REDIRECT_ERRORS|FASTCGI_SEND_TIMEOUT|FASTCGI_SPLIT_PATH_INFO|FASTCGI_STORE|FASTCGI_STORE_ACCESS|FASTCGI_TEMP_FILE_WRITE_SIZE|FASTCGI_TEMP_PATH|FLV|GEO|GEOIP_CITY|GEOIP_COUNTRY|GOOGLE_PERFTOOLS_PROFILES|GZIP|GZIP_BUFFERS|GZIP_COMP_LEVEL|GZIP_DISABLE|GZIP_HTTP_VERSION|GZIP_MIN_LENGTH|GZIP_PROXIED|GZIP_STATIC|GZIP_TYPES|GZIP_VARY|IF|IF_MODIFIED_SINCE|IGNORE_INVALID_HEADERS|IMAGE_FILTER|IMAGE_FILTER_BUFFER|IMAGE_FILTER_JPEG_QUALITY|IMAGE_FILTER_SHARPEN|IMAGE_FILTER_TRANSPARENCY|IMAP_CAPABILITIES|IMAP_CLIENT_BUFFER|INCLUDE|INDEX|INTERNAL|IP_HASH|KEEPALIVE|KEEPALIVE_DISABLE|KEEPALIVE_REQUESTS|KEEPALIVE_TIMEOUT|KQUEUE_CHANGES|KQUEUE_EVENTS|LARGE_CLIENT_HEADER_BUFFERS|LIMIT_CONN|LIMIT_CONN_LOG_LEVEL|LIMIT_CONN_ZONE|LIMIT_EXCEPT|LIMIT_RATE|LIMIT_RATE_AFTER|LIMIT_REQ|LIMIT_REQ_LOG_LEVEL|LIMIT_REQ_ZONE|LIMIT_ZONE|LINGERING_CLOSE|LINGERING_TIME|LINGERING_TIMEOUT|LISTEN|LOCATION|LOCK_FILE|LOG_FORMAT|LOG_FORMAT_COMBINED|LOG_NOT_FOUND|LOG_SUBREQUEST|MAP|MAP_HASH_BUCKET_SIZE|MAP_HASH_MAX_SIZE|MASTER_PROCESS|MAX_RANGES|MEMCACHED_BUFFER_SIZE|MEMCACHED_CONNECT_TIMEOUT|MEMCACHED_NEXT_UPSTREAM|MEMCACHED_PASS|MEMCACHED_READ_TIMEOUT|MEMCACHED_SEND_TIMEOUT|MERGE_SLASHES|MIN_DELETE_DEPTH|MODERN_BROWSER|MODERN_BROWSER_VALUE|MP4|MP4_BUFFER_SIZE|MP4_MAX_BUFFER_SIZE|MSIE_PADDING|MSIE_REFRESH|MULTI_ACCEPT|OPEN_FILE_CACHE|OPEN_FILE_CACHE_ERRORS|OPEN_FILE_CACHE_MIN_USES|OPEN_FILE_CACHE_VALID|OPEN_LOG_FILE_CACHE|OPTIMIZE_SERVER_NAMES|OVERRIDE_CHARSET|PCRE_JIT|PERL|PERL_MODULES|PERL_REQUIRE|PERL_SET|PID|POP3_AUTH|POP3_CAPABILITIES|PORT_IN_REDIRECT|POST_ACTION|POSTPONE_OUTPUT|PROTOCOL|PROXY|PROXY_BUFFER|PROXY_BUFFER_SIZE|PROXY_BUFFERING|PROXY_BUFFERS|PROXY_BUSY_BUFFERS_SIZE|PROXY_CACHE|PROXY_CACHE_BYPASS|PROXY_CACHE_KEY|PROXY_CACHE_LOCK|PROXY_CACHE_LOCK_TIMEOUT|PROXY_CACHE_METHODS|PROXY_CACHE_MIN_USES|PROXY_CACHE_PATH|PROXY_CACHE_USE_STALE|PROXY_CACHE_VALID|PROXY_CONNECT_TIMEOUT|PROXY_COOKIE_DOMAIN|PROXY_COOKIE_PATH|PROXY_HEADERS_HASH_BUCKET_SIZE|PROXY_HEADERS_HASH_MAX_SIZE|PROXY_HIDE_HEADER|PROXY_HTTP_VERSION|PROXY_IGNORE_CLIENT_ABORT|PROXY_IGNORE_HEADERS|PROXY_INTERCEPT_ERRORS|PROXY_MAX_TEMP_FILE_SIZE|PROXY_METHOD|PROXY_NEXT_UPSTREAM|PROXY_NO_CACHE|PROXY_PASS|PROXY_PASS_ERROR_MESSAGE|PROXY_PASS_HEADER|PROXY_PASS_REQUEST_BODY|PROXY_PASS_REQUEST_HEADERS|PROXY_READ_TIMEOUT|PROXY_REDIRECT|PROXY_REDIRECT_ERRORS|PROXY_SEND_LOWAT|PROXY_SEND_TIMEOUT|PROXY_SET_BODY|PROXY_SET_HEADER|PROXY_SSL_SESSION_REUSE|PROXY_STORE|PROXY_STORE_ACCESS|PROXY_TEMP_FILE_WRITE_SIZE|PROXY_TEMP_PATH|PROXY_TIMEOUT|PROXY_UPSTREAM_FAIL_TIMEOUT|PROXY_UPSTREAM_MAX_FAILS|RANDOM_INDEX|READ_AHEAD|REAL_IP_HEADER|RECURSIVE_ERROR_PAGES|REQUEST_POOL_SIZE|RESET_TIMEDOUT_CONNECTION|RESOLVER|RESOLVER_TIMEOUT|RETURN|REWRITE|ROOT|RTSIG_OVERFLOW_EVENTS|RTSIG_OVERFLOW_TEST|RTSIG_OVERFLOW_THRESHOLD|RTSIG_SIGNO|SATISFY|SATISFY_ANY|SECURE_LINK_SECRET|SEND_LOWAT|SEND_TIMEOUT|SENDFILE|SENDFILE_MAX_CHUNK|SERVER|SERVER_NAME|SERVER_NAME_IN_REDIRECT|SERVER_NAMES_HASH_BUCKET_SIZE|SERVER_NAMES_HASH_MAX_SIZE|SERVER_TOKENS|SET|SET_REAL_IP_FROM|SMTP_AUTH|SMTP_CAPABILITIES|SO_KEEPALIVE|SOURCE_CHARSET|SPLIT_CLIENTS|SSI|SSI_SILENT_ERRORS|SSI_TYPES|SSI_VALUE_LENGTH|SSL|SSL_CERTIFICATE|SSL_CERTIFICATE_KEY|SSL_CIPHERS|SSL_CLIENT_CERTIFICATE|SSL_CRL|SSL_DHPARAM|SSL_ENGINE|SSL_PREFER_SERVER_CIPHERS|SSL_PROTOCOLS|SSL_SESSION_CACHE|SSL_SESSION_TIMEOUT|SSL_VERIFY_CLIENT|SSL_VERIFY_DEPTH|STARTTLS|STUB_STATUS|SUB_FILTER|SUB_FILTER_ONCE|SUB_FILTER_TYPES|TCP_NODELAY|TCP_NOPUSH|TIMEOUT|TIMER_RESOLUTION|TRY_FILES|TYPES|TYPES_HASH_BUCKET_SIZE|TYPES_HASH_MAX_SIZE|UNDERSCORES_IN_HEADERS|UNINITIALIZED_VARIABLE_WARN|UPSTREAM|USE|USER|USERID|USERID_DOMAIN|USERID_EXPIRES|USERID_NAME|USERID_P3P|USERID_PATH|USERID_SERVICE|VALID_REFERERS|VARIABLES_HASH_BUCKET_SIZE|VARIABLES_HASH_MAX_SIZE|WORKER_CONNECTIONS|WORKER_CPU_AFFINITY|WORKER_PRIORITY|WORKER_PROCESSES|WORKER_RLIMIT_CORE|WORKER_RLIMIT_NOFILE|WORKER_RLIMIT_SIGPENDING|WORKING_DIRECTORY|XCLIENT|XML_ENTITIES|XSLT_ENTITIES|XSLT_STYLESHEET|XSLT_TYPES|SSL_SESSION_TICKETS|SSL_STAPLING|SSL_STAPLING_VERIFY|SSL_ECDH_CURVE|SSL_TRUSTED_CERTIFICATE|MORE_SET_HEADERS|SSL_EARLY_DATA)\b/i -/(?:^|[^"\\{])#.*/ -/\b(?:0[BOXbox][\dA-F_a-f]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[Ee][-+]?\d[\d_]*)?)(?:'?[fiu]\d*)?/ -/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/ -/[([{]\.|\.[)\]}]|[(),:[\]\`{}]/ -/(?:\b(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+)?(?:"""[^]*?"""(?!")|"(?:\\[^]|""|[^"\\])*")|'(?:\\(?:\d+|x[\dA-Fa-f]{2}|.)|[^'])'/ -/(?:(?!\d)(?:\w|\\x[89A-Fa-f][\dA-Fa-f])+|\`[^\n\r\`]+\`)\*?(?:\[[^\]]+\])?(?=\s*\()/ -/\`[^\n\r\`]+\`/ -/(?:^|[([{](?=\.\.)|(?![([{]\.).)(?:(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+|\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\b)/m -/\*$/ -/\`/ -/\/\*[^]*?\*\/|#.*/ -/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/ -/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/ -/[!<=>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/ -/[(),.:;[\]{}]/ -/"(?:[^"\\]|\\[^])*"|''(?:(?!'')[^]|''(?:['\\]|\$\{))*''/ -/\b[a-z]{3,7}:\/\/[\w#%&+\-./:=?~]+/ -/\$(?=\{)/ -/[^/](?:[\w#%&+\-.:=?~]*(?!\/\/)[\w#%&+\-./:=?~])?(?!\/\/)\/[\w#%&+\-./:=?~]*/ -/(?:^|(?:^|(?!'').)[^\\])\$\{(?:[^}]|\{[^}]*\})*\}/ -/^\$(?=\{)/ -/\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\b/ -/\$\{[\w\-.:^]+\}|\$\([\w\-.:^]+\)/ -/\$\w+/ -/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[%*/?~^]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|[#;].*)/ -/^\s*(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|InstType(?:GetText|SetText)?|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\b/m -/^\s*!(?:ADDINCLUDEDIR|ADDPLUGINDIR|APPENDFILE|CD|DEFINE|DELFILE|ECHO|ELSE|ENDIF|ERROR|EXECUTE|FINALIZE|GETDLLVERSION|GETTLBVERSION|IFDEF|IFMACRODEF|IFMACRONDEF|IFNDEF|IF|INCLUDE|INSERTMACRO|MACROEND|MACRO|MAKENSIS|PACKHDR|PRAGMA|SEARCHPARSE|SEARCHREPLACE|SYSTEM|TEMPFILE|UNDEF|VERBOSE|WARNING)\b/im -/"(?:\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\r\n|[^])|(?!')[^\n\r\\])*'|@"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/ -/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[%*/?@~^]/ -/\b(?:0X[\dA-F][\dA-F_]+|(?:0[BO])?\d[\d_]*\.?[\d_]*(?:E[-+]?[\d_]+)?)/i -/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/ -/:=|[-!$%&*+/<=>?@|~^][!$%&*+\-./:<=>?@|~^]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/ -/[(),.:;[\]{|}]|\b_\b/ -/\B#\w+/ -/\B~\w+/ -/\B'\w+/ -/\`\w+/ -/\b[A-Z]\w+/ -/'(?:\\(?:\d+|X[\dA-F]+|.)|(?!')[^\n\r\\])'|\`(?:\\(?:\d+|X[\dA-F]+|.)|(?!\`)[^\n\r\\])\`/i -/\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(?:image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:[2348]|16)?|if|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/ -/(?:\b0X(?:[\dA-F]+\.?[\dA-F]*|\.[\dA-F]+)(?:P[-+]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)[FHLU]*/i -/\bcl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:[2348]|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?)\b/ -/\bCL_(?:TRUE|FALSE)\b/ -/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/ -/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/ -/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[SU]NORM)_INT(?:8|16|32)|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\b/ -/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/ -/\/\*[^]*?\*\/|%.*/ -/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/ -/\b(?:0[BX][\dA-F]+|\d+\.?\d*(?:E~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i -/\b[A-Z][\dA-Za-z]*|\`(?:[^\\\\\`]|\\.)+\`/ -/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[-#*+,/@|~^]|\b(?:andthen|div|mod|orelse)\b/ -/[().:;?[\]{}]/ -/"(?:[^"\\]|\\[^])*"/ -/'(?:[^'\\]|\\[^])*'/ -/\b[a-z][\dA-Za-z]*(?=\()/ -/\{[A-Z][\dA-Za-z]*\b/ -/\/\*[^]*?\*\/|\\\\.*/ -/\b(?:b *r *e *a *k *p *o *i *n *t|b *r *e *a *k|d *b *g *_ *d *o *w *n|d *b *g *_ *e *r *r|d *b *g *_ *u *p|d *b *g *_ *x|f *o *r *c *o *m *p *o *s *i *t *e|f *o *r *d *i *v|f *o *r *e *l *l|f *o *r *p *a *r *t|f *o *r *p *r *i *m *e|f *o *r *s *t *e *p|f *o *r *s *u *b *g *r *o *u *p|f *o *r *v *e *c|f *o *r|i *f *e *r *r|i *f|l *o *c *a *l|m *y|n *e *x *t|r *e *t *u *r *n|u *n *t *i *l|w *h *i *l *e)\b/ -/\w[\w ]*?(?= *\()/ -/\. *\.|[!*/](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||[#'~^]/ -/[(),.:;[\]{|}]/ -/"(?:[^\n\r"\\]|\\.)*"/ -/(?:\. *\. *)?(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *E *[-+]? *\d(?: *\d)*)?/i -/[();[\]{}]/ -/\s#.*/ -/(?:^|[^\^])\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/ -/(?:^|[^\^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/ -/(?:^|[^\^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/(?:^|[^\^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/ -/\^(?:["$'():;@[\]\^{}]|#[\dA-F]*)/i -/\b(?:0X[\dA-F]+|\d+\.?\d*(?:E[-+]?\d+)?)\b/i -/[%*+/\\~]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[=>]?|-[df]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/ -/\.|:+/ -/(?:^|[^\^])(?:"(?:(?!")[^\^]|\^[^])*"|'(?:(?!')[^\^]|\^[^])*')/ -/^@(?:GET_|SET_)/ -/\(\.|\.\)|[(),.:;[\]]/ -/\(\*[^]+?\*\)/ -/\{[^]+?\}/ -/(?:'(?:''|[^\n\r'])*'(?!')|#[$%&]?[\dA-F]+)+|\^[A-Z]/i -/[%&]\d+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/i -/\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@^]/ -/(?:^|[^&])\b(?:ABSOLUTE|ARRAY|ASM|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DO|DOWNTO|ELSE|END|FILE|FOR|FUNCTION|GOTO|IF|IMPLEMENTATION|INHERITED|INLINE|INTERFACE|LABEL|NIL|OBJECT|OF|OPERATOR|PACKED|PROCEDURE|PROGRAM|RECORD|REINTRODUCE|REPEAT|SELF|SET|STRING|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:DISPOSE|EXIT|FALSE|NEW|TRUE)\b/i -/(?:^|[^&])\b(?:CLASS|DISPINTERFACE|EXCEPT|EXPORTS|FINALIZATION|FINALLY|INITIALIZATION|INLINE|LIBRARY|ON|OUT|PACKED|PROPERTY|RAISE|RESOURCESTRING|THREADVAR|TRY)\b/i -/(?:^|[^&])\b(?:ABSOLUTE|ABSTRACT|ALIAS|ASSEMBLER|BITPACKED|BREAK|CDECL|CONTINUE|CPPDECL|CVAR|DEFAULT|DEPRECATED|DYNAMIC|ENUMERATOR|EXPERIMENTAL|EXPORT|EXTERNAL|FAR|FAR16|FORWARD|GENERIC|HELPER|IMPLEMENTS|INDEX|INTERRUPT|IOCHECKS|LOCAL|MESSAGE|NAME|NEAR|NODEFAULT|NORETURN|NOSTACKFRAME|OLDFPCCALL|OTHERWISE|OVERLOAD|OVERRIDE|PASCAL|PLATFORM|PRIVATE|PROTECTED|PUBLIC|PUBLISHED|READ|REGISTER|REINTRODUCE|RESULT|SAFECALL|SAVEREGISTERS|SOFTFLOAT|SPECIALIZE|STATIC|STDCALL|STORED|STRICT|UNALIGNED|UNIMPLEMENTED|VARARGS|VIRTUAL|WRITE)\b/i -/(?:^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/ -/\(\*[^]+?\*\)|\/\/.*/ -/\w+(?=\s*\()/ -/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[=>]?|[-*+/]=?|[=@|^]|\b(?:and|mod|or)\b/ -/\(\.|\.\)|[(),.:;[\]{}]/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|\`(?:\\[^]|(?!\`)[^\\])*\`|\^[A-Z]/i -/(?:^|[^&])\b(?:BEGIN|BLOCK|CASE|CONST|ELSE|END|FAIL|FOR|FROM|FUNCTION|IF|IS|NIL|OF|REMOVE|RETURN|SKIP|THEN|TYPE|VAR|WHILE|WITH)\b/i -/(?:^|[^&])\b(?:TRUE|FALSE)\b/i -/(?:^|[^&])\b(?:BOOL|INT|LIST|MAP|NAT|RECORD|STRING|UNIT)\b/i -/%[01]+|&[0-7]+|\$[\dA-F]+/i -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?(?:MTZ|N)?/i -/\bTYPE\s+\w+\s+IS\s+(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/i -/(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))(?=\s+IS(?:(?<!\w)\w|(?<=\w)(?!\w)))/i -/:\s*(?:\w+(?:\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))?|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))/ -/[,;]/ -/YES|NO/ -/(?:^|;)\s*[-\dA-Z]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/ -/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/ -/(?:^|\s)\d+(?:\.\d+)?(?!\S)/ -/^[-\dA-Z]+/ -/^TLIST/ -/^\s*\[[-\w]+\]/ -/^\s*[^]+/ -/^\s*\(\s*\w+/ -/[-\w]+/ -/^\(|\)$|,/ -/\/\*[^]*?\*\/|\bREM[^;]*;|<\*(?:[^*<]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[^])*\*>)*\*>|\/\+[^]*?\+\// -/\b(?:ABSTRACT|ALIAS|AS|CATCH|CLASS|COMPONENT|CONSTANT|CREATE|DECLARE|ELSE|END-(?:CLASS|EVALUATE|FOR|FUNCTION|GET|IF|METHOD|SET|TRY|WHILE)|EVALUATE|EXTENDS|FOR|FUNCTION|GET|GLOBAL|IMPLEMENTS|IMPORT|INSTANCE|IF|LIBRARY|LOCAL|METHOD|NULL|OF|OUT|PEOPLECODE|PRIVATE|PROGRAM|PROPERTY|PROTECTED|READONLY|REF|REPEAT|RETURNS?|SET|STEP|THEN|THROW|TO|TRY|UNTIL|VALUE|WHEN(?:-OTHER)?|WHILE)\b/i -/[A-Z_]\w*(?=\s*\()/i -/<>|[<>]=?|!=|\*\*|[-*+/=@|]/ -/[(),.:;[\]]/ -/(?:^|[^-\w])(?:FUNCTION|METHOD)\s+\w+/i -/(?:^|[^-\w])(?:AS|CATCH|CLASS|COMPONENT|CREATE|EXTENDS|GLOBAL|IMPLEMENTS|INSTANCE|LOCAL|OF|PROPERTY|RETURNS)\s+\w+(?::\w+)*/i -/\b(?:AND|NOT|OR)\b/i -/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)\b/ -/-[ABCMORSTWXb-gklopr-uwxz]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=>~]?|~[=~]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![=~]?|[%^]=?|\.(?:=|\.\.?)?|[?\\]|\bx(?:=|(?<!\w)(?=\w)|(?<=\w)(?!\w))|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/ -/[$%&*@]\{\^[A-Z]+\}/ -/[$%&*@]\^[A-Z_]/ -/[$%&*@]#?(?=\{)/ -/[$%&*@]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/ -/[$%&*@]\d+/ -/(?!%=)[$%@][^\0-\x200-9A-Za-z\x7f-\uffff]/ -/<(?![<=])\S*>|\b_\b/ -/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/ -/SUB \w+/i -/^\s*=\w+[^]*?=cut.*/m -/\b(?:q|qq|qx|qw)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[]/ -/\b(?:q|qq|qx|qw)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)/ -/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[^])*\)/ -/\b(?:q|qq|qx|qw)\s*\{(?:[^\\{}]|\\[^])*\}/ -/\b(?:q|qq|qx|qw)\s*\[(?:[^[\\\]]|\\[^])*\]/ -/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[^])*>/ -/"(?:(?!")[^\\]|\\[^])*"|\`(?:(?!\`)[^\\]|\\[^])*\`/ -/'(?:[^\n\r'\\]|\\.)*'/ -/\b(?:m|qr)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\1[])[^\\]|\\[^])*[]Unknown:\\1[][acdgil-psux]*/ -/\b(?:m|qr)\s+(?:0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z)[acdgil-psux]*/ -/\b(?:m|qr)\s*\((?:[^()\\]|\\[^])*\)[acdgil-psux]*/ -/\b(?:m|qr)\s*\{(?:[^\\{}]|\\[^])*\}[acdgil-psux]*/ -/\b(?:m|qr)\s*\[(?:[^[\\\]]|\\[^])*\][acdgil-psux]*/ -/\b(?:m|qr)\s*<(?:[^<>\\]|\\[^])*>[acdgil-psux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*[^\s\d(<\x41-\x5b\x61-\x7b](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[](?:(?![]Unknown:\\2[])[^\\]|\\[^])*[]Unknown:\\2[][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s+(?:0(?:(?!0)[^\\]|\\[^])*0(?:(?!0)[^\\]|\\[^])*0|1(?:(?!1)[^\\]|\\[^])*1(?:(?!1)[^\\]|\\[^])*1|2(?:(?!2)[^\\]|\\[^])*2(?:(?!2)[^\\]|\\[^])*2|3(?:(?!3)[^\\]|\\[^])*3(?:(?!3)[^\\]|\\[^])*3|4(?:(?!4)[^\\]|\\[^])*4(?:(?!4)[^\\]|\\[^])*4|5(?:(?!5)[^\\]|\\[^])*5(?:(?!5)[^\\]|\\[^])*5|6(?:(?!6)[^\\]|\\[^])*6(?:(?!6)[^\\]|\\[^])*6|7(?:(?!7)[^\\]|\\[^])*7(?:(?!7)[^\\]|\\[^])*7|8(?:(?!8)[^\\]|\\[^])*8(?:(?!8)[^\\]|\\[^])*8|9(?:(?!9)[^\\]|\\[^])*9(?:(?!9)[^\\]|\\[^])*9|A(?:(?!A)[^\\]|\\[^])*A(?:(?!A)[^\\]|\\[^])*A|B(?:(?!B)[^\\]|\\[^])*B(?:(?!B)[^\\]|\\[^])*B|C(?:(?!C)[^\\]|\\[^])*C(?:(?!C)[^\\]|\\[^])*C|D(?:(?!D)[^\\]|\\[^])*D(?:(?!D)[^\\]|\\[^])*D|E(?:(?!E)[^\\]|\\[^])*E(?:(?!E)[^\\]|\\[^])*E|F(?:(?!F)[^\\]|\\[^])*F(?:(?!F)[^\\]|\\[^])*F|G(?:(?!G)[^\\]|\\[^])*G(?:(?!G)[^\\]|\\[^])*G|H(?:(?!H)[^\\]|\\[^])*H(?:(?!H)[^\\]|\\[^])*H|I(?:(?!I)[^\\]|\\[^])*I(?:(?!I)[^\\]|\\[^])*I|J(?:(?!J)[^\\]|\\[^])*J(?:(?!J)[^\\]|\\[^])*J|K(?:(?!K)[^\\]|\\[^])*K(?:(?!K)[^\\]|\\[^])*K|L(?:(?!L)[^\\]|\\[^])*L(?:(?!L)[^\\]|\\[^])*L|M(?:(?!M)[^\\]|\\[^])*M(?:(?!M)[^\\]|\\[^])*M|N(?:(?!N)[^\\]|\\[^])*N(?:(?!N)[^\\]|\\[^])*N|O(?:(?!O)[^\\]|\\[^])*O(?:(?!O)[^\\]|\\[^])*O|P(?:(?!P)[^\\]|\\[^])*P(?:(?!P)[^\\]|\\[^])*P|Q(?:(?!Q)[^\\]|\\[^])*Q(?:(?!Q)[^\\]|\\[^])*Q|R(?:(?!R)[^\\]|\\[^])*R(?:(?!R)[^\\]|\\[^])*R|S(?:(?!S)[^\\]|\\[^])*S(?:(?!S)[^\\]|\\[^])*S|T(?:(?!T)[^\\]|\\[^])*T(?:(?!T)[^\\]|\\[^])*T|U(?:(?!U)[^\\]|\\[^])*U(?:(?!U)[^\\]|\\[^])*U|V(?:(?!V)[^\\]|\\[^])*V(?:(?!V)[^\\]|\\[^])*V|W(?:(?!W)[^\\]|\\[^])*W(?:(?!W)[^\\]|\\[^])*W|X(?:(?!X)[^\\]|\\[^])*X(?:(?!X)[^\\]|\\[^])*X|Y(?:(?!Y)[^\\]|\\[^])*Y(?:(?!Y)[^\\]|\\[^])*Y|Z(?:(?!Z)[^\\]|\\[^])*Z(?:(?!Z)[^\\]|\\[^])*Z|a(?:(?!a)[^\\]|\\[^])*a(?:(?!a)[^\\]|\\[^])*a|b(?:(?!b)[^\\]|\\[^])*b(?:(?!b)[^\\]|\\[^])*b|c(?:(?!c)[^\\]|\\[^])*c(?:(?!c)[^\\]|\\[^])*c|d(?:(?!d)[^\\]|\\[^])*d(?:(?!d)[^\\]|\\[^])*d|e(?:(?!e)[^\\]|\\[^])*e(?:(?!e)[^\\]|\\[^])*e|f(?:(?!f)[^\\]|\\[^])*f(?:(?!f)[^\\]|\\[^])*f|g(?:(?!g)[^\\]|\\[^])*g(?:(?!g)[^\\]|\\[^])*g|h(?:(?!h)[^\\]|\\[^])*h(?:(?!h)[^\\]|\\[^])*h|i(?:(?!i)[^\\]|\\[^])*i(?:(?!i)[^\\]|\\[^])*i|j(?:(?!j)[^\\]|\\[^])*j(?:(?!j)[^\\]|\\[^])*j|k(?:(?!k)[^\\]|\\[^])*k(?:(?!k)[^\\]|\\[^])*k|l(?:(?!l)[^\\]|\\[^])*l(?:(?!l)[^\\]|\\[^])*l|m(?:(?!m)[^\\]|\\[^])*m(?:(?!m)[^\\]|\\[^])*m|n(?:(?!n)[^\\]|\\[^])*n(?:(?!n)[^\\]|\\[^])*n|o(?:(?!o)[^\\]|\\[^])*o(?:(?!o)[^\\]|\\[^])*o|p(?:(?!p)[^\\]|\\[^])*p(?:(?!p)[^\\]|\\[^])*p|q(?:(?!q)[^\\]|\\[^])*q(?:(?!q)[^\\]|\\[^])*q|r(?:(?!r)[^\\]|\\[^])*r(?:(?!r)[^\\]|\\[^])*r|s(?:(?!s)[^\\]|\\[^])*s(?:(?!s)[^\\]|\\[^])*s|t(?:(?!t)[^\\]|\\[^])*t(?:(?!t)[^\\]|\\[^])*t|u(?:(?!u)[^\\]|\\[^])*u(?:(?!u)[^\\]|\\[^])*u|v(?:(?!v)[^\\]|\\[^])*v(?:(?!v)[^\\]|\\[^])*v|w(?:(?!w)[^\\]|\\[^])*w(?:(?!w)[^\\]|\\[^])*w|x(?:(?!x)[^\\]|\\[^])*x(?:(?!x)[^\\]|\\[^])*x|y(?:(?!y)[^\\]|\\[^])*y(?:(?!y)[^\\]|\\[^])*y|z(?:(?!z)[^\\]|\\[^])*z(?:(?!z)[^\\]|\\[^])*z)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[^])*\)\s*\((?:[^()\\]|\\[^])*\)[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\{(?:[^\\{}]|\\[^])*\}\s*\{(?:[^\\{}]|\\[^])*\}[acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\\\]]|\\[^])*\]\s*\[(?:[^[\\\]]|\\[^])*\][acdegil-prsux]*/ -/(?:^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[^])*>\s*<(?:[^<>\\]|\\[^])*>[acdegil-prsux]*/ -/\/(?:[^\n\r/\\]|\\.)*\/[acdgil-psux]*(?=\s*(?:$|[\n\r!&)*+,\-.;<>?|}~^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/sub/ -/@(?:global|param|property(?:-read|-write)?|var)\s+(?:(?:\b[A-Za-z]\w*|[[\\\]|])+\s+)?\$\w+/ -/@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\s+(?:\b[A-Za-z]\w*|[[\\\]|])+/ -/\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\b/ -/[()[\\\]|]/ -/\$this\b/ -/\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\b/ -/\b[\w\\]+::/ -/static|self|parent/ -/::|\\/ -/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i -/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i -/\b0X[\dA-F]+\b|\b\d+\.?\d*|\B\.\d+\b/i -/[-%*+/=~^]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[=>]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i -/[(),.;[\]\`]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:--|\/\/|#).*)/ -/@[\w$.]+/ -/(?:^|[^@\\])(?:"(?:\\[^]|(?!")[^\\]|"")*"|'(?:\\[^]|(?!')[^\\]|'')*')/ -/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i -/:=/ -/@(?:"(?:\\[^]|(?!")[^\\])+"|'(?:\\[^]|(?!')[^\\])+'|\`(?:\\[^]|(?!\`)[^\\])+\`)/ -/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/ -/[-&*+/?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/ -/[(),;[\]{}]/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|\/\/.*)/ -/#"(?:[^\n\r"]|"")*"(?!")/ -/\bDay\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\b/ -/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/ -/\bOccurrence\.(?:First|Last|All)\b/ -/\bOrder\.(?:Ascending|Descending)\b/ -/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/ -/\bMissingField\.(?:Error|Ignore|UseNull)\b/ -/\bQuoteStyle\.(?:Csv|None)\b/ -/\bJoinKind\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\b/ -/\bGroupKind\.(?:Global|Local)\b/ -/\bExtraValues\.(?:List|Ignore|Error)\b/ -/\bJoinAlgorithm\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\b/ -/\bJoinSide\.(?:Left|Right)\b/ -/\bPrecision\.(?:Double|Decimal)\b/ -/\bRelativePosition\.From(?:End|Start)\b/ -/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\b/ -/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/ -/(?:^|[^\w#.])(?!\d)[\w.]+(?=\s*\()/ -/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\b/ -/\b0X[\dA-F]+\b|(?:[-+]?(?:\b\d+\.)?\b\d+|[-+]\.\d+|(?:^|[^.])\B\.\d+)(?:E[-+]?\d+)?\b/i -/\[[A-Z](?:\[(?:\[[^\]]*\]|[^[\]])*\]|[^[\]])*\]/i -/\$(?:TRUE|FALSE)\b/i -/\$\w+\b/ -/\b(?:BEGIN|BREAK|CATCH|CLASS|CONTINUE|DATA|DEFINE|DO|DYNAMICPARAM|ELSE|ELSEIF|END|EXIT|FILTER|FINALLY|FOR|FOREACH|FROM|FUNCTION|IF|INLINESCRIPT|PARALLEL|PARAM|PROCESS|RETURN|SEQUENCE|SWITCH|THROW|TRAP|TRY|UNTIL|USING|VAR|WHILE|WORKFLOW)\b/i -/[(),.;[\]{|}]/ -/\b(?:ADD|APPROVE|ASSERT|BACKUP|BLOCK|CHECKPOINT|CLEAR|CLOSE|COMPARE|COMPLETE|COMPRESS|CONFIRM|CONNECT|CONVERT|CONVERTFROM|CONVERTTO|COPY|DEBUG|DENY|DISABLE|DISCONNECT|DISMOUNT|EDIT|ENABLE|ENTER|EXIT|EXPAND|EXPORT|FIND|FOREACH|FORMAT|GET|GRANT|GROUP|HIDE|IMPORT|INITIALIZE|INSTALL|INVOKE|JOIN|LIMIT|LOCK|MEASURE|MERGE|MOVE|NEW|NEW|OPEN|OPTIMIZE|OUT|PING|POP|PROTECT|PUBLISH|PUSH|READ|RECEIVE|REDO|REGISTER|REMOVE|RENAME|REPAIR|REQUEST|RESET|RESIZE|RESOLVE|RESTART|RESTORE|RESUME|REVOKE|SAVE|SEARCH|SELECT|SEND|SET|SHOW|SKIP|SORT|SPLIT|START|STEP|STOP|SUBMIT|SUSPEND|SWITCH|SYNC|TEE|TEST|TRACE|UNBLOCK|UNDO|UNINSTALL|UNLOCK|UNPROTECT|UNPUBLISH|UNREGISTER|UPDATE|USE|WAIT|WATCH|WHERE|WRITE)-[A-Z]+\b/i -/\b(?:AC|CAT|CHDIR|CLC|CLI|CLP|CLV|COMPARE|COPY|CP|CPI|CPP|CVPA|DBP|DEL|DIFF|DIR|EBP|ECHO|EPAL|EPCSV|EPSN|ERASE|FC|FL|FT|FW|GAL|GBP|GC|GCI|GCS|GDR|GI|GL|GM|GP|GPS|GROUP|GSV|GU|GV|GWMI|IEX|II|IPAL|IPCSV|IPSN|IRM|IWMI|IWR|KILL|LP|LS|MEASURE|MI|MOUNT|MOVE|MP|MV|NAL|NDR|NI|NV|OGV|POPD|PS|PUSHD|PWD|RBP|RD|RDR|REN|RI|RM|RMDIR|RNI|RNP|RP|RV|RVPA|RWMI|SAL|SAPS|SASV|SBP|SC|SELECT|SET|SHCM|SI|SL|SLEEP|SLS|SORT|SP|SPPS|SPSV|START|SV|SWMI|TEE|TRCM|TYPE|WRITE)\b/i -/\W?(?:!|-(?:EQ|NE|GT|GE|LT|LE|SH[LR]|NOT|B?(?:AND|X?OR)|(?:NOT)?(?:LIKE|MATCH|CONTAINS|IN)|REPLACE|JOIN|IS(?:NOT)?|AS)\b|-[-=]?|\+[+=]?|[%*/]=?)/i -/(?:^|[^\`])<#[^]*?#>/ -/(?:^|[^\`])#.*/ -/"(?:\`[^]|[^"\`])*"/ -/'(?:[^']|'')*'/ -/(?:^|[^\`])\$\((?:\$\([^\n\r()]*\)|(?!\$\()[^\n\r)])*\)/ -/\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/ -/\b(?!XML(?:(?<!\w)\w|(?<=\w)(?!\w)))[A-Z][\dA-Z_]+\b/ -/<[<=]?|>[=>]?|&&?|\|\|?|[%?]|[-!*+/=]=?/ -/\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\w*)\b/ -/\b(?:fx|fy|xf[xy]?|yfx?)\b/ -/\b[A-Z_]\w*/ -/\b[a-z]\w*(?:(?=\()|\/\d+)/ -/\b\d+\.?\d*/ -/[!$*+\-./\x3a-\x40\\|^]+|\b(?:is|mod|not|xor)\b/ -/[(),[\]{}]/ -/"(?:""|\\(?:\r\n|[^])|(?!")[^\n\r\\])*"|'(?:''|\\(?:\r\n|[^])|(?!')[^\n\r\\])*'/ -/^[\t ]*[!#].*$/m -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?= *[:=] *| )/m -/[:=]/ -/^[\t ]*(?:\\(?:\r\n|[^])|[^\s:=\\])+?(?: *[:=] *| )(?:\\(?:\r\n|[^])|[^\n\r\\])+/m -/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/ -/\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\b/ -/\bMAP<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[A-Z_]\w*\s*[;=])/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|\B\.)[A-Z_]\w*(?:\.[A-Z_]\w*)*(?=\s+[A-Z_]\w*\s*[;=])/i -/\[\s*[A-Z_]\w*(?=\s*=)/i -/\b(?:enum|extend|message|service)\s+[A-Z_a-z]\w*(?=\s*\{)/ -/\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?\.?[A-Z_a-z]\w*(?:\.[A-Z_a-z]\w*)*(?=\s*\))/ -/[,.<>]/ -/[!\-.=|]+/ -/^[\t ]*\/\/.*(?:(?:\r?\n|\r)[]Unknown:\\2[][\t ]+.+)*/m -/^[\t ]*script\b.*\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:.+(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*[\w#\-.]+\.[\t ]*(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*<.+/m -/(?:^|\n)[\t ]*doctype(?: .+)?/ -/^[\t ]*(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m -/^[\t ]*(?:block|extends|include|append|prepend)\b.+/m -/^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+.+/m -/^[\t ]*(?!-)[\w#\-.]*[-\w](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m -/^[\t ]*mixin .+/m -/^[\t ]*\+.+/m -/#[-\w]+/ -/\.[-\w]+/ -/^[\t ]*(?:-|!?=).+/m -/^each .+? in\b/ -/^(?:if|unless|else|case|when|default|while)\b/ -/^mixin/ -/\w+(?=\s*\(|\s*$)/ -/[(),.]/ -/\b(?:each|in)\b/ -/^\+\w+/ -/&[^(]+\([^)]+\)/ -/[-\w]+(?=\s*!?=|\s*[),])/ -/[!(),=]+/ -/=\s*(?:\{[^}]*\}|[^\n\r),]+)/ -/[().:;[\]{}]/ -/\{#[^]*?#\}/ -/^\s*@.+/m -/^[\t ]*[-\w$]+\s*.?=[\t ]*(?:\{[^}]*\}|.+|$)/m -/^[\t ]*(?:if|else|for|return|unless)[\t ]+.+/m -/(?:^|\{)[\t ]*(?:[-\w]|\{[^\n\r}]+\})+(?:\s*:\s*|[\t ]+)[^\n\r{]*(?:;|[^\n\r,{]$(?!(?:\r?\n|\r)(?:\{|[]Unknown:\\2[][\t ]+)))/m -/^[\t ]*(?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+(?:(?:\r?\n|\r)[]Unknown:\\1[](?=\S)(?:[^\n\r():{}]|::?[-\w]+(?:\([^\n\r)]*\))?|\{[^\n\r}]+\})+)*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|[]Unknown:\\1[][\t ]+)))/m -/[-\w]+\([^)]*\).*/ -/\{[^\n\r:}]+\}/ -/\{\{[^]*?\}\}|\{%[^]*?%\}/ -/^[\t ]*:atpl(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:coffee(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:ejs(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:handlebars(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:less(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:livescript(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:markdown(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:sass(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^[\t ]*:stylus(?:(?:\r?\n|\r(?!\n))(?:[]Unknown:\\2[][\t ]+.+|\s*?(?=\r?\n|\r)))+/m -/^\S+/ -/^[^(]+/ -/\b(?:even|if|odd)\b/ -/\b(?:true|false|null)\b/ -/\b0x[\dA-Fa-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][-+]?\d+)?/ -/\b[A-Z_]\w*\b/i -/[(),.:[\]{}]/ -/\B!(?:IMPORTANT|OPTIONAL)\b/i -/#[\dA-F]{3,6}/i -/[(),:;[\]{}]/ -/^[^\s:]+/ -/^\{|\}$/ -/^(?:\{\{-?|\{%-?\s*\w+)/ -/-?(?:%\}|\}\})$/ -/[<=>]=?|!=|\*\*?|\/\/?|\?:?|[-%+|~]/ -/URL\((?:".*?"|'.*?'|.*?)\)/i -/(?:^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[-\w]+)/ -/\b\d+(?:%|[a-z]+)/ -/~|[!%+/<=>?]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/ -/^(?:\{\{|\{%)-?/ -/^["']|["']$/ -/\s(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/ -/(?:\w+|\*)(?=\s*=>)/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?(?:E-?\d+)?)\b/i -/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/ -/=[=>~]?|![=~]?|<(?:<\|?|[-=|~])?|>[=>]?|->?|~>|\|>?>?|[%*+/?]|\b(?:and|in|or)\b/ -/[(),.;[\]{}]|:+/ -/(?:\bnode\s+|[(,=[{~]\s*|[+=]>\s*|^\s*)\/(?:[^/\\]|\\[^])+\/(?:[imx]+\b|(?<=\w)(?=\w)|(?<!\w)(?!\w))/ -/"(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!")[^\\]|\\[^])*"|'(?:\$\{(?:[^"'}]|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}|(?!')[^\\]|\\[^])*'/ -/\$(?:::)?\w+(?:::\w+)*/ -/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/ -/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/ -/@\("[^\n\r")/:]+"(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\([^\n\r")/:]+(?:\/[$Lnr-u]*)?\).*(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?[\t ]*\|?[\t ]*-?[\t ]*[]Unknown:\\2[]/ -/@\("?[^\n\r")/:]+"?(?:\/[$Lnr-u]*)?\)/ -/::/ -/\.(?!\d)\w+/ -/(?=\S).*\S(?= *$)/ -/^\/(?:[^/\\]|\\[^])+\/[im]*x[im]*$/ -/^"[^]*"$/ -/\(.+?(?=\))/ -/(?:^|[^\\])\$\{(?:[^"'{}]|\{[^}]*\}|"(?:(?!")[^\\]|\\[^])*"|'(?:(?!')[^\\]|\\[^])*')+\}/ -/(?:^|[^\\])\$(?:::)?\w+(?:::\w+)*/ -/^\$\{(?!\w+\()(?:::)?\w+(?:::\w+)*/ -/^\$/ -/\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/ -/\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/ -/(?:[\x21-\x27*+,\-./:<=>?@\\\\\`|~\xa1-\xbf\xd7-\xf7\u20d0-\u2bff^]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/ -/[(),;[\]{|}]/ -/%<[^]+?%>/ -/(?:\.\.)?(?:\b(?:INF|NAN)\b|\b0X[\dA-F]+|(?:\b(?:0B)?\d+(?:\.\d)?|\B\.\d)\d*(?:E[-+]?\d+)?L?)/i -/\b__[A-Z]+__\b/i -/^%< *-\*-.+?-\*-/ -/^%<.*|%>$/ -/%< *-\*- *C\d* *-\*-[^]+?%>/i -/%< *-\*- *C\+\+\d* *-\*-[^]+?%>/i -/%< *-\*- *FORTRAN\d* *-\*-[^]+?%>/i -/\b(?:DECLARECDLL|DECLAREDLL|COMPILERSELECT|COMPILERCASE|COMPILERDEFAULT|COMPILERENDSELECT|COMPILERERROR|ENABLEEXPLICIT|DISABLEEXPLICIT|NOT|AND|OR|XOR|CALLDEBUGGER|DEBUGLEVEL|ENABLEDEBUGGER|DISABLEDEBUGGER|RESTORE|READ|INCLUDEPATH|INCLUDEBINARY|THREADED|RUNTIME|WITH|ENDWITH|STRUCTUREUNION|ENDSTRUCTUREUNION|ALIGN|NEWLIST|NEWMAP|INTERFACE|ENDINTERFACE|EXTENDS|ENUMERATION|ENDENUMERATION|SWAP|FOREACH|CONTINUE|FAKERETURN|GOTO|GOSUB|RETURN|BREAK|MODULE|ENDMODULE|DECLAREMODULE|ENDDECLAREMODULE|DECLARE|DECLAREC|PROTOTYPE|PROTOTYPEC|ENABLEASM|DISABLEASM|DIM|REDIM|DATA|DATASECTION|ENDDATASECTION|TO|PROCEDURERETURN|DEBUG|DEFAULT|CASE|SELECT|ENDSELECT|AS|IMPORT|ENDIMPORT|IMPORTC|COMPILERIF|COMPILERELSE|COMPILERENDIF|COMPILERELSEIF|END|STRUCTURE|ENDSTRUCTURE|WHILE|WEND|FOR|NEXT|STEP|IF|ELSE|ELSEIF|ENDIF|REPEAT|UNTIL|PROCEDURE|PROCEDUREDLL|PROCEDUREC|PROCEDURECDLL|ENDPROCEDURE|PROTECTED|SHARED|STATIC|GLOBAL|DEFINE|INCLUDEFILE|XINCLUDEFILE|MACRO|ENDMACRO)\b/i -/\b\w+(?:\.\w+)?\s*(?=\()/ -/(?:\$[\dA-F]+|\b-?\d*\.?\d+(?:E[-+]?\d+)?)\b/i -/(?:@\*?|\?|\*)\w+|-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[%*/?@~^]/ -/^\s*!.*/m -/\b(?:ST\d|[XYZ]MM\d\d?|[CDT]R\d|R\d\d?[BDW]?|[ER]?[A-D]X|[A-D][HL]|[ER]?(?:BP|SP|SI|DI)|[C-GS]S|MM\d+)\b/i -/(?:(?<!\w)(?=\w)|(?<=\w)(?!\w)|-|(?=\$))(?:0[HX][\dA-F]*\.?[\dA-F]+(?:P[-+]?\d+)?|\d[\dA-F]+[HX]|\$\d[\dA-F]*|0[OQ][0-7]+|[0-7]+[OQ]|0[BY][01]+|[01]+[BY]|0[DT]\d+|\d*\.?\d+(?:\.?E[-+]?\d+)?[DT]?)\b/i -/[!$%&*+,\-./:<=>[\]|]/ -/\s*!\s*J[A-Z]+\s+@[BF]/i -/\s*!\s*J[A-Z]+\s+[$.\x3f-\x5a_][\w#$.?@~]*/i -/^\s*!\s*[\dA-Z]+(?=\s|$)/im -/\s*:\s*[\dA-Z]+(?=\s)/i -/^\s*!\s*[$.\x3f-\x5a_][\w#$.?@~]*(?=:)/im -/(?:EXTERN|EXTERN|GLOBAL)[^\n\r;]*/i -/(?:CPU|FLOAT|DEFAULT).*/ -/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/ -/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/ -/\b(?:True|False|None)\b/ -/(?:\b(?=\d)|\B(?=\.))(?:0[BO])?(?:(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\.\d+)(?:E[-+]?\d+)?J?\b/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]/ -/(?:F|RF|FR)(?:"""[^]*?"""|'''[^]*?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:[BRU]|RB|BR)?(?:"""[^]*?"""|'''[^]*?''')/i -/(?:[BRU]|RB|BR)?(?:"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*')/i -/(?:^|\s)def[\t ]+[A-Z_a-z]\w*(?=\s*\()/ -/\bCLASS\s+\w+/i -/^\s*@\w+(?:\.\w+)*/m -/(?:^|[^{])(?:\{\{)*\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)[^{}]+\})+\})+\}/ -/:[^():{}]+(?=\}$)/ -/![ars](?=[:}]$)/ -/\`(?::\S+|[\w.]*)/ -/\b(?![01]:)(?:0[nw]|0W[hj]?|0N[ehj]?|0x[\dA-Fa-f]+|\d+\.?\d*(?:e[-+]?\d+)?[befhj]?)/ -/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/ -/[().;[\]{}]/ -/0N[dmtuvz]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[tuv]?/ -/['/\\]:?|\beach\b/ -/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[-!#$%&*+,:=?@|~^]):?|\b_\b:?/ -/[\t )\]}]\/.*/ -/(?:^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/ -/^\\[\t ]*(?:\r?\n|\r)[^]+/m -/^#!.+/m -/\b(?:as|import|on)\b/ -/[,:;[\]{}]/ -/(?:^|;)[\t ]*function\s+[$A-Z_a-z\xa0-\uffff][\w$\xa0-\uffff]*\s*\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\)\s*\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^])*\}/m -/(?:^|[:;])[\t ]*(?!\d)\w+(?=[\t ]*\{|[\t ]+on(?:(?<!\w)\w|(?<=\w)(?!\w)))/m -/:[\t ]*(?![\s;[}])(?:(?!$|[;}])(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\((?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\)|\[(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\]|\{(?:[^"'()/[\\\]{}]|"(?:\\.|[^\n\r"\\])*"|'(?:\\.|[^\n\r'\\])*'|\/(?![*/])|\/\/.*$|\/\*(?:[^*]|\*(?!\/))*\*\/|\(\)|\[\]|\{\}|\\[^])*\}|\\[^])*\}|\\[^])*\}|\\[^]))+/m -/(?:^|[;{])[\t ]*(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/(?:^|[;{])[\t ]*property[\t ]+(?!\d)\w+(?:\.\w+)*[\t ]+(?!\d)\w+(?:\.\w+)*(?=[\t ]*:)/m -/^property/ -/\w+(?:\.\w+)*/ -/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/ -/\$?\b(?!\d)\w+(?=\()/ -/\b(?:0B[01]+|0X[\dA-F]*\.?[-\dA-FP]+|\d*\.?\d+E?\d*[DF]|\d*\.?\d+)\b/i -/\$(?!\d)\w+\b/ -/(?:^|[^\\])(?:\/\*[^]*?\*\/|(?:\/\/|#).*)/ -/"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'/ -/(?:^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[=|]?|[%*/^]=?|[?~])/ -/\b(?:TRUE|FALSE)\b/ -/\.\.(?:\.|\d+)/ -/\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\b/ -/->?>?|<(?:=|<?-)?|[!=>]=?|::?|&&?|\|\|?|[$*+/@~^]/ -/[(),;[\]{}]/ -/"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'/ -/%[^\s%]*%/ -/\b(?:NaN|Inf)\b/ -/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+\.?\d*|\B\.\d+)(?:[EPep][-+]?\d+)?[Li]?/ -/['()[\]]/ -/^#lang.+/m -/'[^\s#'()[\]]+/ -/[([]lambda\s+[([][^\s'()[\]]+/ -/[([](?:define(?:-library|-macro|-syntax|-values)?|defmacro|(?:case-)?lambda|let(?:(?:\*|rec)?(?:-values)?|-syntax|rec-syntax)|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-(?:case|rules))(?=[\s()[\]]|$)/ -/[([](?:(?:cons|car|cdr|list|call-with-current-continuation|call\/cc|append|abs|apply|eval)\b|null\?|pair\?|boolean\?|eof-object\?|char\?|procedure\?|number\?|port\?|string\?|vector\?|symbol\?|bytevector\?)(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])(?:(?:#d(?:#[ei])?|#[ei](?:#d)?)?[-+]?(?:(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)(?:[-+](?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)?|(?:\d*\.?\d+(?:[Ee][-+]?\d+)?|\d+\/\d+)i)|(?:#[box](?:#[ei])?|#[ei](?:#[box])?)[-+]?(?:[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?(?:[-+][\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i)?|[\dA-Fa-f]+(?:\/[\dA-Fa-f]+)?i))(?=[\s()[\]]|$)/ -/(?:^|[\s()[\]])#[ft](?=[\s()[\]]|$)/ -/[([](?:[-%*+/]|[<>]=?|=>?)(?=[\s()[\]]|$)/ -/[([][^\s'()[\]]+(?=[\s()[\]]|$)/ -/<\/?(?:[\w\-.:]+\s*(?:\s+(?:[\w$\-.:]+(?:=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>{]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[$A-Z_][\w$]*(?:\.[$A-Z_][\w$]*)*\s*\}))*\s*\/?)?>/i -/^<\/?[^\s/>]*/ -/=\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/=(?!\{)(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'>]+)/ -/\{\s*\.{3}\s*[$_a-z][\w$]*(?:\.[$_a-z][\w$]*)*\s*\}/ -/^[A-Z]\w*(?:\.[A-Z]\w*)*$/ -/\.{3}|[.{}]/ -/^=(?=\{)/ -/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/ -/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[!#'?\`|~^]|[-*+/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/ -/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^\n\r'\\])'/ -/\b[A-Z]\w*\b(?!\s*\.)/ -/\b[a-z]\w*(?=::)/ -/\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.)/ -/(?:^|[^\\])(?:\\\\)*\[(?:[^\\\]]|\\[^])*\]/ -/\\[$()*+.?[\\\]\^{|}]/ -/\.|\\[DSW]|\\P\{[^{}]+\}/i -/[$^]|\\[ABGZbz]/ -/(?:[*+?]|\{\d+,?\d*\})[+?]?/ -/\\(?![123][0-7]{2})[1-9]/ -/\\k<[^'<>]+>/ -/\((?:\?(?:<[^'<>]+>|'[^'<>]+'|[:>]|<?[!=]|[Udimnsux]+(?:-[Udimnsux]+)?:?))?/ -/\)/ -/^\[\^/ -/(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))-(?:[^-\\]|\\(?:x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u\{[\dA-Fa-f]+\}|c[A-Za-z]|0[0-7]{0,2}|[123][0-7]{2}|.))/ -/\\[DSW]|\\P\{[^{}]+\}/i -/['<][^'<>]+(?=['>]$)/ -/\b(?:BOOL|CHAR|DOUBLE|FLOAT|NULL|SIZE_T|SSIZE_T|STRING|UNICHAR|VOID|INT|INT8|INT16|INT32|INT64|LONG|SHORT|UCHAR|UINT|UINT8|UINT16|UINT32|UINT64|ULONG|USHORT|CLASS|DELEGATE|ENUM|ERRORDOMAIN|INTERFACE|NAMESPACE|STRUCT|BREAK|CONTINUE|DO|FOR|FOREACH|RETURN|WHILE|ELSE|IF|SWITCH|ASSERT|CASE|DEFAULT|ABSTRACT|CONST|DYNAMIC|ENSURES|EXTERN|INLINE|INTERNAL|OVERRIDE|PRIVATE|PROTECTED|PUBLIC|REQUIRES|SIGNAL|STATIC|VIRTUAL|VOLATILE|WEAK|ASYNC|OWNED|UNOWNED|TRY|CATCH|FINALLY|THROW|AS|BASE|CONSTRUCT|DELETE|GET|IN|IS|LOCK|NEW|OUT|PARAMS|REF|SIZEOF|SET|THIS|THROWS|TYPEOF|USING|VALUE|VAR|YIELD)\b/i -/(?:\b0X[\dA-F]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?)(?:F|U?L?)?/i -/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[-!%&*+/<=>|^]=?|\?\??|\.\.\./ -/\b[\dA-Z_]+\b/ -/@"[^]*?"/ -/\/(?:\[(?:[^\n\r\\\]]|\\.)*\]|\\.|[^\n\r/[\\])+\/[imsx]{0,4}(?=\s*(?:$|[\n\r),.;\]}]))/ -/[A-Z]+$/i -/^\/|\/$/ -/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w+)/ -/\[[A-Z]\w*(?:\.\w+)*\b/ -/\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*[A-Z]\w*(?:\.\w+)*\b/ -/(?:\b(?:class|interface|new|struct|enum)\s+|catch\s+\()[A-Z]\w*(?:\.\w+)*\b/ -/^\/[^]+(?=\/[A-Z]*$)/i -/\$(?:\([^)]*\)|[A-Z]\w*)/i -/^\$\(?|\)$/ -/[A-Z_]\w*(?=\()/i -/\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\b/ -/\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\b|\$/ -/\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\b/ -/\b(?:[Tt]rue|[Ff]alse)\b/ -/(?:\b(?:0[BO])?(?:\d|0X[\dA-F])[\dA-F]*\.?\d*|\B\.\d+)(?:E[-+]?\d+)?J?/i -/[-%+=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|~^]|\b(?:or|and|not|with|at)\b/ -/(?:^|[^\\])#.+/ -/"""[^]+?"""|'''[^]+?'''|"(?:\\.|(?!")[^\n\r\\])*"|'(?:\\.|(?!')[^\n\r\\])*'|^#?(?:(?:[\dA-F]{2}){3}|[\dA-F]{3})$/im -/^\s*\.\. \|[^\s|](?:[^|]*[^\s|])?\| [^:]+::/m -/^\s*\.\. [^:]+::/m -/^\s*\.\.(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m -/(?:\r?\n|\r){2}(?:!!{3,}|""{3,}|##{3,}|\$\\\${3,}|%%{3,}|&&{3,}|''{3,}|\(\({3,}|\)\){3,}|\*\*{3,}|\+\+{3,}|,,{3,}|--{3,}|\.\.{3,}|\/\/{3,}|::{3,}|;;{3,}|<<{3,}|=={3,}|>>{3,}|\?\?{3,}|@@{3,}|\[\[{3,}|\\\\{3,}|\]\]{3,}|\^\^{3,}|__{3,}|\`\`{3,}|\{\{{3,}|\|\|{3,}|\}\}{3,}|~~{3,})(?=(?:\r?\n|\r){2})/ -/^\s*:[^\n\r:]+:(?= )/m -/^\s*(?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?(?:, (?:[-+][\dA-Z]|(?:--|\/)[-\dA-Z]+)(?:[ =](?:[A-Z][-\w]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im -/::(?:\r?\n|\r){2}[\t ]+.+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)*/ -/::(?:\r?\n|\r){2}(?:!.*(?:(?:\r?\n|\r)!.*)*|".*(?:(?:\r?\n|\r)".*)*|#.*(?:(?:\r?\n|\r)#.*)*|\$.*(?:(?:\r?\n|\r)\$.*)*|%.*(?:(?:\r?\n|\r)%.*)*|&.*(?:(?:\r?\n|\r)&.*)*|'.*(?:(?:\r?\n|\r)'.*)*|\(.*(?:(?:\r?\n|\r)\(.*)*|\).*(?:(?:\r?\n|\r)\).*)*|\*.*(?:(?:\r?\n|\r)\*.*)*|\+.*(?:(?:\r?\n|\r)\+.*)*|,.*(?:(?:\r?\n|\r),.*)*|-.*(?:(?:\r?\n|\r)-.*)*|\..*(?:(?:\r?\n|\r)\..*)*|\/.*(?:(?:\r?\n|\r)\/.*)*|:.*(?:(?:\r?\n|\r):.*)*|;.*(?:(?:\r?\n|\r);.*)*|<.*(?:(?:\r?\n|\r)<.*)*|=.*(?:(?:\r?\n|\r)=.*)*|>.*(?:(?:\r?\n|\r)>.*)*|\?.*(?:(?:\r?\n|\r)\?.*)*|@.*(?:(?:\r?\n|\r)@.*)*|\[.*(?:(?:\r?\n|\r)\[.*)*|\\.*(?:(?:\r?\n|\r)\\.*)*|\].*(?:(?:\r?\n|\r)\].*)*|\^.*(?:(?:\r?\n|\r)\^.*)*|_.*(?:(?:\r?\n|\r)_.*)*|\`.*(?:(?:\r?\n|\r)\`.*)*|\{.*(?:(?:\r?\n|\r)\{.*)*|\|.*(?:(?:\r?\n|\r)\|.*)*|\}.*(?:(?:\r?\n|\r)\}.*)*|~.*(?:(?:\r?\n|\r)~.*)*)/ -/^\s*(?:[-*+\u2022\u2023\u2043]|\(?(?:\d+|[A-Z]|[CDILMVX]+)\)|(?:\d+|[A-Z]|[CDILMVX]+)\.)(?= )/im -/^\s*>>> .+(?:(?:\r?\n|\r).+)*/m -/^\s*(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m -/\s*(?:\+[-=]+)+\+(?:\r?\n|\r)(?:[]Unknown:\\1[](?:[+|].+)+[+|](?:\r?\n|\r))+[]Unknown:\\1[](?:\+[-=]+)+\+/ -/\s*(?:=+ +)+=+(?:(?:\r?\n|\r)[]Unknown:\\1[].+)+(?:\r?\n|\r)[]Unknown:\\1[](?:=+ +)+=+(?=(?:\r?\n|\r){2}|\s*$)/ -/^\s*\.\. \[[^\]]+\]/m -/^\s*\.\. _(?:\`[^\`]+\`|(?:[^:\\]|\\.)+):/m -/::$/ -/^(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?:\r?\n|\r).+(?:\r?\n|\r)[]Unknown:\\1[]$/m -/(?:^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)(?:!!+|""+|##+|\$\$+|%%+|&&+|''+|\(\(+|\)\)+|\*\*+|\+\++|,,+|--+|\.\.+|\/\/+|::+|;;+|<<+|==+|>>+|\?\?+|@@+|\[\[+|\\\\+|\]\]+|\^\^+|__+|\`\`+|\{\{+|\|\|+|\}\}+|~~+)(?=\r?\n|\r|$)/ -/^>>>/ -/(?:^|[-\s"'(/:<[{])(?::[^:]+:\`.*?\`|\`.*?\`:[^:]+:|(?:\*\*(?!\s).*?\S\*\*|\*(?!\s).*?\S\*|\`\`(?!\s).*?\S\`\`|\`(?!\s).*?\S\`|\|(?!\s).*?\S\|)(?=[\s!"'),\-./:;?\\\]}]|$))/m -/\[[^\]]+\]_(?=[\s!"'),\-./:;?\\\]}]|$)/ -/(?:\b[\dA-Z]+(?:[+.:_][\dA-Z]+)*_?_|\`[^\`]+\`_?_|_\`[^\`]+\`)(?=[\s!"'),\-./:;?\\\]}]|$)/i -/\||(?:\+[-=]+)+\+/ -/[-=]+/ -/^\|(?:[^\s|]|[^\s|][^|]*[^\s|])\|/ -/ +[^:]+::/ -/^_|:$/ -/^[^\0-\x200-9A-Za-z\x7f-\uffff]+|[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/[^\0-\x200-9A-Za-z\x7f-\uffff]+$/ -/^::/ -/^(?:::|!!*|""*|##*|\$\$*|%%*|&&*|''*|\(\(*|\)\)*|\*\**|\+\+*|,,*|--*|\.\.*|\/\/*|::*|;;*|<<*|==*|>>*|\?\?*|@@*|\[\[*|\\\\*|\]\]*|\^\^*|__*|\`\`*|\{\{*|\|\|*|\}\}*|~~*)/m -/\*\*?|\`\`?|\|/ -/^\[|\]_$/ -/^_?\`|\`$|\`?_?_$/ -/^\||\|$/ -/^\*\*.+(?=\*\*$)/ -/^\*.+(?=\*$)/ -/^\`\`.+(?=\`\`$)/ -/^:[^:]+:|:[^:]+:$/ -/^\`.+(?=\`$)/ -/^\|.+(?=\|$)/ -/^:|:$/ -/=>|->|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/ -/@|\bSystem\b/ -/\b\d{4}-\d{2}-\d{2}\b/ -/\b\d{2}:\d{2}:\d{2}\b/ -/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/ -/\B\`[^\s"#'(),./:;<>[\\\]\`{}]\b/ -/:[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/[-+]?\b(?:\d+\.\d+|\d+)\b/ -/\.{2,3}|[(),./:;<=>[\\\]\`{}]/ -/[^\s\d"#'(),./:;<>[\\\]\`{}][^\s"#'(),./:;<>[\\\]\`{}]*/ -/(?:^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^\n\r/[\\])+\/(?=\s*(?:$|[\n\r),.;}]))/ -/[\w\-.]+(?=[\t ]*:)/ -/[,.:;={}]/ -/(?:^|\s)(?:(?:facet|instance of)(?=[\t ]+[-\w]+[\t ]*\{)|(?:external|import)\b)/ -/[-\w]+(?=[\t ]*\{)/ -/=[\t ]*[^,;]+/ -/\(optional\)/ -/\.\*/ -/^ ?\*{3}[\t ]*SETTINGS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*VARIABLES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TEST CASES[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*KEYWORDS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/^ ?\*{3}[\t ]*TASKS[\t ]*\*{3}(?:.|[\n\r](?!\*{3}))*/im -/(?:^[\t ]*| {2}|\t)#.*/m -/^ ?\*{3}.+?\*{3}/ -/[\n\r] ?Documentation(?: {2}|\t)[\t ]*(?![\t #])(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r] ?(?!\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/[\n\r](?: {2}|\t)[\t ]*\[[-\w]+\]/ -/(?:^|[^\\])(?:\\{2})*[$%&@]\{(?:[^\n\r{}]|\{[^\n\r{}]*\})*\}/ -/[\n\r] ?(?!#)(?:\S(?:[\t ]\S)*)+/ -/\[Documentation\](?: {2}|\t)[\t ]*(?![\t #])(?:.|(?:\r\n?|\n)[\t ]*\.{3})+/ -/[\n\r](?: {2}|\t)[\t ]*(?!\[|\.{3}|#)(?:\S(?:[\t ]\S)*)+/ -/^[$%&@]\{|\}$/ -/\b[_a-z]\w*(?=\s*(?:::\s*<|\())/ -/\b[A-Z_][\dA-Z_]+\b/ -/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][-+]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/ -/->|\.\.=|\.{1,3}|::|[(),:;[\]{}]/ -/[-!%*+/^]=?|=[=>]?|&[&=]?|\|[=|]?|<<?=?|>>?=?|[?@]/ -/b?"(?:\\[^]|[^"\\])*"|b?r#*"(?:[^"]|"(?![]Unknown:\\1[]))*"[]Unknown:\\1[]/ -/b?'(?:\\(?:x[0-7][\dA-Fa-f]|u\{(?:[\dA-Fa-f]_*){1,6}|.)|[^\t\n\r'\\])'/ -/#!?\[(?:[^"[\]]|"(?:\\[^]|[^"\\])*")*\]/ -/(?:[(,:=]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/ -/'\w+/ -/\$\w+:[a-z]+/ -/\bfn\s+\w+/ -/\b(?:enum|struct|union)\s+\w+/ -/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/ -/\b(?:[iu](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/ -/\w+!/ -/(?:\b[a-z][\d_a-z]*\s*::\s*)*\b[a-z][\d_a-z]*\s*::(?!\s*<)/ -/(?:^|[^\\])\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\/)*\*\// -/\b(?:crate|mod)\s+[a-z][\d_a-z]*/ -/\b(?:crate|self|super)\s*::\s*[a-z][\d_a-z]*\b(?:\s*::(?:\s*[a-z][\d_a-z]*\s*::)*)?/ -/\b(?:\d[\dA-F]*X|\d+(?:\.\d+)?(?:E[-+]?\d+)?)\b/i -/\*\*?|\|\|?|!!?|\xa6\xa6?|<[=>]?|>[<=]?|[-&+/=]|[~\xac^]=?/ -/[$%(),.;@[\\\]{}]/ -/^\s*(?:(?:DATA)?LINES|CARDS);[^]+?^\s*;/im -/^PROC\s+(?:FED)?SQL(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+GROOVY(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+LUA(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|RUN|DATA);|(?![^]))/im -/^PROC\s+CAS(?:\s+[\w=|]+)?;[^]+?(?=^(?:PROC\s+\w+|QUIT|DATA);|(?![^]))/im -/^PROC\s+\w+\s+(?!\s)(?:[^"';]|"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))+;/im -/(?:^|\s|=|\()%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i -/&[A-Z_]\w*/i -/(?:^|\s|=)%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\(.*?[^%]\)/i -/^%MACRO[^;]+(?=;)/im -/^%MEND[^;]+(?=;)/im -/%_\w+(?=\()/ -/\bINPUT\s+[\s\w$&*\-./]+;/i -/^OPTIONS[-\s\w"'()*+/:<=>\\|]*(?=;)/im -/(?:^|\s)(?:ACTION\s+)?(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b[^;]+/i -/%?\w+(?=\()/ -/\b(?:FORMAT|PUT)\b=?[\w$'.]+/i -/\b(?:FORMAT|PUT)\s+[\w']+(?:\s+[\w$.]+)+(?=;)/i -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))[bx]/ -/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))(?:dt?|t)/ -/"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')/ -/(?:^|\s+)(?:PROC\s+\w+|QUIT|RUN|DATA(?!=))\b/i -/(?:^|\s)=?(?:AFTER|ANALYSIS|AND|ARRAY|BARCHART|BARWIDTH|BEGINGRAPH|BY|CALL|CAS|CBARLINE|CFILL|CLASS(?:LEV)?|CLOSE|COLUMN|COMPUTED?|CONTAINS|CONTINUE|DATA(?==)|DEFINE|DELETE|DESCRIBE|DOCUMENT|DO\s+OVER|DO|DOL|DROP|DUL|END(?:SOURCE|COMP)?|ENTRYTITLE|ELSE|EVAL(?:UATE)?|EXEC(?:UTE)?|EXIT|FILL(?:ATTRS)?|FILE(?:NAME)?|FLIST|FNC|FUNCTION(?:LIST)?|GOTO|GLOBAL|GROUP(?:BY)?|HEADLINE|HEADSKIP|HISTOGRAM|IF|INFILE|KEEP|KEYLABEL|KEYWORD|LABEL|LAYOUT|LEAVE|LEGENDLABEL|LENGTH|LIBNAME|LOADACTIONSET|MERGE|MIDPOINTS|NAME|NOOBS|NOWD|_?NULL_|ODS|OPTIONS|OR|OTHERWISE|OUT(?:PUT)?|OVER(?:LAY)?|PLOT|PUT|PRINT|RAISE|RANEXP|RANNOR|RBREAK|RETAIN|RETURN|SELECT|SET|SESSION|SESSREF|SOURCE|STATGRAPH|SUM|SUMMARIZE|TABLE|TEMP|TERMINATE|THEN\s+DO|THEN|TITLE\d?|TO|VAR|WHEN|WHERE|XAXISOPTS|YAXISOPTS|Y2AXISOPTS)\b/i -/\b(?:EQ|NE|GT|LT|GE|LE|IN|NOT)\b/i -/;/ -/%MACRO/i -/%MEND/i -/(?:ACCESSCONTROL|CDM|AGGREGATION|ASTORE|RULEMINING|AUDIO|AUTOTUNE|BAYESIANNETCLASSIFIER|BIOMEDIMAGE|BOOLRULE|BUILTINS|CARDINALITY|SCCASL|CLUSTERING|COPULA|COUNTREG|DATADISCOVERY|DATAPREPROCESS|DATASCIENCEPILOT|DATASTEP|DECISIONTREE|DEEPLEARN|DEEPNEURAL|VARREDUCE|SIMSYSTEM|DS2|DEDUPLICATION|ECM|ENTITYRES|ESPCLUSTER|EXPLAINMODEL|FACTMAC|FASTKNN|FCMPACT|FEDSQL|FREQTAB|GAM|GLEAM|GRAPHSEMISUPLEARN|GVARCLUSTER|HIDDENMARKOVMODEL|HYPERGROUP|IMAGE|IML|ICA|KERNALPCA|LANGMODEL|LDATOPIC|SPARSEML|MLTOOLS|MIXED|MODELPUBLISHING|MBC|NETWORK|OPTNETWORK|NEURALNET|NONLINEAR|NMF|NONPARAMETRICBAYES|OPTIMIZATION|PANEL|PLS|PERCENTILE|PCA|PHREG|QKB|QLIM|QUANTREG|RECOMMEND|TSRECONCILE|DEEPRNN|REGRESSION|REINFORCEMENTLEARN|ROBUSTPCA|SAMPLING|SPARKEMBEDDEDPROCESS|SEARCH(?:ANALYTICS)?|SENTIMENTANALYSIS|SEQUENCE|CONFIGURATION|SESSION(?:PROP)?|SEVERITY|SIMPLE|SMARTDATA|SANDWICH|SPATIALREG|STABILITYMONITORING|SPC|LOADSTREAMS|SVDATADESCRIPTION|SVM|TABLE|CONDITIONALRANDOMFIELDS|TEXT(?:RULE(?:DEVELOP|SCORE)|MINING|PARSE|TOPIC|UTIL|FILTERS|FREQUENCY)|TSINFO|TIMEDATA|TRANSPOSE|UNITIMESERIES)\.[A-Z]+\b/i -/(?:^\s*|;\s*)\*[^;]*;/m -/^(?:FORMAT|PUT)(?==)/i -/^(?:FORMAT|PUT)/i -/^(?:(?:DATA)?LINES|CARDS)/i -/^[\t ]*(?:SELECT|ALTER\s+TABLE|(?:CREATE|DESCRIBE|DROP)\s+(?:INDEX|TABLE(?:\s+CONSTRAINTS)?|VIEW)|CREATE\s+UNIQUE\s+INDEX|INSERT\s+INTO|UPDATE)(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"';])+;/im -/(?:^|\s)=?(?:CATNAME|CHECKPOINT EXECUTE_ALWAYS|DM|ENDSAS|FILENAME|FOOTNOTE|%INCLUDE|LIBNAME|%LIST|LOCK|MISSING|OPTIONS|PAGE|RESETLINE|%RUN|SASFILE|SKIP|SYSECHO|TITLE\d?)\b/i -/(?:^|\s)(?:DISCONNECT\s+FROM|EXEC(?:UTE)?|BEGIN|COMMIT|ROLLBACK|RESET|VALIDATE)\b/i -/^[\t ]*SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!')|[^"'])+?(?=ENDSUBMIT;)/im -/(?:^|\s)(?:SUBMIT(?:\s+(?:LOAD|PARSEONLY|NORUN))?|ENDSUBMIT)\b/i -/(?:^|\s)=?SAVERESULT\s+[^;]+/im -/(?:^|\s)=?(?:DEFAULT|(?:UN)?SET|ON|OUTPUT|UPLOAD)[^;]+/im -/\s*=\s*[.A-Z]+/i -/[A-Z]+/i -/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i -/%["#'(),;<=>~\xac^]/ -/^INPUT/i -/ACTION/i -/(?:\w|\$\d)+\.\d?/ -/[\w$]+\.\d?/ -/^SAVERESULT\s+\S+/i -/^SAVERESULT/i -/^[\t ]*\/[*/].*(?:(?:\r?\n|\r)[]Unknown:\\1[][\t ]+.+)*/m -/^[\t ]*[+=@].+/m -/^[\t ]*\$.+/m -/^[\t ]*(?:[^\s:]+ *:.*|:[^\s:]+.*)/m -/[\t ]*\S(?:,?[^\n\r,]+)*(?:,(?:\r?\n|\r)[]Unknown:\\1[][\t ]+\S(?:,?[^\n\r,]+)*)*/ -/@[-\w]+|[+=]/ -/[%*+/]|[!=]=|<=?|>=?|\b(?:and|or|not)\b/ -/[^\s:]+(?=\s*:)/ -/\s+-(?=\s)/ -/:[^\s:]+/ -/.(?:.*(?:[\n\r]|.$))*/ -/^[^\n\r!#$*]+(?=[#$])/m -/[#$](?:[^\n\r"'<\\]|\\.|"(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!")[^\\])*"|'(?:\\[^]|\$\([^)]+\)|\`[^\`]+\`|(?!')[^\\])*'|<<-?\s*\w+?[\t ]*$[^]*?[\n\r][]Unknown:\\2[]|<<-?\s*(?:"\w+"[\t ]*$[^]*?[\n\r][]Unknown:\\4[]|'\w+'[\t ]*$[^]*?[\n\r][]Unknown:\\4[]))+/m -/^[^\s!#$*/:@\\]+@[^\s!#$*/:@\\]+(?=:|$)/ -/:[^]+/ -/^[#$]\s*[^]+/ -/^[#$]/ -/->|\.\.|[=[]/ -/[(),:;{}]/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\(?:.|u[\dA-Fa-f]{4}))'/ -/L(?:(?:\w+|\`[^\n\r\`]*\`)\/)*(?:[\w$]+|\`[^\n\r\`]*\`)(?=\s*;)/ -/(?:^|[^\w\-.])(?:\w+|<[-\w$]+>)(?=\()/ -/[\w$]+(?=:)/ -/(?:^|[^\w\-.])[pv]\d(?![\w\-.])/ -/(?:^|[^\w\-.])(?:true|false)(?![\w\-.])/ -/(?:^|[^\w\-./])-?(?:NAN|INFINITY|0X(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:P[-+]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:E[-+]?\d+)?)[DFLST]?(?![\w\-.])/i -/:\w+/ -/^L/ -/[();[][BCDFIJSVZ]+/ -/[\w$>]:[BCDFIJSVZ]/ -/\.end\s+[-\w]+/ -/(?:^|[^\w\-.])\.(?!\d)[-\w]+/ -/(?:^|[^\w\-.])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w\-.])/ -/(?:^L|\/)(?:[\w$]+|\`[^\n\r\`]*\`)$/ -/^L(?:(?:\w+|\`[^\n\r\`]*\`)\/)+/ -/'(?:''|[^'])*'/ -/#[\dA-Z]+|#(?:-|!!?|%%?|&&?|\*\*?|\+\+?|\/\/?|<<?|==?|>>?|\?\??|@@?|\\\\?|\|\|?|~~?)|#(?=\()/i -/\b(?:nil|true|false|self|super|new)\b/ -/[<=]=?|:=|~[=~]|\/\/?|\\\\|>[=>]?|[-!&*+,@|^]/ -/[().:;?[\]{}]/ -/\$./ -/\[\s*:[^[|]*\|/ -/\|[^|]+\|/ -/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/ -/\b\d+(?:\.\d+)?(?:e-?\d+)?/ -/:[\dA-Z]+/i -/[\dA-Z]+/i -/\{\*[^]*?\*\}/ -/\b(?:false|off|on|no|true|yes)\b/ -/^\{|\}$/ -/\$(?!\d)\w+/ -/#(?!\d)\w+#/ -/^\/?(?!\d)\w+/ -/(?!\d)\w+(?=\()/ -/\w+\s*=\s*(?:(?!\d)\w+)?/ -/[(),.:[\]\`]|->/ -/[-%*+/]|==?=?|[!<>]=?|&&|\|\|?/ -/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/ -/\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\b/ -/(?:\.|->)(?!\d)\w+/ -/\[(?!\d)\w+(?=\])/ -/\|\s*@?(?!\d)\w+/ -/=\s*(?!\d)\w+/ -/\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\d|3[012])?)\b/ -/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/ -/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-!%&*+/<=>|^]=?|[?~]/ -/\b(?:contract|enum|interface|library|new|struct|using)\s+(?!\d)[\w$]+/ -/(?:[<>]=?|\^)\d+\.\d+\.\d+\b/ -/\b(?:FALSE|TRUE)\b/ -/^[\t ]*(?:[A-Z]\w*\b(?=.*(?:\r\n?|\n)(?:[]Unknown:\\1[][\t ].*(?:\r\n?|\n))*[]Unknown:\\1[]End[]Unknown:\\2[][\t ]*$)|End[A-Z]\w*(?=[\t ]*$))/m -/^[\t ]*[^\n\r"#()=]*[^\s"#()=](?=\s*=)/m -/\{[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}\}/i -/\b\d+(?:\.\d+)?(?:[Ee][-+]?\d+)?\b|\b0x[\dA-F]+\b/ -/\?:?|<=?|>=?|==?|!=|[-%*+/]|\b(?:and|not|or)\b/ -/[(),.:[\]{|}]/ -/\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+\.?[\w.]+/ -/\{+\/?\s*@?param\??\s+\.?[\w.]+/ -/\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\b/ -/^\{+\/?|\/?\}+$/ -/\$[A-Z_]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/i -/\s\/\/.*/ -/\{+\/?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/ -/[.?[\]]/ -/\|[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\w+/ -/[-+]?\b\d+\.?\d*(?:E[-+]?\d+)?/i -/[(),.;[\]{}]|\^\^/ -/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'/ -/<(?:[^\0-\x20"<>\\\\\`{|}^]|\\(?:u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8}))*>/ -/(?:(?![\d\-.\xb7])[\w\-.\xb5\xb7\xc0-\ufffd]+)?:(?:(?![\-.])(?:[\w\-.:\xb5\xc0-\ufffd]|%[\dA-F]{2}|\\.)+)?/i -/(?:\ba|@prefix|@base)\b|=/ -/\b(?:GRAPH|BASE|PREFIX)\b/i -/@[A-Z]+(?:-[\dA-Z]+)*/i -/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i -/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|ISBLANK|ISIRI|ISLITERAL|ISNUMERIC|ISURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|SAMETERM|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i -/\b(?:GRAPH|BASE|PREFIX)\b/i -/[$?]\w+/ -/@/ -/[^:]*:[^]+/ -/\`comment\("(?:\\.|[^"\\])*"\)\`/ -/\b(?:ABSTRACT|ACCUM|ADDCOLTOTALS|ADDINFO|ADDTOTALS|ANALYZEFIELDS|ANOMALIES|ANOMALOUSVALUE|ANOMALYDETECTION|APPEND|APPENDCOLS|APPENDCSV|APPENDLOOKUP|APPENDPIPE|ARULES|ASSOCIATE|AUDIT|AUTOREGRESS|BIN|BUCKET|BUCKETDIR|CHART|CLUSTER|COFILTER|COLLECT|CONCURRENCY|CONTINGENCY|CONVERT|CORRELATE|DATAMODEL|DBINSPECT|DEDUP|DELETE|DELTA|DIFF|EREX|EVAL|EVENTCOUNT|EVENTSTATS|EXTRACT|FIELDFORMAT|FIELDS|FIELDSUMMARY|FILLDOWN|FILLNULL|FINDTYPES|FOLDERIZE|FOREACH|FORMAT|FROM|GAUGE|GENTIMES|GEOM|GEOMFILTER|GEOSTATS|HEAD|HIGHLIGHT|HISTORY|ICONIFY|INPUT|INPUTCSV|INPUTLOOKUP|IPLOCATION|JOIN|KMEANS|KV|KVFORM|LOADJOB|LOCALIZE|LOCALOP|LOOKUP|MAKECONTINUOUS|MAKEMV|MAKERESULTS|MAP|MCOLLECT|METADATA|METASEARCH|MEVENTCOLLECT|MSTATS|MULTIKV|MULTISEARCH|MVCOMBINE|MVEXPAND|NOMV|OUTLIER|OUTPUTCSV|OUTPUTLOOKUP|OUTPUTTEXT|OVERLAP|PIVOT|PREDICT|RANGEMAP|RARE|REGEX|RELEVANCY|RELTIME|RENAME|REPLACE|REST|RETURN|REVERSE|REX|RTORDER|RUN|SAVEDSEARCH|SCRIPT|SCRUB|SEARCH|SEARCHTXN|SELFJOIN|SENDEMAIL|SET|SETFIELDS|SICHART|SIRARE|SISTATS|SITIMECHART|SITOP|SORT|SPATH|STATS|STRCAT|STREAMSTATS|TABLE|TAGS|TAIL|TIMECHART|TIMEWRAP|TOP|TRANSACTION|TRANSPOSE|TRENDLINE|TSCOLLECT|TSTATS|TYPEAHEAD|TYPELEARNER|TYPER|UNION|UNIQ|UNTABLE|WHERE|X11|XMLKV|XMLUNESCAPE|XPATH|XYSERIES)\b/i -/\w+(?=\s*=(?!=))/ -/\b(?:F|FALSE|T|TRUE)\b/i -/[<=>]=?|[-%*+/|]/ -/[(),[\]]/ -/"(?:\\.|[^"\\])*"/ -/\b(?:AND|AS|BY|NOT|OR|XOR)\b/i -/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/ -/\b(?:BREAKOUT|BREAKTO|CALL|CASE|CATCH|DEFAULT|DO|ECHO|ELSE|EXECVM|EXECFSM|EXITWITH|FOR|FOREACH|FOREACHMEMBER|FOREACHMEMBERAGENT|FOREACHMEMBERTEAM|FROM|GOTO|IF|NIL|PREPROCESSFILE|PREPROCESSFILELINENUMBERS|PRIVATE|SCOPENAME|SPAWN|STEP|SWITCH|THEN|THROW|TO|TRY|WHILE|WITH)\b/i -TooManyNodesError -/(?:\$|\b0X)[\dA-F]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:E[-+]?\d+)?\b/i -/##|>>|&&|\|\||[!<=>]=?|[-#%*+/^]|\b(?:AND|MOD|NOT|OR)\b/i -/\bDIK(?:_[\dA-Z]+)+\b/i -/^\s*#[A-Z]+(?:[^\n\r\\]|\\(?:\r\n|[^]))*/im -/"(?:(?:"")?[^"])*"(?!")|'[^']*'/ -/\b(?:_EXCEPTION|_FNC_SCRIPTNAME|_FNC_SCRIPTNAMEPARENT|_FOREACHINDEX|_THIS|_THISEVENTHANDLER|_THISFSM|_THISSCRIPT|_X|THIS|THISLIST|THISTRIGGER)\b/i -/#[A-Z]+\b/i -/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\b/i -/\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\b/ -/\b(?:AT|BOOL|BYTE|[DL]?WORD|U?[DLS]?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\b/ -/%[IMQ][BDLWX][\d.]*|%[IQ][\d.]*/ -/\b(?:16#[\dA-F]+|2#[01_]+|0X[\dA-F]+)\b|\b(?:[DT]|DT|TOD)#[\d:DHMS_]*|\b[A-Z]*#[\d,._]*|(?:\b\d+\.?\d*|\B\.\d+)(?:E[-+]?\d+)?/i -/\b(?:TRUE|FALSE|NULL)\b/ -/S?R?:?=>?|&&?|\*\*?|<=?|>=?|[-+/:^]|\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GE|LT)\b/ -/[();]/ -/(?:^|[^\\])(?:\/\*[^]*?(?:\*\/|$)|\(\*[^]*?(?:\*\)|$)|\{[^]*?(?:\}|$))/ -/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/ -/\b(?:[\d_]+(?:\.[\dE_]+)?|0X[\dA-F_]+(?:\.[\dA-FP_]+)?|0B[01_]+|0O[0-7_]+)\b/i -/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Z_a-z]+)\b/ -/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/ -/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -/"(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!")[^\n\r\\])*"|'(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^])|(?!')[^\n\r\\])*'/ -/\\\((?:[^()]|\([^)]+\))+\)/ -/<#[^]+?#>/ -/<#@[^]*?#>/ -/<#=[^]*?#>/ -/<#\+[^]*?#>/ -/<#[^]*?#>/ -/^<#@|#>$/ -/^<#=|#>$/ -/^<#\+|#>$/ -/^<#|#>$/ -/\w+(?=\s)/ -/=(?:"(?:\\[^]|(?!")[^\\])*"|'(?:\\[^]|(?!')[^\\])*'|[^\s"'=>]+)/ -/^=|^["']|["']$/ -/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|(?<!\w)(?=\w)|(?<=\w)(?!\w))/i -/(?:^|[^:\\])'.*/ -/!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?/i -/[&*][^\s,[\]{}]+/ -/---|[-,:>?[\]{|}]|\.\.\./ -/not ok[^\n\r#{]*/ -/ok[^\n\r#{]*/ -/pragma [-+][a-z]+/ -/BAIL OUT!.*/i -/TAP VERSION \d+/i -/\d+\.\.\d+(?: +#.*)?/ -/[-:]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[>|][\t ]*(?:\r?\n|\r)[\t ]+[^\n\r]+(?:[]Unknown:\\2[][^\n\r]+)*/i -/(?:^|[-\n\r,:?[{])[\t ]*(?:(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[^\s#,[\]{}]+?(?=\s*:\s)/i -/^[\t ]*%.+/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Za-z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:\d{4}-\d\d?-\d\d?(?:[Tt]|[\t ]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[\t ]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[\t ]*(?:$|,|\]|\}|\s*#))/m -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:TRUE|FALSE)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:NULL|~)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?(?:"(?:(?!")[^\n\r\\]|\\.)*"|'(?:(?!')[^\n\r\\]|\\.)*')(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/[-,:[{]\s*(?:\s(?:!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?(?:[\t ]+[&*][^\s,[\]{}]+)?|[&*][^\s,[\]{}]+(?:[\t ]+!(?:<[\w!\x23-\x2f:;=?@[\]~]+>|(?:[-\dA-Z]*!)?[\w\x23-\x2b\-./:;=?@~]+)?)?)[\t ]+)?[-+]?(?:0X[\dA-F]+|0O[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:E[-+]?\d+)?|\.INF|\.NAN)(?=[\t ]*(?:$|,|\]|\}|\s*#))/im -/# Subtest(?:: .*)?/ -/^[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*---(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*\.\.\.$/m -/!=?|\*\*?|==|&&?|\|\|?|<[<=]?|>[=>]?|[-%+/?~^]|\b(?:eq|ne|in|ni)\b/ -/[()[\]{}]/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/^\s*proc[\t ]+\S+/m -/\b(?:elseif|else)\b/ -/^\s*(?:global|upvar|variable)\b/m -/(?:^\s*|\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m -/\$(?:::)?(?:[\dA-Z]+::)*\w+/i -/\$\{[^}]+\}/ -/^\s*set[\t ]+(?:::)?(?:[\dA-Za-z]+::)*\w+/m -/^\s*(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\b/m -/#.*|\[%#[^]*?%\]/ -/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\b/ -/=[=>]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|or|not)\b/ -/[(),[\]{}]/ -/'[^'\\]*(?:\\[^][^'\\]*)*'/ -/"[^"\\]*(?:\\[^][^"\\]*)*"/ -/^(?:\[%|%%)-?|-?%\]$/ -/\b[A-Z]\w*(?:\s*\.\s*(?:\d+|\$?[A-Z]\w*))*\b/i -/\$[A-Z]\w*(?:\.(?:\d+|\$?[A-Z]\w*))*/i -/\b0(?:x[\dA-Za-z]+(?:_[\dA-Za-z]+)*|o[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*)\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[Ee][-+]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/ -/[,.=[\]{}]/ -/^\s*\[\s*(?:\[\s*)?(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*\])/m -/(?:^\s*|[,{]\s*)(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*")(?:\s*\.\s*(?:[-\w]+|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"))*(?=\s*=)/m -/"""(?:\\[^]|[^\\])*?"""|'''[^]*?'''|'[^\n\r']*'|"(?:\\.|[^\n\r"\\])*"/ -/\b\d{4}-\d{2}-\d{2}(?:[\sT]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[-+]\d{2}:\d{2})?)?\b/i -/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/ -/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/ -/>>|<<|--|\+\+|\*\*|[-!$*+/<=>@~]=?|&&?|\|\|?|\^\^?|[%:?]|\b(?:Cross|Dot|ClockwiseFrom)\b/ -/[(),.;[\]{}]/ -/\b(?:(?:autoexpand|hide|show)categories|var)\s*\([^()]+(?=\))/ -/\w\s*<\s*\w+\s*=[^\n\r<=>|]+(?:\|\s*\w+\s*=[^\n\r<=>|]+)*>/ -/\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+\w+/ -/\w+(?=\s*=)/ -/[<>|]/ -/(?:^|[^\\])#\[\[[^]*?\]\]#/ -/(?:^|[^\\](?:\\\\)*)#@?(?:[A-Z][-\w]*|\{[A-Z][-\w]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i -/(?:^|[^\\](?:\\\\)*)\$!?(?:[A-Z][-\w]*(?:\([^)]*\))?(?:\.[A-Z][-\w]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i -/^#\[\[|\]\]#$/ -/(?:^|[^\\])#\*[^]*?\*#/ -/(?:^|[^\\])##.*/ -/[(),.:[\]{}]/ -/^#@?(?:[a-z][-\w]*|\{[a-z][-\w]*\})|\bin\b/ -/[!<=>]=?|[-%*+/]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/ -/[^-\w][a-z][-\w]*(?=\()/ -/\B\$\w+\b/ -/\B\`\w+\b/ -/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/ -/\b(?:always_latch|always_comb|always_ff|always)\b ?@?/ -/\B##?\d+|(?:\b\d+)?'[BDHO] ?[\d?A-FXZ_]+|\b\d*[._]?\d+(?:E[-+]?\d+)?/i -/[-!%&*+/<=>?{|}~^]+/ -/[(),.:;[\]]/ -/"(?:\\(?:\r\n|[^])|[^\n\r"\\])*"/ -/"(?:[^\n\r"\\]|\\(?:\r\n|[^]))*"/ -/\b(?:USE|LIBRARY)\b/i -/\b(?:'ACTIVE|'ASCENDING|'BASE|'DELAYED|'DRIVING|'DRIVING_VALUE|'EVENT|'HIGH|'IMAGE|'INSTANCE_NAME|'LAST_ACTIVE|'LAST_EVENT|'LAST_VALUE|'LEFT|'LEFTOF|'LENGTH|'LOW|'PATH_NAME|'POS|'PRED|'QUIET|'RANGE|'REVERSE_RANGE|'RIGHT|'RIGHTOF|'SIMPLE_NAME|'STABLE|'SUCC|'TRANSACTION|'VAL|'VALUE|ACCESS|AFTER|ALIAS|ALL|ARCHITECTURE|ARRAY|ASSERT|ATTRIBUTE|BEGIN|BLOCK|BODY|BUFFER|BUS|CASE|COMPONENT|CONFIGURATION|CONSTANT|DISCONNECT|DOWNTO|ELSE|ELSIF|END|ENTITY|EXIT|FILE|FOR|FUNCTION|GENERATE|GENERIC|GROUP|GUARDED|IF|IMPURE|IN|INERTIAL|INOUT|IS|LABEL|LIBRARY|LINKAGE|LITERAL|LOOP|MAP|NEW|NEXT|NULL|OF|ON|OPEN|OTHERS|OUT|PACKAGE|PORT|POSTPONED|PROCEDURE|PROCESS|PURE|RANGE|RECORD|REGISTER|REJECT|REPORT|RETURN|SELECT|SEVERITY|SHARED|SIGNAL|SUBTYPE|THEN|TO|TRANSPORT|TYPE|UNAFFECTED|UNITS|UNTIL|USE|VARIABLE|WAIT|WHEN|WHILE|WITH)\b/i -/'[-01HLUWXZ]'|\b(?:\d+#[\d.A-F_]+#|\d[\d._]*)(?:E[-+]?\d+)?/i -/[<>]=?|:=|[-&*+/=]|\b(?:ABS|NOT|MOD|REM|SLL|SRL|SLA|SRA|ROL|ROR|AND|OR|NAND|XNOR|XOR|NOR)\b/i -/\b[BOX]"[\dA-F_]+"|"[-01HLUWXZ]+"/i -/"\S+?"(?=\()/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r']|'')*'/ -/".*/ -/\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/ -/\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/ -/\b(?:0X[\dA-F]+|\d+(?:\.\d+)?)\b/i -/\|\||&&|[+\-.]=?|[!=](?:[=~][#?]?)?|[<>]=?[#?]?|[%*/?]|\bis(?:not)?\b/ -/[(),:;[\]{}]/ -/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[-+]?\d+)?|&[HO][\dA-F]+)(?:U?[ILS]|[DFR])?/i -/\b(?:TRUE|FALSE|NOTHING)\b/i -/\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND(?:ALSO)?|AS|BOOLEAN|BYREF|BYTE|BYVAL|CALL|CASE|CATCH|C(?:BOOL|BYTE|CHAR|DATE|DBL|DEC|INT|LNG|OBJ|SBYTE|SHORT|SNG|STR|TYPE|UINT|ULNG|USHORT)|CHAR|CLASS|CONST|CONTINUE|CURRENCY|DATE|DECIMAL|DECLARE|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|EACH|ELSE(?:IF)?|END(?:IF)?|ENUM|ERASE|ERROR|EVENT|EXIT|FINALLY|FOR|FRIEND|FUNCTION|GET(?:TYPE|XMLNAMESPACE)?|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INTEGER|INTERFACE|IS|ISNOT|LET|LIB|LIKE|LONG|LOOP|ME|MOD|MODULE|MUST(?:INHERIT|OVERRIDE)|MY(?:BASE|CLASS)|NAMESPACE|NARROWING|NEW|NEXT|NOT(?:INHERITABLE|OVERRIDABLE)?|OBJECT|OF|ON|OPERATOR|OPTION(?:AL)?|OR(?:ELSE)?|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|PRIVATE|PROPERTY|PROTECTED|PUBLIC|RAISEEVENT|READONLY|REDIM|REMOVEHANDLER|RESUME|RETURN|SBYTE|SELECT|SET|SHADOWS|SHARED|SHORT|SINGLE|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|THEN|THROW|TO|TRY|TRYCAST|TYPE|TYPEOF|U(?:INTEGER|LONG|SHORT)|USING|VARIANT|WEND|WHEN|WHILE|WIDENING|WITH(?:EVENTS)?|WRITEONLY|UNTIL|XOR)\b/i -/[(),.:?{}]/ -/(?:['\u2018\u2019]|REM\b)(?:[^\n\r_]|_(?:\r\n?|\n)?)*/i -/#(?:CONST|ELSE|ELSEIF|END|EXTERNALCHECKSUM|EXTERNALSOURCE|IF|REGION)(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\r\n?|\n)|.)+/i -/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i -/#[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:\d+(?:-\d+-|\/\d+\/)\d+(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+(?:\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?))?|\d+[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*(?:AM|PM))?)[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*#/i -/[-!#$%&*+/<=>@\\^]/ -/[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]_(?=[\t\x0b\f \xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[\n\r])/ -/#.*|\/\/.*|\/\*[^]*?\*\// -/\$\S+/ -/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/ -/[-+]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][-+]?\d+)?|0x[\dA-Fa-f]+|0b[01]+)\b/ -/\b(?:false|true|F|T)\b/ -/<%|%>|[()[\]{}]/ -/==|&&?|\|\|?|\*\*?|>>>?|<<|==|[!<>~]=?|[-%/^]|\+!?|\b(?:AND|NOT|OR)\b/ -/"(?:[^\n\r"\\]|\\.)*"|'(?:[^\n\r'\\]|\\.)*'|<'(?:[^'\\]|'(?!>)|\\.)*'>/ -/@\S+/ -/\$[\w!#$%&'*+\-./:<=>?@\\\\\`|~^]+/ -/[-+]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[Ee][-+]?\d(?:_?\d)*)?|0x[\dA-Fa-f](?:_?[\dA-Fa-f])*(?:\.[\dA-Fa-f](?:_?[\dA-Da-f])*)?(?:[Pp][-+]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\dA-Fa-f](?:_?[\dA-Da-f])*)?\b/ -/\(;[^]*?;\)/ -/"(?:\\[^]|[^"\\])*"/ -/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/ -/;;.*/ -/\b(?:align|offset)=/ -/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/ -/^(?:\{\||\|\}|\|-|[!#*:;|])|\|\||!!/m -/<(?:NOWIKI\b[^]*?>[^]*?<\/NOWIKI|PRE\b[^]*?>[^]*?<\/PRE|SOURCE\b[^]*?>[^]*?<\/SOURCE)>/i -/^=+.+?[]Unknown:\\1[]/m -/'''''.+?'''''|''''.+?''''|'''.+?'''|''.+?''/ -/^-{4,}/m -/ISBN +(?:97[89][- ]?)?(?:\d[- ]?){9}[\dX]\b|(?:RFC|PMID) +\d+/i -/\[\[.+?\]\]|\[.+?\]/ -/__[A-Z]+__/ -/\{{3}.+?\}{3}/ -/^#REDIRECT/im -/~{3,5}/ -/(?:^|[!|])[!|][^\n\r|]+\|(?!\|)/m -/^=+|=+$/ -/^''+|''+$/ -/<(?:NOWIKI|PRE|SOURCE)\b[^]*?>|<\/(?:NOWIKI|PRE|SOURCE)>/i -/'''''.+?(?=''''')/ -/'''[^'](?:.*?[^'])?(?=''')/ -/''[^'](?:.*?[^'])?(?='')/ -/\$(?:DomainContents|PageRenderDuration)\$/ -/\$@?(?:#+|[-*+=~^])?[\w.]+\$/ -/\$F:[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\$/ -/\$XF:\{[\w\-.]+\?[\w\-.]+(?:,(?:\|?(?:[#*+\-.~^]*[\w+][^$]*|=\S[^$]*|@[-#]*\w+.[\w+.]+)?)*)?\}:XF\$/ -/\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-./]+\$/ -/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[\w\-.]+\])?:[\w\-.]+:\{(?:![A-Z]+)?/ -/\}:[\w\-.]+:\{/ -/\}:[\w\-.]+\$/ -/\$/ -/[$.]/ -/#+|[-*+=@~^]/ -/[,|]@?(?:#+|[-*+=~^])?[\w.]+/ -/\$\w:|[$,.:?|]/ -/[$,.:?{|}]/ -/\$(?:\w:|C(?:\[|#\d))?|[:[\]{]/ -/![A-Z]+$/ -/[:{}]/ -/[$:{}]/ -/[,.|]/ -/#\d/ -/!/ -/\/\/\/.*/ -/'''.*/ -/#(?:IF|ELSE|ELSEIF|ENDIF|PRAGMA)\b/i -/\b(?:ADDHANDLER|APP|ARRAY|AS(?:SIGNS)?|BY(?:REF|VAL)|BREAK|CALL|CASE|CATCH|CONST|CONTINUE|CURRENTMETHODNAME|DECLARE|DIM|DO(?:WNTO)?|EACH|ELSE(?:IF)?|END|EXIT|EXTENDS|FALSE|FINALLY|FOR|GLOBAL|IF|IN|LIB|LOOP|ME|NEXT|NIL|OPTIONAL|PARAMARRAY|RAISE(?:EVENT)?|REDIM|REM|REMOVEHANDLER|RETURN|SELECT|SELF|SOFT|STATIC|STEP|SUPER|THEN|TO|TRUE|TRY|UBOUND|UNTIL|USING|WEND|WHILE)\b/i -/<[=>]?|>=?|[-*+/=\\^]|\b(?:ADDRESSOF|AND|CTYPE|ISA?|MOD|NEW|NOT|OR|XOR|WEAKADDRESSOF)\b/i -/[(),.:;]/ -/(?:'|\/\/|REM\b).+/i -/&[BCHOU][\dA-Z]+/i -/^REM/i -/\$[-\w:]+/ -/[-\w]+(?::[-\w]+)*(?=\s*\()/ -/\b\d+(?:\.\d+)?(?:E[-+]?\d+)?/ -/[(),/:;[\]{}]/ -/<\/?(?!\d)[^\s$%/<=>]+(?:\s+[^\s/=>]+(?:=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+))?)*\s*\/?>/ -/\(:[^]*?:\)/ -/"(?:""|(?!")[^])*"|'(?:''|(?!')[^])*'/ -/\(#.+?#\)/ -/(?:^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/ -/(?:^|[^-:])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^-:])/ -/(?:^|[^-:])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^-:])/ -/element\s+[-\w]+(?::[-\w]+)*/ -/attribute\s+[-\w]+(?::[-\w]+)*/ -/(?:^|[^-:])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^-:])/ -/[*+=?@|]|\.\.?|:=|!=|<[<=]?|>[=>]?/ -/\s-(?=\s)/ -/=(?:"(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!")[^\\])*"|'(?:\\[^]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!')[^\\])*'|[^\s"'=>]+)/ -/^="|"$/ -/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/ -/\/\*[^]*?\*\/|\/\/.*/ -/[:;{}]/ -/"(?:[^"\\]|\\.)*"|'[^']*'/ -/(?:^|[\n\r;{}][\t ]*)[A-Z_][\w\-.]*/i -/\s[A-Z_][\w\-.]*(?=:)/i -/\B@(?!\d)\w+(?=\s*\()/ -/\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/ -/\b(?!\d)\w+(?=\s*\()/ -/\b(?:0b[01]+|0o[0-7]+|0x[\dA-Fa-f]+\.?[\dA-Fa-f]*(?:[Pp][-+]?[\dA-Fa-f]+)?|\d+\.?\d*(?:[Ee][-+]?\d+)?)\b/ -/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-*+]%|[-!%&*+/<=>|^])=?|[?~]/ -/[(),.:;[\]{}]/ -/\/{2}.*/ -/\b(?:break|continue)\s*:\s*\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while(?:(?<!\w)\w|(?<=\w)(?!\w))))/ -/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/ -/\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\b/ -/\/{3}.*/ -/(?:^|[^@\\])c?"(?:[^\n\r"\\]|\\.)*"/ -/[\n\r][\t ]+c?\\{2}.*(?:(?:\r\n?|\n)[]Unknown:\\2[].*)*/ -/(?:^|[^\\])'(?:[^\n\r'\\]|\\(?:.|x[\dA-Fa-f]{2}|u\{[\dA-Fa-f]{1,6}\}))'/ -/:\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?[),;=])|(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?\{)/ -/\)\s*(?!\s)(?:!?\s*(?:(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*align\s*\((?:[^()]|\([^()]*\))*\)|\s*const\b|\s*volatile\b|\s*allowzero\b)*)\s*)*(?:\bpromise\b|(?:\berror\.)?\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b(?:\.\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+\b)*(?!\s+\b(?!\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)(?:(?<!\w)\w|(?<=\w)(?!\w)))(?!\d)\w+(?:(?<!\w)\w|(?<=\w)(?!\w)))))+(?=\s*(?:align\s*\((?:[^()]|\([^()]*\))*\)\s*)?;)/ -`; diff --git a/tests/transformers/apply-assertions.ts b/tests/transformers/apply-assertions.ts deleted file mode 100644 index bcaf3860..00000000 --- a/tests/transformers/apply-assertions.ts +++ /dev/null @@ -1,140 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { applyAssertions, inline, removeDeadBranches } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = applyAssertions(); - const optimizedTransformer = new CombinedTransformer([applyAssertions(), inline(), removeDeadBranches()]); - - itTest(transformer, [ - /(?=\d)\wa/, - /(?!\d)\wa/, - /(?=\w[^9])a\d/, - /\da(?<=[^9]\w)/, - { - literal: /(?!4)(?=\d)\w(?<!2)a(?<=[^9]a)/, - options: { maxPasses: 1 }, - }, - - /(?=a)\wa/, - /(?=aa)\wa/, - /(?=aaa)\wa/, - /(?!a)aa/, - /(?!aa)\wa/, - /(?!aaa)\wa/, - /a$a/, - /a^a/, - - /(?!a|""")./s, - /(?!a)(?!""")./s, - - /(?=foo)foo/i, - /(?!foo)bar/i, - /(?!food)foo/i, - /(?!food)foot/i, - /(?!food|foobar)foot/i, - /(?!food)foo\w/i, - /(?!food|foot)foo\w/i, - /(?!fo{6})foo\w/i, - - /\(\s*(?!\s)(?:[^()]|\([^()]*\))*?(?=\s*\))/, - /\(\s*(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, - - /(?!\d)(?<!\w)\w/, - - /(?!\d)\w+/, - /\w+(?<!\d)/, - /(?=\da)\w+/, - /\w+(?<=a\d)/, - /(?!\d)\w{1,2}/, - /(?!\d)\w*/, - - /(?=foobar)\w*\s/, - /(?=foobar)\w*(?!\w)/, - /(?=foobar)\w*(?![bfo])/, - /(?=foobar)\w*$/, - /(?=fo{4})\w*$/, - /^\w*(?<=foobar)$/, - /(?!foobar)\w*\s/, - /(?!foobar)\w*(?!\w)/, - /(?!foobar)\w*(?![bfo])/, - /(?!foobar)\w*$/, - /^\w+(?<!foobar)$/, - - /(?!\d)(?:\w+|:|123)/, - /(?=\d)\s*\w+/, - /a$(?:a|b)/, - /a$(?:a|b)?/, - /a$(?:a|b|)/, - - /(a(?!b))+/, - /(a(?!b))*/, - /(a(?!b))*?/, - /(a(?!b)){0,4}/, - /(a(?!b)){1,2}/, - /(\w(?=\d))*/, - - /(?:fo(?=o)|ba(?=r))\w+/, - /(?:fo(?=o)|ba(?=r))?\w+/, - /(?:fo(?=o)|ba(?=r))??\w+/, - /(?:f(?=oo)|ba(?=r))\w+/, - /(?:f(?=oo)|ba(?=r))?\w+/, - - /(?!\s)[^]*\S/, - /(?=a)[^]*/, - /(?=a)[^]*?/, - /(?!a)[^]*?/, - /(?=a)[^]*b/, - /(?=a)[^]*a/, - /(?=\d)[^]*\w/, - /(?=\d)[^]*\w+/, - /(?=\d)[^]?\w+/, - /=begin\s[^]*^=end/m, - /-?(?<!\w)\d+(?:\.\d+)?(?:E[-+]?\d+)?/i, - /(?:a(?!\d)|foo(?=\w)|bar(?!\w)|b)\w+/i, - /(?:\[)(?!\d)\w+(?=\])/i, - - /(?:^|[^&])(?<!\w)(?:TRUE|FALSE)/i, - - { literal: /""((?!"").)*""/s, stepByStep: true, transformer: optimizedTransformer }, - { literal: /""(.(?<!""))*""/s, stepByStep: true, transformer: optimizedTransformer }, - { literal: /""((?!"")(?:[^\\]|\\"))*""/s, transformer: optimizedTransformer }, - { literal: /""((?!"")(?:[^\\]|\\"))+""/s, transformer: optimizedTransformer }, - { literal: /"""((?!""").)*"""/s, stepByStep: true, transformer: optimizedTransformer }, - { literal: /"""((?!""").)+"""/s, transformer: optimizedTransformer }, - - /(?:^|[^.]|\.\.\.\s*)(?<!\w)(?:as|async(?=\s*(?:function(?!\w)|\(|[\w$\xa0-\uffff]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|[gs]et(?=\s*[\w$[\xa0-\uffff])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?!\w)/, - { - literal: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/, - transformer: optimizedTransformer, - stepByStep: true, - }, - { - literal: /(?:[-!$%&*+/:<=>?@\\|~^]|\.\.|\.(?![)\]}]))+/, - transformer: optimizedTransformer, - stepByStep: true, - }, - { - literal: /(?:[a-z%]|(?<!\w)_+(?!\w))+/, - transformer: optimizedTransformer, - stepByStep: true, - }, - { - literal: /(?:[a-z]|(?<!\w)_+(?!\w))+/, - transformer: optimizedTransformer, - }, - { - literal: /<title>(?:(?!<\/title>).)*<\/title>/s, - transformer: optimizedTransformer, - stepByStep: true, - }, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([applyAssertions(), inline(), removeDeadBranches()]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/creation-options.ts b/tests/transformers/creation-options.ts deleted file mode 100644 index 397b7f53..00000000 --- a/tests/transformers/creation-options.ts +++ /dev/null @@ -1,20 +0,0 @@ -import * as Transformers from "../../src/transformers"; - -describe("Transformers", function () { - it("should all accept CreationOptions", function () { - const options: Readonly<Transformers.CreationOptions> = {}; - - Transformers.applyAssertions(options); - Transformers.factorOut(options); - Transformers.inline(options); - Transformers.mergeWithQuantifier(options); - Transformers.moveUpEmpty(options); - Transformers.nestedQuantifiers(options); - Transformers.patternEdgeAssertions(options); - Transformers.removeDeadBranches(options); - Transformers.removeUnnecessaryAssertions(options); - Transformers.replaceAssertions(options); - Transformers.sortAssertions(options); - Transformers.unionCharacters(options); - }); -}); diff --git a/tests/transformers/factor-out.ts b/tests/transformers/factor-out.ts deleted file mode 100644 index 8d1667d7..00000000 --- a/tests/transformers/factor-out.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { factorOut, inline, removeDeadBranches } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = factorOut(); - - itTest(transformer, [ - { - literal: /air|after/, - expected: /a(?:i|fte)r/, - }, - { - literal: /abc|abc|abc/, - expected: /abc(?:||)/, - }, - { - literal: /(?:a|b)*b\w+|(?:a|b)*a\w+/, - expected: /(?:a|b)*(?:b|a)\w+/, - }, - { - literal: /\w+|\w*|\w{3,}/, - expected: /\w*(?:\w||\w{3})/, - }, - { - literal: /\w+|\w{2,3}/, - expected: /\w(?:\w*|\w{1,2})/, - }, - { - literal: /\w{2,4}|\w{2,3}/, - expected: /\w{2}(?:\w{0,2}|\w?)/, - }, - - /a$|b$|c/, - - /a(?:b|c)|b|c|d/, - /b|c|a(?:b|c)|d/, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([factorOut(), inline(), removeDeadBranches()]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/inline.ts b/tests/transformers/inline.ts deleted file mode 100644 index b8930e60..00000000 --- a/tests/transformers/inline.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { itTest } from "../helper/transform"; -import { inline } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = inline(); - - itTest(transformer, [ - { - literal: /a{0}a{1}(?:foo)/, - expected: /afoo/, - }, - { - literal: /(?:a|(?:b))|c/, - expected: /a|b|c/, - }, - { - literal: /(?=(?:a|(?:b)))/, - expected: /(?=a|b)/, - }, - - { - literal: /(?=a(?=b))/, - expected: /(?=ab)/, - }, - { - literal: /(?=a(?:c(?=b)|foo)?)/, - expected: /(?=a(?:cb|foo)?)/, - }, - { - literal: /(?=a(?:c(?=b)|f(?=oo)))/, - expected: /(?=a(?:cb|foo))/, - }, - { - literal: /(?<!(?<=a)b)/, - expected: /(?<!ab)/, - }, - { - literal: /(?=a(?!b))/, - transformer, - expected: /(?=a(?!b))/, - }, - { - literal: /(?=a(?<=b))/, - expected: /(?=a(?<=b))/, - }, - - { - literal: /(?=$)/, - expected: /$/, - }, - { - literal: /(?!(?<=a))/, - expected: /(?<!a)/, - }, - ]); - }); -}); diff --git a/tests/transformers/make-greedy.ts b/tests/transformers/make-greedy.ts deleted file mode 100644 index 7776feff..00000000 --- a/tests/transformers/make-greedy.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { makeGreedy } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = makeGreedy(); - - itTest(transformer, [/abc+/, /abc+?/, /abc+?c/, /abc+?$/, /abc+?d/, /abc{3,3}?/, /(?!cc+?d)/, /(?<!cc+?d)/]); - - it("Prism regex snapshot", function () { - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/merge-with-quantifier.ts b/tests/transformers/merge-with-quantifier.ts deleted file mode 100644 index 038b7d06..00000000 --- a/tests/transformers/merge-with-quantifier.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { inline, mergeWithQuantifier, removeDeadBranches } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = mergeWithQuantifier(); - const transformerIgnoreAmbiguity = mergeWithQuantifier({ ignoreAmbiguity: true }); - - itTest(transformer, [ - { - literal: /a*a/, - expected: /a+/, - }, - { - literal: /a*a/, - transformer: transformerIgnoreAmbiguity, - expected: /a+/, - }, - - { - literal: /a*a+/, - expected: /a*a+/, - }, - { - literal: /a*a+/, - transformer: transformerIgnoreAmbiguity, - expected: /a+/, - }, - - { - literal: /a*(?:a?|a+|a{1,2})/, - expected: /a*(?:a?|a+|a{1,2})/, - }, - { - literal: /a*(?:a?|a+|a{1,2})/, - transformer: transformerIgnoreAmbiguity, - expected: /a*(?:|a{1}|a{1})/, - }, - - /aab(?:ab)*/, - /aba(?:ab)*/, - /(?:ab)*aba/, - /(?:ab)*baa/, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([mergeWithQuantifier(), inline(), removeDeadBranches()]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/move-up-empty.ts b/tests/transformers/move-up-empty.ts deleted file mode 100644 index b9eee450..00000000 --- a/tests/transformers/move-up-empty.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { inline, moveUpEmpty, removeDeadBranches } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = moveUpEmpty({ ignoreAmbiguity: true, ignoreOrder: true }); - - itTest(transformer, [ - { - literal: /||a*|b/, - expected: /(?:a+|b)?/, - }, - { - literal: /a*|b*|c*/, - expected: /(?:a+|b+|c+)?/, - }, - { - literal: /a*|b*|c*|d*e?/, - expected: /a+|b+|c+|d*e?/, - }, - { - literal: /a(?:|||)/, - expected: /a(?:)/, - }, - - { - literal: /a*|b*|/, - transformer: moveUpEmpty(), - }, - { - literal: /|a*|b*|/, - transformer: moveUpEmpty(), - }, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([ - moveUpEmpty({ ignoreAmbiguity: true, ignoreOrder: true }), - inline(), - removeDeadBranches(), - ]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/nested-quantifiers.ts b/tests/transformers/nested-quantifiers.ts deleted file mode 100644 index 9c709d17..00000000 --- a/tests/transformers/nested-quantifiers.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { inline, nestedQuantifiers, removeDeadBranches } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = nestedQuantifiers({ ignoreAmbiguity: true, ignoreOrder: true }); - - itTest(transformer, [ - { - literal: /(?:a+)*/, - expected: /a*/, - }, - { - literal: /(?:a*)+/, - expected: /a*/, - }, - { - literal: /(?:a*)?/, - expected: /a*/, - }, - { - literal: /(?:a?)?/, - expected: /a?/, - }, - { - literal: /(?:a+)+/, - expected: /a+/, - }, - { - literal: /(?:a{4}){8}/, - expected: /a{32}/, - }, - { - literal: /(?:a{2,4})+/, - expected: /a{2,}/, - }, - { - literal: /(?:a{2,4}){8}/, - expected: /a{16,32}/, - }, - { - literal: /(?:a{8}){2,4}/, - expected: /(?:a{8}){2,4}/, - }, - - { - literal: /(?:a*|b+c|f+)*/, - expected: /(?:a{1}|b+c|f{1})*/, - }, - { - literal: /(?:a*|b+c|f+)?/, - expected: /(?:a+|b+c|f+)?/, - }, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([ - nestedQuantifiers({ ignoreAmbiguity: true, ignoreOrder: true }), - inline(), - removeDeadBranches(), - ]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/pattern-edge-assertions.ts b/tests/transformers/pattern-edge-assertions.ts deleted file mode 100644 index d808eb36..00000000 --- a/tests/transformers/pattern-edge-assertions.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { itTest } from "../helper/transform"; -import { patternEdgeAssertions } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - itTest(null, [ - { - literal: /(?<!\w)(?=\w)a(?=\w)|^f(?=\w)oo(?=sb)(?!\s*\w)(?<!\d)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?=\w)a\w|f(?=\w)oo(?!\s*\w)(?<!\d)sb/, - }, - { - literal: /(?<!\w)(?=\w)a(?=\w)|^f(?=\w)oo(?=sb)(?!\s*\w)(?<!\d)/, - transformer: patternEdgeAssertions({ inline: true, remove: false }), - expected: /(?<!\w)(?=\w)a\w|^f(?=\w)oo(?!\s*\w)(?<!\d)sb/, - }, - { - literal: /(?<!\w)(?=\w)a(?=\w)|^f(?=\w)oo(?=sb)(?!\s*\w)(?<!\d)/, - transformer: patternEdgeAssertions({ inline: false, remove: true }), - expected: /(?=\w)a|f(?=\w)oo(?<!\d)/, - }, - { - literal: /(?<!\w)(?=\w)a(?=\w)|^f(?=\w)oo(?=sb)(?!\s*\w)(?<!\d)/, - transformer: patternEdgeAssertions({ inline: false, remove: false }), // noop - expected: /(?<!\w)(?=\w)a(?=\w)|^f(?=\w)oo(?=sb)(?!\s*\w)(?<!\d)/, - }, - - { - literal: /foo(?:a(?=b)|c(?=d))/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /foo(?:ab|cd)/, - }, - { - literal: /foo(?:a(?=b|c)|c(?=d))?/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /foo(?:a(?:b|c)|cd)?/, - }, - { - literal: /foo(?:a(?=b)|c(?=d))+/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /foo(?:a(?=b)|c(?=d))+/, - }, - { - literal: /(?<=abc)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /abc/, - }, - { - literal: /(?=ab(?=c))/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /abc/, - }, - { - literal: /\bfoo\b/, - transformer: patternEdgeAssertions({ inline: true, remove: false }), - expected: /(?:(?<!\w)(?=\w)|\w(?!\w))foo(?:(?<!\w)\w|(?<=\w)(?!\w))/, - }, - { - literal: /\bfoo\b/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?:(?=\w)|\w(?!\w))foo(?:(?<!\w)\w|(?<=\w))/, - }, - - { - literal: /(?=a)\w?(?!\s)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?=a)\w?(?!\s)/, - }, - { - literal: /(?=a)\w(?!\s)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?=a)\w/, - }, - { - literal: /(?=a{4})\w{4}(?!\s)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?=a{4})\w{4}/, - }, - { - literal: /(?=a{5})\w{4}(?!\s)/, - transformer: patternEdgeAssertions({ inline: true, remove: true }), - expected: /(?=a{5})\w{4}(?!\s)/, - }, - ]); - }); -}); diff --git a/tests/transformers/remove-dead-branches.ts b/tests/transformers/remove-dead-branches.ts deleted file mode 100644 index 786ff74a..00000000 --- a/tests/transformers/remove-dead-branches.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { itTest } from "../helper/transform"; -import { removeDeadBranches } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = removeDeadBranches(); - - itTest(transformer, [ - { - literal: /(?:[])*foo|[]bar|ab?c[]/, - expected: /foo/, - }, - { - literal: /(?:[])+foo|[]?bar|abc(?:[]|(?:[]|[]+){3,5}|def)/, - expected: /bar|abc(?:def)/, - }, - ]); - }); -}); diff --git a/tests/transformers/remove-unnecessary-assertions.ts b/tests/transformers/remove-unnecessary-assertions.ts deleted file mode 100644 index 58502916..00000000 --- a/tests/transformers/remove-unnecessary-assertions.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { CombinedTransformer } from "../../src/ast"; -import { inline, removeDeadBranches, removeUnnecessaryAssertions } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = new CombinedTransformer([ - removeUnnecessaryAssertions(), - removeDeadBranches(), // remove dead branches... - inline(), // and inline, so the output regexes are cleaner - ]); - - itTest(transformer, [ - /(?=\s*)a|(?!\s*)b|c(?<=\s*)|d(?<!\s*)/, - /(?=[])a|(?![])b|c(?<=[])|d(?<![])/, - - /\bfoo\b|\Bfoo\B/, - - /(?=\s*$|\S)[\s\S]+/, - /(?=\s*$|\S)a+/, - /(?=\s?$|\S)a+/, - /(?=\s$|\S)a+/, - /(?=(?:\s|bb)$|\S)a+/, - /(?=(?:\s|b*b|)$|\S)a+/, - /(?!b)a+/, - /(?!b+)a+/, - - /(?!\s*::|\d)\w+/, - /(?=\s*::|\d)\w+/, - - /^^/, - /$$$$$/, - /(?!\w)$/, - /$(?!\w)/, - - /^(?:@|(?<!\w))[A-Z_]\w*/i, - /^(?:@|(?<!\w)(?!\w))/i, - /^(?:@|(?<!\w)(?!\w))$/i, - /(?:@|(?<!\w)(?!\w))$/i, - - /^\bfoo\b$/, - /^\b(?:foo|bar)\b$/, - - /\w+\b(?=\s*%)/, - /\w+(?=\s*%)\b/, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([ - removeUnnecessaryAssertions(), - inline(), - removeDeadBranches(), - ]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/replace-assertions.ts b/tests/transformers/replace-assertions.ts deleted file mode 100644 index ed829131..00000000 --- a/tests/transformers/replace-assertions.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { itTest } from "../helper/transform"; -import { replaceAssertions } from "../../src/transformers"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - itTest(null, [ - { - literal: /\bfoo\b|abc(?=abc$)|bar(?:\w(?<!b))*/, - transformer: replaceAssertions(), - expected: /(?:[])foo(?:[])|bar(?:[])*/, - }, - { - literal: /\bfoo\b|abc(?=abc$)|bar(?:\w(?<!b))*/, - transformer: replaceAssertions({ replacement: "empty-set" }), - expected: /(?:[])foo(?:[])|bar(?:[])*/, - }, - - { - literal: /\bfoo\b|abc(?=abc$)|bar(?:\w(?<!b))*/, - transformer: replaceAssertions({ replacement: "empty-word" }), - expected: /(?:|)foo(?:|)|abc|bar\w*/, - }, - ]); - }); -}); diff --git a/tests/transformers/simplify.ts b/tests/transformers/simplify.ts deleted file mode 100644 index 2bcdd517..00000000 --- a/tests/transformers/simplify.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { simplify } from "../../src/transformers"; - -describe("Transformers", function () { - const transformer = simplify(); - const transformerIgnore = simplify({ ignoreAmbiguity: true, ignoreOrder: true }); - - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - itTest(transformer, [ - /\b(?!\d)\b\w+\b\s*\(/, - /(?:^|@)\b\w+\b/, - /"""(?:(?!""").)*"""/s, - /"""((?!""")(?:[^\\]|\\"))*"""/, - /<title>(?:(?!<\/title>).)*<\/title>/, - - /^(?:(?:25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(?:\.(?!$)|$)){4}$/, - { literal: /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/, stepByStep: true }, - - { literal: /\b(?:true|false)\b/, transformer: transformerIgnore, stepByStep: true }, - { literal: /\b[a-z_]\w*(?=\s*\()\b/i, stepByStep: true }, - ]); - - it("Prism regex snapshot", function () { - regexSnapshot(this, transformer); - }); - - it("Prism regex snapshot ignoring order and ambiguity", function () { - regexSnapshot(this, transformerIgnore); - }); - }); -}); diff --git a/tests/transformers/sort-assertions.ts b/tests/transformers/sort-assertions.ts deleted file mode 100644 index f8951c7d..00000000 --- a/tests/transformers/sort-assertions.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { inline, removeDeadBranches, sortAssertions } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - const transformer = sortAssertions(); - - itTest(transformer, [ - { - literal: /(?=a)(?!b)(?<!c)(?<=d)/, - expected: /(?<!c)(?<=d)(?=a)(?!b)/, - }, - { - literal: /(?=a)(?<!c) (?!b)(?<=d)/, - expected: /(?<!c)(?=a) (?<=d)(?!b)/, - }, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([sortAssertions(), inline(), removeDeadBranches()]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/transformers/union-characters.ts b/tests/transformers/union-characters.ts deleted file mode 100644 index 5f33e267..00000000 --- a/tests/transformers/union-characters.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { itTest, regexSnapshot } from "../helper/transform"; -import { inline, removeDeadBranches, unionCharacters } from "../../src/transformers"; -import { CombinedTransformer } from "../../src/ast"; - -describe("Transformers", function () { - describe(/[\w-]+(?=\.\w+)/i.exec(__filename)![0], function () { - itTest(null, [ - { - literal: /(a|b|c) (a|b|dd|\w) (a||b) ([a-d]|do|[c-f])/, - transformer: unionCharacters({}), - expected: /(?:[abc]) (?:[ab]|dd|\w) (?:a||b) (?:[a-d]|do|[c-f])/, - }, - { - literal: /(a|b|c) (a|b|dd|\w) (a||b) ([a-d]|do|[c-f])/, - transformer: unionCharacters({ ignoreOrder: true }), - expected: /(?:[abc]) (?:\w|dd|[ab]) (?:[ab]|) (?:[a-f]|do|[cd])/, - }, - { - literal: /(a|b|c) (a|b|dd|\w) (a||b) ([a-d]|do|[c-f])/, - transformer: unionCharacters({ ignoreOrder: true, ignoreAmbiguity: true }), - expected: /(?:[abc]) (?:\w|dd) (?:[ab]|) (?:[a-f]|do)/, - }, - { - literal: /(a|b|c) (a|b|dd|\w) (a||b) ([a-d]|do|[c-f])/, - transformer: unionCharacters({ ignoreAmbiguity: true }), - expected: /(?:[abc]) (?:[ab]|dd|\w) (?:a||b) (?:[a-d]|do|[c-f])/, - }, - ]); - - it("Prism regex snapshot", function () { - const transformer = new CombinedTransformer([unionCharacters(), inline(), removeDeadBranches()]); - - regexSnapshot(this, transformer); - }); - }); -}); diff --git a/tests/tsconfig.json b/tests/tsconfig.json deleted file mode 100644 index de6ffb15..00000000 --- a/tests/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "module": "CommonJS", - "noEmit": true - }, - "include": ["**/*.ts"] -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index d0279c5e..00000000 --- a/tsconfig.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "compilerOptions": { - /* Basic Options */ - "target": "ES2015", - "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - "moduleResolution": "Node", - "lib": ["es2015", "es2015.iterable"], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - "outDir": "./.out", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "incremental": true, /* Enable incremental compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - "strictNullChecks": true, /* Enable strict null checks. */ - "strictFunctionTypes": true, /* Enable strict checking of function types. */ - "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "resolveJsonModule": true, - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - "newLine": "lf" - }, - "include": [ - "src/**/*.ts" - ] -} diff --git a/typedoc.json b/typedoc.json deleted file mode 100644 index 926139e4..00000000 --- a/typedoc.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "entryPoints": ["./src/index.ts"], - "excludeExternals": true, - "excludePrivate": true, - "excludeProtected": true, - - "out": "docs", - "theme": "default", - - "includeVersion": true, - "disableSources": true, - "hideGenerator": true, - "hideParameterTypesInTitle": false, - - "validation": { - "notExported": true, - "invalidLink": true - }, - "intentionallyNotExported": [ - "NodeIdent", - "NoParentNode", - "NoParentArray" - ] -}